1. CAN总线简介 控制器局部网络(CAN ControllerAreaNetwork)是德国Bosch公司从20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协议。1991年9月PHILIPS公司制定并颁布了CAN2.0技术规范;1993年11月国际标准化组织(ISO)正式颁布了关于CAN总线的ISO11898标准 ,为CAN总线的标准化、规范化应用铺平了道路。 世界各半导体厂商推出了许多CAN总线产品。一类是专用的CAN控制器芯片,如Intel公司的82526,82527;PHILIP公司的82C200,SJA1000;NEC公司的72005等;另一类是嵌入CAN接口的单片机,如Intel公司的87C196CA/CB;PHILIP公司的80C592,80CE598;Motorola公司的68HC05X4,68HC05X16,TI公司的TMS320F240x系列DSP等。
CAN总线具有如下特点: 1) 结构简单,通信介质可是双绞线、同轴电缆或光纤; 2) 通信方式灵活。可以多主从方式工作,可以点对点、点对多点及全局广播方式发送和接收数据; 3) 采用短帧通讯格式,保证了实时性和可靠性,可满足一般工业应用; 4) 非破坏总线仲裁技术,具有多优先级; 5) 集成了CAN协议的物理层和数据链路层功能,可完成对通讯数据的成帧处理工作。 CAN总线具有良好功能特性和极高的可靠性,现场抗干扰能力强。广泛应用于工业测控领域。 2. CAN总线接口的硬件设计 硬件设计使用了TI公司的TMS320LF2407A的DSP芯片,其CAN总线接口的硬件电路如图1所示。一般在CAN控制器和物理总线间采用82C250驱动芯片,提供对总线的差动发送和接收功能。但是因为82C250为5V供电,而F2407采用3.3V供电,两芯片间需要电平转换电路。我们选用了只需3.3V供电的CAN总线收发驱动芯片SN65HVD230。 图1 CAN总线接口电路 F2407的内部集成有CAN控制器。该控制器是一个16位的外设模块,支持CAN2.0B协议,具有6个8字节邮箱;具有可编程的中断配置、总线唤醒功能,以及自动回复、自动重发、错误诊断等功能。CAN模块的结构框图如图2所示。 图2 CAN控制器结构框图
|