常用汽车电子工具集的开发——网络协议

2010年12月刚进入整车厂工作时,主要的职责和任务就是做一个逆向四驱控制器的测试工具。方案是用VC实现上位机界面和开发板实现串口到CAN网络的数据转发。不过,这只是开始!

好了,言归正传,下面让我们来看下常用的汽车电子工具的开发吧!

一、网络协议

目前国内整车常用的网络有CAN和LIN,其他的就不说了。

1、LIN

波特率最高20Kbps(还是理想状态下,一般用到19.2Kbps)。

①、一个数据线,12V电压,主从节点拓扑。

②、帧主要由 帧头 + 数据 组成,LIN通讯工具开发时,可以将帧分为两类,一类为帧头;一类为数据。

③、帧头一定由主机发出,数据可以为主从机发出。帧头和数据部分可以看为两个状态机,开发工具的状态需要在这两个状态中不停切换。

④、LIN的协议描述文件由LDF和NCF两种,LDF描述LIN网络信息,NCF描述LIN节点信息;

LIN的网络测量工具需要能支持LDF的文件导入,NCF可用于工具开发LIN协议的节点处理程序等,

LDF的文件解析请见:http://blog.csdn.net/xianghuaizi/article/details/8785399

NCF的代码生成方法请见:http://blog.csdn.net/xianghuaizi/article/details/8785435


2、CAN

①、双线差分,波特率最高1Mbps,车辆上常用500Kbps、125Kbps等,多节点无主拓扑。

②、帧主要由 帧头 + 数据 组成,可以作为CAN开发工具时的一帧数据同时收发。

③、PC上常用CAN设备由USB转发,USB的驱动可以使用libusb驱动,设计很简单的。转接设备需要实现CAN - USB的数据转化,难道在USB的底层代码编写,最好在该芯片厂商提供的协议栈上修改,工作量会大幅减少。可能你只要修改下VID、PID,再把CAN和USB的数据交互好就OK了!

建议:CAN数据格式为 ID0 ID1 ID2 ID3 Type LEN D0 D1 D2 D3 D4 D5 D6 D7 res1 res2 共16字节;

USB数据使用16字节块传输,这样在CAN和USB缓冲数据会很方便,至于传输速度吗,两种总线数据吞吐量差不多(USB块传输1.28Mbps),一般应用没问题!况且CAN网络的负载不会达到90%这样高的!

④、CAN的网络协议,以VECTOR的DBC用的较多,语法解析器可分析之!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值