龙源期刊网 http://www.qikan.com.cn
基于FPGA和MCU的CAN-VME总线转换设计
作者:孙栋梁, 李春明
来源:《现代电子技术》2011年第20期
摘 要:为了扩展VME总线和CAN总线的应用范围,充分利用两种总线的不同传输特点,采用了模块设计方法,提出一种基于FPGA和MCU的总线转换方案。该方案给出了FPGA与上位VME总线部分的VME总线接口设计,利用MCU控制CPLD扩展的多通道CAN节点完成CAN总线部分的设计,还给出软件实现上的重点、难点和流程。实现了两种不同总线的转换,满足了工业环境对两种总线混合使用的要求。 关键词:FPGA; MCU; VME总线; CAN总线; 工业环境 中图分类号:TN911-34; TM464 文献标识码:A 文章编号:1004-373X(2011)20-0082-03
Design of CAN-VME Bus Convertion Based on FPGA and MCU SUN Dong-liang , LI Chun-ming
(1. College of Electric Power, Inner Mongolia University of Technology, Hohhot 010051, China; 2. College of Information Engineering, Inner Mongolia University of Technology, Hohhot 010051, China)
Abstract: For extending the application field of VME bus and CAN bus in the industry locale, the modular design method is used in the design with the transmision charachteristics of VME bus and the CAN bus. Abus convertion scheme based on the FPGA and MCU is proposed. The method provides the design of VME bus interface based on the FPGA and MCU, which includes the circuit design of FPGA, CAN bus part that is extended by the MCU and CPLD, important points of the software design, and software flow chars. This design fits for the industry occasions where need to mix the VME bus and the CAN bus. The innovative point of this paper is the extending of the CAN points by the CPLD.
Keywords:FPGA; MCU; VME bus; CAN bus; industrial environment
CAN(Controller Area Network控制器局域网)以其高性能、高可靠性以及独特的设计等优点,为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的支持。CAN总线突出的可靠性、实时性和灵活性显示了它突出的优势,成为公认的最有前途的总线标准,
龙源期刊网 http://www.qikan.com.cn
广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面[1] 。VME(Versa Module Eurocard) 是一种通用的计算机总线,结合了Motorola公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种开放式架构。其独特的紧密耦合(Closely coupled)硬件构架,为其外围系统模块的设计提供了良好的基础,使VME总线广泛地应用于工业控制、军用系统、航空航天、交通运输和医疗领域[2] 。
本文提出了基于FPGA的VME总线和CAN总线之间的传输转换方案,满足一些特殊工业环境的需要,具有一定的研究意义和实用价值。 1 转换系统的硬件设计
该系统由VME总线接口模块、CAN总线节点凑,布局合理。系统的原理框图如图1所示。 图1 系统的原理框图 1.1 VME总线接口模块
整个系统实现是两种通信之间的转换,所以数据的发送都是由上位主机发送的。由于FPGA控制灵活,所以很方便实现与VME总线的连接。文中FPGA器件选用XILINX公司的XC2S200系列的5PQ208,接。
1.2 CAN总线节点模块[3]
CAN总线节点模块是该系统中的主要模块,选用Philips公司生产的SJA1000,它负责连接总线与8路CAN选通主控制器CPLD之间的数据通信,其整个系统功能如图2所示。收发器选用P82C251T。CAN接口原理如图3所示。 图2 SJA1000工作原理图 图3 CAN接口原理图
1.3 复杂可编程逻辑器件(CPLD)模块
在系统中,由于FPGA的地址总线和数据总线是分开的,而SJA1000的地址和数据线是分时复用的,所以在总线接口上有一定差异,因此选用MAX3000系列可编程逻辑器件EPM3128来进行逻辑变换。该CPLD芯片有丰富的宏单元,80个用户I/O管脚,管脚间延迟时间是10 ns,最高速度可达100 MHz,能够满足系统设计的需要。
专用存储器,最高运行速度200 MHz,I/O电压在3.3~5.5
,SYS CLK等可以直接与5PQ208连
V,地址总线、数据总线,/AS,/IACKIN,
路CAN节点)模块、复杂可编程逻辑器
模块、MCU模块4部分核心模块构成。整个系统在一个3U标准的VME板卡上实现,机构紧