0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究NIOS II的1553B总线测试系统设计

电子工程师 来源:微型机与应用第18期 作者:黄 正,王健军,刘 2021-05-05 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

0 引言

MIL-STD-1553B由美国在20世纪70年代提出,具有可靠性高、实时性好、灵活性强的特点,已经发展成国际公认的数据总线标准,广泛应用于现代飞机、导弹、卫星、舰艇、坦克等航空、航天、兵器领域,并且逐渐扩展到地铁交通控制等民用领域。我国从20世纪90年代初开始引进1553B数据总线,经过十多年的发展,1553B已经成为国内航空航天的主要航电总线之一。

国内一些研究机构也通过不断努力,已经有能力研制生产出符合1553B标准的接口芯片,本文在设计中即采用了中国电子科技集团公司第58研究所自主研发的JBU61580作为1553B总线通信控制器,其与DDC公司的同型号芯片BU61580完全兼容,支持插拔替换,具有总线控制(BC)、远程终端(RT)和监测终端(MT)三大功能[1]。

1 系统硬件设计

系统采用Altera公司Cyclone Ⅱ系列的FPGA(EP2C8Q208C8)作为主控芯片,内嵌NIOS Ⅱ软核处理器,输入时钟为20 MHz,由PLL倍频出两个100 MHz时钟分别提供给NIOS Ⅱ软核处理器和外接的SDRAM使用。USB接口部分采用CH375芯片,1553B接口部分采用JBU61580芯片,均利用SoPC Builder支持的用户自定义元件定制时序转换逻辑,以提高接口芯片的读写速度,而NIOS Ⅱ则负责两者之间的数据解析和交换。

1.1 总体设计思想

6359150525794400004509120.jpg

硬件原理框图如图1所示,整个系统可以分为5个部分:(1)系统核心模块:NIOS Ⅱ处理器;(2)处理器外围支持电路:时钟单元及SDRAM控制器;(3)程序下载调试模块:JTAG接口控制器和异步通信接口UART用于打印调试信息);(4)系统内部外设模块:诸如系统ID、定时器、用户自定制逻辑等;(5)系统外围设备:EPCS存储器、CH375、JBU61580。

1.2 系统外围接口设计

1.2.1 EPCS接口

系统采用Altera专用的配置芯片EPCS4存储FPGA的配置数据和NIOS Ⅱ的程序,EPCS4总共有4 Mbit的存储空间,分成8个64 KB的块,并通过专用电路接口与FPGA连接[2]。FPGA的配置数据从EPCS4中偏移地址为0的地方开始存放,紧接着FPGA的配置数据就是NIOS Ⅱ的程序,也就是说FPGA的配置数据和NIOS Ⅱ的程序从EPCS4的低端地址开始存放,而在本设计中只占用了不到4个块的存储空间,所以高端块的存储空间可以用来存放JBU61580的配置数据。

1.2.2 CH375接口

CH375是一个USB总线的通用设备接口芯片,工作在全速模式,兼容USB2.0,其内置了USB通信中的底层协议,具有省事的内置固件模式和灵活的外置固件模式[3]。在内置固件模式下,屏蔽了相关的USB协议,自动完成标准的USB枚举配置过程,完全不需要本地端控制器作任何处理,简化了NIOS Ⅱ的固件编程。本设计中CH375芯片只负责数据的交换,接收上位机下传的数据和NIOS Ⅱ上传的数据。CH375的8位数据总线、4线控制信号读选通、写选通、片选输入、中断输出通过SoPC自定制逻辑连接到Avalon系统互连结构。

1.2.3 JBU61580接口

JBU61580工作在16位缓冲非零等待模式下,工作电压为5 V,在3.3 V电压下工作的FPGA不能与其直接相连,中间需要接总线驱动器245芯片进行电平转换。JBU61580的寄存器和存储器的读写控制有两种方法:一是用PIO口来模拟JBU61580的读写时序,此方法的优点是实现简单,扩展性强,但读写速度比较慢,不利于系统的模块化与集成;二是根据HDL语言定制符合JBU61580的时序控制逻辑,以访问内存的方式来读写JBU61580的寄存器和存储器,此方法实现稍微复杂,但是可以极大地提高JBU61580的数据读写速度。本设计中即采用了第二种方法。

