保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

CAN与以太网数据交换的研究与分析



4 软件部分

4.1 CAN编程

BasicCAN模式中的CAN编程相对简单,只需要对SJA1000相应的寄存器进行读写操作即可。在该模式下,报文识别码为11位,在经过验收滤波器的筛选后,符合条件的报文才能被接收,并存入SJA1000接收缓冲区。识别码值越小,优先级越高。如果总线上出现报文冲突,优先级高的报文选占据总线。CAN节点间每次最多传送的数据为10个字节。发送缓冲区寄存器的描述如表1所列,它与接收缓冲区寄存器结构大体相同,只是地址不同。

表1 发送缓冲区寄存器

名  称 位7 位6 位5 位4 位3 位2 位1 位0 识别码字节1 ID.10 ID.9 ID.8 ID.7 ID.6 ID.5 ID.4 ID.3 识别码字节2 ID.2 ID.1 ID.0 RTR DLC.3 DLC.2 DLC.1 DLC.0 TX数据1~8 发送数据字节1~8

本实验中用到P89C668的外部中断1。该中断由SJA1000引发,设置为当SJA1000收到来自另一节点的数据时,向P89C668发出中断信号。在中断处理程序中,P89C668读取并保存SJA1000中断寄存器的值,作为在相应程序中进行处理的依据。

4.2 TCP/IP协议

由于TCP/IP协议很复杂,涉及的内容很多。下面仅就几点作简要介绍。

(1)封装和分层的概念

发送数据时要对数据进行逐层封装,既加上相应的首部,作为所经过每层的标识。具体原理如图3所示。接收到的数据是按一定结构封装好的,我们要根据前面的首部信息,判断数据应交付给下面哪一层,并将相应首部信息去除,这样依次向下传,到最后可以得到所传送的真正数据。具体原理如图4所示。

(2)以太网驱动程序

以太网驱动程序是提供链路层物理接口与网络层交互的软件接口。网络层数据必须先交付给以太网驱动程序,由它将网络层数据打包交付给物理接口,完成数据发送。反之,以太网驱动程序在接收到数据时,要按照应用层可以接收的形式进行处理并交付给网络层。

(3)ARP协议

即地址解析协议,提供逻辑地址到物理地址的动态映射。发送站必须知道接收站的物理地址才能对数据进行封装,才能在以太网中进行传输,因此只知道接收站的逻辑地址是不够的,必须事先通过ARP协议得到接收站的物理地址。

(4)IP协议

即网络协议,提供一种不可靠的、无连接的服务,完成的功能有将运输层待发送数据封装成IP数据报,调用以太网驱动程序发送数据,从数据链路层接收数据,以及数据校验等。

(5)TCP协议

即传输控制协议,是一种面向连接的、可靠的运输协议。UDP协议实现相同功能,但它只把数据报分组从一台主机发送到另一台主机,不保证可靠性。本文主要使用TCP协议进行数据交换,而没有采用UDP协议。实验中用到P89C668的定时器0中断,10ms中断一次,主要为了进行ARP老化处理,设置TCP超时标志。

4.3 CAN与以太网的数据交换

数据交换原理简单说就是对从以太网中收到的数据进

《CAN与以太网数据交换的研究与分析(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/147695.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。