冯 源,豆海利,赵 刚
(1.中国航空计算技术研究所,西安 710072; 2.空军工程大学 理学院,西安 710051)
基于S12X系列双核单片机的CAN网关设计
冯源1,豆海利2,赵刚1
(1.中国航空计算技术研究所,西安710072; 2.空军工程大学 理学院,西安710051)
集成XGATE协处理器内核的S12XE系列双核单片机具有处理速度快、反应时间短、功耗低等优点,在嵌入式应用中具有独特优势和很好的应用前景;文章采用16位双核单片机MC9S12XEQ512作为主控制器,以集成信号和电源隔离功能的CAN收发器芯片ADM3053来实现CAN接口电路,设计并实现了一个可以连接3个CAN通信子网的CAN网关,有效实现了系统的小型化、低功耗、低成本;采用双核处理技术来优化CAN网关的处理流程,由协处理器XGATE来处理各种中断,S12X主CPU则专注于协议处理和消息转发;实际应用表明,系统运行稳定可靠,与传统的采用单处理器实现的CAN网关相比,系统的数据吞吐能力和实时性得到了明显改善。
CAN网关;S12X主CPU;协处理器XGATE;精简指令流;软中断;信号量
随着微处理技术的发展及复杂系统对微控制器的实时性和计算能力要求的日益提高,带协处理器的微处理器应用越来越广泛。美国Freescale公司推出的S12XE系列双核单片机,其内部集成了可编程RISC内核的XGATE协处理器,专门用来处理I/O和中断。其性能往往优于一个智能的DMA控制器,从而提高了系统的实时处理能力,减轻了主CPU的工作负荷,使得主CPU更多注重于处理系统核查、应用解算等任务。
CAN(controller area network),即控制器局域网,是一种有效支持分布式控制和实时控制的串行总线,具有分布性能好,可靠性高、扩展性好、成本低等优点,较好地解决了工业现场设备级(传感器、执行器、控制模块)的互连通信问题。……