您好,欢迎来到赴品旅游。
搜索
您的当前位置:首页数字基带信号发生器的设计

数字基带信号发生器的设计

来源:赴品旅游


数字基带信号发生器的设计

摘要:设计一个基于FPGA的数字基带信号发生器,首先简要介绍了单极性非归零码、双极性非归零码、单极性归零码、双极性归零码、差分码、交替极性码、分相码、传号反转码、三阶高密度双极性码等基带码的基本特点,然后根据码型转换原理设计发生器模块。由于EDA技术可以简化电路,集成多块芯片,减小电路体积,所以程序采用VHDL进行描述,并用maxplusII软件仿真实现所有功能,最后将功能集成到FPGA上,并设计电路、制作实物,产生的基带码稳定、可靠,可满足不同数字基带系统传输需要。

关键词:数字基带码;EDA;VHDL;PCB;FPGA

Digital base-band signal generator design

Profession:Electronics and information science and technology

Author:DengChuxian instructor:ZhanJie

Abstract: FPGA-based design a letter-number generator with, first of all we briefly introduce unipolar NRZ code, bipolar NRZ, Unipolar zero yards code, bipolar zero yards code, differential code , alternating polarity code, phase code, code-reversal, and third-order high-density bipolar codes etc. Then we design generator module under the code-conversion design principles. As EDA technology can make circuit simple, integrate multiple chips, reduce the size of circuits, so we take advantage of VHDL to describe it and use maxplusII software to simulate .Finally we integrate all the fetures into the FPGA, and design circuit to generate stable and reliable base-band code to meet the different base-band digital transmission system needs.

Key words: digital base-band code; EDA; VHDL; PCB; FPGA

目 录

1

摘要..................................................................................I Abstract...............................................................................I 1 数字基带信号........................................................................3 1.1 数字基带信号的码型设计原则......................................................3 1.2 非归零码(NRZ码).................................................................3 1.2.1 单极性.......................................................................3 1.2.2 双极性.......................................................................3 1.3归零码(RZ码).....................................................................3 1.3.1 单极性.......................................................................4 1.3.2 双极性.......................................................................4 1.4 差分码..........................................................................4 1.5 交替极性码(AMI码)...............................................................5 1.6 分相码(曼彻斯)...............................................................5 1.7 传号反转码(CMI码)...............................................................5 1.8 三阶高密度双极性码(HDB3码)......................................................6 2 EDA概述............................................................................6 2.1 硬件描述语言....................................................................7 2.1.1 Verilog-HDL...................................................................7 2.1.2 VHDL........................................................................7 2.2 可编程逻辑器件..................................................................8 2.3 EDA软件.........................................................................8 3 软件与硬件的设计....................................................................9 3.1 VHDL程序设计...................................................................9 3.2 模拟电路的设计.................................................................14 3.2.1 电源的设计..................................................................14 3.2.2 时钟信号的产生..............................................................15 3.2.3 CC4052双4选1模拟开关.......................................................15 3.3 PCB制作........................................................................17 4 总结...............................................................................18 参考文献.............................................................................19 致谢.................................................................................19

1 数字基带信号

2

数字基带信号是数字信息的一种表现形式,被用于数字基带传输系统。可以用不同电压或电流的代码来表示基带码。不同形式的基带码具有不同的频谱结构,合理地设计基带码是基带传输首先要考虑的问题[1]。

1.1 数字基带信号的码型设计原则[2]

(1)对于传输频率很低的信道来说,线路传输码型的频谱中应不含直流分量。

(2)可以从基带信号中提取位定时信号。在基带传输系统中,需要从基带信号上提取位定时信息,这就要求编码功率谱中具有位定时线谱。

(3)要求基带编码具有内在检错能力。

(4)码型变换过程应具有透明性,即与信源的统计特性无关。

(5)尽量减少基带信号频谱中的高频分量。这样可以节省传输频带,提高信道的频谱利用率,还可以减少串扰。

1.2 非归零码(NRZ码) [1][3]

