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

发布者:技术掌门最新更新时间:2014-11-12 来源: 21ic关键字:STC12C5A60S2  MCU  总线转换 手机看文章 扫描二维码
随时随地手机看文章

为了扩展VME总线和CAN总线的应用范围,充分利用两种总线的不同传输特点,采用了模块设计方法,提出一种基于FPGA和MCU的总线转换方案。该方案给出了FPGA与上位VME总线部分的VME总线接口设计,利用MCU控制CPLD扩展的多通道CAN节点完成CAN总线部分的设计,还给出软件实现上的重点、难点和流程。实现了两种不同总线的转换,满足了工业环境对两种总线混合使用的要求。

CAN(Controller Area Network控制器局域网)以其高性能、高可靠性以及独特的设计等优点,为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的支持。CAN总线突出的可靠性、实时性和灵活性显示了它突出的优势,成为公认的最有前途的总线标准,广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。VME(Versa Module Eurocard)是一种通用的计算机总线,结合了Motorola公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种开放式架构。其独特的紧密耦合(Closely coupled)硬件构架,为其外围系统模块的设计提供了良好的基础,使VME总线广泛地应用于工业控制、军用系统、航空航天、交通运输和医疗领域。

本文提出了基于FPGA的VME总线和CAN总线之间的传输转换方案,满足一些特殊工业环境的需要,具有一定的研究意义和实用价值。

1 转换系统的硬件设计

该系统由VME总线接口模块、CAN总线节点(8路CAN节点)模块、复杂可编程逻辑器模块、MCU模块4部分核心模块构成。整个系统在一个3U标准的VME板卡上实现,机构紧凑,布局合理。系统的原理框图如图1所示。

 

1.1 VME总线接口模块

整个系统实现是两种通信之间的转换,所以数据的发送都是由上位主机发送的。由于FPGA控制灵活,所以很方便实现与VME总线的连接。文中FPGA器件选用XILINX公司的XC2S200系列的5PQ208,56Kb专用存储器,最高运行速度200MHz,I/O电压在3.3~5.5V,地址总线、数据总线,/AS,/IACKIN,/IACKOUT,SYS CLK等可以直接与5PQ208连接。

1.2 CAN总线节点模块

CAN总线节点模块是该系统中的主要模块,选用Philips公司生产的SJA1000,它负责连接总线与8路CAN选通主控制器CPLD之间的数据通信,其整个系统功能如图2所示。收发器选用P82C251T。CAN接口原理如图3所示。

 

1.3 复杂可编程逻辑器件(CPLD)模块

在系统中,由于FPGA的地址总线和数据总线是分开的,而SJA1000的地址和数据线是分时复用的,所以在总线接口上有一定差异,因此选用MAX3000系列可编程逻辑器件EPM3128来进行逻辑变换。该CPLD芯片有丰富的宏单元,80个用户I/O管脚,管脚间延迟时间是10ns,最高速度可达100MHz,能够满足系统设计的需要。可编程逻辑器件在系统中的功能为:转换FPGA与CAN控制器SJA1000之间的地址总线和数据总线;通过对FPGA的地址线译码,扩展CAN控制节点的通道。

1.4 MCU处理器

由于CAN总线的最高传输速度是1Mb/s,所以该部分选取宏晶STC12C5A60S2,FLASH程序存储器为56KB。SRAM为1280B,2个专用的UATR,丰富的CPU资源满足作为下位机的CPU控制单元,主要完成两种总线协议的转换,负责将从FPGA过来的VME总线转换成CAN总线格式,并传输到指定CAN节点;同时也将CPLD选通的CAN通道数据,转换为FPGA能识别的VME总线格式,并在MCU中断主机时,将数据反馈给VME主机。

2 转换系统的软件设计

2.1 软件设计思路

由FPGA构建8个双口RAM,8路CAN控制器通过这8个双口RAM与上位VME总线主机进行数据通信,RAM口分别映射到VME总线主机内存地址和MCU存储器空间中。系统数据传输采用MCU中断主机(VME主机)和主机中断MCU两种方式,前者通过触发主机外部中断实现,由双口RAM里面的中断控制来决定的,在触发中断后,提示主机读取CAN控制器接收到的数据以及CAN控制器的工作状态。主机中断MCU方式是通过MCU的外部中断管脚实现的,是由主机写入双口RAM的控制字实现的。触发该中断后,MCU就从主机接收要发送的报文,并发送到相应的CAN节点上,并配合主机配置CAN控制器的控制模式。中断流程如图4,图5所示。[page]

2.2 FPGA的软件设计

在该系统中,数据都由VME主机控制,所以FPGA构造双口RAM(或者8个区域即可),使VME主机和MCU在RAM中完成数据传输。即主机要发送的数据放入RAM中等待MCU提取,同时MCU发送的数据放入RAM中等待VME主机提取。

2.3 CAN节点软件设计

CAN节点软件是本系统的重点,它包括CAN控制器初始化、报文发送和报文接收3个部分。初始化主要完成设置工作方式、接收方式、屏蔽寄存器、验收代码寄存器、波特率和中断寄存器,并且要在复位模式下进行初始化。初始化流程如图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的基础上实现相应的电路的连接和软件的设计,成功地完成两种不同总线之间的转换,扩展了两种总线的应用范围

关键字:STC12C5A60S2  MCU  总线转换 引用地址:基于FPGA和MCU的CAN-VME总线转换设计

上一篇:低成本光电寻迹智能车设计与实现
下一篇:小功率单相光伏并网逆变器设计

推荐阅读最新更新时间:2024-03-16 13:45

