新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于Salvo的通用CAN/LIN网关

一种基于Salvo的通用CAN/LIN网关

作者:时间:2009-06-19来源:网络收藏

1 引言
CAN(Controller Area Network,即控制器局域网)是上世纪80年代初由德国Bosch公司提出专用于汽车的串行总线。由于其数据传输率高,传输距离远,实时性好,可靠性高等众多优点已在汽车工业、航空工业、工业测控等领域广泛应用。在某些通信性能要求不高的场合为了降低网络控制的成本,1998年由汽车制造商奥迪、宝马等汽车公司、火山通信技术公司以及半导体生产商摩托罗拉(Motorola)公司共同创建了LIN协会,其目的是为汽车网络系统提供一个开放的A类(低速率、低成本)串行总线通信标准。由于LIN总线性价比极高,非常适合用于车灯、车门、座位等对通信要求不高,对成本敏感的部件。
目前,高级汽车一般采用分级网络控制,对发动机、传动系统、制动系统等重要,且对通信性能要求高的部件采用CAN总线控制;对车身,如车灯、车门等对通信性能要求不高,而对成本敏感的部件采用LIN总线控制,CAN总线与LIN总线间通过数据转换以实现CAN设备与LIN设备的相互访问。这种分级网络控制模式也适用于工业控制、安全防护等领域。本文讨论一种
2 模型
网关是连接两个通信协议和结构不同的网络设施。对于网关,它的工作就是对信息拆除封装和重新封装,以使它们能被CAN总线和LIN总线上的网络节点读取,即实现CAN总线和LIN总线之间(PDU)的转换。的模型如图1所示。

本文引用地址:http://www.eepw.com.cn/article/173697.htm

依照国际标准化组织制定的开放系统互连参考模型OSI/RM,CAN总线和LIN总线都包括物理层和数据链路层。应用层由各种应用系统各自定义,其中CAN总线已有一些应用较广的高层协议,如CANOpen、NetDevice等。的分层结构如图2所示。

3 网关硬件
CAN总线和LIN总线的数据量小,系统采用高速8位微处理器DDMicrochip新型增强FLASH18F4680。18F4680片内集成64KB FLASHROM作为程序存储器、3KB RAM作为数据存储器,能满足处理CAN总线和LIN总线转换所需的程序代码和数据存储的需求;18F4680片内集成1KB EEPROM可用于存放系统状态信息,即使掉电重启也能恢复到掉电前状态。另外,PIC18F4680片内集成支持CAN2.0B的CAN控制模块,CAN数据链路层协议可由CAN控制模块执行,从而减轻MCU处理CAN协议的数据处理压力;PIC18F4680还集成可支持LIN1.3的USART,进一步减轻MCU处理LIN协议的数据处理压力。
为增强CAN总线的抗干扰能力,CAN总线驱动器MCP2551与PIC18F4680间采用高速光偶6N137隔离,并且独立供电,PIC18F4680采用LIN总线驱动器MCP201的电源模块供电;MCP2551采用专用DC/DC变换器供电。
实时多系统对于相同优先级采用以时隙为单位的时间片循环方式(round-robin)切换。为提高时隙精度,从而提高切换时间精度,PIC18F4680的定时计数器1(TMR1)外接标准时钟晶振32768Hz。系统时基由TMR1通过标准时钟晶振振荡产生。网关硬件电路如图3所示。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