非归零码分为两种,即单极性和双极性。

1.2.1单极性:这种传输码的零电平与正电平(或负电平)分别对应于二进制代码中的“0”码与“1”码。他的特点是:脉冲极性单一,有直流分量;脉冲波的占空比为100%,即一个脉冲持续的时间等于一个码元的宽度,在整个码元期间电平保持不变。该码经常在近距离传输时被采用。

图1-1 单极性非归零码

1.2.2 双极性:这种传输码的正、负电平分别对应于二进制代码中的“1”码与“0”码。从信号的一般统计规律看,由于“1”码与“0”码出现的概率相等,所以这种传输码的平均电平为零,即无直流分量。这样在接收端恢复信号时,其判决电平可取为0V,因而可消除因信道对直流电平的衰减而带来判决电平变化的影响。这种传输码还有抗干扰能力强的特点。该码常在CCITT的V系列接口标准或RS232C接口标准中使用。

图1-2 双极性非归零码

1.3 归零码(RZ码) [1][3]

归零码也分为两种,即单极性和双极性。

1.3.1 单极性:与单极性非归零码不同,发送“1”时在整个码元期间高电平只持续一段时间,在码

3

元的其余时间内则返回到零电平,即此方式中,在传送“1”码时发送一个宽度小于码元持续时间的归零脉冲;传送“0”码时不发送脉冲。其特征是所用脉冲宽度比码元宽度窄。主要优点是可以直接提取同步信号。单极性归零码脉冲间隔明显,有利于减小码元间的波形干扰和提取同步时钟信息,但由于脉宽窄,码元能量小,匹配接收时的输出信噪比要比NRZ码低。

图1-3 单极性归零码

1.3.2 双极性:这种传输码与单极性归零码相似,都是脉冲的持续时间小于码元宽度,并且都是在码元时间内回到零值。与单极性归零码不同的是,“1”码与“0”码分别是用正、负两种电平来表示。由于相邻脉冲之间必有零电平区域存在,因此,在接收端根据接收波形归于零电平便知道1b的信息已接收完毕,以便准备下一比特信息的接收。正负脉冲的前沿起了启动信号的作用,后沿起了终止信号的作用,有利于接收端提取定时信号。因此可以保持正确的比特同步,即收发之间无需特别定时,且各符号地构成起止方式。此方式也叫做自同步方式。

图1-4 双极性归零码

1.4 差分码[4]

差分码利用前后码元电平的相对极性变化来传送信息,又称为相对码。这种传输码不是用脉冲本身的电平高低来表示二进制代码的“1”码与“0”码,而是用脉冲波的电平变化来表示码元的取值,即当码元的取值为“1”时,脉冲波的电平变化一次;而当码元的取值为“0”时,脉冲波的电平不变。这种方式的特点是,即使接收端收到的码元极性与发送端的完全相反,也能正确进行判决。采用这种波形传送二进制代码时,可以消除设备初态的影响,尤其对于调相系统来说,可以有效地消除解调时相位模糊的问题。

图1-5 差分码

1.5 交替极性码(AMI码) [4]

4

AMI码名称较多,如双极方式码、平衡对称码、传号交替反转码等。他是CCITT建议作为基带传输系统中的传输码型之一。编码规则是,二进制代码中的“1”码由正、负极性交替的脉冲表示,其脉宽等于码元周期的一半;二进制代码中的“0”码由零电平表示。此方式是单极性方式的变形,即把单极性方式中的“0”码与零电平对应,而“1”码发送极性交替的正、负电平。这种码型实际上把二进制脉冲序列变成为三电平的符号序列(故叫伪三元信号),其优点如下:在“1”、“0”码不等概条件下也无直流成分,且零频附近低频分量小,因此对具有变压器或其他交流耦合的传输信道来说,不易受到隔直特性的影响;若接收端收到的码元极性与发送端完全相反也能正确判决;只要进行全波整流就可以变为单极性码,如果交替极性码是归零的,变为单极性归零码后就可以提取同步信号。由于这些优点,因此他是最常用的码型之一。但当传输信息中存在长连“0”码的情况时,这种传输码将会由于长时间不出现电平跳变,从而给接收端在提取定时信号时带来困难。AMI码在连“0”码过多时提取定时信号有困难。这是因为在连“0”码时AMI输出均为零电平,连“0”码这段时间内无法提取同步信号,而前面非连“0”码时提取的位同步信号又不能保持足够的时间。这是这种传输码的不足之处。

