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

时间:2025-11-01  作者: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码的设计实用、方便、简单易行。

猜您喜欢

现代电子设备中,保护电路免受过压和瞬态电压干扰是非常重要的。TVS(瞬态电压抑制器)管和稳压二极管是两种常见的保护元件。尽管在某些方面有相似之处,但在功能和应用...
2025-04-01 07:32:00

粘度计是测量液体粘度的重要仪器,市面上有多种类型,主要包括旋转粘度计、落球粘度计和毛细管粘度计等。之间的区别主要体现在测量原理、适用范围和精度上。旋转粘度计通过...
2019-06-09 00:00:00

模拟类免费验证板是应用于电子设计和开发的工具,帮助工程师快速验证电路设计的可行性。选择合适的验证板时,以下几个参数尤为重要。信号带宽是关键参数。高带宽能够支持更...
2010-10-11 00:00:00


空调是夏天必需品,电容是重要部件。电容的正负极,影响空调的工作。理解电容的正负极很重要。本文将深入探讨空调电容的正负极。电容的基本概念电容是储存电能的元件。能在...
2025-03-28 07:01:39

汽车保险丝作为保护电路安全的重要元件,其质量和性能受到关注。SEISO作为知名的汽车保险丝品牌,凭借高品质的产品和完善的服务,在市场中占据了一席之地。本文将全面...
2021-03-16 08:01:30

贴片电阻上的30b标识代表其阻值。其中,30代表有效数字,而b代表乘数因子。字母b对应的是10的1次方,也就是10。因此,贴片电阻30b的阻值计算方法为:30 ...
2024-11-29 10:26:29

黑色贴片电阻在电子电路中十分常见,但对于初学者来说,如何快速识别其阻值可能是个难题。其实,通过观察电阻表面的色环或数字编码,就能轻松判断黑色贴片电阻的阻值。大多...
2024-11-29 10:25:52

光纤传感器因其高灵敏度和抗干扰能力,应用于多个领域。在工业检测领域,光纤传感器可以实时监测温度、压力和位移,确保设备安全运行,提升生产效率。在建筑工程中,光纤传...
2012-07-11 00:00:00

离心风机是常见的通风设备,应用于工业和民用领域。根据结构和用途的不同,离心风机可分为多种类型。按叶轮形状分类,主要有单吸和双吸型。单吸型风机叶轮只在一侧吸气,适...
2011-07-10 00:00:00