

已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创新学分设计说明书创新学分设计题目: 基于vhdl的时分复接器设计 学 院 名 称: 信息工程学院 专业: 通信工程 班级: 090421 学号: 09042130 姓名: 评分: 指导教师: 20 12 年 5 月 17 日目 录一、时分多路复用(tdm)原理4二、时分多路复用信号的产生模型6三、各功能模块的vhdl建模与程序设计 71、分频器及分频器的vhdl源程序 72、内码控制器93、译码器及其vhdl描述 94、时序发生器及其vhdl描述105、count32计数器的vhdl描述 126、nand0_1非门的vhdl描述 137、内码产生器和内码控制器及其vhdl描述 138、输出电路及三态门vhdl描述16三四路复用器系统的vhdl总程序及仿真17四心得体会21五、附录(子模块仿真图)22六、参考文献24引 言在数字通信中,为了扩大传输容量和提高传输效率,通常需要将若干个低速数字码流按一定格式合并成一个高速数据码流,以便在高速宽带信道中传输。数字复接就是依据时分复用基本原理完成数码合并的一种技术,并且是数字通信中的一项基础技术。当今社会是数字话的社会,数字集成电路应用广泛。而在以往的pdh 复接电路中,系统的许多部分采用的是模拟电路,依次有很大的局限性。随着微电子技术的发展,出现了现场可编辑逻辑器件(pld),其中应用最广泛的当属现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)。本文就是用硬件描述语言等软件与技术来实现一个基于cpld/fpga 的简单数字同步复接系统的设计。在通信系统中,为了提高信道的利用率,使多路信号在同一条信道上传输时互相不产生干扰的方式叫做多路复用。在数字通信系统中主要采用时分多路复用(tdm)方式,把时间划分为若干时隙,让多路数字信号的每一路占用不同的时隙,即多路信号在不同的时间内被传送,各路信号在时域中互不重叠。关键词:数码合并 时分多路 cpla/fpga 复用 设计 一时分多路复用(tdm)原理时分多路复用(tdm)是按传输信号的时间进行分割的,它使不同的信号在不同的时间内传送,将整个传输时间分为许多时间间隔,每个时间片被一路信号占用。tdm就是通过在时间上交叉发送每一路信号的一部分来实现一条电路传送多路信号的。电路上的每一短暂时刻只有一路信号存在。因数字信号是有限个离散值,所以tdm技术广泛应用于数字通信系统。图1.1是时分多路复用的原理框图,发送端的各路话音信号经低通滤波器将带宽限制在3400hz 以内,然后加到匀速旋转的电子开关k1上,依次接通各路信号,它相当于对各路信号按一定的时间间隙进行抽样。k1旋转一周的时间为一个抽样周期t,这样就做到了对每一路信号每隔周期t时间抽样一次,此时间周期称为1帧长。发送端电子开关k1不仅起到抽样作用,同时还起到复用和合路的作用。合路后的抽样信号送到编码器进行量化和编码,然后,将信号码流送往信道。在接收端,将各分路信号码进行统一译码,还原后的信号由分路开关k2依次接通各分路,在各分路中经低通滤波器将重建的话音信号送往收端用户。时分多路复用的关键是同步,为了保证正常通信,必须确保收发旋转开关严格同频同相,同频是指旋转开关的旋转速度要完全相同,同相是指当发端旋转开关k1连接第一路信号时,收端旋转开关k2也必须连接在第一路信号上。根据国际电报电话咨询委员会(ccitt)建议,目前tdm采用两种标准系列:一种是欧洲和我们国家所采用的30路系列,即由32个话路组成一个pcm基群,如图1.2所示;另一种是北美和日本等国所采用的24路体系,即由24个话路组成一个pcm基群。s3(t)s1(t)si(t)s2(t)s3(t)s2(t)s1(t)n21k1k2n21低通滤 波 器pcm编码信道pcm解码低通滤 波 器低通滤 波 器低通滤 波 器低通滤 波 器si(t)低通滤 波 器图1.1时分多路复用原理框图f0ts0ts1f00tfts2ts16ts30ts31125us 图1.2 pcm30/ 32 路基群系统的帧结构在pcm30/32系统中,抽样频率为8khz,抽样周期ts=1/8000=125us,被称为一个帧周期。每个抽样值用8比特表示,所占用的时间tc=125/32=3.9us,被称为一个路时隙。每个比特所占用的时间为tb=3.9/8=0.488us,总码速率为fb=1/0.488=2048kb/s。图1.3给出了pcm30/ 32 路(基群)路制式帧结构,从图中可以看出1 个复帧中有16 个子帧( 编号为f0,f1, ,f15) ,其中f0,f2,,f14 为偶帧,f1,f3, ,f15 为奇帧,一帧分为32个路时隙,分别用ts0 ts31 表示,其中ts0 作为帧同步时隙,用来传送帧同步码组和帧失步对告码,ts16 用来传送复帧同步信号,复帧失步对告及各路信道信号,另外30 路时隙用来传送30 路话音信号,每个时隙可以插入8 位二进制信息码( 即每时隙含8 b 信息码,由pcm 编码器完成),以上的帧构成pcm30/ 32 路基群系统。 图1.3 pcm30/ 32 路(基群)路制式帧结构二时分多路复用信号的产生模型1、模型 多路复用信号的产生模型如图2.1所示.它包括了分频器、内码控制器、内码产生器、时序信号发生器及复用输出电路等功能模块。晶振输出信号送给分频器分频后得到低频信号作为内码产生器的时钟信号;每个内码产生器用于产生8位数据码且为串行输出,作为内部分路数据信号,其串行数据码输出受到时序信号的控制;时序发生器的功能是产生四路宽度为8位数据码宽度的时序信号,每路时序信号的相对相位延迟按规定顺序为8位数据码宽度:输出电路的功能是将四路分路码组合成一路完整的复用信号。复用信号输出时钟分频器内码控制器内码产生器内码产生器内码产生器内码产生器输出电路时序发生器 图2.1 四路复用器的vhdl建模框图三、各功能模块的vhdl建模与程序设计1、分频器及分频器的vhdl源程序:分频器实际是一个4位二进制计数器,其作用是将晶体振荡电路产生的方波信号进行分频,其16分颇输出端作为内码控制器的控制输入端,其vhdl建模符号如图3.1所示。图中,clk为时钟信号输入:a- d为四位二进制分频输出.分别表示16,8,4,2分频输出。图3.1 分频器的vhdl建模符号分频器的vhdl源程序:library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity count16 is -实体名 port(clk:in std_logic; d,c,b,a:out std_logic); -端口设置end count16;architecture rtl of count16 is signal count_4:std_logic_vector(3 downto 0);beginprocess(clk) -进程敏感信号begin if(clkevent and clk=1) then -时钟上升沿触发 if(count_4=1111) then count_4=0000;elsecount_4=count_4+1;end if;end if;end process;d=count_4(0); -最低位从d输出c=count_4(1); -次低位从c输出b=count_4(2); -此高位从b输出a=count_4(3); -最高位从a输出end rtl;上述程序在quartusii7.2的时序仿真波形如图3.2所示 图3.2分频器的时序仿真波形图中a表示16分频输出,b表示8分频输出,c表示4分频输出,d表示2分频输出。2、内码控制器内码控制器实际也是一个分频器,一个输出端口输出三位并行信号(图2.1中只画出信号走向)作为内码产生器的地址控制端(选择输入端),另一输出端作为时序产生器的控制端.内码控制器对内码产生器的控制表现为内码控制器的内码产生器应循环并依次输出从“000, 001”一直到“111。这样,内码产生器每个时钟节拍输出一位码,通过输出电路送到合路信道上,最终形成路串行码流。3、译码器及其vhdl描述 时序发生器用于产生四路宽度为8位数据码宽度的时序信号。具体实现是将内码控制器的二分频端(即128khz时钟输出端)通过一个32分频器,其二分频和四分频输出端作为2/4译码器的控制端,2/4译码器的四个输出端,经过反相器后便得出本设计所要求的四路时序译码器的建模流程图如图3.3所示。分频器的两位输出 f2&f1f2&f1=00f2&f1=01f2&f1=10f2&f1=11输出=1110输出=1101输出=1011输出=0111 图3.3 译码器的vhdl建模流程图其vhdl的描述程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yimaqi is -译码器实体名port(f2,f1:in std_logic; y3,y2,y1,y0:out std_logic);end yimaqi;architecture rtl of yimaqi issignal indata:std_logic_vector(1 downto 0);signal y:std_logic_vector(3 downto 0); beginindatayyyyy=xxxx;end case;end process;y3=y(3); -第4路译码输出y2=y(2); -第3路译码输出y1=y(1); -第2路译码输出y0b,out2=in1); -例化u2:count32 port map(x1=in1,d=in2,e=in3); -例化u3:yimaqi port map(f1=in2,f2=in3,y0=in4,y1=in5,y2=in6,y3=in7); -例化u4:nand0_1 port map(x2=in4,out2=s0); -例化u5:nand0_1 port map(x2=in5,out2=s1); -例化u6:nand0_1 port map(x2=in6,out2=s2); -例化u7:nand0_1 port map(x2=in7,out2=s3); -例化end architecture sx1;时序发生器的仿真波形及相位关系如图3.6所示图3.6时序发生器的仿真波形及相位关系5、count32计数器的vhdl描述程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count32 is -计数器实体名port(x1:in std_logic;e,d,c,b,a:out std_logic);end count32;architecture rtl of count32 issignal count_5:std_logic_vector(4 downto 0); beginprocess(x1)beginif(x1event and x1=1) thenif(count_5=11111)thencount_5=00000;elsecount_5=count_5+1;end if;end if;end process;a=count_5(0); -取第1位输出b=count_5(1); -取第2位输出c=count_5(2); -取第3位输出d=count_5(3); -取第4位输出e=count_5(4); -取第5位输出end rtl;6、nand0_1非门的vhdl描述程序:library ieee;use ieee.std_logic_1164.all;entity nand0_1 isport(x2:in std_logic;out2:out std_logic);end nand0_1;architecture nand_0 of nand0_1 is beginout2in0_8,d6=in0_7,d5=in0_6,d4=in0_5,d3=in0_4, -例化d2=in0_3,d1=in0_2,d0=in0_1,d=k3,c=k2,b=k1,y=i0); -例化u2:tri_gate0 port map(din0=i0,en=sx0,dout0=out0); -例化end architecture nm0;内码控制器vhdl描述:library ieee;use ieee.std_logic_1164.all;entity mux8_0 is -8位并行转一路串行码控制器实体名port(d7,d6,d5,d4,d3,d2,d1,d0:in std_logic;d,c,b:in std_logic;y:out std_logic);end mux8_0;architecture rtl of mux8_0 is signal sel:std_logic_vector(2 downto 0);beginsel=d&c&b;with sel selecty=d0 when 000, d1 when 001, d2 when 010, d3 when 011, d4 when 100, d5 when 101, d6 when 110, d7 when 111, 0 when others;end rtl;8、输出电路及三态门vhdl描述在时序发生器产生的四路时序信号的控制下(时序与内码相与),按顺序依次将四路数据码接入同一通道,形成了一路串行码,从而完成了四路数据码的复用。实现的关键是三态与门的利用,就是当时序信号的上升沿到来,并且在高电平持续时间内。相应的八位码以y0, y1,y2, y3, y4, y5, y6, y7的顺序依次输出,而在其他情况下则以高阻的形态出现,当经过一个时序周期(即32个码元)后,就输出了一帧串行码.从而实现了四路数据码元的复用。其中三态门的建模如图3.8所示图3.8 三态门的vhdl建模符号三态门的vhdl描述程序如下: library ieee;use ieee.std_logic_1164.all;entity tri_gate0 is -三态门实体名port(din0,en:in std_logic; dout0:out std_logic);end tri_gate0;architecture zas of tri_gate0 isbegindout0a0,in0_2=a1,in0_3=a2, -以下为例化语句 in0_4=a3,in0_5=a4,in0_6=a5,in0_7=a6,in0_8=a7, k3=w3,k2=w2,k1=w1,sx0=w4,out0=w15);m2:neimacs0 port map(in0_1=b0,in0_2=b1,in0_3=b2,in0_4=b3,in0_5=b4, in0_6=b5,in0_7=b6,in0_8=b7,k3=w3,k2=w2,k1=w1, sx0=w5,out0=w14);m3:neimacs0 port map(in0_1=c0,in0_2=c1,in0_3=c2,in0_4=c3,in0_5=c4, in0_6=c5,in0_7=c6,in0_8=c7,k3=w3,k2=w2,k1=w1, sx0=w6,out0=w13);m4:neimacs0 port map(in0_1=d0,in0_2=d1,in0_3=d2,in0_4=d3,in0_5=d4, in0_6=d5,in0_7=d6,in0_8=d7,k3=w3,k2=w2,k1=w1, sx0=w7,out0=w12);m5:shixusuccessful port map(b=clk,s3=w7,s2=w6,s1=w5,s0=w4);m6:count16 port map(clk=clk,d=w1,c=w2,b=w3);m7:men port map(in1=w7,out1=s3);m8:men port map(in1=w6,out1=s2);m9:men port map(in1=w5,out1=s1);m10:men port map(in1=w4,out1=s0);m11:andmen port map(in1=w12,in2=w13,in3=w14,in4=w15,outp=w16);m12:djhlatch port map(d=w16,ena=ena,q1=fujiout);end ff;以下为部分子模块程序library ieee;use ieee.std_logic_1164.all;entity men is -实体“men”port(in1:in std_logic; out1:out std_logic);end men;architecture one of men isbeginout1=in1; -输入信号直接送给输出端end one;为了既能实现三态门功能,又能便于驱动后续电路,将三态.“z”改为“1,再在后面加一个四与门.则可将四路分路信号合成一路信号。library ieee;use ieee.std_logic_1164.all;entity andmen is -四与门实体名port(in1,in2,in3,in4:in std_logic; outp:out std_logic);end andmen;architecture one of andmen isbeginoutp=in1 and in2 and in3 and in4; -“与”运算end one;在仿真波形中可能出现毛刺,所以我们增加了一个d触发器,将前面输出的合路信号经过d触发器后,就能消除毛刺。library ieee;use ieee.std_logic_1164.all;entity djhlatch is -d触发器实体名port(d,ena:in std_logic; q1:out std_logic);end entity djhlatch;architecture one of djhlatch issignal sig_save:std_logic;beginprocess(d,ena) -进程敏感信号beginif ena=1 then sig_save=d;end if;q1=sig_save;end process;end architecture one; 四路同步复接器系统模块的时序仿真波形如图3.1所示。图中的s0, s1, s2, s3分别表示不同相位的四路时序信号,每路时序信号的高电平持续时间刚好包含8个clk(时钟)周期,且在信号时序控制过程中。时序信号的高电平有效。在图3.1的波形示例中,第1, 2,3, 4路分路码在时间上分别对应第1, 2, 3, 4路时序信号的高电平持续时间,从图可看出第1路分路码为11110010,第2路分路码为10101010,第3路分路码为00000000,第4路分路码为111111111.一帧复用信号序列为11110010101010100000000011111111.则其时序仿真可以说明,该复接器示例的建模与程序设计是正确的。仿真结果:图3.10四路同步复接器输出信号的时序仿真波形图四心得体会经过将近两周多的时间,我们终于完成了这次创新学分设计;从起初的查阅资料、重新学习使用quartus软件,到编辑各个模块的子程序并进行仿真调试,每一个细节的成功都会给我们带来一番欣喜。通过本次做基于vhdl的时分复接器的设计,进一步熟悉了vhd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋合同转让的协议书
- 私人财产抵押借款合同
- 二零二五房屋估价委托书
- 二零二五版债权担保书范文
- 劳务分包安全生产责任协议书二零二五年
- 二零二五版顾问协议书范例1500字
- 书画拍卖合同样本
- ktv接手转让合同样本
- 代付费用合同标准文本
- 企业带人租车合同样本
- WOW单机副本传送坐标
- (完整版)《计算机控制系统》课后题答案-刘建昌等科学出版社
- 颈部断面与影像解剖ppt课件精选
- Q∕SY 05175-2019 原油管道运行与控制原则
- 汽车收音机天线的参数
- 供配电系统毕业设计
- 《艺术学概论考研》课件艺概绪论
- 工厂致全体员工一份感谢信
- 怎样做一名合格的高校中层领导干部( 54页)
- 中职一年级数学课外活动趣味数学基础知识竞赛课件(必答+选答+风险题含倒计时PPT)
- 工艺评审记录表
评论
0/150
提交评论