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

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

猜您喜欢

变送器是工业自动化中不可少的设备,其主要功能是将物理量转换为标准信号。根据不同的工作原理和应用领域,变送器可以分为多种类型。按测量对象分类,变送器可分为压力变送...
2009-09-05 00:00:00

称量纸是实验室和工业中常用的工具,主要用于称取固体样品。不同类型的称量纸在材质、厚度、抗油性和防潮性等方面存在显著区别。普通称量纸一般由高质量的纸浆制成,适合一...
2009-09-24 00:00:00

手板锯是高效的切割工具,应用于木工、建筑和工艺制作等领域。其主要优势体现在以下几个方面:手板锯的切割精度高,能够轻松处理各种材质,确保切口整齐、光滑。无论是大块...
2011-12-13 00:00:00


贴片电阻,因其小巧的体积,广泛应用于各种电子产品中。但究竟多小呢?其实贴片电阻的尺寸并非单一规格,而是根据封装大小有着不同的尺寸,以毫米(mm)为单位计量。常见...
2025-04-14 15:03:54

电流互感器(CT)是电力系统中重要的测量设备,应用于电流测量、保护和监控等领域。为了确保电流互感器的正常工作,负载电阻的取值非常重要。负载电阻的选择不仅影响互感...
2025-03-17 05:01:39


你是否好奇,电动汽车的心脏——动力电池,是如何保持安全高效运行的?答案就在电池管理系统(BMS),一个默默守护电动出行的隐形卫士。你或许从未听说过,但却无时无刻...
2024-10-18 00:00:00

贴片电阻上的470并不直接代表千欧(kΩ)值。实际上是一个遵循EIA-96标准的代码,表示电阻值为47Ω乘以10的0次方,也就是47Ω。要理解这个代码,需要将4...
2024-11-29 10:26:05

在厨房中,切割板是不可少的工具,但不同材质和设计的切割板各有其特点与用途。木质切割板天然的纹理和温暖的触感受到许多家庭的喜爱,适合切割蔬菜和肉类,且对刀具磨损较...
2025-07-27 00:00:00