微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于FPGA和MCU的CAN-VME总线转换设计

基于FPGA和MCU的CAN-VME总线转换设计

时间:01-10 来源:3721RD 点击:

流程如图6所示。

报文发送就是将代发的数据按照CAN总线协议的数据格式,组成一帧一帧的报文,送入SJA1000的发送缓冲区,触发SJA1000发送即可;报文接收同理。

2.4 MCU转换程序设计

微控制器程序设计的主要目的是以最快的速度响应中断请求,完成两种总线数据的转换和传输。编程时采用模块化思想,每个模块完成一定的功能。编程采用Keil公司的Keil μVision3编程工具,设计分为:初始化系统、使能中断、查询总线,随时准备响应MCU中断主机(VME主机)和主机中断MCU两种中断触发,并且完成VME总线和CAN总线之间的重组和交换,及时将转换后的信息相应地传送给VME主机或者发送到CAN节点上。流程如图7所示。

3 测试分析

测试过程由VME总线端和CAN总线端互相发送数据包。其中,测试了5组由VME总线发送到CAN总线的数据包;5组由CAN总线发送到VME总线的数据包,记录如表1所示。由表1测试结果所示,该系统中CAN总线节点都设置在1Mb/s的速率下,系统可以准确地接受和发送数据包。系统正确率之所以会随通信速度的提高而提高,主要原因在于系统在不同的通信速度时,数据包发送频率、发送的最小延时间隔都不相同。如果需要进一步的提升数据发送的正确率,需要系统在硬件设计和PCB板制作上分别努力,才能保证尽可能小的干扰,尽可能大的提高系统的稳定性和抗干扰性。

4 结语

该系统充分利用了VME总线和CAN总线的优点,在FPGA和MCU的基础上实现相应的电路的连接和软件的设计,成功地完成两种不同总线之间的转换,扩展了两种总线的应用范围

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top