2 软件系统设计

由于JBU61580工作在16位缓冲模式,而CH375只有8位数据总线,因此上位机程序要与NIOS Ⅱ约定相同的数据封装格式。上位机将JBU61580的16位地址和数据信息以及一些传输控制指令拆分成8位数据,经过USB总线传输,NIOS Ⅱ收到之后再重新解析成16位的地址和数据。在配置数据全部传送完成之后,NIOS Ⅱ再根据控制指令来配置JBU61580,使其工作在指令要求的模式(BC、RT或MT)下。另外NIOS Ⅱ还将根据上位机的指令决定是否将配置数据写入EPCS中,使得单板在上电复位之后不需要再从上位机获得配置数据,从而可以离线工作。处于离线工作状态,NIOS Ⅱ还应实时监测CH375的中断信号,以便接收上位机的控制指令进入联机工作模式。同样,若NIOS Ⅱ需要上传JBU61580的通信数据,也要将读取的16位数据拆分成两个8位数据,再写入CH375的上传端点中,上位机取走数据之后同样按照约定的封装格式将解析成16位的数据显示出来。

软件系统设计分为NIOS Ⅱ固件程序和上位机程序。NIOS Ⅱ固件程序又分为固件主程序、中断处理程序、数据包解析程序。上位机程序则包括BC模式接口及传输控制、RT模式接口及传输控制、MT接口及传输控制3个部分。

2.1 NIOS Ⅱ固件程序

2.1.1 固件主程序

固件主程序主要负责系统初始化及流程控制。初始化主要包括CH375的工作状态测试、工作模式选择,JBU61580的初始复位,读取并判断EPCS4配置存储器的高位地址特征字符以确认是否需要单板离线工作等。在初始化之后进入主循环,实时监视USB接口和1553B接口的中断信号。

2.1.2 中断处理程序

中断处理程序包括CH375中断处理程序和JBU61580中断处理程序。由于1553B接口的实时要求性高,因此在SoPC系统搭建过程中,JBU61580的中断优先级要高于CH375的中断优先级。

在CH375中断处理程序中首先读取中断状态,判断中断类型,再进入相对应的中断类型处理程序。如果是批量端点接收到数据,则读取缓冲区的数据,并置位中断下传标志,退出中断[4]。如果是批量端点发送完数据,则应置位中断上传标志,退出中断。其流程如图2所示。

pIYBAGB1ZRKABxGGAABSyEEv4b8351.png

在JBU61580的中断处理程序中,由于存在BC、RT、MT 3种不同的工作模式[5],则分别对应了不同的中断处理程序。以RT模式为例,当JBU61580接收到来自1553B总线的与本地址相关的消息时,若符合中断条件,将产生中断。由NIOS Ⅱ进行处理,中断处理程序中首先读取JBU61580的中断状态寄存器,判断是否是干扰引起的误中断,读消息描述符中的消息块状态字,判断是否是非法指令;读RT状态字寄存器,判断是否是子地址忙;读取RT上次命令寄存器,获取命令字;根据消息描述符中的数据块指针,找到数据块并保存数据至消息块的结构体中[6]。其流程如图3所示。

o4YBAGB1ZR6AadO5AACCkSzrcLs958.png

2.1.3 数据包解析程序

数据包解析程序负责解析上位机下传的8位数据及传输控制指令,遵从上位机封装数据的协定,解析出配置JUB61580的16位地址和对应的数据,以及一些如启动、复位等必要的控制指令。另外数据包解析程序还要将从JBU61580读取的16位通信数据分拆封装成8位数据写到CH375的批量上传端口,等待上位机取走。数据包解析程序如图4所示。

o4YBAGB1ZTCAOmexAACT2PsxP_s661.png

2.2 上位机设计

