用初步的硬件框图列出单片机需要处理的外部接口。有两种类型的常用接口应该提到。
图1
的通信接口是第一。
USB , I2C ,都是系统中使用的常见外围设备。如果应用程序需要USB或以太网,请在备注部分添加特殊备注。这些接口对单片机所需的程序空间大小有很大的影响。
数字输入和输出,模拟数字输入,和其他数字接口可用。单片机所需的引脚数将由这两种类型的接口决定。图1展示了一个典型的框图,包括了I/O需求。
微控制器的选择在很大程度上受到软件体系结构和需求的影响。所需的处理能力将决定是使用 80MHz 的 DSP 还是 8MHz 的 8051 。关键是要记录所有的需求,因为它是细节的硬件
图2
是否有任何算法需要浮点数比如说算术?有没有传感器或者高频的控制回路? 此外,还要弄清楚每项任务应该完成多长时间,多长时间完成一次。中的数量级,然后计算出在处理能力必需的。的架构和频率的选择中,最重要的因素之一是一个微控制器是它的计算能力.
工程师应该能够使用1和2中的信息开始识别适当的体系结构思想。这个应用程序与8位架构兼容吗?我有必要使用16位架构吗?还是需要一个32位的ARM处理器? 将通过检查应用程序和适当的软件算法定期的。
图3
请记住,未来的需求和功能增强可能是必要的。即使 8 位单片机现在可以处理你的应用程序,你应该考虑 16 位单片机将来的功能扩展,甚至简单的使用。
重要的是要记住,选择单片机是一个必须重复的过程。在这个阶段,您可能选择了 16 位设备,但后来发现 32 位ARM 设备会更好。这仅仅是一个建议,供工程师考虑。
微控制器的( flash )和内存是两个关键部件.毫无疑问,拥有足够的程序或可变空间是最重要的考虑因素。这通常是简单的选择一个闪存和内存是远远不够的。
图4
如果你在设计的最后发现你需要110%的额外空间,或者一些元素必须被删除,这可不是什么好笑的事情。事实上,在同一芯片系统中,您可以从一个较大的设备开始,然后切换到一个较小的设备。
工程师可以估算闪存和内存空间应用程序将采用软件架构和连接性应用程序中包含的外围设备。记住要为扩展和新版本腾出空间!这将消除未来许多令人头疼的问题。
现在您已经对单片机有了更好的了解,现在是时候开始寻找合适的微控制器了!微控制器供应商如Arrow、Avnet和Future Electronics是开始寻找微控制器的好地方。
图5
与这些供应商的现场应用工程师讨论您的应用和需求,他们几乎总是会提供技术先进并满足您需求的新小工具。请记住,他们可能会觉得被迫市场整个家族的单片机!
你熟悉的芯片源是其次的选择去微芯的网站,例如,如果你以前使用过他们的设备,并有很多熟悉他们。
大多数芯片供应商都有一个搜索引擎,您可以在其中输入外围设备组合、 I / O 和功耗要求,搜索引擎会逐渐过滤设备选择,直到找到满足您需求的设备列表。然后,工程师可以谨慎地从列表中选择最合适的单片机。
选拔程序应该在这个时候提供大量的候选人。他们的电力需求和价格应该在这个时候彻底检查。在使用电池或移动设备时,必须尽可能少耗电。
图6
如果您不能满足功耗要求,请逐个检查该列表,直到找到工作。别忘了看处理器的单价。尽管许多设备在大批量购买时价格接近 1 美元,但如果是高度专业化或高端处理器,价格可能很重要。这是很重要的一点要记住。
现在,您已经编制了一个合适的设备列表,现在是时候看看每个设备的可用性了。有几件事情要记住,比如设备的交货时间是多少?有股票可从多个批发商,还是要6到12周才能到?什么是你的可用性要求? 你不想下一个大订单,然后要等三个月才能到货。
图7
选择一个兼容的开发工具和研究控制器的内部工作方式是选择单片机的关键步骤。当工程师对一个产品感兴趣时,他们应该检查可用的开发工具包。
图8
微控制器选项在很大程度上受到开发工具包的限制。最后要考虑的是可用的编译器和工具。编译器、例程代码和调试工具都可以在大多数单片机上使用。
即使你选择了单片机,事情也不是一成不变的。在第一个硬件原型开发之前很久,开发工具包就已经可以访问了。建立测试电路并使用开发工具包将其连接到单片机,
选择一些高危设备,并尝试将其与开发工具包结合起来,然后你可能会发现你以为的装置会很好用有意外的问题,迫使您选择不同的微控制器。
在任何情况下,早期的实验将确保你做出最好的决定,任何必要的修改将有尽可能最小的影响!