把32位微控制器性能带入工业和汽车应用
5V I/O的。
一直以来,32位处理器只提供3.3V I/O,因为它们的晶体管数目较多,导致其制造工艺的几何尺寸更小。为了支持市面上大量的基于5V的工业元件,这些处理器需要附加的电路,包括成本高昂的电平转换器和电源,把5V I/O降至3.3V电平,以便于连接。当然,更高的处理能力总是受欢迎的,但更高的成本却不为市场所接受。至于转换到3.3V I/O及元件这一替代方案也是不切实际的。大多数传感器及其他工业元件都基于5V,故与其把系统需要的所有传感器都来个大调换,继续采用8位和16位微控制器则更方便、更具成本效益。
独特的爱特梅尔AVR® UC3C 32位微控制器是首个支持5V I/O的工业级微控制器。这一成果通过更先进的0.18µm工艺技术而得以实现,因为其以一种可靠且具成本效益的方法支持更高的I/O电压水平。这种本征5V I/O让基于AVR UC3C的设计能够充分利用32位微控制器新增加的CPU性能,无需任何复杂昂贵的电压转换器件。
除了支持5V I/O之外,AVR UC3C还附带有广大范围的高性能外设,可满足工业和汽车应用的需求:
ADC:16通道,12位,采样速率高达1.5Msps;双采样及保持能力;内置校准;内部与外部参考电压。
DAC:4路输出(2×2通道),12位分辨率;转换速率达1Msps,1us建立时间(settling time);灵活的转换范围;每通道1个连续输出或2个采样/保持输出。
模拟比较器:4通道并带有可选功率与速度;可选磁滞(0V、20mV和50mV);灵活的输入选择和中断;结合两个比较器的窗口比较功能。
定时器/计数器:多个时钟源(5个内部的,3个外部的);丰富的功能集(计数器、捕获、上/下,PWM);每通道2个输入/输出信号;全局启动控制,实现同步运作。
正交解码器:集成式解码器,支持直接马达旋转检测。
多个接口:包括一个双通道双线接口(TWI)、主/从SPI,以及可用作SPI或LIN的全功能USART。
全集成USB:内置USB2.0收发器,支持低(1.5Mbps)、全(12Mbps)和On-The-Go模式。此外,AVR软件框架为各种USB设备(海量存储、HID、CDC、音频)、主设备(大容量存储、HID、CDC)和组合功能设备提供生产就绪(production-ready)的驱动程序。
更高的系统吞吐量
外设管理可能已经成为一个主要的系统瓶颈问题,情况在外设数目与其工作频率不断提高的情况下则更严重。在一个传统的中断式系统中,数据到达一个接口或传感器端口,在被下一个数据值覆写之前,CPU必须读取和存储结果。由于多通道高采样速率,中断开销和数据处理会消耗很大比例的处理器可用时钟周期。随着被管理的外设数目增加,中断延时也增加,从而引入抖动,降低准确度。另外,其他设计问题也随之产生,比如致使任务调度复杂化的优先级中断处理。
为了便于多个高性能外设的高效工作,AVR UC3C架构采用了一个外设事件系统,其允许外设自我管理,并彼此通信,无需主处理器干预,如图2所示。外设事件控制器通过一个可实现所有外设互连的内部通信结构来独立处理CPU的外设间信令。取代触发一个中断去通知CPU读取外设或端口数据,外设可以自我管理,把数据直接传送给SRAM存储,所有这些都无需CPU任何干预。从功率角度来看,只有那些转换功能模块是有源的。在整个事件发生期间,设备中最耗电的部件CPU,被释放出来执行应用代码或进入IDIE模式以节能,而不必为了处理高频中断频频处于活跃状态。
图2表示了外设事件系统允许外设自我管理,无需主处理器干预。例如,若无外设事件系统,定时器会在一个ADC上触发一个转换,然后把结果传送给DMA,再存储到存储器里,所有这些都无需CPU的任何干预。若带有外设事件系统,没有抖动,且当爱特梅尔AVR工作在66MHz时,响应延时固定在三个周期仅33ns。
图2 外设事件系统允许外设自我管理
相比基于CPU的中断驱动式事件控制器,外设事件控制器的响应还具有更大的确定性。当32位AVR UC3C工作在66MHz时,延时固定在三个周期或仅33ns,从而实现无抖动的精确事件时序,使ADC和DAC上的数据读取和传输更准确。这种延时可预测以及无需CPU开销的特性还可防止事件遗漏或数据丢失。
为了全面地观察外设事件系统的功能,考虑管理单个SPI端口所需的CPU负荷。如果外设与SRAM之间的数据传输是基于中断的,SPI端口在接收到数据时会触发一个中断,然后CPU保存应用环境(application context),把数据传送到SRAM的适当数据缓冲器中,再恢复应用环境。即使在1.2Mbps的低数据率之下,管理SPI端口也需要53%的处理器能力。
反之,若采用外设事件系统,USB端口会自动把接收到的数据传输到DMA。DMA再自动把该数据存储在适当的存储缓冲器中,所有这些操作都无需
- 爱特梅尔为32位AVR UC3微控制器开发浮点单元技术(03-16)