CH375在计算机端提供了应用层接口,应用层接口是由CH375动态链接库DLL提供的面向功能应用的API。用户可以在上位机软件中直接调用这些API,极大地减少了编写USB设备驱动的工作量。CH375动态链接库提供的API包括:设备管理API、数据传输API、中断处理API。上位机的程序可以分成下传数据和上传数据两部分,下传数据调用CH375WriteData()函数来实现,上传数据调用CH375ReadData()函数来实现。由于CH375芯片的上传缓冲区和下传缓冲区只有64 B,故一次的数据传输不能超过64 B。整个上位机软件采用VB2008编写,图5是RT控制接口界面。

o4YBAGB1ZT6Abl_zAAGPTbTLyZ4813.png

3 结论

按照本文的方法已经成功实现了通过USB实时控制JBU61580的1553B总线接口测试系统,整个系统硬件设计简单,软件设计稳定可靠,可应用于1553B系统调试和测试以及各种仿真实验中。

参考文献

[1] 周远林,吴忠,丑武胜.基于BU-61580的1553B总线接口设计[J].计算机工程与应用,2010,46(35):65-68.

[2] 任承志,宋克非,王淑荣.基于BU65170与单片机系统的RT设计与实现[J].微计算机信息,2006,22(6-2):18-20.

[3] 雷勇,吴勇,潘莉.基于USB的1553总线通用接口研究[J].计算机测量与控制,2010,18(4):861-864.

[4] DDC. MIL-STD-1553B Designer′s Guide[S]. 1998.

[5] Condor Engineering Inc. MIL-STD-1553 Protocol Tutorial[S]. 2004