图1-6 交替极性码

1.6 分相码(曼彻斯) [5]

这种码型的特点是每个码元用两个连续极性相反的脉冲表示。如“1”码用正、负脉冲表示,“0”码用负、正脉冲表示。这种码型不论信号的统计关系如何,均完全消除了直流分量,且有较尖锐的频谱特性。同时这种码在连“1”和连“0”的情况下都能显示码元间隔,这有利于接收端提取码同步信号。该码在本地局域网中常被使用。

图1-7 分相码

1.7 传号反转码(CMI码) [4][6]

传号反转码(CMI码)是由CCITT建议、适合于光信道传输的码型之一。他的基本设想是将原来二进制代码序列中的一位码变为两位码,以增加信号的富裕度。CMI码是一种二元码。其具体的编码规则是:二进制代码中的“1”码交替地用“11”和“00”表示;“0”码则固定地用“01”表示。CMI码的特点是电平随二进制数码依次跳变,因而便于恢复定时信号,尤其当用负跳变直接提取定时信号时,不会产生相位不确定问题,具有检测错误的能力。因为在这种传输码中,只有“00”、“11”、“01”这3种码组,而没有“10”这一码组。因此,接收端可根据这一特性对接收码进行检错。该码已被CCITT推荐为

5

PCM(脉冲编码调制)4次群的接口码型。在光缆传输系统中有时也用做线路传输码型。

图1-8 传号反转码

1.8 三阶高密度双极性码(HDB3码) [6]

可以说是为解决AMI码在连“0”过多时,提取同步信号有困难而改进的码型。基本特点和AMI码相同,不同的在于如果出现4个连“0”,则用取代节“000V”或“B00V”代替,其中B是符合交替规律的传号,V是不符合交替规律的传号(破坏节)。若两个相邻的V码中间有奇数个“1”码时则用“000V”代替4个连“0”码,有偶数个“1”码时则用“B00V”代替4个连“0”码,而且“V”码的符号与前面第一个非“0”码的符号相同,“1”码及“B”码的符号与前面第一个非“0”码的符号相反。也可以说“V”码之间是符号交替的,“1”码和“B”码是符号交替的。“V”码和“B”码对应于脉冲,和“1”码一样,脉冲占空比为0.5。

图1-9 三阶高密度双极性码

2 EDA概述

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度[7]。

2.1 硬件描述语言[8]

6

硬件描述语言(HDL)是各种描述方法中最能体现EDA优越性的描述方法。所谓硬件描述语言,

实际就是一个描述工具,其描述的对象就是待设计电路系统的逻辑功能,实现该功能的算法,选用的电路结构以及其他各种约束条件等。通常要求HDL既能描述系统的行为,又能描述系统的结构。HDL的使用与普通的高级语言相似,编制的HDL程序也需要首先经过编译器进行语法,语义的检查,并转换为某种中间数据格式。但与其他高级语言相区别的是,用硬件描述语言编制程序的最终目的是要生成实际的硬件,因此HDL中有与硬件实际情况相对应的并行处理语句。此外,用HDL制程序时,还需注意硬件资源的消耗问题(如门,触发器,连线等的数目),有的HDL程序虽然语法,语义上完全正确,但并不能生成与之相对应的实际硬件,其原因就是要实现这些程序所描述的逻辑功能,消耗的硬件资源将十分巨大。目前主要有以下两种HDL语言[9][10]:

