基于FPGA器件实现AMI编码器和译码器的设计

时间:2025-06-13  作者:Diven  阅读:0

1、 引 言

基于FPGA器件实现AMI编码器和译码器的设计

现代电子系统设计中,数字系统设计所占的比例越来越大,数字化、集成化是未来系统发展的趋势;CPLD/FPGA作为可编程ASIC器件,将在数字逻辑系统设计中有着越来越重要的作用。在数字通信领域,软件无线电在数字通信中,特别是第3代移动通信中的应用越来越成为研究的焦点,欧洲的ACIS(先进的通信技术与业务)计划,美国的多频带宽式手机与基站系统设计等都将着眼点放在基于软件无线电的第3代移动通信系统上。软件无线电技术与计算机技术融合,也为第3代移动通信系统提供了良好的平台。在实际的数字通信系统中,数字基带传输在应用上虽不如频带传输,但仍有相当多的应用范围。重要的是,数字基带传输的基本理论不仅适用于基带传输,而且还适用于频带传输。本文针对数字基带通信系统中广为应用的AMI码,采用基于FPGA在Max+plusII平台上进行设计与实现。

2 、AMI编码器VHDL设计

2.1 AMI码的设计

实际的基带传输系统,含有丰富直流和低频成分的基带信号不适宜在信道中传输。而对具有易获取定时信息、无直流成分和只有很小的低频成分、以及具有内在纠错能力的信号才适宜在基带传输系统中传输。AMI码、HDB3码均具有这些特点,因而应用。

AMI码编码规则:代码中的0仍为传输码0,而把代码中的1交替地变为传输码的+1-1+1-1,…。据AMI码的编码规则和特点,在对进行建模时,由于系统是基于CPLD/FPGA构成的模块,其输入、输出信号为TTL电平,即为单极性信号,而AMI码信号为双极性归零信号,而HDB3编码输出类似,因而须将输入的单极性信号转换成输出的双极性信号。为实现AMI编码功能,需将软、硬件混合设计,其功能模块分为两大部分,一部分通过VHDL语言建模和编程实现;另一部分通过由单/双极性变换电路来实现。AMI编码器组成框图如图1。

图1的第一个方框的功能表示传号(即信码“1”)交替代码识别与极性控制,根据编码规则,代码中的0认为传输码0,而把代码中的1交替地交换为+1和-1(或-1和+1)。考虑到+1和-1不能直接通过FPGA/CPLD来实现,而是通过外围的单/双极性变换电路来实现,首先建立识别符号来代替+1、-1和0。按此建模思想,可得到单/双极性控制的功能如表1。

在编码过程中要考虑的问题是,如何把消息码中的0变为控制码“00” ;把消息码中的1交替的变为控制码“01”和“10” 。具体设计思路:建立一个功能模块电路,当输入为0时,数据选择器输出为“00”,当输入为1时,设置一个偶数计数器记录1的个数,当计数器记数为偶数,使数据选择器输出为“10”(或“01”),若计数器记数为奇数,则使数据选择器输出为“01”(或“10”)。

2.2 AMI编码器的实现流程图

根据“+1” 、“-1”的极性判断并通过给外围的单/双极性变换电路S2(4) 、S1(4) 、S0(4)的赋值来输出0、-1、+1。

在程序输入完毕并编译通过的情况下,选择图形编辑并在编辑区输入程序实体名,就可以出现程序实体框图如图4,此图看起来就像一个黑箱子,在外观上只有简单的输入、输出端口。双击此图形,便可以出现最开始输入的程序。这个图形实现的功能和程序实现的一样,可以下载到CPLD的实验箱的硬件设备上,从硬件效果上可看到实验效果。

2.3 AMI编码器的仿真结果与分析

仿真波形最后的输出结果“codeout”并不是“0”、“+1”、或“-1”的多电平变化的波形,实际上是一组地址控制码,在极性转换电路中选中不同的通道,即可实现单极性到双极性的转换。图5是一路信码经过(原码输入codein:100001000011000011000010)正、负交替编码变换后最终的输出波形仿真。根据AMI编码原则主要是将信号输入码流中的非零码转换成交替的“+1”和“-1”码,而其中的0码不变。