[6] 黄长春,徐抒岩.基于DSP的1553B总线系统设计与实现[J].电子设计工程,2010(8):4-7.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    8372

    浏览量

    281596
  • NIOS
    +关注

    关注

    2

    文章

    104

    浏览量

    53731
  • 软核处理器
    +关注

    关注

    0

    文章

    11

    浏览量

    8599
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新品发布 | TOSUN XiL Cube桌面设备及TA1038多总线仿真测试板卡正式发布

    新品发布Newproductsrelease随着车载网络架构日益复杂,工业控制系统对实时性和可靠性的要求不断提升。为应对多总线系统协同开发与测试的行业痛点,同星智能全新推出TOSUNX
    的头像 发表于 09-30 20:04 427次阅读
    新品发布 | TOSUN XiL Cube桌面设备及TA1038多<b class='flag-5'>总线</b>仿真<b class='flag-5'>测试</b>板卡正式发布

    MBIST测试期间的总线错误怎么解决?

    我在测试 MBIST 时观察到 总线错误 。为了测试所有SRAM,我使用 ECCMAP 寄存器触发故障,但这导致了带有陷阱4 和 2类的 总线错误 。我还观察到,访问损坏的内存时会报告
    发表于 07-25 06:49

    B信号检测——车载座舱音频测试的关键

    卡既可无损旁路监听整条 A²B 总线,也能在任意节点注入或回放波形,从实验室研发到道路路试再到产线质检,覆盖完整测试闭环。
    的头像 发表于 07-24 17:19 580次阅读
    A²<b class='flag-5'>B</b>信号检测——车载座舱音频<b class='flag-5'>测试</b>的关键

    泰克示波器TBS2202B噪声水平测试

    、优化策略及典型应用场景四方面,系统解析TBS2202B的噪声测试技术。   一、噪声来源:从硬件到环境的系统性分析 1. 示波器本底噪声 TBS2202
    的头像 发表于 07-16 14:21 572次阅读
    泰克示波器TBS2202<b class='flag-5'>B</b>噪声水平<b class='flag-5'>测试</b>

    方案分享 | ARXML 规则下 ECU 总线通讯与 ADTF 测试方案

    汽车电子开发新进展:ARXML 规则与 ADTF 框架结合,实现 ECU 总线通讯高效测试
    的头像 发表于 06-25 09:53 2830次阅读
    方案分享 | ARXML 规则下 ECU <b class='flag-5'>总线</b>通讯与 ADTF <b class='flag-5'>测试</b>方案

    1553B总线常见三种组网方式

    1553B总线作为航空电子系统中的关键通信协议,其组网方式直接影响系统的可靠性和实时性。本文将深入解析1553B
    的头像 发表于 06-21 17:39 1306次阅读
    <b class='flag-5'>1553B</b><b class='flag-5'>总线</b>常见三种组网方式

    泰克TBS1102X示波器在汽车总线测试中的专业应用

    随着汽车电子系统的日益复杂,现代车辆中集成了大量的电子控制单元(ECU)和传感器,这些设备通过总线系统(如CAN、LIN、FlexRay等)实现高效通信。汽车总线
    的头像 发表于 06-13 13:46 424次阅读
    泰克TBS1102X示波器在汽车<b class='flag-5'>总线</b><b class='flag-5'>测试</b>中的专业应用

    基于数采系统的车载A2B信号测试解决方案

    随着车载娱乐、音响系统及智能驾驶技术的快速发展,车载A2B(Automotive Audio Bus)系统已成为现代汽车音频及数据传输的重要技术。A2B
    的头像 发表于 06-10 17:29 879次阅读
    基于数采<b class='flag-5'>系统</b>的车载A2<b class='flag-5'>B</b>信号<b class='flag-5'>测试</b>解决方案

    使用8位数据总线时,FX3的GPIF II DQ[15:8]状态如何?

    我使用CYUSB 3013 -BZXC FX3 设备(16 位 GPIF II 数据总线版本)从 ADC 采集数据。ADC 为 10 位,但通常 8 位就足够了,因此我制作了两个不同的状态机,分别
    发表于 05-09 06:44

    ATE测试系统如何构建?先搞懂这些总线技术

    系统如何搭建?先从它的构成开始了解 ATE测试系统主要由软件和硬件两部份组成。硬件主要是指测试中用到的测试夹具(探针卡、转接板等)、
    的头像 发表于 04-01 16:57 885次阅读
    ATE<b class='flag-5'>测试</b><b class='flag-5'>系统</b>如何构建?先搞懂这些<b class='flag-5'>总线</b>技术

    罗德与施瓦茨示波器高速总线测试

    在现代电子技术的飞速发展中,高速总线测试成为了确保系统性能和可靠性的关键环节。无论是汽车电子、通信设备,还是消费电子产品,高速总线测试都是评
    的头像 发表于 02-17 17:44 808次阅读
    罗德与施瓦茨示波器高速<b class='flag-5'>总线</b><b class='flag-5'>测试</b>

    中科亿海微推出1553B通信板SoM模组

    板能够轻松对接配备标准MIL-STD-1553B总线数据接口的数据处理板卡,同时,它也为计算机与MIL-STD-1553B总线之间的连接提供了便捷途径,实现了
    的头像 发表于 01-07 13:57 901次阅读

    扩频时钟技术分享:SSC技术是什么、SSC对测试高速总线信号的影响

    高速信号的速率时,我们会发现信号的比特率并不是稳定在一个数值而是在一个很小的范围内浮动;在一些总线的一致性测试中也有规范SSC测试的参数。 所以本篇文章就从 为什么要使用SSC技术、SSC技术是什么、SSC对
    的头像 发表于 01-06 11:38 7560次阅读
    扩频时钟技术分享:SSC技术是什么、SSC对<b class='flag-5'>测试</b>高速<b class='flag-5'>总线</b>信号的影响

    如何优化总线系统的性能

    总线系统是计算机和其他电子设备中用于传输数据的关键组件。性能优化可以提高数据传输速率、降低延迟,并增强系统的可靠性和扩展性。 1. 理解总线系统
    的头像 发表于 12-31 09:54 1085次阅读

    中科亿海微SoM模组——1553B通信板

    1产品概述中科亿海微推出的1553B通信板是一种用于航空航天领域的通信设备组件,基于MIL-STD-1553B标准,能够有效支持复杂系统中的数据交换需求。可以直接对接到具有标准
    的头像 发表于 12-27 14:01 1261次阅读
    中科亿海微SoM模组——<b class='flag-5'>1553B</b>通信板