2.1.1 Verilog-HDL:Verilog-HDL语言是在1983年由GDA(Gateway Design Automation)公司的首创的。主要用于数字系统的设计。设计者可以用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证,时序分析,逻辑综合等。它是目前应用最广泛的硬件描述语言之一。其最大优点是与工艺无关性,这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级电路及其工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。实际上,这是利用EDA工具,把逻辑验证与具体工具库匹配,把布线及延时计算由计算机自动完成,从而减轻了设计者的劳动。Verilog-HDL把数字系统当作一组模块来描述,每一个模块具有模块接口以及关于模块内容的描述,一个模块代表一个逻辑单元,这些模块用网络相互连接,相互通信。由于Verilog-HDL是标准化的,所以能把完成的设计移植到不同厂家的不同芯片中去。又由于Verilog-HDL设计的信号位数很容易改变,所以可以通过对信号位数的修改,来适应不同的硬件规模,而且在仿真验证时,仿真测试用例可以用同一种描述语言来完成。

2.1.2 VHDL:VHDL语言是美国国防部于20世纪80年代后期,出于军事工业的需要开发的。1984年VHDL被IEEE确定为标准化的硬件描述语言。1993年IEEE对VHDL进行了修订,增加了部分新的VHDL命令与属性,增强了对系统的描述能力,并公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL已经成为系统描述的国际公认标准,得到众多EDA公司的支持,越来越多的硬件设计者使用VHDL描述数字系统。VHDL涵盖面广,抽象描述能力强,支持硬件的设计,验证,综合与测试。VHDL能在多个级别上对同一逻辑功能进行描述,如可以在寄存器级别上对电路的组成结构进行描述,也可以在行为描述级别上对电路的功能与性能进行描述。无论哪种级别的描述,都可以利用综合工具将描述转化为具体的硬件结构。VHDL的基本结构包含有一个实体和一个结构体,而完整的VHDL结构还包括配置,程序包与库。各种硬件描述语言中,VHDL的抽象描述能力最强,因此运用VHDL进行复杂电路设计时,往往采用自顶向下结构化的设计方法。比较而言,VHDL语言是一种高级描述语言,适用于电路高级建模,综合的效率和效果较好。Verilog-HDL语言是一种低级的描述语言,适用于描述门级电路,容易控制电路资源,但其对系统的描述能力不如VHDL语言。

2.2 可编程逻辑器件[11]

7

可编程逻辑器件(简称PLD)是一种由用户编程来实现某种逻辑功能的新型逻辑器件。它不仅速度

快,集成度高,能够完成用户定义的逻辑功能外,还可以加密和重新定义编程,其允许编程次数可多达上万次。使用可编程逻辑器件可大大简化硬件系统,降低成本,提高系统的可靠性,灵活性。因此,自20 世纪70年代问世以后,就受到广大工程人员的青睐,被广泛应用于工业控制,通信设备,智能仪表,计算机硬件和医疗电子仪器等多个领域。目前,PLD主要分为FPGA(现场可编程门阵列)和 CPLD(复杂可编程逻辑器件)两大类。FPGA和CPLD最明显的特点是高集成度,高速度和高可靠性。高速度表现在其时钟延时可小至纳秒级,结合并行工作方式,在超高速应用领域和实时测控方面有着非常广阔的应用前景;其高可靠性和高集成度表现在几乎可将整个系统集成于同一芯片中,实现所谓片上系统,从而大大缩小了系统体积,也易于管理和屏蔽。

Altera公司是世界上最大的可编程逻辑器件供应商之一。其主要产品有MAX7000/9000,

FLEX10K,APEX20K,ACEX1K,Stratix,Cyclone等系列。Altera公司在20世纪90年代以后发展很快,业界普遍认为其开发工具MAX+plusⅡ是最成功的EDA开发平台之一,QuartusⅡ是MAX+plusⅡ的升级版本。

