关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > FPGA在弹上信息处理机中的应用

FPGA在弹上信息处理机中的应用

作者:方超 龚龙庆 田卫 西安微电子技术研究所时间:2010-05-17来源:电子产品世界收藏

本文引用地址:http://www.eepw.com.cn/article/109046.htm

  如果上电或复位时出现问题,使用缺省参数自动初始化所有参数并自动进行后续工作。

  (2)20ms缓冲区切换信号同步

  完成初始化后,内部的“20ms缓冲区切换信号”生成逻辑,自动执行和“1.28M同步输入串口”的同步过程,同步过程中不向外发送任何数据,一旦同步后,会给出同步锁定信号Sync Locked=“1”,所有通道的数据采集工作均开始,进入遥测信息接收过程。

  (3)遥测信息接收

  通道的数据采集都以内部产生的“20ms缓冲区切换信号SwitchBuf”为20ms周期标志进行缓冲区的切换(双端口),分别为A,B两个缓冲区。

  1.28M通道在20ms内应完成32×100=3200 Bytes的数据接收。并根据字计数器反转当前的SwitchBuf信号。

  4M 1553B通道应由ARM完成4M 1553B总线遥测数据的接收、过滤、打包,形成20ms内约1500 Bytes的遥测数据包填入分配给它的包缓冲区,由FPGA自动生成对应的包长度信息放入一个包长度FIFO中。此后,ARM重新开始下一20ms数据接收工作,如此反复循环下去。组帧状态机(MFSTM)在组帧过程中,一旦发现包长度FIFO不空,就从包缓冲区FIFO中读取对应长度的数据包,按照规定格式和位置填入数据融合表。

  38.4k异步串行输入通道由FPGA的UART IP核完成串行输入数据的接收,IP核根据字间隔是否超过2个字的接收时间来判断是否完成一帧的接收,原理和1553总线数据的接收相同。

  115.2k异步串行输入通道由FPGA的UART IP核完成串行输入数据的接收。缓冲区由一个FIFO组成。组帧状态机会随时查询该FIFO空满状态,若不空,则就开始连续的读取过程,每间隔200ms从FIFO中读取一个数据并按照规定格式和位置填入数据融合表,直到该FIFO的数据取完为止,若为空,则新帧对应通道的位置数据填零。

  (4)组帧

  组帧工作即遥测数据的数据融合,将各路遥测信息按照给定的数据融合格式组织成一个完整的100帧(1帧200ms,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段加扰器”进行加扰,加扰后的数据和时钟经RS422驱动电路转化为RS422差分形式发送给加密器,即2.56M输出。



关键词: 军事电子 FPGA

评论


相关推荐

技术专区

关闭