基于FPGA的CAN总线通信系统

2021-02-21 10:04

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),女,博士,研究员,主要从事飞行器综合电子系统方向的研究。

中华测控网

http://www.77cn.com.cn


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

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

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

马上注册会员

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