基于 DSP+FPGA+1553B总线的水下信息融合系统的设计

news2024/11/17 15:03:31
在一个大型水下系统中,针对不同分系统的特
性,通常采用不同的通信协议。串行通信具有抗干扰
能力强,传输距离远等特点,适用于需要远距离通信
的分系统; MIL-STD-1553B 总线在传输方面具有极强
的可靠性和实时性,适用于对信号准确性和实时性要
求高的惯导及发控分系统 [ 1 ]
DSP 可以快速处理数据且具有较高的集成性和稳
定性,目前已成为控制领域主流的处理芯片 [ 2 ] 。但
DSP 的片内通信资源有限且固定,会导致系统的可扩
展性不强,且若 DSP 频繁响应中断,也会对其工作的
效率产生影响。
FPGA DSP 相比具有以下优点:支持并行操
作,可以同时处理多个工作单元,可以实现数据的实时
传输 [ 3 ] FPGA 可以通过自身编程实现传统设计中逻辑
接口,从而使得外围电路设计的难度大大减小,减少
硬件设计难度,且系统的可扩展性得到极大的提高。
本文以 DSP 芯片作为主处理器,负责应用层的设
计以及整个系统运行时信息的调度,采用 FPGA 作为
系统的协处理器,完成对多路 RS-422 串口信号的采集
以及对数据的缓存,同时使用 FPGA 实现 BU61580
的功能并根据项目需要对功能进行扩展,完成 1553B
总线接口模块的设计。
1      系统总体设计
主要实现 16 路串口数据的发送及接收,以及 2
1553B 数据的发送及接收 , 后期根据需要可扩 展
CAN 通信及 429 通信等。在进行设计时,要充分考虑
如何实现不同控制芯片之间准确、高速、实时的通信
问题。 DSP 选择 TI 公司的处理器芯片 TMS320F28335
该芯片低成本,高性能,运算能力强、精度高。但该
芯片的串口资源只有 3 个,不满足设计要求,且若采
DSP+BU-61 580 的结构实现在 BC 模式下的 1553B
信,根据设计要求,系统需要发送大量周期为 5ms
10ms 的周期信号,若周期信号的发送由 DSP 控制,
DSP 需要频繁响应计时中断,会影响芯片的数据处
理速度,且可能造成数据丢失等现象。
为了解决这些问题,选用低功耗型 XC7K325T [ 4 ]
片完成对 DSP 功能的扩展。 DSP FPGA 之间通过
XINTF 总线进行数据交互,从而实现 DSP 对外围芯片
的控制 , 使 得 D S P 的功能得到最优的发挥 [ 5 ]
XINTF 总线包括数据线、地址线及片选线等。
RS422 总线接口设计,以 FPGA 芯片为核心进行搭
建。接口驱动芯片均选用 ADM2682E ,该芯片内有隔离,
无需外部隔离处理。通过 FPGA 实现总线控制器( BC
的功能。使用 HI-1 573 1553B 总线信号转化为 FPGA
可以处理的 3.3V 差分信号。
2     FPGA 逻辑设计
2.1 多路串口逻辑设计
RS422 通信电路采用模块化设计。 FPGA 的功能逻
辑如 1 所示,从功能上划分为接收模块、发送模块
以及数据处理模块。考虑到不同的外部设备对串口通
信的要求各不相同,为了提高模块的普遍性,每一路
串口通道都具有独立性,可以通过 DSP 对每一路串口
的属性进行分别的设置,也即每一路串口的波特率,
数据位,奇偶校验位,停止位等均可以通过编程进行设置。
1 )收发 FIFO 缓存数据
FIFO 一般用于处理高速异步的数据交互和数据缓
存。收发 FIFO 采用 8×256 的容量,数据位宽度为 8 位,存储
深度为 256byte FIFO_empty 作为 FIFO 是否有数据的
标志信号。
2 )串并转换 FPGA
通过状态机完成将串行数据转换为并行数据的功
能。系统上电复位后状态机进入 Idle 状态,当收到数
据时,状态机进入 Start 状态;检测到串行数据的起始
位后状态机进入 Receive 状态否则退回 Idle 状态; Re
ceive 状态主要进行数据位的接收,不同通道可以接收
不同位数的数据位,当循环接收数据位个数满足通道
要求后,进入下一个状态 [ 6 ] ;若串口协议中有校验位,
则进入 Parity 状态,判断奇偶校验,否则状态机进入
Stop bit 状态。 Stop 状态可以进行停止位的接收,当接
收的停止位符合要求后,状态机将已转换为并行的数
据存入接收 FIFO 中,并重回 Idle 状态。
系统上电进行复位后状态机进入 Idle 状态,当发
FIFO fifo_empty=’0’ 时,状态机进入 Start 状态,
否则仍然处于 Idle 状态;完成起始位的发送后,状态
机进入 Sample 状态,读取 FIFO 中的数据并进行采
样,将数据转换为高低电平后,状态机进入 Transmit
状态,发送串行数据,并发送停止位;发送完成后进
Stop 状态完成整个发送流程。
3 )数据处理及与 DSP 的通信
FPGA 为每一路通道分配不同的片选地址, DSP
对通道进行初始化及收发数据时,要根据片选地址找
到对应的寄存器并通过总线收发不同地址中的数据,
从而进行相应的数据处理。根据系统流程,当需要获
取某一路串口的数据时, DSP 读取该通道对应的 fifo
empty 状态,若不为空,则 DSP 从该通道存放数据的
寄存器地址中,获取已经过串并转换的数据。反之,
若需要发送指令至某一通道时, DSP 通过总线将打包
好的带帧头帧尾的数据发送至相应的 FPGA 寄存器,
FPGA 将数据存入对应通道的发送 FIFO ,通过串并转
换后将 FIFO 中的数据转为串行码发送至外部设备 [ 7 ]

 

