探究NIOS(II的1553B总线测试系统设计)
0简介
MIL-STD-1553B是美国在20世纪70年代提出的。它具有可靠性高、实时性好、灵活性强的特点。已发展成为国际公认的数据总线标准,广泛应用于现代飞机、导弹、卫星、船舶、坦克等航空、航天和武器领域,并逐步扩展到地铁交通控制等民用领域。1553B数据总线于90年代初引入中国。经过十几年的发展,1553B已经成为国内航空航天的主要航电总线之一。
通过不断的努力,国内一些研究机构已经能够开发生产符合1553B标准的接口芯片。本文采用中国电子科技集团公司第五十八研究所自主研发的JBU61580作为1553B总线通信控制器。完全兼容DDC公司的同类型芯片BU61580,支持即插即用,具备总线控制(BC)、远程终端(RT)、监控终端(MT)三大功能。
1系统硬件设计
系统采用Altera公司Cyclone系列的FPGA(EP2C8Q208C8)作为主控芯片,内嵌NIOS软核处理器。输入时钟为20 MHz,经锁相环倍频后的两路100 MHz时钟分别提供给NIOS软核处理器和外部SDRAM。USB接口部分采用CH375芯片,1553B接口部分采用JBU61580芯片。SoPC Builder支持的自定义组件用于自定义时序转换逻辑,提高接口芯片的读写速度,而NIOS II则负责两者之间的数据分析和交换。
1.1总体设计思想
硬件原理框图如图1所示。整个系统可以分为五个部分:(1)系统的核心模块:NIOS处理器;(2)处理器外围支持电路:时钟单元和SDRAM控制器;(3)程序下载调试模块:JTAG接口控制器和异步通信接口(UART用于打印调试信息);(4)系统内部外围模块:如系统ID、定时器、自定义逻辑等。(5)系统外设:EPCS内存,CH375、JBU61580。
1.2系统外围接口设计
EPCS接口
该系统使用Altera的专用配置芯片EPCS4来存储FPGA的配置数据和NIOS II程序。EPCS4总存储空间为4 Mbit,分为8个64 KB的块,通过专用电路接口与FPGA连接[2]。FPGA的配置数据从EPCS4的偏移地址存储到0,然后FPGA的配置数据就是NIOS II程序,也就是说FPGA和NIOS II程序的配置数据都是从EPCS4的低端地址开始存储的,但是在本设计中,高端块的存储空间可以用来存储JBU61580的配置数据。
CH375接口
CH375是一款带有USB总线的通用设备接口芯片,工作在全速模式,兼容USB2.0,在USB通信中内置底层协议,具有无故障的内置固件模式和灵活的外部固件模式[3]。在内置固件模式下,屏蔽相关USB协议,自动完成标准USB枚举配置过程,本地控制器完全不需要任何处理,简化了NIOS的固件编程。在本设计中,CH375芯片只负责数据交换,接收上位机下载的数据和NIOS上传的数据。CH375的8位数据总线、4线控制信号读选通、写选通、片选输入和中断输出通过SoPC定制逻辑连接到Avalon系统互连结构。
JBU61580接口
JBU61580工作在16位缓冲非零等待模式,工作电压为5 V,工作在3.3 V的FPGA不能直接与之相连,中间需要连接总线驱动245芯片进行电平转换。控制JBU61580的寄存器和存储器的读写有两种方法:一种是用PIO端口模拟JBU61580的读写顺序。这种方法实现简单,扩展性强,但读写速度慢,不利于系统的模块化和集成化;其次,根据HDL语言定制符合JBU61580的时序控制逻辑,通过访问存储器读写JBU61580的寄存器和存储器。这种方法实现起来稍微有点复杂,但是可以大大提高JBU61580的数据读写速度。这
由于JBU61580工作在16位缓冲模式,而CH375只有8位数据总线,所以上位机程序要约定与NIOS相同的数据封装格式。上位机JBU61580的16位地址和数据信息以及部分传输控制指令拆分成8位数据,通过USB总线传输,NIOS接收后重新解析成16位地址和数据。当所有的配置数据传输完毕后,NIOS根据控制指令对JBU61580进行配置,使其工作在指令要求的模式(BC、RT或MT)。此外,NIOS II还会根据上位机的指令决定是否将配置数据写入EPCS,这样单板在上电复位后就不需要从上位机获取配置数据,可以离线工作。在离线工作状态下,NIOS还应实时监控CH375的中断信号,以便接收上位机的控制指令,进入在线工作模式。同样,如果NIOS需要上传JBU61580的通讯数据,也要将读取的16位数据拆分成两个8位数据,然后写入CH375的上传端点。上位机取数据后,也会按照约定的打包格式显示16位数据。
软件设计分为NIOS固件程序和上位机程序。NIOS固件程序分为固件主程序、中断处理程序和包解析程序。上位机程序包括BC模式接口与传输控制、RT模式接口与传输控制、MT接口与传输控制。
2.1 NIOS固件程序
固件主程序
主固件程序主要负责系统初始化和进程控制。初始化主要包括CH375工作状态测试、工作模式选择、JBU61580初始复位、读取并判断EPCS4配置存储器的高位地址特征字符以确认单板是否需要离线工作等。初始化后进入主循环,实时监控USB接口和1553B接口的中断信号。
中断处理程序
中断处理程序包括CH375中断处理程序和JBU61580中断处理程序。由于1553B接口的高实时性要求,在SoPC系统构建过程中,JBU61580的中断优先级高于CH375。
在CH375中断处理程序中,首先读取中断状态,判断中断类型,然后进入相应的中断类型处理程序。如果批处理端点接收到数据,它读取缓冲器中的数据,设置中断下载标志,并退出中断[4]。如果批处理端点发送完数据,则应设置中断上传标志以退出中断。这个过程如图2所示。
在JBU61580的中断处理程序中,有三种不同的工作模式[5]: BC、RT、MT,分别对应不同的中断处理程序。以RT模式为例,当JBU61580从1553B总线接收到与该地址相关的报文时,如果满足中断条件,就会产生中断。NIOS用于加工。在中断处理程序中,首先读取JBU61580的中断状态寄存器,判断是否是干扰引起的假中断,读取消息描述符中的消息块状态字,判断是否是非法指令。读取RT状态字寄存器,判断子地址是否繁忙;读取RT的最后一个命令寄存器,获得命令字;根据消息描述符中的数据块指针,找到数据块,并将数据保存到消息块的结构中[6]。这个过程如图3所示。
2.1.3数据包分析器
数据包解析程序负责解析上位机传来的8位数据和传输控制指令,遵循上位机的数据封装协议,解析配置JUB61580的16位地址和相应数据,以及一些必要的启动、复位等控制指令。另外,包解析程序会将从JBU61580读取的16位通信数据拆分打包成8位数据,写入CH375的批量上传端口,等待上位机取走。包解析程序如图4所示。
2.2电脑设计
CH375在计算机端提供了应用层接口,是CH375的动态链接库DLL提供的功能性的面向应用的API。用户可以在上位机软件中直接调用这些API,大大减少了编写USB设备驱动的工作量。CH375动态链接库提供的API包括:设备管理API、数据传输API和中断处理API。上位机程序可以分为两部分:下载数据和上传数据。下载数据通过调用CH375WriteData()函数实现,上传数据通过调用CH375ReadData()函数实现。由于CH375芯片的上传缓冲区和下载缓冲区只有64 B,一次数据传输不能超过64 B,整个上位机软件由VB2008编写,图5为RT控制界面的界面。
3结论
根据本文提出的方法,成功实现了通过USB实时控制JBU61580的1553B总线接口测试系统。整个系统硬件设计简单,软件设计稳定可靠,可应用于1553B系统的调试和测试以及各种仿真实验。
参考
[1]周元林,吴忠,仇.基于BU-61580的1553B总线接口设计[J].计算机工程与应用,2010,46 (35): 65-68。
任承志,宋克非,王淑荣。基于BU65170和单片机系统的RT设计与实现[J].微机信息,2006,22 (6-2): 18-20。
[3]雷勇,吴勇,李盘。基于USB的1553总线通用接口的研究[J].计算机测控,2010,18 (4): 861-864。
[4] DDC。MIL-STD-1553B设计者指南。1998.
[5]康多尔工程公司MIL-STD-1553协议教程[S].2004
、许。基于DSP的1553B总线系统的设计与实现[J].电子设计工程,2010 (8): 4-7。
japan quarterly 日本季刊
推荐阅读
- 为什么青霉素一般人都过敏?(为什么好多人对青霉素过敏)
- 交通事故对方全责怎样理赔?(交通事故对方全责)
- apple music 换区(Apple Music换区听歌教程)
- 电脑开机显示器没有反应键盘灯不亮,电脑开机显示屏没反应,键盘灯也没亮的解决方法
- 2022哈尔滨车展延期,2022哈尔滨车展
- 操作系统真想还原 pdf,操作系统怎样使用系统还原功能
- 如何免费咨询律师(如何咨询在线律师)
- 棉服怎么清洗不跑棉,棉服怎么清洗
- 强提醒在静音模式下好用吗(上线静音模式,再也不怕被吓到)
- vivo手机如何开启sos紧急呼叫功能设置,vivo手机如何开启sos紧急呼叫功能
- 违纪检查书范文(工作违纪检讨书范文)
- 美国国家公园失踪,如果车没油停在有死亡谷之称的美国国家公园
- 交通事故责任划分为4个级别?(交通事故责任认定)
- 电脑没有光驱怎么弄,电脑没有光驱怎么放光盘
- iOS16 Beta4新的测试版来了,有不少新变化
- 醋酸丁酯的物化性质(乙酸正丁酯的溶解性)
- 魅族手机丢了怎么定位追踪,魅族手机丢失怎样远程定位找回
- 怎么领支付宝口令红包,教你支付宝红包口令怎么玩
- 现代ix35优惠达到五万,现代ix35综合优惠30000元,店内现车