Xilinx公司是FPGA的发明者,其产品种类较全,主要有XC9500/4000,Spartan,Virtex,Coolrunner(XPLA3)等。Xilinx公司是与Altera公司齐名的可编程逻辑器件供应商,在欧洲用Xilinx器件的人多,在日本和亚太地区用Altera器件的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲,Altera和Xilinx共同决定了PLD技术的发展方向。

Lattice公司是ISP(在系统可编程)技术的发明者,其主要产品有ispL2000/5000/8000,MACH4/5,ispMACH4000等。与Altera公司和Xilinx公司相比,Lattice的开发工具略逊一筹,大规模PLD,FPGA的竞争力也不够强,但其中小规模PLD比较有特色。Lattice于1999年推出可编程模拟器件,现已成为全球第三大可编程逻辑器件供应商。

Actel公司是反熔丝(一次性编程)PLD的领导者。由于其PLD具有抗辐射,耐高低温,功耗低和速度快等优良品质,在军工产品和宇航产品上有较大优势,而Altera和Xilinx公司则一般不涉足军品和宇航市场。 2.3 EDA软件[12]

目前在国内比较流行的EDA 软件工具主要有Altera公司的MAX+plusⅡ和QuartusⅡ,Lattice公司的Expert LEVER和Synario,Xilinx公司的Foundation和Alliance,Actel公司的Actel Designer等,这四家公司的EDA开发软件特性如表2-1所示。

表2-1 EDA开发软件特性

8

厂商 Altera

EDA软件名称 MAX+plusⅡ QuartusⅡ

软件适用器件系列 MAX,FLEX等 MAX,FLEX,APEX等

XC系列

软件支持的描述方式

逻辑图,波形图,AHDL文本,Verilog-HDL

文本,VHDL文本等 逻辑图,VHDL文本等

Xilinx Foundation Alliance

Xilinx各种系列 IspLSI,pLSI, MACH等 MACH GAL,ispLSI,pLSI等

SX系列,MX系列

逻辑图,VHDL文本等 逻辑图,ABEL文本,VHDL文本等

逻辑图,VHDL文本等

Lattice Expert LEVER

Synario

Actel Actel Designer

3 软件与硬件的设计

首先由码型的编码原则实现VHDL的编程,使用maxplusII进行模拟仿真,然后设计模拟电路,实现编码波形,再通过PCB制板,制作实物。

3.1 VHDL程序设计[13][14] 程序如下: library IEEE;

use IEEE.STD_LOGIC_11.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity szjd is

Port (clk : in std_logic; --系统时钟

Start : in std_logic; --始能信号

dat : in std_logic_vector(15 downto 0); --二进制数据输入端 FS : out std_logic;

--帧同步信号输出端

NRZ : out std_logic; --非归零信号输出端 DRZ : out std_logic; --单极性归零信号输出端 SRZ : out std_logic_vector(1 downto 0); --双极性归零信号输出端 AMI : out std_logic_vector(1 downto 0); --交替极性信号输出端

HDB3 : out std_logic_vector(1 downto 0); --三阶高密度双极性码信号输出端 CFM : out std_logic; --差分信号输出端 CMI : out std_logic;

--编码信号反转码信号输出端

FXM : out std_logic); --分相码(曼彻斯)信号输出端

end szjd;

architecture Behavioral of szjd is

9

begin

process(clk,start)

variable latch_dat : std_logic_vector(23 downto 0); --01110010和十六位二进制信号锁存器 variable v : std_logic_vector(1 downto 0);

--V信号的确定位和符号位

variable latch_sig : std_logic; --高位信号锁存器 variable latch_cfm : std_logic; --差分码信号寄存器

variable latch_cnt,C,B,fss : std_logic; --基带码同步信号,C HDB3符号位,B 确定电位B variable count_fri : integer range 0 to 8;

--分频计数器(码宽定义)

--移位计数器

variable count_mov : integer range 0 to 24;

variable cz : integer range 0 to 4; --零记数 begin

if start='0' then latch_cnt:='0'; --异步复位

