选择合适的微控制器策略
保持采用统一产品线
生产商会定期生产新的嵌入式产品扩展产品线以保持竞争力。这些新产品通常是完善需求、升级性能或者降低成本。其他因素还包括制造工艺升级、提升竞争力和市场发展趋势。独立于最先的设想,新产品总是基于一些核心思想。因此,新的产品或者升级版本会依赖于已经存在的平台和源代码。
研究表明,半数公司潜在重用已有硬件和软件以减少开发时间。工程师对特定MCU产品家族的了解程度、相关MCU的开发文档是否详细以及是否具有高效的开发工具也是降低开发时间和成本的重要因素。
保护知识产权和处理保密信息
一些嵌入式应用用来处理个人信息。另一些授权访问受限区域或者金融领域。几乎所有的微控制器都在运行具有产权的程序。如果相关软件被破解,甚至克隆产品在市场流通,知识产权的所有人可能会失去未来的收益。正是由于这个原因,大部分微控制器都有保护机制。这种机制可以阻止黑客或者第三方使用编程器、调试器或者测试接口来读出程序存储器。
当今,越来越多的应用采用层次设计或者功能模块设计。不同功能模块或者部件之间的有线通信或者无线通信成为一个越发困难和值得注意的问题。为了阻止第三方的非法访问,必须进行加密。这方面的一个例子就是遥控车门开关(Remote Keyless Entry, RKE)或者家庭无线网络。如果传输的数据没有加密,那任何人都有可能使用您的车或使用您的无线互联网连接。传统的解决方法是使用封闭算法或者加密算法,这样只有知道算法的人可以使用。这样的方法被称为通过隐匿来实现安全(security by obscurity),这是一种非常危险的做法。最佳的解决方法是使用诸如AES或者DES这类的公开算法,这类算法既允许公众查阅又可以保障他们的安全。如果你使用私密加密算法或者匿名加密算法,则无法*估安全级别或者发现关键的设计缺陷。
使用公开加密协议的问题是需要强大的运算能力和可靠的算法设计。在现代8位MCU上使用DES算法加密或者解密一个8字节的块所需时间的典型值是大约10万个时钟周期。这相当于使用全部的15MIPS来支持9600Kbps的通信速度。而32位CPU进行同样的运算通常会快50%-60%.在32MHz系统时钟下,使用45000周期或1.4毫秒只能以45 kbps的速度进行安全数据通信,因为所有的CPU时间都用于加密和解密。显然,系统没有多少时间可以留给实际的应用程序。其次,大多数的无线应用是电池驱动的,如果大多数处理能力都用在安全方面,将缩短电池寿命。
高集成度与中断延时和安全
现在的微控制器在其片内集成了越来越多的外设。通常来说,外设对微控制器高效的完成工作起着至关重要的作用。外设起着连接传感器、系统控制、数据通信、故障控制和计时等多种作用。传统方法是使用中断来与片内外设通信。这样的优势很明显,大大的节约CPU时间,使得软件不必循环检测外设状态,从而本质上提高了CPU的效率。即使如此,中断方式仍然有一些劣势,其中一个就是中断例程中的上下文切换要花费一些处理周期。对于现代的CPU架构来说,中断的上下文切换需要20-100个时钟周期。假设有一个简单的任务,它获取发来的SPI数据。如果SPI的速率是1Mbps,则SPI接收中断的频率可达125KHz.如果SPI中断处理需要25时钟周期(包括上下文切换),那对于20MIPS的CPU时间来说,仅处理SPI中断就需要花费15%的CPU时间。如果同时还有其他一系列中断,则意味着CPU必须处理巨大的任务。
使用中断方式的另一个劣势就是中断响应时间对关键系统事件的影响。某些中断源可能要求在触发后CPU必须立即响应。比如汽车的安全气囊、动力设备的急停等危机情况以及紧急情况的应用。所有这些都要求立即相应,或者立即关闭控制系统以防止发生永久性灾难事件。如果CPU需要首先完成其他的中断服务程序或者需要花费较长的时间进行上下文切换,结果将无法预知。
目前,已经有些半导体厂商开发了一些新的技术。这些技术用来取代传统的中断方式或者DMA方式,使用这类技术进行外设通信可以节省大量的CPU时间。
- 高带宽嵌入式应用中SoC微控制器的新型总线设计 (02-02)
- 基于红外超声光电编码器的室内移动小车定位系统(06-30)
- 基于微控制器的web服务器设计(07-04)
- 低成本ARM系列LM3S101微控制器的结构与应用(03-28)
- 嵌入式应用中的USB主设备功能(05-11)
- 爱特梅尔低功耗微控制器平台开发组合软件加速设计(02-05)