基于FPGA的CAN总线通信系统
CAN经典
2482 计算机测量与控制.2009.17(12) ComputerMeasurement&Control
文献标识码:A
设计与应用
文章编号:167124598(2009)1222482203 中图分类号:TP336
基于FPGA的CAN总线通信系统
陈 萍1,2,姜秀杰1
(1.中国科学院空间科学与应用研究中心,北京 100190;2.中国科学院研究生院,北京 100049)
摘要:为了克服单片机固有的缺陷,满足航天控制的需求,文章提出了如何利用FPGA控制器SJA1000,从而实现CAN总线数据通信的方法;,对FPGA;实验结果表明,系统完全满足CAN总线通信要求,与以往基于单片机的CAN,,具有优越性;该设计已成功应用于星载电场仪的地面检测设备中。
关键词:FPGA;SJA1000;CAN总线通信
SystemforBasedonFPGA
Xiujie1
(1.Centerof,ChineseAcademyofSciences,Beijing 100190,China;
,ChineseAcademyofSciences,Beijing 100049,China)
Abstract:IntinherentdefectsofMCUandsatisfythedemandsofastronauticcontrol,thepaperputsforwardhowtorealizeCANbusbyutilizingFPGAtocontroltheCANcontrollerSJA1000whichworksintheinquirymode.Thehardwarestructure,chipselection,andcompositionprincipleofthedevicearediscussed.ThecontrolprocessofFPGAisanalyzedanddesigned.ThetestresultsshowthatthesystemsatisfiesalltherequirementsofCANbuscommunication.Thesystemwhichhasdecreasedthevolume,weightandpowerconsumptionhasitsownadvantagescomparedwiththeconventionalsystembasedonMCU.Thedesignhasbeenappliedtothegroundtestequipmentofsatellite-bornelectricalfieldmillsuccessfully.
Keywords:FPGA;SJA1000;CANbuscommunication
0 引言
CAN(ControllerAreaNetwork,控制器局域网)总线是
一个多主机异步串行总线,也是国际上应用最广泛的现场总线之一。在现场总线中,它是惟一被ISO国际标准化组织批准的现场总线。由于其优良的性能及独特的设计,CAN总线已被广泛地应用于各种分布式控制系统中。特别是由于CAN总线具有抗干扰性强、高数据传输率及低成本等优点,在小卫星和微小卫星中得到了越来越广泛的应用。我国发射的航天“清华一号”和“纳星一号”等多颗小卫星都采用了主从两套CAN总线作为星上数据总线。英国Surrey大学卫星技术公司(SSTL)也多次使用CAN总线作为多颗小卫星总线,并且取得了飞行成功[1]。
在传统的CAN总线数据通信系统中,通常采用MCU+SJA1000+CAN总线收发器的方案实现,但是单片机速度较低、资源较少,当受到强电磁干扰便很容易出现程序跑飞。这种问题在航天控制中表现得尤为突出。比如在星载计算机与CAN总线的接口问题中,CPU和CAN总线接口采用地址直接映射。接口时序设计重点是接口控制逻辑必须符合关键参数的读写时序要求。为此,采用FPGA技术以求很好地解决接
收稿日期:2009204221; 修回日期:2009206209。
基金项目:国家高技术研究发展计划(863计划)资助项目
(2007AA12Z127)。
口问题。本文根据某课题的要求设计了基于FPGA+SJA1000
的CAN总线通讯。与传统方案相比,其优点在于可扩展性好,稳定性高,减轻了重量、体积和功耗。本方案已经成功应用于星载电场仪的地面检测设备中。
1 系统硬件设计
系统的硬件组成如图1所示。其中,FPGA模块选用Xil2inx公司Spartan3系列的XC3S200。Spartan3系列FPGA的内核电压(Vccint)、Bank电压(Vcco)和辅助电压(Vccaux)分别需要接112V,313V和215V。对于Spartan3器件,电源的上电顺序没有特殊要求,因此电源管理模块采用TI公司的TPS767D325以及TPS62003。前者把供电电压5V的Vcc转换成215V和313V电压,后者再把313V的电压转换成112V的FPGA内核电压。电源管理模块还包括5V的DC/DC双路隔离模块,提供与输入隔离的+5V电压输出和地。CAN总线通讯模块采用Philips公司的SJA1000作为CAN控制器芯片,82C250作为CAN总线收发器。对于Spartan3系列的FPGA而言,接口电平不支持5VI/O标准,如果与5VI/O标准的器件直接相连,将可能导致FPGA管脚流过极大电流,造成器件锁死或者烧毁。为此,采用TI公司的双向总线收发器74ALVC164245,把SJA1000的5VTTL电平信号AD0~AD7、CS、WR、RD、ALE转换成313VI/O标准,连接到FPGA的引脚上。82C250是CAN控制器与物理总线之间的接口。它的RS引脚(斜率电阻输入端)接47K电阻后接地,降低射频干扰。为了进一步提高系统的抗干扰能力,在SJA1000和82C250之间使用了高速光耦6N137构成隔离电路。值得注意的是,采用光耦隔离必须保证光电隔离器件两端所加电源和地都完全隔离,否则光电隔离将失去应有的作用。增加光电隔
作者简介:陈 萍(19832),女,硕士研究生,主要从事飞行器综合电子系统方向的研究。
姜秀杰(19652),女,博士,研究员,主要从事飞行器综合电子系统方向的研究。
中华测控网
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所示 …… 此处隐藏:3854字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




