返回上一页>>
J1939协议栈软件应用概述

(2004.1)

简介

J1939协议栈完全实现了SAE J1939协议,该协议栈经过了大量的测试,并在多种类型的重型卡车、客车中获得了应用,可以和多种商业用实时操作系统配套使用。

说明

J1939协议栈开发包中包含了可运行于Phytec公司kitCON-167CR (Infineon C167)开发板上的全部源代码。这些代码可采用Altium公司的TASKING C编译器进行编译,并且带有一个可实现收发J1939协议报文的例子。协议栈处理了J1939网络中涉及到的所有低端细节,用户只需要从应用层的角度实现应用即可。


J1939协议栈

J1939协议栈实现了OSI标准中定义的数据链路层及传输层,并实现了J1939协议为传输报文所附加的两层。协议栈的源代码采用标准C语言编写。协议栈配套有完整的开发文档,可帮助用户迅速理解整套代码。

J1939协议栈的四层

数据链路层:CAN控制芯片实现了几乎全部的数据链路层内容,但J1939对该层进行了一些修改,如对ID号重新进行了定义。请注意,J1939只支持扩展帧模式。

传输层:这是最复杂的一层,需要根据J1939协议实现接收和发送报文的算法规则。本层有两种传输模式,广播通讯(TP-BAM)及连接管理(TP-CM)。J1939协议栈可以完全支持这两种传输模式。

网络管理层:该层不属于OSI标准的一部分,但对于采用J1939协议通讯的设备很重要。网络管理层支持所有的J1939网络管理功能,如地址声明及地址请求。用户所要实现的J1939设备类型对这一层的具体实现方法是有影响的,J1939/81协议定义了不同的设备类型以及该类型设备与网络连接的具体操作标准。

过滤层:该层允许用户应用程序根据报文的PGN或目的地址进行接收滤波。


将J1939协议栈转换到用户硬件平台

要想将J1939协议栈成功应用在用户的硬件平台上,用户需要完成硬件抽象层(HAL)程序的编写,该程序由用户采用的CAN物理器件决定。我们向用户提供的开发包中,针对上文提到的Phytec开发板提供了完整的HAL。我们将向用户提供完善的文档信息以帮助用户完成HAL层到数据链路层的连接。

运行协议栈的硬件要求

最小2K数据RAM(如小于2K,协议栈仍可运行,但需要放弃部分功能),所选的CAN控制器需要带有硬件滤波功能,处理器支持硬件CAN中断。



下一页>>>

首 页
  实验室简介   产品与服务   开发平台   设计与应用 热点新闻 技术支持 合作伙伴 联系我们