当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:在飞行模拟器的设计中,为了使数据能够快速有效地在飞行模拟器的各个模块之间进行高速传递,提出了一种使用FPGA作为CAN总线节点结构中的核心处理器的设计方法,并完成

摘要:在飞行模拟器的设计中,为了使数据能够快速有效地在飞行模拟器的各个模块之间进行高速传递,提出了一种使用FPGA作为CAN总线节点结构中的核心处理器的设计方法,并完成了飞行模拟器通信接口的软硬件设计。采用Verilog HDL进行编程,能够完成对SJA1000总线控制器的有效读写。实际测试表明,相较于单片机作为处理器,本设计可扩展性好,易于修改和移植,能降低模拟器成本。

飞行模拟器是现代飞行员训练的必需设备,它是一种由计算机实时控制、多系统协调工作、能模拟真实飞行环境的模拟设备。相较于利用飞机的飞行训练而言,利用飞行模拟器的模拟飞行训练不仅不受天气等自然条件的制约,而且没有后勤、机务保障以及飞行安全等因素的限制。国内外许多单位均研制了各种不同种类和规模的训练模拟器,并取得良好的训练效果,保证了飞行任务的圆满完成。

在飞行模拟器的设计中,要求大量的信息能够快速有效地在飞行模拟器的各个模块之间进行高速传递,这就需要一定的通信接口协议来实现数据的交互。目前,飞行模拟器通常采用CAN总线作为通信协议,并采用单片机作为微处理器,可扩展性差。文章根据飞行模拟器的结构特点,分析了现场总线技术和FPGA技术的发展,根据飞行模拟器的实际需要和总线自身特点,选用了CAN总线来作为主机和现场设备的通信方式,并使用FPGA作为CAN总线节点结构中的核心处理器,对飞行模拟器通信接口进行了设计。

1 硬件系统设计

CAN(Controller Area Network)总线是一种串行通信总线,是国际上应用最广泛的开放式现场总线之一。CAN最早被设计作为汽车环境中微控制器的通讯,但由于其灵活性好、可靠性高、功能完善,已经被广泛应用到各个自动控制领域,CAN总线具有根据优先级的多主结构、可靠的错误检测和处理机制、传输速率高(最高可达1 Mb/s)、传输距离远(波特率低于5 kb/s时最远可达10 km),克服了RS-485网络的低总线利用率、单主从结构、无硬件错误检测的不足。在飞行模拟器的设计过程中,主控机需要与多个模块进行交互,选用 CAN总线接口是非常适合的。

飞行模拟器通信接口的硬件设计,以CAN总线作为通信协议,选用ALTERA公司CYCLONE系列EP1C6Q240C8作为CAN节点的核心处理器,采用Philips公司的SJA1000T作为CAN总线控制器,在CAN总线控制器与CAN物理总线之间选用PCA82C250作为CAN收发器,为了增强抗干扰能力,

保护CAN总线控制器,在SJA1000T与PCA82C250之间使用6N137进行光电隔离,其速度为10 MHz。在Quartus II软件中运用Verilog对FPGA编程,实现对SJA1000T的控制及CAN节点之间的通信功能。接口电路设计如图1所示。

 


SJA1000芯片是一款独立的CAN总线控制器,相对于它的前一款PCA82C200,SJA1000是在原有的BasicCAN模式的基础上增加了PeliCAN模式,这种模式能够支持CAN2.0B协议。为了提高SJA1000的总线驱动能力,在SJA1000与CAN总线之间加入了 PCA82C250总线收发器,其主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰,实现热防护等。

系统设计中选用FPGA作为CAN总线节点的核心处理器,能够在速度和体积上有更好的适应性,可以增强飞行模拟器通信接口设计的灵活性和可扩展性,因为在飞行模拟器设计中,有时还需要用到其他通信接口,比如括RS232和RS422。EP1C6Q240是ALTERA公司推出的一款高性价比的 FPGA,工作电压为3.3 V,内核电压1.5 V,采用0.13μm工艺技术,其内部具有5 980个LEs,含有20个MK4 RAM块(128×36 bits),总的RAM空间共计92 160比特,内嵌2个锁相环电路,最大用户I/O为185个,配置芯片选用EPCS1,对于FPGA的下载方式,通常可以采用JTAG方式和AS方式,不同下载方式,其硬件连接方式不用。JTAG方式,下载程序到FPGA芯片内RAM中,FPGA芯片内的程序掉电后无法保存,JTAG下载方式适合调试程序时使用,而AS方式则能将程序下载到配置芯片内,配置芯片内的程序掉电后也可以保存,再次上电后自动装载到FPGA内并由FPGA开始运行。