由图5可知:codeout0表示“-1” 码波形,codeout0由codeoutv1.Q和codeoutv2.Q的波形叠加而成。当codeoutv1.Q和codeoutv2.Q同为高电平时,codeout0输出为“ –1” 码,显示为高电平,否则输出为0,显示为低电平; codeout1表示“+1”码波形,codeout1由codeoutb1.Q和codeoutb2.Q的波形叠加而成。当codeoutb1.Q和codeoutb2.Q同为高电平时,codeout1输出为“+1” 码,显示为高电平,否则输出为0,显示为低电平;codeout用三位二进制码表示AMI码的编码结果(“0”表示原信号的“0” 码,其中1码表示“-1” ,其中2码表示“+1”)。但在编码过程中,由于基带传输系统都是从接收到的基带信号中提取位同步信号,而位同步信号却又依赖于代码的码型,如果代码出现长时间的连 “0” 符号,则基带信号中长时间出现 0 电位,从而使位同步恢复系统难以保证位同步信号的准确性,产生的结果是编码器输出结果最后促使正、负变换过程中触发沿改变,使“-1” 、“+1”的极性错误地改变。

3、 AMI译码器的VHDL设计

3.1 AMI译码器设计原则

AMI码译码原理:把输入的消息码流中的非零码转换成交替出现的+1和-1码,而0码不变。在译码过程中要考虑的问题是,如何把消息码中的“00”变为控制码0;把消息码中的交替的“01”和“10”变为控制码1。具体建模思路:建立一个功能模块电路,当检测到“00”时,数据选择器输出为0,当输入为“10”或“01” 时,使数据选择器均输出为1。输出结果中1码没有正、负性的区分。

3.2 AMI译码器的仿真结果与分析

图6中zb是含有“+1”的输入码流: +1000000000+100000+100000;fb是含有“-1”的输入码流----00000-100000-100000-100000;clk是表示时钟输入;V2、V3表示时钟信号的提取;decode表示译码输出:1000010000110000110000。Zb和fb在orl功能器件(即加法器)的作用下叠加而成decode。功能元件zv和fv检测到非“+1” 、“-1”的正信号就输入为0。

整个系统程序编译成功后,可以创建顶层文件,生成下载编程文件,进行程序下载到可编程器件中。

4 、结 论

现代通信系统的发展随着VHDL的设计性语言的出现和ASIC的应用进入了一个新的阶段,特别是,对数字通信系统的ASIC芯片的研究为现代通信系统的设计有着重要的实践性意义。本文作者创新点在于针对数字基带传输系统中AMI码的特点,采用基于CPLD/FPGA的VHDL语言,仿真实现了AMI的编码器和译码器。仿真结果表明,采用基于FPGA的AMI码的设计实用、方便、简单易行。

猜您喜欢



贴片电阻,电子产品中不可或缺的小元件,其阻值并非随意标注,而是通过一套精准的算法计算得出。这套算法主要基于电阻的物理特性和生产工艺,确保每个电阻的阻值都落在预设...
2024-11-26 11:29:39

在选择排容时,规格尺寸是一个不可忽视的重要因素。排容的规格尺寸直接影响到其适用性和安装的便捷性。通常,排容的尺寸包括高度、宽度和深度等参数,这些都需要根据具体的...
2008-11-24 00:00:00

防护面具及配件的参数主要包括材质、过滤效率、密合性、舒适度和使用寿命等几个方面。材质是选择防护面具的重要因素,常见的有聚合物、橡胶和纤维材料等,这些材料具有良好...
2009-09-09 00:00:00


TO263-7是一种广泛应用于功率器件的封装类型,以其出色的散热性能和便捷的安装方式而受到电子工程师的青睐。随着电子设备对功率和散热要求的不断提高,TO263-...
2025-02-24 15:36:27

现代科技迅速发展的时代,配件成为了提升设备性能的重要组成部分。“Accessories_35X6.35MM_TM”是一种广泛应用于多个领域的配件,特别是在机械和...
2025-02-27 00:03:27

数码时代,手机已经成为我们生活中重要的一部分,而手机充电器作为其重要的伙伴,也引发了大家的思考:到底有没有必要单独购买呢?答案并非绝对,需要根据您的具体情况而定...
2024-07-25 00:00:00

尖头圆锉是常用的手工工具,应用于木工、金属加工和模型制作等领域。其规格尺寸通常根据使用需求和加工对象的不同而有所变化。尖头圆锉的长度通常在150mm到300mm...
2017-09-27 00:00:00