latch_cfm:='0'; latch_sig:='0';C:='1';cz:=0;fss:='0'; count_fri:=7;count_mov:=24; --异步置位 latch_dat:=\"000000000000000000000000\";

elsif rising_edge(clk) then count_fri:=count_fri+1; --分频计数器+1

if count_fri=8 then count_fri:=0; --计数到8

if count_mov=24 then latch_dat:=\"01110010\"&dat;count_mov:=0;C:='1';cz:=0;fss:='1'; --载入下

一轮将发送的数据

latch_cfm:='0';latch_sig:='0';latch_cnt:='0';v(1):='0'; --寄存器复位

end if;

if count_mov<24 then count_mov:=count_mov+1; --移位计数器+1

latch_sig:=latch_dat(23); --二进制码高位移入latch_sig中 if cz=4 then cz:=cz-4; end if; B:='0';

if latch_dat(23 downto 20)=\"0000\" and count_mov<21 and cz=0 then

if v(1)='0' then v(0):=not(latch_cfm);C:=not(latch_cfm);v(1):='1'; else v(0):=not(v(0)); end if;

if v(0)/=C then B:='1';C:=not(C); end if;

end if;

latch_dat:=latch_dat(22 downto 0)&'0'; --二进制数据向高位移动一位,低位补零

10

if latch_sig='0' then cz:=cz+1; end if;

end if;

if latch_sig='1' then latch_cfm:=not(latch_cfm);C:=not(C);cz:=0; --差分码信号寄存器

中信号取反

end if; end if;

if count_fri<4 then latch_cnt:='1'; else latch_cnt:='0'; end if;

if count_mov=9 then fss:='0'; end if;

--基带码同步信号的占空比调节

end if; --码形转换部分

NRZ<=latch_sig; --非归零码信号 DRZ<=latch_sig and latch_cnt; --单极性归零码信号 SRZ(0)<=latch_cnt; --双极性归零码信号 SRZ(1)<=not(latch_sig); --SRZ(1)='1'表示负极性 AMI(0)<=latch_sig and latch_cnt; --极性交替码信号

AMI(1)<=not(latch_cfm); --AMI(1)='1'表示负极性 CFM<=latch_cfm; --差分码信号 FXM<=latch_cnt xnor latch_sig; --分相码信号 FS<=fss;

--帧同步信号

if latch_sig='1' then CMI<=latch_cfm; --编码信号反转码 else CMI<=not(latch_cnt); end if;

if B='1'or cz=4 then HDB3(0)<=latch_cnt; --三阶高密度双极性码信号 else HDB3(0)<=latch_sig and latch_cnt; end if; HDB3(1)<=C;

end process; end Behavioral;

设计的器件形状如图3-1,有3输入,9输出。CLK是时钟信号输入,START是始能输入,高电平有效,DAT是16位2进制数据输入,FS是帧同步信号输出,NRZ是非归零码输出,DRZ是单极性归零码输出,SRZ是双极性归零码输出,高位作为符号位,0为正,1为负,AMI是极性交替码输

11

出,高位作为符号位,0为正,1为负,HDB3是三阶高密度双极性码输出,高位作为符号位,0为正,1为负,CFM是差分码输出,CMI是编码信号反转码输出,FXM是分相码(曼彻斯)输出。

图3-1 器件模型

然后通过模拟仿真,得到各种数字基带信号的波形如下:

图3-2 NRZ的仿真波形

从图3-2可以看出,START为高电平时,开始编码,每8个时钟信号作为一个码元,上升沿触发,输入数据为0001000000001000,FS作为帧同步信号,每次跳变为高电平时表示帧的开始,且高电平期间输出的是0和7位巴克码1110010,SRZ0作为位同步信号,跳变一次为一个码元,可以看出NRZ输出符合单极性非归零码的编码规则,其输出数据为011100100001000000001000。

图3-3 DRZ的仿真波形

从图3-3可以看出,与前面相同,DRZ输出符合单极性归零码的编码规则。

12

图3-4 CFM的仿真波形

