描述
探索NXP MC9S12XE:16位微控制器的创新之旅
在电子工程师的世界里,不断寻找性能卓越、功能丰富的微控制器是永恒的追求。NXP的MC9S12XE系列微控制器就是这样一款值得深入研究的产品,它在系统完整性和功能方面带来了显著的提升。
文件下载:MC9S12XEP768CAL.pdf
一、引言
MC9S12XE系列微控制器是在MC9S12XD系列的基础上进行创新升级的产物。它引入了一系列新特性,如内存保护单元(MPU)、闪存上的纠错码(ECC)、增强的EEPROM功能(EEE)、增强的XGATE、调频锁相环(IPLL)和更快的模数转换器(ATD)等,为系统带来了更高的完整性和更强大的功能。
该系列主要针对汽车多路复用和通用汽车车身应用,能够提供32位的性能,同时保留了16位微控制器在成本、功耗、电磁兼容性(EMC)和代码大小效率方面的优势。而且,S12XE和S12XD系列之间具有高度的兼容性,这对于工程师来说是一个很大的优势。
二、应用示例
1. 车身控制器应用
在车身控制器应用中,MC9S12XE通过片上MSCAN模块与汽车内的主要CAN总线进行接口,LIN总线则与车身控制器的本地功能进行通信。通信功能由XGATE独立于CPU进行管理,大大减轻了CPU的负担。此外,MC9S12XE还可以通过片上PWM和ATD模块直接控制灯光和泵的功率驱动器,并读取传感器数据。最后,通过SPI接口与RF接收器连接,为汽车远程访问系统提供接口。
2. 网关应用
在网关应用中,MC9S12XE在其片上CAN和LIN模块之间提供网关功能。大部分底层通信功能由XGATE处理,使CPU能够专注于管理更高级别的通信和与模块的其他直接连接。
三、特性剖析
1. 模块框图
从模块框图中可以清晰地看到MC9S12XE的各个组成部分,包括闪存、RAM、EEPROM、模拟数字转换器、定时器、通信接口等。这些模块协同工作,为系统提供了强大的功能支持。
2. 外设和内存选项
S12XE系列提供了多种外设和内存选项,以满足不同应用的需求。不同型号的设备在CAN、SCI、SPI、IIC等模块的数量以及闪存、RAM、EEPROM的容量上有所不同。例如,9S12XEP100在208引脚的MAPBGA封装中,具有5个CAN模块、8个SCI模块、3个SPI模块和2个IIC模块,闪存容量可达1MB,RAM容量为64K,EEPROM容量为4K(32K)。
3. 关键性能参数
- 工作条件:具有较宽的单电源电压范围(3.3V - 5%/+10% 到 5.0V +10%),内部稳压器和I/O采用独立供电,可实现优化的EMC滤波。最大CPU总线频率为50MHz,最大XGATE总线频率为100MHz,环境温度范围为 -40°C 到 125°C,并且提供多种温度选项。
- 封装选项:提供208引脚的MAPBGA、144引脚的LQFP、112引脚的LQFP和80引脚的QFP等多种封装形式,以适应不同的应用场景。
4. 芯片级特性
- 引脚兼容性:该系列与现有的S12D系列引脚兼容,方便工程师进行升级和替换。
- 16位CPU12X:与MC9S12指令集兼容,但去除了五个模糊指令(MEM、WAV、WAVR、REV、REVW),具有增强的索引寻址能力,可独立于PPAGE访问大数据段。
- 系统完整性增强:通过MPU、ECC和监督模式等功能,提高了MCU级别的系统完整性。
- 增强的SPI:支持8位或16位数据大小,提高了数据传输的灵活性。
- 闪存ECC:具有1位故障纠正和2位故障检测能力,提高了闪存数据的可靠性。
- EMC性能提升:通过独立的内部稳压器和I/O供电,优化了EMC滤波,提高了电磁兼容性。
- 电流消耗优化:降低了功耗,提高了系统的能效。
- 扩展API:支持长达5秒的API,为系统提供了更多的灵活性。
5. 模块特性
- 16位CPU12X:如前文所述,具有增强的功能和兼容性。
- 增强的中断模块:具有八级嵌套中断,可灵活分配中断源到每个中断级别,还提供外部不可屏蔽的高优先级中断(XIRQ)和内部不可屏蔽的高优先级内存保护单元中断。
- XGATE:可编程的高性能I/O协处理器模块,具有高达100 MIPS的RISC性能,可在无需CPU干预或等待状态的情况下在所有外设和RAM之间传输数据,还能执行逻辑、移位、算术和位操作,可中断S12X CPU以表示传输完成,支持Full CAN和LIN主/从功能。
- 内存保护单元(MPU):每个活动程序任务可定义8个地址区域,地址范围粒度低至8字节,具有无写入、无执行等保护属性,访问违规时会触发不可屏蔽中断。
- 系统完整性支持:包括上电复位(POR)、非法地址检测复位、低压检测中断或复位、系统可在监督或用户状态下运行、计算机运行正常(COP)看门狗、时钟监控等功能,确保系统的稳定性和可靠性。
- 内存选项:提供多种闪存、RAM和EEPROM容量选项,闪存具有ECC功能,数据闪存和模拟EEPROM也具有各自的特点,如数据闪存支持单比特故障纠正和双故障检测,模拟EEPROM支持自动文件处理和数据传输等。
- 振荡器(OSC_LCP):采用4MHz到16MHz晶体的环路控制皮尔斯振荡器,具有良好的抗噪声能力,还提供全摆幅皮尔斯选项,适用于2MHz到40MHz晶体。
- 时钟和复位发生器(CRG):具有锁相环(IPLL)时钟频率倍增器,内部滤波,无需外部组件,可配置频谱扩展选项以降低EMC辐射,支持在自时钟模式下从STOP快速唤醒以节省功耗并立即执行程序。
- 非复用外部总线:仅适用于208引脚和144引脚封装,每个片选输出可配置为在两个等待状态发生器之一的超时或EWAIT信号无效时完成事务,支持与流行的异步RAM和闪存设备的无缝接口。
- 模数转换器(ATD):最多可提供两个独立的ATD转换器,具有8/10/12位分辨率,支持16个模拟输入通道,10位单转换时间为3μs,支持左/右、有符号/无符号结果数据,具有外部和内部转换触发能力,内部振荡器可在停止模式下进行转换,可在模拟比较匹配时从低功耗模式唤醒。
- 增强捕获定时器(ECT):具有8个16位通道,可用于输入捕获或输出比较,包括16位自由运行计数器和8位精度预分频器、16位模数递减计数器和8位精度预分频器、四个8位或两个16位脉冲累加器,部分通道具有增强的输入捕获能力。
- 定时器(TIM):具有8个16位通道,可用于输入捕获或输出比较,包括16位自由运行计数器和8位精度预分频器、一个16位脉冲累加器。
- 周期性中断定时器(PIT):最多可提供8个定时器,具有独立的超时周期,超时周期可在1到224个总线时钟周期之间选择,可产生超时中断和外设触发。
- 实时中断(RTI):用于任务调度或周期性唤醒,可在伪停止模式下用于低功耗精确计时任务。
- 异步周期性中断(API):在所有模式(包括全停止模式)下可用,可微调至±10%的精度,超时周期范围从0.2ms到约13s,分辨率为0.2ms。
- 脉冲宽度调制器(PWM):具有8通道x8位或4通道x16位的脉冲宽度调制器,每个通道可编程周期和占空比,输出可采用中心或左对齐方式,可编程时钟选择逻辑,具有宽范围的频率,还提供快速紧急关闭输入。
- 多可扩展控制器区域网络(MSCAN):最多可提供五个MSCAN模块,与CAN 2.0 A、B软件兼容,支持标准和扩展数据帧,数据长度为0 - 8字节,可编程比特率高达1 Mbps,具有五个接收缓冲区和三个发送缓冲区,支持灵活的标识符接受滤波器,可通过集成低通滤波器选项唤醒,支持回环自测试和监听模式,可通过软件干预或自动进行总线关闭恢复,可对发送/接收消息进行16位时间戳,与XGATE结合使用时具有Full CAN功能。
- 串行外设接口(SPI):最多可提供三个SPI模块,可配置8位或16位数据大小,支持全双工或单总线双向通信,具有双缓冲发送和接收功能,支持主/从模式,可选择MSB优先或LSB优先移位,具有串行时钟相位和极性选项。
- 串行通信接口(SCI):最多可提供八个SCI模块,支持全双工或单总线操作,采用标准的标记/间隔非归零(NRZ)格式,可选择IrDA 1.4归零反转(RZI)格式并可编程脉冲宽度,具有13位波特率选择,可编程字符长度,可编程发送器和接收器极性,可在活动边缘唤醒接收,支持LIN的中断检测和发送冲突检测。
- 内部集成电路模块(IIC):最多可提供两个IIC模块,与内部集成电路总线标准兼容,支持多主操作,可软件编程256种不同的串行时钟频率,支持广播模式和10位地址。
- 背景调试(BDM):具有单总线接口的背景调试模块,提供非侵入式内存访问命令,支持片上非易失性内存的在线编程,支持安全功能。
- 调试器(xDBG):具有四个比较器A、B、C和D,可监控CPU或XGATE总线,支持三种比较器模式,具有64 x 64位循环跟踪缓冲区,可捕获访问的地址和数据,支持标签类型或强制类型的硬件断点请求。
- 片上稳压器(VREG):具有两个并行的线性稳压器,带带隙参考,具有低压检测(LVD)和低压中断(LVI)功能,上电复位(POR)电路,支持3V和5V范围操作,具有低压复位(LVR)功能。
- 输入/输出:最多可提供152个通用输入/输出(I/O)引脚和2个仅输入引脚,所有输入引脚具有迟滞和可配置的上拉/下拉设备,所有输出引脚可配置驱动强度。
四、开发环境
S12XE系列微控制器支持与其他Freescale S12X产品类似的工具和第三方开发者,提供了广泛的工具和软件供应商网络。可用的支持包括S12X评估板,该评估板具有标准化的引脚头环、多种通信接口、电源供应连接器、原型制作区域、USB和BDM接口等,还配备了相关的软件和文档。此外,MC9S12 Code Warrior开发系统提供了丰富的开发工具,如CodeWarrior for OSEK、复杂的项目管理器、优化的C/C++编译器、图形化的源代码级调试器、快速的周期精确模拟器、代码覆盖率和轮廓分析工具、闪存编程器等。同时,还有多个工具供应商提供不同类型的开发工具,如IDE/编译器、调试器、模拟器、仿真器等。
五、总结
NXP的MC9S12XE系列微控制器凭借其丰富的功能、卓越的性能和良好的兼容性,为汽车多路复用和通用汽车车身应用等领域提供了强大的解决方案。无论是在系统完整性、功能扩展性还是开发便利性方面,都表现出色。对于电子工程师来说,深入了解和掌握这款微控制器,将有助于开发出更高效、更可靠的系统。那么,你是否已经准备好将MC9S12XE应用到你的项目中了呢?
打开APP阅读更多精彩内容