基于FPGA的CAN总线通信系统(2)

2021-02-21 10:04

CAN经典

第12期陈 萍,等:基于FPGA的CAN总线通信系统  2483  

离虽然能增强系统的抗干扰能力,但也会增加CAN总线有效

回路信号的传输延迟时间,导致通信速率或距离减少。82C250等型号的CAN收发器本身具备瞬间抗干扰、降低射频干扰(RFI)以及实现热防护的能力,它具有的电流限制电路还提供了对总线的进一步保护功能。如果现场传输距离近、电磁干扰小,可以不采用光电隔离,以使系统达到最大的通信速率。CAN-H端和CAN-L端与物理CAN总线之间各串联一个起限流作用的5Ω电阻,并在总线两端接一个120Ω的总线阻抗匹配电阻。由于使用了82C250的集成的收发器电路,SJA1000的RX1引脚接地,使用旁路功能(时钟分频寄存器CBP位置1),在这种情况下,减少了内部传播延迟,提高了CAN总线的最大长度,休眠模式的电流也显著降低[2-3]。测试实验表明,硬件设计成功实现了CAN

总线的数据收发。

图2设计的顶层模块

,读写过程结束后也返回空闲,,置位相应位

,释放接收缓冲或者启动发送命令,完成数据的接收和发送。

图1 硬件组成原理图

2 FPGA控制程序的设计

FPGA对SJA1000的顶层控制模块如图2所示。CON2TROL_MODULE是控制的核心模块,初始上电时,FPGA

接到复位信号,即对SJA1000内部寄存器初始化。ROM中存

储着初始化寄存器的地址和数据。CONTROL_MODULE从ROM中读取地址,锁存地址信号,然后拉低写控制信号WR,打开写允许,把数据写到复用总线上,对相应地址的寄存器赋值。初始化过程包括依次对时钟分频器、验收码寄存器、屏蔽寄存器、总线时序寄存器0和1、输出控制寄存器的寻址和赋值。本文中依次对它们初始化的值为0xC8,0xFF,0xFF,0x80,0x2B,0x1A。图2中计数器COUNTER的作用是通过使地址加1,指向ROM中下一个数据。当CONTROL_MODULE的读控制信号CONTROL_RD有效时,如果SJA1000的接收缓冲区状态标志位(RBS)为1,即接收缓冲区中有数据,就从SJA1000的接收缓冲区中读取数据,在内部FIFO_RD上缓存,并释放接收缓冲区。当CONTROL_MODULE的发送控制信号CONTROL_WR有效时,如果SJA1000的发送缓冲区状态标志位(TBS)为1,即发送缓冲区释放,它读取缓存在内部FIFO_WR上的数据,写到发送缓冲区中,然后启动发送命令。设计中FPGA内部的FIFO和ROM采用IP核实现,模块CONTROL_MODULE,计数器COUNTER用VHDL语言编写实现。ALE、CS、RD和WR是FPGA对SJA1000的控制信号,DIR1和DIR2是FPGA对74ALVC164245的方向选择控制信号。

图2中CONTROL_MODULE模块的设计参照图3所示的状态图。接到复位请求即进入初始化过程,完成相应寄存器的初始化,则转到空闲状态。由于采用查询方式,进入空闲状态后就转到查询状态寄存器的状态。查询完成后,如果收到读信号则转到读过程;如果收到写信号则转到写过程

;如果读写信

图3 controlmodule的状态图

3 查询方式下的数据发送和接收

FPGA对CAN控制器SJA1000的读写通过模拟总线的方

法实现。SJA1000的发送缓冲区的寄存器地址是16~26,共

11个字节。其中前3个字节分别是帧信息字节和两个标识码,后8个字节是数据。因此CONTROL_MODULE向发送缓冲区写入一条报文,需要连续写入11个字节。实现此过程的VHDL程序按照以下的状态转移设计:

(1)状态WR1:写状态的初始化,异步控制信号ALE、CS、WR和RD均为非有效状态。双向复用总线的值为发送缓冲区的首地址0X10,转到状态WR2。

(2)状态WR2:锁存控制信号ALE有效,其他三个控制信号均为非有效,双向复用总线的值保持要写入的寄存器地址,转到状态WR3。

(3)状态WR3:锁存控制信号ALE以及WR、RD信号非有效,而片选信号CS变为有效,在锁存控制信号的下降沿,寄存器地址被打入,完成寻址,转到状态WR4。

(4)状态WR4:片选信号CS保持有效,写使能控制信号WR有效,而ALE及RD非有效,双向复用总线的值为写入寄存器的数据;在这一状态要判断目的寄存器的地址是否为发送缓冲区的前3个寄存器,如果是则要写入特殊数据,如帧信息字节、标识码等;如果不是则写入待发送的数据,转到状态WR5。

(5)状态WR5:片选信号CS保持有效,WR信号变为非

中华测控网

http://www.77cn.com.cn


基于FPGA的CAN总线通信系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北华大学C语言选择

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: