FPGA在弹上信息处理机中的应用
时间:04-15
来源:互联网
点击:
步串行输入通道由FPGA的UART IP核完成串行输入数据的接收,IP核根据字间隔是否超过2个字的接收时间来判断是否完成一帧的接收,原理和1553总线数据的接收相同。
115.2K异步串行输入通道由FPGA的UART IP核完成串行输入数据的接收.缓冲区由一个FIFO组成。组帧状态机会随时查询该FIFO空满状态,若不空,则就开始连续的读取过程,每间隔200μs从FIFO中读取一个数据并按照规定格式和位置填入数据融合表,直到该FIFO的数据取完为止,若为空,则新帧对应通道的位置数据填零。
(4)组帧
组帧工作即遥测数据的数据融合,将各路遥测信息按照给定的数据融合格式组织成一个完整的100帧(1帧200us,100帧20ms)格式进行发送,该功能由设计在FPGA内部“组帧状态机(MFSTM)IP”完成。
(5)数据融合表
上电复位后,组帧状态机MFSTM等待同步锁定信号Sync Locked=“1”后开始工作,并根据20ms缓冲区切换信号SwitchBuf进行周期性的切换。按照数据融合表设计好的顺序依次访问1.28M同步输入串口缓冲区、4M 1553B总线数据缓冲区、115.2K异步输入串口缓冲区、38.4K异步输入串口缓冲区等等,并读取指定数量的数据依次填入本次20ms的数据融合表中,重复100次,从而完成表中1~100行数据的填写。数据融合表的数据结构设计成FIFO, 使用FIFO可以平衡快速的组帧状态机和慢速的发送状态机之间的速度差异,使发送的数据流保持在2.56Mbps的波特率之下,持续发送。
(6)发送
数据融合表的发送则由“发送状态机(SendSTM) IP”完成。它以数据融合表FIFO、2.56M发送时钟为输入,一旦启动就不再停止。发送状态机首先查询数据融合表FIFO, 若FIFO为空,则等待;若FIFO不空,则以2.56M/8的固定时钟频率持续读取数据融合表FIFO的数据,再送入“15段加扰器”进行加扰,加扰后的数据和时钟经RS-422驱动电路转化为RS-422差分形式发送给加密器,即2.56M输出。
(7)1.28M同步输入串口故障检测
FPGA中的故障检测单元(FDU)负责检测1.28M同步输入串口的输入信号是否正常。当故障检测单元FDU发现1.28M同步输入串口产生的SwitchBuf信号的周期和晶振产生的20ms时钟周期误差超过△T(如±2ms),则认为1.28M同步输入串口故障,立即将SwitchBuf信号切换到由晶振分频产生的20ms时钟上。
系统仿真
以下为相关软件对系统主要功能进行的仿真:
数据融合表的结构为100行,64列,第1-32列为高速同步接口数据,第33-50列为总线数据,第51、52列分别为115.2K、38.4K接口数据,还有少量模拟量数据、全帧计数、同步码组等。
用FPGA代替常规处理器实现多路数据的采集、融合并实时发送,利用FPGA丰富的可编程逻辑资源和内部存储器进行逻辑设计,大大减少了外围元器件种类和数量,提高了系统的处理和I/O带宽。
同时,FPGA在航天领域的应用也推动了可编程技术的发展。
115.2K异步串行输入通道由FPGA的UART IP核完成串行输入数据的接收.缓冲区由一个FIFO组成。组帧状态机会随时查询该FIFO空满状态,若不空,则就开始连续的读取过程,每间隔200μs从FIFO中读取一个数据并按照规定格式和位置填入数据融合表,直到该FIFO的数据取完为止,若为空,则新帧对应通道的位置数据填零。
(4)组帧
组帧工作即遥测数据的数据融合,将各路遥测信息按照给定的数据融合格式组织成一个完整的100帧(1帧200us,100帧20ms)格式进行发送,该功能由设计在FPGA内部“组帧状态机(MFSTM)IP”完成。
(5)数据融合表
上电复位后,组帧状态机MFSTM等待同步锁定信号Sync Locked=“1”后开始工作,并根据20ms缓冲区切换信号SwitchBuf进行周期性的切换。按照数据融合表设计好的顺序依次访问1.28M同步输入串口缓冲区、4M 1553B总线数据缓冲区、115.2K异步输入串口缓冲区、38.4K异步输入串口缓冲区等等,并读取指定数量的数据依次填入本次20ms的数据融合表中,重复100次,从而完成表中1~100行数据的填写。数据融合表的数据结构设计成FIFO, 使用FIFO可以平衡快速的组帧状态机和慢速的发送状态机之间的速度差异,使发送的数据流保持在2.56Mbps的波特率之下,持续发送。
(6)发送
数据融合表的发送则由“发送状态机(SendSTM) IP”完成。它以数据融合表FIFO、2.56M发送时钟为输入,一旦启动就不再停止。发送状态机首先查询数据融合表FIFO, 若FIFO为空,则等待;若FIFO不空,则以2.56M/8的固定时钟频率持续读取数据融合表FIFO的数据,再送入“15段加扰器”进行加扰,加扰后的数据和时钟经RS-422驱动电路转化为RS-422差分形式发送给加密器,即2.56M输出。
(7)1.28M同步输入串口故障检测
FPGA中的故障检测单元(FDU)负责检测1.28M同步输入串口的输入信号是否正常。当故障检测单元FDU发现1.28M同步输入串口产生的SwitchBuf信号的周期和晶振产生的20ms时钟周期误差超过△T(如±2ms),则认为1.28M同步输入串口故障,立即将SwitchBuf信号切换到由晶振分频产生的20ms时钟上。
系统仿真
以下为相关软件对系统主要功能进行的仿真:
图4 ISE编译后得出的FPGA资源利用情况
图5 数据融合表的仿真结果
数据融合表的结构为100行,64列,第1-32列为高速同步接口数据,第33-50列为总线数据,第51、52列分别为115.2K、38.4K接口数据,还有少量模拟量数据、全帧计数、同步码组等。
图6 数据融合表输入及输出的对比
图7 2.56M发送数据
用FPGA代替常规处理器实现多路数据的采集、融合并实时发送,利用FPGA丰富的可编程逻辑资源和内部存储器进行逻辑设计,大大减少了外围元器件种类和数量,提高了系统的处理和I/O带宽。
同时,FPGA在航天领域的应用也推动了可编程技术的发展。
总线 FPGA Atmel ARM 电路 仿真 Xilinx 电压 电流 相关文章:
- 一种新型防伪读码器的设计(01-01)
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 基于FPGA安全封装的身份认证模型研究(05-27)
- 高精度压力测控系统的试验研究(04-08)