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

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

猜您喜欢

贴片电阻上的标识R010代表其阻值为0.01欧姆,也就是10毫欧姆。电子元件中,特别是贴片电阻,为了节省空间,通常采用数字和字母组合的简写方式来表示阻值。 R代...
2024-11-29 10:25:40

采样电阻作为重要的测量元件,应用于电流检测和信号采集。合美电机(HERMEI)作为知名的电机及配套设备制造商,其产品线中涵盖了多种采样电阻。本文将围绕合美电机(...
2021-12-03 13:24:24

当今电子产业蓬勃发展的背景下,可调电容作为关键元件,其市场需求日益增长。那么,国内是否具备生产可调电容的能力呢?本文将为您揭晓答案,并探讨几家代表性的企业及其产...
2025-03-26 06:00:02

十字槽大扁头自攻螺钉是常见的紧固件,应用于木材、塑料和金属等材料的连接。其主要参数包括螺纹直径、螺纹长度、头部直径和材质等。螺纹直径通常有多种规格可供选择,如3...
2019-09-28 00:00:00

隔离式I2C(带电源)是用于数据传输的接口技术,旨在实现微控制器与外部设备之间的安全通信。与传统的I2C接口不同,隔离式I2C通过电气隔离技术,确保了信号传输的...
2021-12-16 00:00:00

电子元件品牌繁多,而丽景电子作为电流检测电阻领域的佼佼者,其品牌归属一直是业界关注的焦点。本文将深入探讨丽景电子的品牌背景、产品特点、市场定位以及其在全球电子产...
2019-09-10 22:49:30

在电子领域,贴片电阻是必不可少的元器件。选用合适的贴片电阻时,了解其封装尺寸至关重要。您经常会看到类似「0603」或「0805」这样的数字组合,但有时也会遇到用...
2025-04-14 15:03:37

NTC热敏电阻(Negative Temperature Coefficient Thermistor)是一种对温度变化非常敏感的电阻元件,温度的升高,其电阻值...
2025-03-19 03:00:34

贴片电阻由于体积小,无法像传统电阻一样直接印上阻值,因此采用特殊的编码方式来表示阻值。主要有以下三种:三位数字码: 最常见的表示法。前两位数字表示有效数字,第三...
2024-11-26 11:29:34

接触调压器是重要的电气设备,应用于电力系统中。主要作用是调节和稳定电压,确保电力供应的安全与可靠。通过调整电压水平,接触调压器能够有效防止电压过高或过低对用电设...
2009-05-15 00:00:00