在CAN总线接口硬件设计中,主要是CAN总线控制器与FPGA以及CAN总线控制器与CAN总线收发器之间的接口电路设计。在设计时,相比于采用单片机作为微处理器的设计,FPGA具有丰富的I/O端口,为了使FPGA的3.3V I/O接口电平与SJA1000的5 V TTL电平标准相匹配,在FPGA与SJA1000连接时需要使用74ALVC164245电平转换器,这样CAN总线控制器SJA1000的 AD0~AD7、片选信号CS、RD、WR、ALE、INT、MODE分别经过电平转换器再与FPGA的I/O相连。为了增强抗干扰能力,总线控制器 SJA1000的发送输出端TX0与接收输入端RX0分别经集成光电耦合器6N137,与总线收发器PCA82C250的TXD和RXD相连,PCA82C250的CANH、CANL端口直接与CAN物理总线相连。PCA82C250是 CAN总线控制器和物理总线之间的接口,具有可向总线差动发送数据和从CAN总线控制器差动接收数据的功能。另外,SJA1000的RX1引脚与 PCA82C250的VREF引脚相连,使用输入比较器旁路功能,可减少内部延时,增加正常通信的总线长度。

2 软件系统设计

CAN总线节点的软件的设计主要是对FPGA进行编程,一方面对飞行模拟器各类接口数据的采集和输出,另一方面是对SJA1000的接口逻辑程序,来控制CAN总线的工作方式和工作状态,进行数据的发送和接收。这里主要介绍FPGA对总线控制器的程序设计,主要包括对SJA1000的初始化逻辑、数据发送逻辑和数据接收逻辑。由于SJA1000地址总线与数据总线复用,这就需要FPGA不仅要产生SJA1000读写控制引脚的信号逻辑,还需要产生对 SJA1000的寻址信号,实际上是一个向SJA1000写地址的过程。因此设计的关键就是把SJA1000中的寄存器地址当成数据写入到SJA1000 中,同时配合地址锁存信号ALE和写允许信号WR完成对SJA1000特定寄存器的命令字写入。

2.1 SJA1000初始化逻辑

初始化逻辑的主要功能是在系统上电或重启后,对SJA1000进行初始化,以确定工作主频、波特率、输出特性等。SJA1000支持两种模式,即 BasicCAN模式和PeliCAN模式,BasicCAN模式是上电后默认的操作模式。SJA1000的初始化逻辑主要包括工作方式的设置、验收滤波方式的设置、验收屏蔽寄存器(AMR)和验收代码寄存器(ACH)的设置、中断允许寄存器(IER)的设置、总线定时寄存器(BTR0、BTR1)、输出控制寄存器(OCR)和时钟分频器(CDR)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。[!--empirenews.page--]

2.2 数据发送逻辑

数据发送逻辑需要FPGA通过模拟总线的方法对SJA1000进行控制,SJA1000的发送缓冲区的寄存器共有11个字节,其中前3个字节分别是帧信息字节和两个标识码,后8个字节是数据。发送时,用户需要将待发送的数据按特定的格式组合成一帧报文,送入SJA1000的发送缓冲区中,然后启动 SJA1000发送即可。需要注意的是,在向SJA1000发送缓存区送报文之前,必须先判断发送缓冲区是否锁定,如果锁定则等待;判断上次发送是否完成,如未完成则需等待发送完成。总线控制器写周期的时序图如图2所示。

 


2.3 数据接收逻辑

与数据发送逻辑类似,从接收缓冲区中读取一条报文也需要连续读取11个字节,数据接收逻辑除了正常的报文数据接收,还要实现其他情况的处理。对接收缓冲区的数据读取完毕后要释放CAN接收缓冲区。图3所示为总线控制器读周期的时序图。

 


在FPGA程序编写时,采用状态机完成逻辑的设计,分别包括初始化状态、空闲状态、查询状态、数据接收状态、数据发送状态。

3 结论

在系统设计过程中,采用ALTERA公司的EP1C6型FPGA进行设计,在Quartus II环境中利用Verilog HDL编程产生SJA1000的片选信号、地址锁存信号以及读写信号等,这些信号共同驱动SJA1000完成数据的发送和接收。在采用FPGA实现对 SJA1000的逻辑控制过程中,采用Quartus II中的SignalTap II Logic Analyzer工具对FPGA各接口信号进行了测量,经检查各种逻辑均符合SJA1000的接口时序要求。

基于FPGA的飞行模拟器通信接口设计主要由Verilog语言进行描述,易于修改和移植,同时由于FPGA的I/O丰富,还可以将模拟器中一些常用的开关量连接到FPGA上,这样就可以将多种功能集成在一个FPGA上,相较于采用单片机控制SJA1000实现CAN总线通信,本设计方案可扩展性好,稳定性高,能降低成本、系统体积及功耗,在飞行模拟器领域中具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