因为不选型的话,可能会导致一些资源的浪费,比如说IO口剩余了许多,没有完全使用到。内存空间还剩一大半也没有利用到,这就会导致一些浪费。若是在社会工作,资本家看到你用个很贵的单片机做了个简单的功能,资本家可容不得这种事情发生,你做不到利益最大化,那么很容易在社会中淘汰的,所以为了使单片机发挥出全部性能,最好能够使他的综合利用率达到50%以上,这样对一些需求整改可以进行补充优化,也不至于想加功能却加不了了,所以选型还是挺有必要的。
如何选型?
第一步首先明确要实现的功能
1. 四路PWM(用来控速)占用4个IO口
2. 无线通讯SPI 占用3个IO口
3. 陀螺仪通讯 IIC 占用2个IO口
4. 串口调试 UART1 占用2个IO口
5. 光流定位 UART2 占用2个IO口
6. 蓝牙/WIFI调试 UART3 占用2个IO口
7. LED工作指示灯 占用5个IO口(4个电机指示灯,1个工作调试灯)
8. 电量检测 ADC 占用1个IO口
9. 电机堵塞检测 ADC 占用4个IO口
10. 浮点运算 FPU
11. 多IO口用于拓展多功能(预留20个)
一共占用了45个IO口
有了以上需要实现的功能后,就照着这些功能需求去寻找相应的芯片。
第二步去各个芯片官网找选型手册
一般很多芯片的官网都有自己的选型手册,将手册下载下来,找到合适的芯片后。
再对比多家厂家的芯片的优缺点斟酌一下自己的选择。
其实除了比较低端的单片机外,基本上这些功能都会有的。不同的也就是外设(UART,SPI,IIC,ADC)会多一些。像前面提到的功能,我串口就需要有3个了。所以要找有多个串口的单片机。
第三步分析比较多家产品的优缺点
然后就是选择性价比高的做比较了。我原本考虑用STM32或GD32来做的,但最终这俩我都没选,其原因
1. STM32近几年的价格贵,经常无货,拿货的话能排到明年去了,很多公司及厂家都开始抛弃原本使用STM32的产品,找国产的芯片替代了。到目前为止,我呆过的公司所用的芯片都在国产化,所以STM32优势已不再,非要说有啥优势。那就只能说它的学习资料在网上一大把,随随便便都能做个功能出来,非常方便。
2. GD32相对于STM32便宜了许多,说是能完全替代STM32,但是实际过程中并不能完全替代的,还是有些坑需要踩一踩。功能基本和STM32一样,但是我觉得他的稳定性没有STM32的好,这只是在以前做项目时,测试发现的。其次GD32相较与STM32确实便宜了许多,但是价格也是偏贵,没有未涨价前的STM32的那种价格实惠,最后的问题就是咱们国产的芯片应该出点中文使用说明书吧。我以前去看官网时大部分都是英文的使用手册。目前有部分芯片有中文说明手册了。所以我在选型时为了避免大量时间花在翻译上,我就没选择GD32了
3. 新唐单片机,一款台湾的芯片,相较于前面两个芯片,同等功能,它更便宜,还有中文使用手册,全系都有,这个很赞。稳定性来说个人感觉和st的有得一比。
4. 当然,我还接触过许多国产小众的芯片,给我的感觉就是服务态度非常好,有问必答,不像一些大公司需要等个一周左右时间才有回复,小众芯片甚至直接送开发板和烧录器。价格还很便宜。但因为它小众的原因,做一些大项目考虑到稳定性问题,基本不会选择它。一些小项目小玩具的话还是很适合的。
第四步选择适合自己的和性价比更高的芯片
因为市面上有许许多多的芯片,有些你接触过的,学习起来会很快,不会占用太多的时间,有些未接触过还需要和代理商沟通,学习使用,都大大降低了工作效率的。当然所以芯片的使用原理都大同小异,用点心去攻克一下,还是有很多选择的,选择越多当然机会也越多了。所以实践中选择的情况少的话,首选还得选择自己更熟悉的芯片为主,其次就是根据自己所定位的功能来选择合适价格的芯片,性价比高才是硬道理呀。
|