搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家小花儿
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
ControlNet作者新作爆火:P照片换背景不求人,AI打光完美融入
2
论文高质量翻译:The Claude 3 Model Family: Opus, Sonnet, Haiku Claude 3 模型系列:Opus、Sonnet、Haiku 超越GPT4_研究生级别的谷歌防护问答基准)
3
使用SpringBoot完成excel表格导入导出_excel导入 spring boot
4
浅谈——图像梯度算法中算子由来_图形梯度算子
5
2023年,程序员如何构建持续增长的被动收入?
6
git命令推送本地到远程分支_git push 远程分支
7
一文详解8种异常检测算法(附Python代码)
8
Eureka搭建及使用_eureka搭建与使用
9
ov5640介绍
10
Excel表格和SpringBoot整合进行导入和导出操作_springboot excel 合并 导入
当前位置:
article
> 正文
基于 DSP+FPGA+1553B总线的水下信息融合系统的设计_fpga接dsp的xintf
作者:我家小花儿 | 2024-05-03 07:32:25
赞
踩
fpga接dsp的xintf
在一个大型水下系统中,针对不同分系统的特
性,通常采用不同的通信协议。串行通信具有抗干扰
能力强,传输距离远等特点,适用于需要远距离通信
的分系统;
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
采用并行数据传送,便于多通道数据交互。本
设计已应用于某大型项目的设备中,经过大量测试和
试验,可以稳定满足使用要求。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家小花儿/article/detail/528484
推荐阅读
article
FPGA
以太网
概念简单学习...
以太网
学习
FPGA
以太网
概念简单学习 1 MAC和PHY 从硬件的角度来说,
以太网
接口电路主...
赞
踩
article
FPGA
JTAG
抓数不成功问题_
jatg
的
时钟
频率
要比被ila
的
时钟
频率
2.5倍低...
FPGA
JTAG
抓数问题_
jatg
的
时钟
频率
要比被ila
的
时钟
频率
2.5倍低
jatg
的
时钟
频率
要比被ila
的
时钟
频率
2...
赞
踩
article
[
FPGA
/
Vivado
/
ILA
]
Vivado
的
ILA
核在Wave
for
m界面无任何变化,抓取
不到
信...
使用
Vivado
软件操作
ILA
核,在Wave
for
m界面如遇到抓取
不到
信号
的问题,如下图所示:可能在以下方面出现问题:最...
赞
踩
article
【
FPGA
】
Vivado
开发
流程
(
基于
2018.3
版本)...
本文对
FPGA
的
开发
流程
做了一个简单的概述_vivado
开发
流程
vivado
开发
流程
基本
流程
:...
赞
踩
article
Actel
FPGA
——
RAM
-two
port
入门操作_
actel
如何导入mif文件...
软件版本:Libero SOC V11.8;实验测试目的:只读操作——读取
RAM
初始化时的数据;Two
port
RAM
...
赞
踩
article
【
FPGA
】
SDRAM
的
读写操作
_
fpga
配置
寄存器
...
SDRAM
:同步动态随机存储器传输优点:空间存储量大、读写速度快、价格相对便宜缺点:控制逻辑复杂所以我的大小为:4 x ...
赞
踩
article
【
FPGA
】:
ip
核
--
XADC
_
xadc
ip
核...
参考资料:【1】XILINX 7系列
FPGA
内置ADC
XADC
获取模拟信号【2】【正点原子
FPGA
连载】第七章
XADC
...
赞
踩
article
(56)
FPGA
IP
设计(
XADC
IP
核
)_
xadcip
核
...
IP
核
有行为(Behavior)级、结构(Structure)级和物理(Physical)级三个层次的分类,对应着三个种...
赞
踩
article
FPGA
高端项目:解码索尼
IMX327
MIPI
相机+图像缩放+
HDMI
输出,提供
开发板
+工程源码+...
FPGA
高端项目:解码索尼
IMX327
MIPI
相机+图像缩放+
HDMI
输出,提供
开发板
+工程源码+技术支持_nxp f...
赞
踩
article
FPGA
-
ZYNQ
Cache
一致性问题_
zynq
刷新
cache
函数
...
在xil_
cache
.h头文件中,有关于
Cache
的处理
函数
,如下图:关于
Cache
的详细底层处理过程,可以查看这些
函数
...
赞
踩
article
FPGA
串口
发送
_
fpga
使用串口
发送
...
FPGA
串口
发送
学习记录_
fpga
使用串口
发送
fpga
使用串口
发送
module uart_t...
赞
踩
article
【
FPGA
串口
发送
、
接收
字符串
】
串口
的
接收
与
发送
,
PC
端
发送
特定
指令
后,
开发板
可
发送
相应
指令
到 P...
FPGA
串口
的
接收
与
发送
,
PC
端
发送
特定
指令
后,
开发板
可
发送
相应
指令
到
PC
端显示。
指令
一:
PC
端
发送
I lik...
赞
踩
article
FPGA
USART
发送
字符串
_
fpga
发送
固定
字符串
...
module uart_send( input sys_clk, //系统时钟 input sys_rs...
赞
踩
article
FPGA
verilog
模板
设计
示例(持续更新)...
FPGA
verilog
设计
模板
示例,参考明德扬极简
设计
法
FPGA
verilog
模板
设计
示例(持续更新) ...
赞
踩
article
FPGA
-1、
verilog
书写基本格式
_
verilog
激励
模块
怎么
写...
FPGA
自我学习笔记
_
verilog
激励
模块
怎么
写
verilog
激励
模块
怎么
写 ...
赞
踩
article
FPGA
-
Verilog
仿真
可视化
_
verilog
代码转化
电路图
...
下面这个网址:http://digitaljs.tilk.eu/, 提供了一个 DigitalJS 的在线演示程序,可以...
赞
踩
article
Xilinx
FPGA
配置之
ICAP
_
fpag
icap
...
1_
fpag
icap
fpag
icap
在网络通信中
ICAP
通...
赞
踩
article
基于
FPGA
的
图像
拉普拉斯
锐化处理_
拉普拉斯
图像
处理
fpga
...
基于
FPGA
的
图像
拉普拉斯
锐化处理AT7_Xilinx开发板(USB3.0+LVDS)资料共享腾讯链接:https://...
赞
踩
article
【
FPGA
&
Verilog
】奇数
分频器
(
50%
)_奇数
分频器
verilog
50%
占空比
...
【
FPGA
&
Verilog
】奇数
分频器
(
50%
)_奇数
分频器
verilog
50%
占空比
奇数
分频器
verilog
...
赞
踩
article
[
FPGA
学习记录]
分频
器
---
奇
分频
_
fpga
分频
器
...
当我们的复位信号无效时,就是复位信号为高电平无效时,我们的计数器并没有计数到最大值,没有计数到最大值就是 0、1、2、3...
赞
踩
相关标签
fpga开发
fpga
verilog
RAM two port
ACTEL FPGA
Quartus
tcp/ip
网络协议
数码相机
IMX327
MIPI
图像缩放
RAW12
单片机
嵌入式硬件