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

2021-02-21 10:04

CAN经典

  2484  计算机测量与控制 第17卷

图4 系统读取CAN

图5 系统发送CAN总线数据的信号波形

有效,双向复用总线保持目的寄存器的写入值,在WR信号的上升沿,双向复用总线的数据写入到目的寄存器中。在这一状态要判断发送缓冲区是否已写满,如果写满则返回空闲状态,启动发送,如果没有写满则转到状态WR2。

与发送数据类似,在PeliCan工作模式下,接收缓冲区的寄存器地址也是16~26。从接收缓冲区中读取一条报文也需要连续读取11个字节。实现此过程的VHDL程序按照以下的状态转移设计:

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

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

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

(4)状态RD4:片选信号CS保持有效,读使能控制信号RD有效,而ALE及WR非有效,双向复用总线的值为写入寄存器的数据,转到状态RD5。

(5)状态RD5:片选信号CS保持有效,RD信号变为非有效,双向复用总线的值保持目的寄存器的写入值,在RD信号的上升沿,从目的寄存器中读入数据,并在内部FIFO中缓存。在这一状态要判断是否接收缓冲区已读完,如果读完则返回空闲状态,并释放发送缓冲区,如果没有则转到状态RD2。

综上,通过总线模拟的方式,FPGA对CAN控制器的读写控制满足其时序要求,从而成功实现了数据的收发。

综合以及Post-map仿真,并在实际工程中得到了验证。实验中,该系统运行良好,稳定可靠。利用周立功公司的USB2CAN-Ⅱ设备产生CAN总线数据,进行FPGA片上测试实验,用Xilinx公司的ChipScope软件做片上数据测试,获得如图4和图5所示的波形。该系统读取CAN总线数据时,测试数据为00,01,02,03,04,05,06,07,片上的信号波形如图4所示。该系统发送数据时,给定CAN_WBUS的数据为0x05,片上的信号波形如图5所示。

5 结论

由于CAN总线结构简单,器件容易购置,开发技术易于掌握,且具有统一的国际标准,故在现场总线的发展中占有了重要位置,在实际工程中,也正在得到越来越广泛的应用。通过FPGA控制SJA1000实现CAN总线通信,可扩展性好,稳定性高,降低了重量、体积以及功耗,有利于空间实现。本方案为实现CAN总线通信提供了另外一种途径,并在星载电场仪的地检设备中获得了成功的应用。

参考文献:

[1]周新发,尚 志,刘 群.工业现场CAN总线在航天领域的应用

[J].现场总线与网络技术,2006,(1):60-63.

[2]饶云涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].

北京:北京航空航天大学出版社,2003.

[3]刘 涛.CAN总线接口电路设计中的关键问题[J].工矿自动化,

2007,(2):100-101.

[4]张绍兵,郭继坤,赵艳芹.基于CAN总线智能适配卡的软硬件设

计[J].计算机测量与控制,2008,16(8):1195-1196.

[5]孙 航,等.Xilinx可编程逻辑器件应用与系统设计[M].北京:

电子工业出版社,2008.

4 仿真与验证

本设计在XilinxISE和Modelsim612的软件平台上进行了

中华测控网

chinamca.

com


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

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

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

马上注册会员

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