从图3-4可以看出,与前面相同,CFM输出符合差分码的编码规则。

图3-5 CMI的仿真波形

从图3-5可以看出,与前面相同,CMI输出符合传号反转码的编码规则。

图3-6 FXM的仿真波形

从图3-6可以看出,与前面相同,FXM输出符合分相码的编码规则。

图3-7 SRZ的仿真波形

从图3-7可以看出,与前面相同,SRZ1作为SRZ的符号位,高电平表示负极性,再通过外部电路,即可实现双极性归零码的波形输出。

13

图3-8 AMI的仿真波形

从图3-8可以看出,与前面相同,AMI1作为AMI的符号位,高电平表示负极性,再通过外部电路,即可实现交替极性码的波形输出。

图3-9 HDB3的仿真波形

从图3-9可以看出,与前面相同,HDB31作为HDB3的符号位,高电平表示负极性,再通过外部电路,即可实现三阶高密度双极性码的波形输出。

3.2 模拟电路的设计[15]

为了能实现相应码型的波形输出,设计的电路需要用+5V和-5V的电源,还需要能产生时钟信号,双极性归零码、极性交替码和三阶高密度双极性码这三种码型可以通过使用4选1芯片来实现,可以使用CC4052双4选1模拟开关。

3.2.1 电源的设计:为实现+5V和-5V,可以采用变压,整流电路,然后使用L7805和L7905即可输出+5V和-5V。原理如图3-10。

图3-10 直流电源电路

14

前面使用变压器从1和4端输出最大值约12V的电压,通过整流滤波稳压,即可输出直流电压。 3.2.2 时钟信号的产生:产生方式如图3-11。电路通过74LS04的三组反向器,以及晶振和电容所构成的振荡来产生方波信号。

图3-11 时钟信号输出电路

74LS04是拥有6组反向器的芯片,引脚功能如图3-12。

图3-12 74LS04引脚图

从中任选3组连接电路。

3.2.3 CC4052双4选1模拟开关:CC4052 是一个差分4通道数字控制模拟开关,有A0、A1两个二进制控制输入端和INH输入,具有低导通阻抗和很低的截止漏电流。幅值为4.5~20V的数字信号可控制峰-峰值至20V的模拟信号。例如,若VDD=+5V,VSS=0,VEE=-13.5V,则0~5V的数字信号可控制-13.5~4.5V的模拟信号。这些开关电路在整个VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当INH输入端=“1”时,所有的通道截止。二位二进制信号选通4通道中的一通道,可连接该输入端至输出。

15

图3-13 CC4052引脚图(左)和功能图(右)

A0~A1 地址端

1I0/O0~1I3/O3 输入输出端 2I0/O0~2I3/O3 输入输出端 INH 禁止端

1O/I 公共输出/输入端 2O/I 公共输出/输入端 VDD 正电源 VEE 模拟信号地 Vss 数字信号地

将那三种信号的两位输出接入CC4052的A0和A1,信号位接A0,符号位接A1,当A0为低电平时,输出0V电压,所以I0/O0和I2/O2接地,而A1为高电平时,输出-5V电压,所以I3/O3接-5V电压,最后I1/O1接+5V电压,INH接地,I/O即波形输出,VDD接+5V,VEE接-5V,VSS接地。如图3-14所示。

图3-14 CC4052引脚连接示意图

16

3.3 PCB制作

将各个部分连接起来,构成整个系统,即可完成数字基带信号的产生功能,通过DXP软件,画出原理图,并制作PCB图。

图3-15 数字基带信号发生器原理图

图3-15是其原理图,芯片选用MAX7000S系列的EPM7128ELC84-7,引脚分配为start为脚,clk为83脚,16位数据输入从高到低为81、80、79、77、76、75、74、73、70、69、68、67、65、、63、61脚,fs为17脚,drz为16脚,nrz为18脚,cfm为20脚,cmi为21脚,fxm为22脚,srz0也是bs为34脚,srz1为35脚,ami0为36脚,ami1为37脚,hdb30为41脚,hdb31为40脚,4选1芯片为CD4052BCN。然后通过手动布局布线,如图3-16。

