作者Edwin Romero
控制器局域网(CAN)协议是在20世纪80年代中期专为汽车行业设计的一种规范,可在日益增长的互联应用中减少数据传输的布线复杂性(重量、数量和成本)。
CAN的优势也被其他市场(包括工厂自动化和医疗应用)接受和吸纳,这使其应用范围更加广泛,全球每年交付的CAN节点超过10亿个。同样,每年交付的8位单片机(MCU)也超过10亿个。如今,虽然这些统计数据有部分重叠,但今后仍会有大幅增长。
CAN继续满足汽车制造商的需求
传统的CAN通信以事件为基础,允许单片机和专用集成电路(ASICS)在应用中直接相互通信,无需主机。CAN经过半导体公司集成后极大降低了成本,并且能够与更多汽车系统兼容。自2000年初以来,8位MCU也引入了CAN协议。最近,2015年最先推出的8位MCU设计方案使用独立于内核的外设(CIP),全新的8位MCU系列能够解决CAN应用中的许多系统问题。
除了成本效益高之外,CAN的成功还可以归功于:
- 稳健性
- 可靠的数据传输
- 易于实现
毫无疑问,除了成本效益极高之外,8位MCU还具有上述优势。因此,8位MCU和CAN是用于满足汽车网络需求的完美组合。
多年来的实践足以证明CAN能够满足各种控制系统的需求。随着汽车网络需要的各种属性不断增加,包括时间触发、容错和单线实现以及具有灵活数据传输速率的CAN(CAN FD),CAN规范也得到扩展。表1显示的是自30多年前首次推出以来CAN发生的诸多变化。
表1.用于满足不同汽车需求的CAN版本
为了将传感器和执行器联网以提高系统舒适度,汽车工程师使用局域互连网络(LIN)协议来降低成本。但是,LIN是单线主从式网络,需要对使用CAN的硬件和软件进行更改。使用CAN的最新汽车应用包括门禁控制、电池充电/电池管理和诊断设备。为了实现全部的车辆要求,尤其是需要从另一个CAN控制系统访问数据的车辆要求,需要使用8位MCU/CAN。图1显示的是将8位MCU/CAN节点轻松添加到现有CAN总线的示例。
图1.不同的CAN实现可以共存,这增加了CAN总线的灵活性
使用支持CAN的8位MCU满足低成本网络需求
连接到CAN总线是系统设计人员需要实现的最低功能,通过增加专门用于满足其他系统要求的外设,简化设计人员的任务。这些系统任务包括感测一个或两个用于控制目的的参数、移动电机或激活电磁线圈或者提供其他功能。
使用CIP方法可以降低软件的复杂程度,并以较低的时钟速度提供更快的响应时间,同时降低功耗。Microchip PIC18 K83系列中丰富的CIP系统类别包括:
·智能模拟(包括传感器接口)
·波形控制
·时序和测量
·逻辑和数学
·安全和监视
·通信
·低功耗和系统灵活性
在这些类别中,具体外设包括:
·带有存储器扫描的循环冗余校验(CRC),用于确保非易失性存储器的完整性
·直接存储器访问(DMA),用于在没有CPU参与的情况下进行存储器和外设之间的数据传输
·窗口看门狗定时器(WWDT),用于触发系统复位
·带计算功能的12位模数转换器(ADC2),可自动进行模拟信号分析,从而实现实时系统响应
·互补波形发生器(CWG),用于使能电机控制的高效同步开关
除了使用CAN 2.0B外,集成CAN控制器还能够完全兼容以前版本的CAN模块(CAN 1.2和CAN 2.0A)。该产品的功能包括存储器访问分区(MAP),用于在数据保护和自举程序应用中为设计人员提供支持。器件信息区(DIA),用于为工厂编程的器件ID和外设校准值提供专用存储空间。
由于CAN节点的主要目标是通信,因此8位MCU改进了串行通信,包括支持异步通信和LIN协议的UART以及更高速的独立I2C和SPI串行通信接口。表2显示了15个CIP以及它们满足具体系统需求的方式。
表2. PIC18 K83系列中独立于内核的外设可满足多种系统需求
过去并没有考虑过在8位MCU中实施这些片上结构,而正是由于这些结构,现在的8位MCU的性能与许多设计人员的期望完全不同,提供的功能远远超过十年前设计的MCU。
8位MCU的编程方式非常简单,与CAN和CIP结合使用时甚至更加容易。当这些8位MCU能够提供足够的处理能力时,特别是针对远程节点的处理能力,便能够替代更昂贵且更难编程的16位MCU。而CIP可以提供更多处理能力,实现更多8位MCU选项。
可灵活配置的片上硬件模块能够更高效更确定地处理重复嵌入。事实上,由于CAN的确定性,如果MCU陷入循环,使用CIP的CAN仍然可以在内核之外继续运行。
借助最新的8位MCU/CAN + CIP和LIN,网络设计人员现在可以为CAN和LIN通信提供更多灵活性和选择。实际上,一些典型的8位MCU LIN应用现在是潜在的CAN应用。例如,如果模块需要了解网络上的其他数据(如车辆速度),CAN可能是更好的选择,或者至少是LIN的备选方案。这对于挡风玻璃雨刮非常有用,可以根据车辆的速度改变雨刷速度,而无需CAN到LIN的网关。另外,如图2所示,使用系统级CIP可以少用一两个额外的ASIC。
多年来,汽车中一直使用相同的PWM和互补波形发生器CIP生成相当复杂的多色LED气氛照明。由于MCU没有应用CAN功能,这些驱动程序会连接到LIN总线。将该功能与支持CAN功能的高性价比8位MCU相结合,可为设计提供更高的灵活性和简化的备用方法。
虽然市面上大多数8位MCU都严重依赖内核来处理外设功能,但CIP可实现其他系统设计可能性,不会对CPU造成明显负担,这包括:各种传感器的高精度接口、高功率LED驱动器和/或相当复杂的电机控制水平。
可以使用各种开发工具确定这些和其他可能性中的哪一种适合特定网络。例如,MPLAB®代码配置器(MCC)是一款免费的软件插件,可提供图形界面来配置特定于应用的外设和功能。借助该工具,系统设计工程师在完成特定任务时可以轻松配置基于硬件的外设,而不必编写和验证整个软件程序。
树立自信的态度
对于汽车和工业应用中的总线架构,系统设计人员肯定有多种选择。作为一种广受认可的总线,当需要为现有网络增加检测和/或控制功能时,具有附加功能来满足不同系统需求的MCU使CAN成为一种出色的选择。凭借其独立于内核的外设,8位MCU/CAN系列可将CAN扩展到网络上更具成本效益的节点中。
新型8位MCU/CAN + CIP为新兴汽车网络应用提供了灵活、经济高效、简单而可靠的数据传输以及访问控制、电池充电/电池管理和诊断设备所需的更高性能和系统支持。
参考资料
1.PIC18 K83产品系列:http://www.microchip.com/promo/pic18f-k83
2.MPLAB代码配置器(MCC):http://www.microchip.com/mplab/mplab-code-configurator
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)