2.2 1553B 逻辑设计
信息融合系统作为系统的中心,在 1553B 通信中
担任总线控制器( BC )的角色,负责收发数据,同时
还需要对整个流程进行调度。根据流程,信息融合系
统需要通过发送周期和非周期信号对分系统下发指令
并获取分系统的反馈信号。为了提高 DSP 的工作精度
及效率,对于周期信号, DSP 只控制信号发送的启
停,也即当 DSP FPGA 下发了某条周期信号的启动
指令后, FPGA 自动对该条指令计时,当时间到达周
期时, FPGA 控制发送指令,直到 DSP 下发该条指令
的停止指令。所以信息融合系统需要完成的工作包
括:准确发送命令字和数据字;准确接收数据字和状
态字;根据需要在不同时期发送不同周期长度的周期
性信号及非周期信号 。 因此在对信息融合系统 的
BC 功能进行设计时,主要分为以下功能模块:发送模
块、接收模块、流程控制模块。
2.2.1     发送、接收模块
发送及接收模块包括发送部分、接收部分、超时
检测部分等 [ 8 ]
发送部分:主要功能是将数据经过曼彻斯特编码
后发送,根据解析出的数据字个数开始计数,当数据
字个数达到规定值时,发送完毕 [ 9 ] 。发送的数据包括
同步头类型、指令字及数据字 [ 10 ]
接收部分: BC 主要接收状态字和数据字,通过解
码状态字判断接收的数据字是否正确。 FPGA 将收到
的数据字放在特定的 RAM 地址中,根据流程, DSP
特定时间读取 RAM 地址中的数据字,从而获得分系
统反馈的数据和状态。
发送超时检测:为保证总线传输的可靠性,协议
规定发送时长超过 800 us 的信息按超时处理。通过计
时器进行超时检测,当接收到指令字的同步头时开始
计时,接收到状态字时计时结束,一旦计数值超过
800 us ,则表示发送超时。
BC 模式下接口的响应流程如 2 所示。
2.2.2     流程控制模块
信息融合系统在 1553B 通信中不仅需要完成 BC
基本收发功能,还需要对系统运行的整个流程进行调
度。具体来说, FPGA 通过状态机实现流程控制的主程序。
3      功能验证
3.1 多通道串口板级验证
通过 CCS 软件和串口调试助手可完成串口在线测
试。对通道 ID 0 的通道进行收发测试,该通道采用
115 200 bit/s 波特率,串口助手向 0 通道发送 5f f5
01 02 03 04 05 06 07 08 2a 5b DSP
以收到。反之, DSP 通过 0 通道向外发送数据时,串
口助手也可收到数据。其他 15 路串口也根据对应的串
口协议进行测试,数据收发正常。
3.2 1553B 板级验证
3.2.1    BC 发送非周期信号
CCS 软件和 BM 软件完成在线测试,通过示波
器观察波形。 3 为在 BC 模式下 1553B 模块发送信号
的波形,可以看出波形良好,受干扰影响小,可以正
确进行信号解码。
3.2.2    BC 发送周期信号
BC RT 发送指令字为 0×6 161 ,数据字为 0×0 022
的周期消息,周期为 5 ms 4 为实测波形图,横坐标每格为 2.5 ms 。可以看出,周期信号的周期为 5 ms

 

 

 

