在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。
在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。
步骤1:制作一份要求的硬件接口清单
利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。第一种是通信接口。
系统中一般会使用到USB、I2C、SPI、UART等外设。如果应用要求USB或某种形式的以太网,还需要做一个专门的备注。这些接口对微控制器需要支持多大的程序空间有很大的影响。
步骤2:检查软件架构
软件架构和要求将显著影响微控制器的选择。处理负担是轻是重将决定是使用80MHz的DSP还是8MHz的8051。就像硬件一样,记录下所有要求非常重要。
例如,是否有算法要求浮点运算?有高频控制环路或传感器吗?并估计每个任务需要运行的时间和频度。然后推算出需要多少数量级的处理能力。运算能力的大小是确定微控制器架构和频率的最关键要求之一。
步骤3:选择架构
利用步骤1和步骤2得到的信息,一个工程师应该能够开始确定所需的架构想法。8位架构可以支撑这个应用吗?需要用16位的架构吗?或者要求32位的ARM内核?在应用和要求的软件算法之间经常推敲这些问题将最终得出一个解决方案。
不要忘了还有未来的可能要求和功能扩展。只是因为目前8位微控制器可以胜任当前应用并不意味着你不应为未来功能扩展甚至易用性考虑16位微控制器。
记住,微控制器选型是一个反复的过程。你可能在这个步骤中选择了一个16位的器件,但在后面的步骤中发现32位ARM器件会更好。这个步骤只是让工程师有一个正确的考虑方向。
步骤4:确定内存需求
闪存(flash)和RAM是任何微控制器的两个非常关键的组件。确保程序空间或变量空间的充足无疑具有最高优先级。选择一个远多于足够容量的闪存和RAM通常是很容易做到的。
不要等到设计末尾时才发现你需要110%的空间或者有些功能需要削减,这可不是闹着玩的。实际上,你可以在开始时选择一个具有较大空间的器件,后面再转到同一芯片系统中空间更小些的器件。
借助软件架构和应用中包含的通信外设,工程师可以估计出该应用需要多大的闪存和RAM空间。不要忘了预留足够空间给扩展功能和新的版本!这将解决未来可能遇到的许多头疼问题。
步骤5:开始寻找微控制器
既然对微控制器所需功能有了更好的想法,现在就可以开始寻找合适的微控制器了!像艾睿、安富利、富昌电子等微控制器供应商是寻找微控制器的一个很好的起点场所。
与这些供应商的现场应用工程师讨论你的应用和要求,通常他们会向你推荐一款技术领先又能满足要求的新器件。不过要记住,他们可能有推销某个系列微控制器的冲动!
第二个最佳场所是你已经熟悉的芯片供应商。例如,如果你过去用过Microchip的器件,并有丰富的使用经验,那就开启他们的网站吧。
大多数芯片供应商都有一个搜索引擎,允许输入你的外设组合、I/O和功耗要求,搜索引擎会逐渐缩小器件范围,最终找出匹配要求的器件清单来。工程师随即可以在这个清单中仔细选择出最合适的一款微控制器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)