1、统计有哪些外设
如果一个系统里面有多个MCU,这个时候要先分配好,如温度挂1# MCU,蓝牙挂2# MCU,等等。
2、确定外设的通信接口
有的外设支持多种接口,如I2C和SPI,这个时候要根据外设的数据量、开发工作量、以往产品经验、产品定义、功耗等多个方面来确定好接口。
3、确定外设通信接口的电平
某些外设通信接口的电平,参考的不是电源电压。如供电2.8V,通信接口是1.8V,给芯片VDDIO的电压,I2C根据外部的上拉源电压等等,这些先确定好。
4、确定外设的供电范围
某些外设的电流很小,供电电压和MCU的电压一致,我们可以直接IO驱动,如G-sensor。
某些外设的电压需要用电源芯片转换,这个时候就要考虑增加GPIO(电源控制脚)。
5、确定外设的GPIO数量
要根据规格书上的电路,先大致确定,如外设的电源需不需要控制,中断脚,唤醒脚,需不需要电平转换,电平转换需不需要加GPIO使能控制。
6、确定外设GPIO的种类
哪些用一般GPIO就可以,哪些需要用带中断的GPIO,哪些可以配置成PWM等等。
7、确定ADC的数量
如电池电压检测,ID识别等。
8、I2C接口外设确定多从机
I2C支持一主多从,确定好哪些外设挂在同一个I2C下面,看地址是否冲突。
9、统计外设占用的内存和flash大小
提前需求厂家的帮助,各外设大致所占用的内存和flash的大小。这一点非常重要,以免到后期出现尴尬局面。
根据以上9点,可以整理这样一个表格,如下所示。
汇总上面数据,形成下面这样的资源表格,这样选型就很 easy 了。
为什么要这么做?
MCU挂较少外设时,还是很好选型的。如果外设多起来, 接口繁杂,这个时候选型还是很考验功力的,涉及成本、功耗、内存、flash、采购难度、升级等等情况。存在多个变量的时候,尽量采用数据的方式,比较直观。