发布时间:2010-12-14 阅读量:2592 来源: 发布人:
【中心议题】
【解决方案】
1 汽车总线系统
CAN(Controller Area Network)总线是德国Bosch公司在20世纪80年代初,为解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps。对于车内不需要CAN这样高速率和高安全的通信,本地互联网络(LIN)就是为适应这类应用而设计的低成本解决方案。
LIN是一种应用于汽车中的分布式新型低成本串行通信总线,作为CAN总线的辅助网络或子网络,专门应用于低端系统。LIN是单一主机系统,不但降低了硬件成本,而且在软件和系统设计上也能更容易地兼容其它网络协议,比如CAN。
FlexRay总线是一种高速网络,由FlexRay联盟为高速通信所制订,最初是作为电动控制(x-by-wire)应用的通信协议被提出的。从技术上讲FlexRay作为下一代汽车网络协议,提供了充足的带宽、可靠性和实时响应能力,以实现线控应用。
该标准已开始商用并将被越来越多的汽车制造商采用,但其高成本因素决定了FlexRay在一定的时间内只能定位于高端汽车的应用。
2 系统组成
本系统包括以太网控制芯片和微处理器,微处理器包括以太网接口、通用异步收发器、串行外围设备接口。以太网控制芯片一端同以太网相连,另一端通过通用处理器接口同微处理器的以太网接口相连。
2.1 LIN总线收发器
LIN总线收发器带通用异步收发器接口,通过该接口接微处理器的通用异步收发器,另一端接LIN网络总线。
2.2 CAN总线控制器和CAN总线收发器
CAN总线控制器带串行外围设备接口,通过该串行外围设备接口同微处理器的串行外围设备接口相连,另一端通过CAN总线收发器同CAN网络总线相连。
2.3 MOST总线控制器和MOST总线收发器
MOST总线控制器带串行外围设备接口,通过该串行外围设备接口同微处理器的串行外围设备接口相连,另一端通过MOST总线收发器同MOST网络总线相连。
2.4 车载网关的优点
本文的车载网关,利用现有的以太网控制芯片、微处理器以及总线控制器、总线收发器,实现了汽车车载网络同互联网的连接,有利于汽车内部局域网和Internet的信息交互以及故障的在线实时诊断。
3 系统架构设计与实现
车载网关的系统架构包括以太网控制芯片、微处理器,微处理器包括以太网接口、通用异步收发器(UART)、串行外围设备接口(SPI)。以太网控制芯片一端同以太网相连,另一端通过通用处理器接口同微处理器的以太网接口相连。LIN总线收发器带UART接口,通过该接口接微处理器的通用异步收发器,另一端接LIN网络总线;CAN总线控制器带串行外围设备接口,通过该串行外围设备接口同微处理器的一串行外围设备接口相连,另一端通过CAN总线收发器同CAN网络总线相连;MOST总线控制器带串行外围设备接口,通过该串行外围设备接口同所述微处理器的一串行外围设备接口相连,另一端通过一MOST总线收发器同MOST网络总线相连。系统采用具有可以在Linux和W indows之间实现交叉编译的上位机操作系统,为了实现Debug的功能,采用了NFS(Network File System)网络文件系统实现在线调试。车载网关开发软硬件平台的搭建采用了标准嵌入式开发模式即宿主机+目标机及交叉编译环境+远程NFS (NetworkFile System,一种分布式文件系统)调试。
3.1 硬件环境设计
微处理器MPU采用Samsung公司的S3C2410。
该处理器基于ARM920T内核,采用5级流水线和哈佛结构,是高性能和低功耗的硬宏单元。主频高达203MHz;扩展总线最大频率100MHz, 32位数据,27位外部地址,集成三个UART(UniversalAsyn-chronousReceiver/Transmitter,通用异步收发器,系统中用的是UART1),两路SPI(SerialPeripheral in-terface,串行外围设备接口,系统中用的SPI0),10M/100M以太网接口。以太网控制芯片采用DM9000,DM 9000是一块全集成的单片快速MAC(媒体访问控制器,MediaAccessController),带通用处理器接口, 4 K双字节DRAM,提供10M/100M的以太网接入。LIN总线收发器采用TJA1020,适用的波特率可从2. 4到20 Kbit/s。CAN总线控制器采用MCP2510, CAN总线收发器采用PCA82C250。MOST网络接口和总线控制器(NIC)采用LogiCOREIP,MOST的NICLogiCORE允许直接读取实时MOST同步通道数据,以实现更高效、更灵活的FPGA并行处理性能。MOST收发器采用TJA1050, TJA1050具有电磁辐射低、防短路、不上电时对总线无影响等特点。为了进一步提高系统的抗干扰能力,在CAN控制器引脚CANTX、CANRX和收发器TJA1050之间并不是直接相连,而是通过由高速光耦构成的隔离电路后再与TJA1050相连,这样就可以很好地实现总线上各节点的电气隔离。这部分增加了节点的复杂性,但它却提高了节点的稳定性和安全性。
3.2 软件环境设计
软件开发平台采用的Linux内核版本为2·4·18。Linux微内核直接提供网络支持和典型的串行口驱动,但没有CAN特殊设备及MOST特殊设备的驱动,需要自己编写,利用Linux的模块化特性,可以很方便地把我们自己编写的CAN设备驱动函数及MOST设备驱动函数动态加载或卸载,驱动函数为上层的应用程序提供了接口函数,所有的程序在宿主机编写编译通过后,通过NFS在目标机运行调试也通过后,可以通过把二进制文件烧写进flash,以后就可以直接使用这些设备。
网关的主要作用是不同架构、不同电气特性网络之间的数据转发(本系统中主要是网口数据与Lin网络数据、CAN网络数据、MOST网络数据之间的转发),软件设计的主要工作是在Linux系统之上开发串口即UART的收发程序、CAN控制器的驱动程序、CAN网络数据的收发程序、MOST控制器的驱动程序、MOST网络数据的收发程序、Internet网络数据的收发程序。Lin网数据处理程序主要功能就是通过串口即UART下发来自以太网口的Lin网数据,其实就是个Linux环境下的串口发送程序,其主要流程为打开串口设备文件,声明一个termios类型的变量用于设置串口属性( c_ iflag, cesoflag, c_cflag, clflag),并用函数tcsetattr函数设置串口工作在该属性之下,使用cfsetispeed, cfsetospeed设置串口通信波特率,将网口传输过来的数据依照我们自己定义的含义转换成标准的Lin数据通信格式(起始域0x00,同步域0x00,地址域0xc0,数据域0x00,校验域0x00等等视节点数而定),通过串口的write函数发送到Lin网的节点。输入输出完毕关闭串口。CAN网数据处理程序、CAN设备驱动程序(即CAN控制器的驱动程序)的编写流程如下。
(1)定义CAN控制器MCP2510和SPI接口的各个寄存器,并ioremap函数对其指定;
(2)初始化SPI接口(对其各个寄存器赋值(波特率设置,模式选择,设置片选激活MCP2510));
(3)编写通过SPI口对CAN控制器MCP2510的读函数、写函数、位修改函数、状态读函数、复位函数、请求发送函数;
(4)初始化CAN控制器,调用3编写的函数对控制器初始化(包括模式选择、波特率设置、屏蔽寄存器设置、滤波寄存器设置);
(5)编写结构file-operations里面fops里面各个函数指针所指的具体函数(read,write, ioct,lopen, release);
(6 )调用模块入口点函数module _ init(MCP2510初始化函数)、调用模块卸载函数module_e xit(MCP2510退出函数);
(7)编写CAN数据帧发送函数,即CAN网络数据的收发程序,发送函数主要功能是将网口接收的CAN数据转换成CAN扩展帧数据然后调用CAN设备驱动程序的发送函数下发;
(8)编写MOST数据帧发送函数,即MOST网络数据的收发程序,发送函数主要功能是将网口接收的MOST数据转换成MOST扩展帧数据然后调用MOST设备驱动程序的发送函数下发;
(9)编写网口处理程序,即Internet网络数据的收发程序,网口处理程序的主要功能是实现服务器端的数据接收,大体流程为:调用Socket()函数创建一个数据包类型的套接字,调用函数bind()将该套接字与该网关功能的端口号绑定,然后调用函数recvfrom( )接收来自客户端的数据包,该段程序设置了共享内存区以解决三个程序即接收、发送和处理三个程序的数据共享问题和接口速度不一致的数据缓冲问题。
4 结语
本文设计开发了一套基于CAN、LIN、MOST网络的车载网关系统,采用搭载Linux系统的具有ARM9内核的MCU,实现了车身内部运行不同协议的网络之间的数据交换和通信以及车身内部局域网与Internet互联网之间信息的交互和诊断,具有一定的应用前景。
本期EIT探讨了从工业4.0到工业5.0的转变,以及即将实现的技术进步
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
作为我国中西部地区历史最悠久的光电领域全产业链综合性年度盛会,规模和档次逐年增加和提高,CCWPE2025又新增了多个行业组织联办单位,同时将进一步扩容和丰富论坛内容。