4      结 语
本文采用 DSP+FPGA 的设计实现信息融合系统在
多通道串口和 1553B 通信中的应用。有以下特点: 1)
灵活性。基于 FPGA 进行设计,可根据现场流程的改
变随时修改程序。 2)  扩展性。不用考虑资源限制,可
根据需要增减通道,并且根据需求可以增加更多的通
信协议。 3)  稳定性。模块化的设计,各通道各协议间
的工作互不影响,有利于系统的改进和验证。 4)  高效
性。 FPGA 采用并行数据传送,便于多通道数据交互。本
设计已应用于某大型项目的设备中,经过大量测试和
试验,可以稳定满足使用要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于“复活节Easter”知识,你了解多少?

复活节是基督教纪念耶稣复活的节日。耶稣被钉死在十字架上,死后第三天复活。Christians say Jesus died on Friday. On the third day, he rose from the dead. He became alive again. 复活节定在每年春分月圆之后第一个星期日举行。因为春分之后日照时间比较长&am…

《菲波那契凤尾》:菲波那契数列,返回最后6位

目录 一、题目 二、思路 1、斐波那契数列 2、返回最后6位 三、代码 详细注释版本: 简化注释版本: 一、题目 菲波那契凤尾 题目链接:菲波那契凤尾 NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。为了考验他&#xff0c…

【实用篇】SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud分布式

文章目录一、服务拆分1.1 服务拆分Demo1.2 微服务远程调用二、Eureka2.1 Eureka原理2.2 Eureka-server服务搭建2.3 eureka-client服务注册2.4 eureka-client服务复制2.5 eureka服务发现三、Ribbon负载均衡3.1 负载均衡原理3.2 负载均衡策略3.3 自定义负载均衡策略3.4 饥饿加载与…

每日学术速递4.12

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.HC 随着新的“生成代理”论文的发布,LLM刚刚达到了一个重要的里程碑——通过使用 LLM,生成代理能够在受《模拟人生》启发的交互式沙箱中模拟类人行为。代理架构扩展…

Vue的过滤器、内置指令和生命周期【Vue】

Vue 1. 收集表单数据 收集表单数据&#xff1a; 若&#xff1a;< input type“text”/ >&#xff0c;则v-model收集的是value值&#xff0c;用户输入的就是value值。 若&#xff1a;< input type“radio”/ >&#xff0c;则v-model收集的是value值&#xff0c;且…

NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028

然后我们看如何把mysql中的数据,实时的同步到hdfs中去 准备工作首先,创建一个mysql表,然后启动hadoop集群 处理器我们需要这些处理器,首先通过querydatabasetable处理器,查询mysql中的数据,然后,把mysql中的数据,导入到 convertavrotojson处理器,注意querydatabasetable处理…

C语言结构体练习:【通讯录(静态数组简易版)的实现】

全文目录&#x1f600; 前言&#x1f914; 模块和功能划分&#x1f928; 数据类型的选择&#x1f62e; 功能序号类型 enum&#x1f62e; 个人信息类型 PeoInfo&#x1f62e; 通讯录类型 Contact&#x1f635;‍&#x1f4ab; 功能的实现&#x1f644; 初始化通讯录 InitContact…

MYSQL命令大全(详细版)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

【快乐手撕LeetCode题解系列】——移除链表元素

【【快乐手撕LeetCode题解系列】——移除链表元素&#x1f60e;前言&#x1f64c;删除有序数组中的重复项&#x1f64c;解法一&#xff1a;画图分析&#xff1a;&#x1f60d;思路分析&#xff1a;&#x1f60d;源代码分享&#xff1a;&#x1f60d;解法二&#xff1a;画图分析…