基于安芯一号单片机的医用输液器智能控制系统设计
一、项目设计背景及概述 1、开发目的   众所周知,我国人口众多,医疗资源稀缺,医院时常人满为患。输液作为一种重要的治疗手段,其受众面是非常之广,几乎每个人都有在医院挂水的经历。然而进入信息时代的今天,输液器却仍然保留着最原始的功能,缺乏智能化或信息化的控制手段,这也是导致医院注射室秩序混乱,护士疲于奔命,患者苦不堪言的最直接原因。目前医院所使用的悬挂式输液器虽然有控制流速的装置,但无法得知输液剩余时间,且缺乏输液完毕后的报警系统,使患者不能合理安排注射时间,且注射完毕后不得不大声呼喊护士,这样做既造成了注射室的喧哗,影响了其他患者的休息,亦耗费了患者的体力。   2、功能特性   本小组设计的输液器 智能控制系统 不但可
[医疗电子]
基于安芯一号<font color='red'>单片机</font>的医用输液器智能控制系统设计
嵌入式TCP/IP协议单片机技术在网络通信中应用
在因特网上TCP/IP协议每时每刻保证了数据的准确传输。在数据采集领域,如何利用TCP/IP协议在网络中进行数据传输成为一个炙手可热的话题。在本系统中,笔者利用TCP/IP协议中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议成功地实现了单片机的网络互连既提高了数据传输的速度,又保证了数据传输的正确性,同时也扩展了数据传输的有效半径。 1 TCP/IP协议简介 TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输。参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的四层模型,分别为:应用层、传输层、网络层、链路层。 (1)应用层 网络
[单片机]
嵌入式TCP/IP协议<font color='red'>单片机</font>技术在网络通信中应用
51单片机内部定时器使用
/*------------------------------ Function: generate pulse signal Author: Zhang Kaizhou Date: 2019-5-15 22:50:43 ------------------------------*/ #include reg51.h #define uchar unsigned char sbit output = P1^0; uchar period = 250; uchar high = 50; uchar tcount = 0; void timer0() interrupt 1 using 1 { TH0 = (655
[单片机]
由MOVX指令深入分析51单片机总线时序及扩展
简介:分析了MCS单片机 title= 51单片机 target= _blank 51单片机访问外部存储器指令MOVX的执行过程,介绍了51系列单片机使用的四要素;分析了51单片机在外部扩展、总线时序、地址译码方法重点以及对超过64 KB地址空间访问的方法。并以实验室研制的MCS51单片机实验仪为例,分析了外部空间开展的重要性、方法和原理,给出了单片机系统扩展框图和地址译码表。 AT89C51单片机是ATMEL公司设计生产的与MCS51内核兼容的51系列单片机之一,该系列单片机以其优越的性能和成熟的技术在控制和自动化应用领域占有着较大的市场;除此以外,51单片机有着计算机系统中经典的总线结构,即:数据总线、地址总线和控制总线。
[单片机]
由MOVX指令深入分析51<font color='red'>单片机</font><font color='red'>总线</font>时序及扩展
基于单片机的智能心率体温检测系统设计
本文介绍了一种基于单片机的心率体温检测系统。此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、控制电路、电源供电电路等。上位机为通过VC编程界面。 通过上位机按键控制,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在上位机界面上显示相关体温及心率信息。 1 硬件总框图设计 此次设计的是基于STC89C52的心率和体温采集计,因此需要温度传感器以及测量人体心率信号的红外传感器。温度传感器使用PT100并通过放大电路对抓取的电压进行放大,并通过ADC0804进行AD转换最后送给52单片机。 经过实验论证TCRT5000如果采用反射式接法其获取的人体心
[单片机]
基于<font color='red'>单片机</font>的智能心率体温检测系统设计
基于GB3442-82的集成运放参数测试仪设计
1 引言 集成运放以其价格低廉、性能优越等特点在个人数据助理、通信、汽车电子、音响产品、仪器仪表、传感器等领域得到广泛应用。随着数字技术的不断进步和集成电路市场的发展.兼有模拟和数字集成电路的SOC或混合集成电路将越来越受重视。与此同时,集成运放参数的测定也将对研发人员和技术仪器提出更高的要求,传统的运放测试仪校准方案已不能满足市场特别是国防军工的要求.运放测试仪的校准面临严峻挑战。因此,提高运放测试仪的测试精度,保证运放器件的准确性是目前应解决的关键问题。 2 系统方案论证 2.1 信号发生器方案论证 考虑到单片函数发生器的外接电阻电容对参数影响很大,因而产生的频率稳定度较差、精度低、抗干扰能力低,且不易控制;而采用数字锁相环频
[测试测量]
基于GB3442-82的集成运放参数测试仪设计
用普中开发板做的51单片机的智能时钟
本贴针对学完单片机并且有读懂代码的非新手同学。本人目前放寒假,这个是本人在上个学期的单片机课上要求做的综合实验,现在重新修改了下增加了菜单目前测试毫无问题可以完美使用。有志向做闹钟的同学可以参考一下,原码上由本人写的大量注释可以方便看懂。 使用了LCD1602、DS1302、DS18B20用来测试温度、内部含闹钟系统但本人没有做EEPROM有需要的同学可以自行添加。 单片机源程序如下: #include reg52.h #include key.h #include LCD1602.h #include DS1302.h #include music.h #include DS18B20.H #define
[单片机]
电源管理:基于AVR单片机的多功能电源设计
引 言 随着嵌入式系统设计技术的发展,在设计和仿真中,系统 工程师 对 电源 的要求也越来越高。在嵌入式系统设计是使用8031 单片机 和74系列 集成电路 时,所有使用74系列集成电路的 电路 板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的 三极管 变得越来越小并且工作的 电压 越来越低,使得嵌入式系统开发的重点从系统的速度,转到 低功耗 设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测
[电源管理]
电源管理:基于AVR<font color='red'>单片机</font>的多功能电源设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved