航天通信科技论文(2)
航天通信科技论文篇二
某航天产品FPGA通信电路故障的解决方法
摘 要 某航天产品内部脉冲发生器部套主要实现根据主机发送的脉冲参数指令产生相应脉冲波形的功能。原脉冲发生器的工作原理是内部单片机电路接收主机的脉冲参数指令,并发送给内部FPGA电路,FPGA电路解析出脉冲参数,产生相应的脉冲波形。在某次试验过程中,该产品出现了脉冲时序不稳定的现象。本文从设计原理入手,剖析了故障原因,并详细介绍了一种提高脉冲发生器可靠性的设计方法。
【关键词】FPGA 可靠性设计
脉冲发生器是某航天产品的核心部件,脉冲发生器能否稳定产生正确的脉冲,直接影响产品性能。
在某次试验过程中,该产品出现了脉冲时序不稳定的现象。经过分析、研究、试验最终发现了问题的原因,确定了有效的解决方案,提出了一种提高脉冲发生器可靠性的设计方法。
本文从脉冲发生器设计原理进行剖析,说明原设计存在的问题,详细介绍优化后的设计原理和设计实现,可作为同类型设计的参考。
1 脉冲发生器工作原理
脉冲发生器接收主机发送的RS-232串口通信指令数据,经过数据解析得到脉冲参数,并产生相应的脉冲波形。脉冲发生器功能框图如图1所示。
2 原脉冲发生器设计原理
原脉冲发生器设计原理如图2所示。
2.1 主机向单片机发送脉冲参数数据帧
主机以RS232串口通信方式将脉冲参数数据帧发送给脉冲发生器中的单片机(MCU),单片机将接收到的数据保存在内部RAM存储器中。
2.2 单片机向FPGA发送脉冲参数数据帧
当接收完一帧数据后,单片机将数据原样写入FPGA内部双端口RAM。单片机工作频率为11.0592MHz,单片机以11.0592MHz的刷新速率对FPGA内部双端口RAM地址总线和数据总线进行数据更新;FPGA工作频率为100MHz,FPGA内部双端口RAM以100MHz的采样速率读取地址总线和数据总线上的数据,并将采样数据写入RAM相应存储单元内。
2.3 FPGA解析脉冲参数,生成脉冲波形
单片机向FPGA发送完一帧数据后,向FPGA发送“写完成”信号,FPGA收到“写完成”信号后,读取内部双端口RAM中的数据,进行数据解析得到脉冲参数,生成相应的脉冲波形。
3 原设计存在的问题
单片机对FPGA内部双端口RAM地址总线和数据总线刷新速率为11.0592MHz,双端口RAM对地址总线和数据总线的采样速率为100MHz,FPGA内部双端口RAM的写操作频率和读操作频率为异步频率,存在跨时钟域问题,如图3所示。
EDA设计中,稳定可靠的数据采样必须遵从以下两个基本原则:
(1)在有效时钟沿到达前,数据输入至少已经稳定了采样寄存器的Setup时间之久,这条原则简称满足Setup时间原则;
(2)在有效时钟沿到达后,数据输入至少还将稳定保持采样寄存器的Hold时间之久,这条原则简称满足Hold时间原则。
当触发器的Setup时间或者Hold时间不满足,比如触发器时钟沿在数据变化沿口时,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间内处于不确定的状态,在这段时间内Q端产生毛刺并不断振荡,最终固定在某一电压值,此电压值并不一定等于原来数据输入端D的数值,这段时间称为决断时间(Resolution time)。经过Resolution time之后Q端将稳定到0或1上,但究竟是0还是1,这是随机的,与输入没有必然的关系。亚稳态有可能会导致逻辑误判,如图4所示。
根据上述分析,由于FPGA内部双端口RAM数据输入时钟和数据采样时钟异步,当采样时钟偏离到数据的沿口时,最终可能对数据进行误判,造成FPGA内部双端口RAM存储数据出错,从而导致最终产生的脉冲波形时序错误。
同时,原设计中将单片机作为中间桥梁实现主机与FPGA之间RS232通信的设计方法不是常规的、成熟的、定型的设计方法,没有充分发挥FPGA的功能,浪费了资源,使得RS232通信设计复杂化,降低了通信的可靠性。
4 脉冲发生器优化设计
针对原设计存在的不足,对脉冲发生器原设计方案进行优化。优化后的设计原理如图5所示。
如图5所示,优化后的脉冲发生器取消了单片机的使用,通过FPGA实现RS232通信功能、脉冲参数解析功能和脉冲波形发生功能,达到了以下目的:
(1)取消单片机与FPGA的通信,规避了异步时钟域导致的逻辑误判的技术风险。
(2)取消单片机后,脉冲发生器硬件电路得到简化,元器件种类数量减少,提高了脉冲发生器的基本可靠性,降低了维修工作量和成本。
(3)取消单片机后,单片机嵌入式软件也随即取消,精简了脉冲发生器配套软件数量,减少了软件配置项维护的工作量,有利于软件研制过程中对技术状态的控制与管理。
4.1 基于FPGA的RS232通信接口电路设计
基于FPGA的RS232通信接口电路原理图如图6所示。
图6中MAX3232是RS232通信电平转换芯片,其工作电压为3V~5.5V,外部仅需4个0.1μF的电容就能实现RS232标准电平和FPGA TTL电平之间的双向转换,在数据传输速率方面,MAX3232能够保证120kbps的波特率。TTL_IN为FPGA RS232通信发送信号,信号电平为3.3V;TTL_OUT为FPGA的RS232通信接收信号,信号电平为3.3V信号。
4.2 基于FPGA的RS232通信软件设计
4.2.1 RS232通信数据格式
RS232通信属于异步通信,异步通信数据传送的特点是同一字符内是同步的,而字符间是异步的,因此收发双方取得同步的方法,是字符格式中设置起始位(低电平)和停止位(高电平)。脉冲发生器RS232通信数据格式如图7所示。 脉冲发生器RS232通信每个字符包含10位数据,波特率为9.6kbps。起始位为逻辑“0”,表示一个字符传输开始。数据位紧接着起始位之后,共有8位,低位在前。停止位为逻辑“1”,表示一个字符传输结束。空闲位始终处于逻辑“1”状态,表示当前线路上无数据传输。
一组完整的脉冲参数数据帧包含38个字符,第1个字符为帧头,表示一帧数据传输开始,第38个字符为帧尾,表示一帧数据传输结束,中间36个字符为有效数据,解析后得到脉冲参数。
4.2.2 FPGA实现RS232通信数据接收
FPGA接收RS232数据的大致过程为:空闲状态,线路处于高电平;当检测到线路的下降沿时表示接收到字符起始位,按照9.6kbps的速率从低位到高位接收8位数据位。当接收到的字符为帧头时,开始接收36字符有效数据,当接收到的第38个字符是帧尾时,完成1组脉冲参数数据帧的接收。
(1)RS232接收数据采样时钟。为了提高数据采样的分辨能力和抗干扰能力,FPGA对接收数据的采样频率设置为波特率的16倍(可以更高),即1个字符的每1位采样16次,并且取每1位第8个采样点作为该位逻辑值的判决点。每个字符从检测到起始位下降沿开始,共采样160次。
FPGA采样频率与16倍波特率可以存在一定的偏差,工程上常要求满足1%以下,能够保证不会因采样频率偏差的累计导致错位,并且字符每1位的判决点都能落在数据判决的有效位置。
由于FPGA的工作主时钟频率为100MHz,按照上述原则,对主时钟进行651分频,作为RS232接收数据的采样时钟。
(2)单个字符接收。按照接收数据采样时钟频率对传输线上的数据进行采样,当检测到逻辑值由“1”变为“0”时,表明接收到字符起始位,计数器cnt1和字符接收标志置为“1”,之后每隔1个采样周期cnt1加1。字符接收标志为“1”时,说明正在接收字符,此时如果检测到逻辑值由“1”变为“0”时,不作响应。当cnt1的值为24时,采样值为D0;当cnt1的值为40时,采样值为D1;以此类推,当cnt1的值为136时,采样值为D7。当cnt1为152时,采样到停止位,此时将字符接收标志置为“0”,等待下一个字符出现。
(3)一帧数据接收。当单个字符接收完毕后,判断该字符是否为帧头,若为帧头,将计数器cnt2和帧接收标志置为“1”,之后不再判断帧头,每接收完一个字符,cnt2加1。当cnt2的值为38时,判断该字符是否为帧尾,若为帧尾,将帧接收标志置为“0”,等待下一帧数据,同时将接收到的有效数据字符送给后级脉冲参数解析功能模块。若不为帧尾,则该帧数据无效,将帧接收标志置为“0”后等待下一帧数据。
5 脉冲发生器优化设计验证
5.1 FPGA软件验证
对优化后的FPGA软件进行了以下验证工作:
(1)对软件RS232串口通信功能模块进行人工走查,通过人工走读的方式对软件编码规则和软件逻辑功能进行检查;
(2)对FPGA软件进行仿真测试,通过ModelSim仿真工具对软件RS232串口通信功能、性能以及串口通信功能模块与后级脉冲参数解析功能模块之间接口关系正确性进行测试;
(3)对FPGA软件进行硬件确认测试,将软件固化在FPGA中,在常温及高低温条件下,对脉冲发生器提供测试激励,通过示波器观察输出波形。
经测试,FPGA软件RS232串口通信功能模块功能、性能符合设计要求;与脉冲参数解析功能模块之间接口关系正确;软件固化后,脉冲发生器功能正确,性能稳定;同时FPGA资源使用率和时序关系满足相关余量要求。
5.2 脉冲发生器试验验证
优化后的脉冲发生器已跟随多个型号通过了高温、低温、振动等环境试验以及系统试验的考核,结果表明脉冲发生器功能正确、性能稳定,各项指标满足设计要求。
6 结论
本文通过对脉冲发生器设计原理进行分析,指出原设计存在的问题:跨时钟域采样可能导致的逻辑错误。针对问题,提出了一种提高脉冲发生器可靠性的设计并详细介绍了优化设计的硬件和软件实现方法。通过对FPGA软件仿真测试、脉冲发生器单板确认测试以及整机试验的验证,证明该优化设计方法正确、有效,解决了原设计存在的技术风险,提高了脉冲发生器脉冲波形的正确性和稳定性。该优化设计可作为同类型设计的参考
参考文献
[1]吴继华,王诚.Altera FPGA/CPLD设计(高级篇)[M].人民邮电出版社,2008.
[2]GJB 451A-2005可靠性维修性保障性术语,2005.
[3]GJB/Z 299C-2006电子设备可靠性预计手册,2006.
[4]航天软件工程实施技术指南及范例[Z].中国航天科技集团公司软件专家组,2005.
[5]徐煜明,韩雁.单片机原理及接口技术[M].电子工业出版社,2005.
[6]何宾.Xilinx FPGA设计权威指南[M].清华大学出版社,2012.
作者单位
上海航天电子技术研究所 上海市 201109
看了“航天通信科技论文”的人还看:
2.通信技术科学论文
3.航天技术论文