- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于阵列除法的数据接收/显示模块设计
根据系统要求,脉冲雷达高度表通过RS-422串行输出高度数据,要求数据接收模块实时接收,并显示雷达高度数据。接收模块接收到的高度数据采用二进制(BIN)码表示,而数码管等显示设备需要BCD码(即二进制编码的十进制码),所以二者之间的转换非常必要。
BCD码与BIN码的相互转换比较传统的方法是采用DAA调节指令来实现,需要逐位调节,比较费时。文献[3]提出利用模除,每次移动半字节,使转换效率大为提高,但也仅是软件算法,无法满足数制转换高效率和实时性的要求。文献[4]提出了采用分段查找EPROM的硬件方法,满足点阵记录实时性的要求,但是该算法需要大容量的EPROM。文献[5]利用BCD码与BIN码的逻辑对应关系直接转换,需要经过多级复杂的变换逻辑,面积和时延较差。
为此,本文采用Verilog HDL硬件描述语言将雷达高度数据接收/显示的核心功能集成到XILINX公司的FPGA(XCS200)中,使得整个设计更加紧凑、小巧、稳定和可靠。利用不恢复余数阵列除法快速准确地实现BIN码到BCD码的转换,仅需要少量的移位和加/减法操作,简化实现数制转换中的求余和整除运算。该单元阵列结构规整,不仅节省了面积,适于超大规模集成电路实现需要,而且易向更高进制扩展,具有很高的转换速度。
1 串行高度数据接收/显示模块简介
数字式自动距离跟踪脉冲雷达高度表串行输出的高度数据,首先通过串行高度数据接收模块将串行数据转换为并行报文数据,再通过报文滤波/数据提取模块,提取出高度数据,并根据输出高度数据的时间间隔标识雷达的工作状态,然后BIN码表示的高度数据通过以不恢复余数阵列除法为基础的BIN/BCD码转换模块,转换为适合七段码显示的90BCD码后送到扫描七段码显示控制器,以驱动四位七段共阳极动态显示数码管,如图1所示。
串行高度数据收发模块采用三线制连接方式,通信方式为异步传输,波特率:9 600,数据位:8位,停止位:1位,奇校验,其字符格式及时钟同步检测与采样过程如图2所示。
2 基于不恢复余数阵列除法的二进制到BCD码的转换
提出的BIN码到BCD码的转换算法采用数据除以位权的方式得到千、百、十、个位BCD码,因此除法器的设计是关键。在数字计算中各种除法都可以用下列递归公式来描述:
(1)
这里_j=0,1,…,n-1为递归下标;D为除数;qj+1为小数点右边第j+1位商;r为基数,r×R(j)为部分被除数;R(j+1)为部分余数;R(0)为被除数(初始部分余数);R(n)为最后余数。
除法过程可通过重复应用递归式1来得到证明。
对j=0
上述迭代推导过程说明了除法过程是由一系列加法、减法或移位所组成,对于基数r=2,q…∈{0,1}。
当部分被除数rR(j)不够除数D减时,商qj+1为0,同时补充被除数的下一位,组成更大的部分被除数;如果够减,则该位商为1,在部分被除数rR(j)中减去除数D,然后补充被除数的下一位,直至被除数的每一位都使用到为止。
在除法进行过程中,可使用专门的数据比较器来比较部分被除数rR(j)是否比除数D大(nonperforming算法),或直接用部分被除数减去除数。方式1浪费了专门的数据比较电路,运算延迟加大,降低了运算速度。方式2,当完成了减法操作后,如果不够减,把除数加回到产生的差,以恢复原来余数(恢复余数法);或把产生的差留给下一次运算时再处理(不恢复余数法)。
作者:林华,刘建新 中国工程物理研究院 来源:电子元器件应用
上一篇:电信运营商网管中心桌面虚拟化解决方案
下一篇:数字接口——单端与差动接口对比