17

图3-16 PCB版图

由于是背面电路,所以芯片是贴在背面的方式。

通过机器的制作,焊接元器件,然后接上电源,便可用示波器观察其波形。

4 总结

本文对单极性非归零码、双极性非归零码、单极性归零码、双极性归零码、差分码、交替极性码、分相码、传号反转码、三阶高密度双极性码这九种基带码作了简单的介绍,在了解其编码规则的同时,使用VHDL语言编程,实现输入16位2进制数,就有8种基带码输出,同时输出的数据携带7位巴克码,以及帧同步信号和位同步信号,并设计电源电路、时钟信号输出电路以及通过CC4052双4选1模拟开关来实现双极性码的波形输出,最终通过DXP软件的使用设计原理图,制作PCB板图,然后刻板并焊接元器件,即可在示波器观察其波形。

次此设计的中心就在于对FPGA的编程,程序设计的方式决定了输出信号的正确性,为了能更准确的输出波形,必须对程序运行的方式有所了解,所以熟练掌握EDA技术,了解VHDL的编程方式,是设计的必要前提,在经过多次编程测试,学习前人的编程思想,借鉴不少的实例后,终于实现了8

18

种码型的输出,而且从仿真波形可以看出,都符合编码规则;同时在选FPGA芯片时也要考虑其合理性,在选择过程中,相同的程序放在不同的芯片上仿真时,波形中出现了一定程度的延时,导致延时大的芯片出现了短的脉冲,所以合理选择芯片也是很重要的。

通过这次设计,使我了解了数字基带信号的编码的规则,以及EDA技术的实用性,同时掌握了DXP制作PBC版图并制作实物的过程,对以后从事相关事业有了一定的基础。此次设计中也存在一些需要优化的设计,如VHDL设计可能设计的更为简便,以减少使用的资源,达到提高速度的目的等,第一次制作PBC图,也存在许多需要改进的地方。

参考文献

[1]樊昌信,曹丽娜等.通信原理(第6版)[M].国防工业出版社,2010

[2]段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计[M].北京:电子工业出版社,2004 [3]张学武.数字基带远程传输的仿真研究[J].2005,22(8):282-285

[4]郑国敏,王家礼,叶丹霞.CDMA2000基带信号发生器的FPGA+DSP实现[J].现代电子技术,2005,28(5):65-67 [5]晏磊.基于FPGA曼彻斯数据传输系统的实现[J].微计算机信息,2006,22(1-2):169-170 [6]崔俊杰,郭宏.基于FPGA的实时数据采集与远程传输系统设计[J].数据采集与处理,2005,3 [7]谭会生.EDA技术基础[M].湖南大学出版社,2004

[8]潘松,黄继业.EDA技术与VHDL[M].清华大学出版社,2005,7

[9]郑信源.Verilog硬件描述语言数字电路设计范例[M].北京:机械工业出版社,2005 [10]王伟.VerilogHDL程序设计与应用[M].北京:人民邮电出版社,2005 [11]杨贵.FPGA在数字信号处理中的应用与研究[D].湖南大学,2005,10 [12]路而红.电子设计自动化应用技术[M].北京:高等教育出版社,2004,11 [13]徐惠民,安德宁.数字逻辑设计与VHDL描述[M].机械工业出版社.2002

[14]姜雪松,刘东升.硬件描述语言VHDL教程(基础篇·提高篇)[M].西安交通大学出版社,2004,6 [15]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,1999 [16]夏洪星,丁幺明.一种LUT函数运算单元的FPGA实现方法[J].微计算机信息,2006,22(5-2):200-201 [17]靳刚,庄奕琪,刘锋.MPEG4编码器二维DCT变换的FPGA实现及优化[J].电路与系统学报,2005,4

19

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fupindai.com 版权所有 赣ICP备2024042792号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务