教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

基于FPGA的CAN总线通信系统

来源:网络收集 时间:2026-05-20
导读: CAN经典 2482 计算机测量与控制.2009.17(12) ComputerMeasurementControl 文献标识码:A 设计与应用 文章编号:167124598(2009)1222482203 中图分类号:TP336 基于FPGA的CAN总线通信系统 陈 萍1,2,姜秀杰1 (1.中国科学院空间科学与应用研究中心,北京 100190;2.

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于FPGA的CAN总线通信系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/117425.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)