Vite打包后直接使用浏览器打开,显示空白问题

vite打包后&#xff0c;直接用浏览器打开显示空白 1.需求&#xff1a; 安卓webview等浏览器直接打开文件显示 2.原因 &#xff08;1&#xff09;资源路径错误&#xff1a; vite.config.js 配置 base: “./” &#xff08;在webpack中则配置publicPath: "./"即可…

Windows ActiveMQ安装

Windows ActiveMQ 安装 ActiveMQ下载&#xff1a;ActiveMQ Java JDK下载&#xff1a;Java JDK20 下载完成之后解压ZIP安装包&#xff0c;解压后得到如下文件夹 找到根目录下/bin/win64/activemq.bat 双击打开&#xff0c;如果提示权限记得使用管理员身份 。 如提示Unable to e…

学习数据结构第5天(线性表的链式表示)

线性表的链式表示单链表的定义单链表的基本操作双链表双链表的基本操作循环链表块状链表存储结构顺序表和链表的比较线性表的顺序存储结构的特点是逻辑关系上相邻的两个数据元素在物理位置上也是相邻的。我们会发现虽然顺序表的查询很快&#xff0c;时间复杂度为O(1)O(1)O(1),但…

Java EE企业级应用开发(SSM)第5章

第5章Spring MVC入门一.预习笔记 1.Spring MVC是所有使用OOP编程语言都应该遵守的规范 2.Spring MVC的特点 强大的灵活性、非侵入性和可配置性 提供了一个前端控制器DispatcherServlet&#xff0c;开发者无须额外开发控制器对象 分工明确&#xff0c;每一个功能由一个专门…

日前、日内两阶段需求响应热电综合能源联合调度研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

深度学习之卷积神经网络0基础入门学习教程——浅层深度学习(全网最详细,不详细你打我)(看不懂你打我)(对小白没用你打我)

作为一个双非学校的人工智能硕士研究生&#xff0c;我在深度学习入门之初&#xff0c;学校里没人带&#xff0c;只能靠自己一点一点的摸索&#xff0c;走了很多弯路&#xff0c;因为自己并不懂得从哪里入手&#xff0c;从吴恩达的课到李沐的课等等无数种课&#xff0c;无数种书…

Microsoft project 2013安装教程(含激活方法)

目录 一、介绍 二、安装教程 三、激活 一、介绍 Microsoft project 2013中文版是由微软推出的一款项目管理软件&#xff0c;软件将可用性、功能和灵活性等完美地融合在一起&#xff0c;可以有效提升办公人员的效率&#xff0c;利用project 2013用户可以制作出…

SecureCRT8.5的下载、安装和注册(详细图解)

SecureCRT8.5的下载、安装和注册请先关闭杀毒软件和防火墙。 关闭防火墙 先打开电脑的设置&#xff0c;在弹出的界面里找到并点击更新和安全。 找到并点击Windows 安全中心&#xff0c;再在右侧找到并点击防火墙和网络保护选项。 将域网络、专用网络、公用网络这三个选项设…

数据结构入门-11-红黑树

史上最负盛名的平衡二叉树–红黑树&#xff0c;但其实就是2-3树的一种实现 文章目录一、红黑树性质二、红黑树性质推导过程2-3树2.3.1 如何维护绝对平衡2-3树2.3.2 红黑树&2-3树2.3.3 再来看红黑树的性质1.每个节点为 Black or Red2.根节点是Black3.每一个叶子节点(最后的空…

2023年郑州重点建设项目名单公布,中创“算力数据中心”项目入选!

4月7日&#xff0c;郑州市人民政府网站公布2023年郑州市重点建设项目名单&#xff0c;名单共列项目680个&#xff0c;总投资1.08万亿元&#xff0c;年度计划投资2691亿元。 在创新驱动能力提升项目名单里&#xff0c;中创算力与人民网人民数据&#xff08;国家大数据灾备中心&a…

小程序实现消息订阅及发送

在我们的家政服务小程序中&#xff0c;用户可以新增预约。一般的场景是新增预约的时候提醒用户接收通知&#xff0c;在状态变更的时候我们来发送订阅消息。本篇我们来讲解一下小程序订阅消息功能的开发。 1 开通订阅消息模板 要想发送订阅消息&#xff0c;首先需要选用一个消…