同步数字复接器设计

下面是小编为大家整理的同步数字复接器设计,供大家参考。

同步数字复接器设计

 

 1

 湖南文理学院课程设计报告

 课程名称:

 通信系统课程设计 系 部:

 电气与信息工程学院专业班级:

 通信 08102 班 学 号:

 200816020229 学生姓名:

 王 恒 一 指导教师:

 王 立 完成时间:

 2011-12-26 报告成绩:

 评阅意见:

 评阅教师 日 期

 2

 目 录

 1

 摘 要

 本文主要介绍了基于 CPLD/FPGA 可编程逻辑器件的同步数字复接器设计。在现代数字通信网中,我们经常为了提高传输效率,需要将若干路低速数字信号合并成一路高速数字信号,以便通过高速信道进行数据传输。实现此功能的数字设备成为数字复接系统。在数字复接系统中,发送端主要由时钟产生、码速调整、复接三部分组成,接收端主要由定时脉冲形成、分接、码速恢复三部分组成。

 本文在深入了解可编程逻辑器件及硬件描述语言的基础上,完成了同步数字复接器的分块建模,包括分频器、内码控制器、内码产生器、时序产生器和输出电路五大模块,以及相应的 VHDL 实现过程,对在设计过程中遇到的毛刺现象等问题进行了讨论,并在信号提取方面有了进一步的认识。

 【关键词】CPLD/FPGA VHDL 数字复接 数字分接

 2

  Abstract

 In this paper, based on CPLD/FPGA programmable logic devices and hardware description language VHDL, to achieve synchronous digital multiplexer design. In modern digital communication networks, we often order to improve the transmission efficiency, the need for a number of low-speed digital signal path all the way into high-speed digital signals, in order to carry out high-speed data channel. Achieve this function digital devices known as digital multiplexer system. Multiplexer in the digital system, the sending end by the clock generation, code speed adjustment multiplexer is composed of three parts, the receiving end from time to time by the pulse shape, tap, code speed the restoration of three parts. The block modeling of Synchronous Digital Multiplexer is based on in-depth understanding of programmable logic devices and hardware description language, including the frequency divider、Code controller、Code generator、time program controller and output circuit, as well as the realization of the corresponding VHDL processes encountered in the design of glitches and other issues were discussed, and signal extraction in a further understanding of aspects. 【Key words】CPLD/FPGA VHDL digital multiplexing digital demulplexing

 1

 第一章 设计简介及方案论述

  1.1

 数字复接概述

 在时分制的 PCM 通信系统中,为了扩大传输容量,必须提高传输速率。传输路数越多,每路样值 8 比特码占用的时间就越小,每个比特的时宽就越小,对应的频宽(传输速率)就越大。

 一个样值(8 比特)占用的时宽 基 群:

 3.9us 二次群:

 0.997us 三次群:

 0.23us 四次群:

 0.057us 高次群的轮流采样在技术上不可能实现,只能采用数字复接方式实现高次群 的传输。我们把这种两路或两路以上的低速数字信号合并成一路高速数字信号的过程称为数字复接。

 在时分制的 PCM 通信系统中,为了扩大传输容量,提高传输效率,必须提高传输速率。也就是说想 办法把较低传输速率的数据码流变换成高速码流。数字复接终端就是这种把低速率码流变换成高速率码流的设备。数字复接系统由数字复接器和数字分接器两部分构 成。把两个或两个以上的支路数字信号按时分复用方式合并成单一的合路数字信号的过程称为数字复接,把完成数字复接功能的设备称为数字复接器。在接收端把一 路复合数字信号分离成各支路信号的过程称为数字分接,把完成这种数字分接功能的设备称为数字分接器。数字复接器和数字分接器和传输信道共同构成了数字复接系统 1.2

 设计目的和设计要求:

 1.2.1

 设计目的

 通过对同步复接器的建模和设计,掌握同步复接的原理以及应用。

 1.2.2

 设计要求

 (1)

 阐述同步复接原理;

 (2)

 进行同步复接器的建模和设计;

 (3)

 写出详细的设计报告。

 2

  第二章 同步数字复接器的总体设计

 2.1

 四路同步复接器的原理框图模型

 简单的思路同步复接器组成框图如图 6。为了简单和容易实现,坚定设计任务要求为:同步时钟为 256kHz,每个时隙为 8 位,四路支路信码可通过拨码开关预置;四路支路信码以同步复接方式合成一路帧长为 32 位复用串行码。其中一个时隙(一路支路信号)作为帧同步码并去为x1110010(巴克码),因此数据码实际为三路共 24 位码。

  四路同步复接器原理框图模型

 同步复接信号的帧结

 3

  框图说明

 (1)

 分频器 1:4.096MHZ 的晶体振荡器方波信号经分频后,得到 256KHZ 的时钟信号。

 (2)

 八选一数据选择器:在硬件功能上相当于 74LS151 数据选择器,其功能表如表 5-2 所示。

 (3)

 分频器 2、译码器:其功能是产生四路时序信号,以控制选通开关, 依次按路(每路八位)选通四路支路码,并合并成一路复用串行码。译码器的功能表如表 5-2 所示。

 (4)

 计数器:由于在每个数据选择器中有八位数据需要选择,即有八种状 态,因此需要八种控制信号,依次选择每路支路信号的每一位,并按位以时钟节拍送入支路选通开关,等待时序信号控制。

 (5)

 拨码器:每路的拨码器为八位开关,往上拨,则对应的那一位为高电平,往下拨则为低电平。采用拨码器的好处,在此相当于提供了一个任意置数的四路数字信源,特别适合检验系统的设计结果。

 时序信号与对应的合路信号及其帧结构

 依照原理框图和上述功能表,用波形表示各类信号产生过程和同步复用信号的产生,如图 7 所示。

 时序信号及对应的合路信号帧结构

 4

 2.2

 系统的设计与实现

 本设计采用 VHDL 语言作为硬件功能的描述,硬件采用 Altera 公司的 FPGA

 2.2.1.1 四路同步复接器的 VHDL 建模 根据上述的四路复接器的原理图以及尽可能节省资源,在建模的时候,本设计采用了将整个系统分为硬件和软件两部分来实现,并且尽可能用软件来实现更 四路复接器的VHDL 建模

 文件名:FUJIEQILL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

 USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FUJIEQILL IS PORT(CLK,ENA,A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,

 B2,B3,B4,B5,B6,B7,C0,C1,C2,C3,C4,C5, C6,C7,D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; 芯片,以四路同步复接器为例运用模块化设计方法分别设计了分频器、内码控制 器、时序产生器、内码产生器以及输出电路。.在 QUARTUSII 软环境下进行设 计、编译和仿真,并结合 FPGA(现场可编程门阵列)的特点,实现了一个可编程的四 路同步复接器模块 [10] 。

 2.2.1

 系统顶层设计

 多的单元电路,其框图如图 10 所示。

 时钟 分频器 内码控制器 内码控制器 输

 内码控制器 出

 合路信号输出 内码控制器 电

 内码控制器 路

 时序控制器

 5

 S0,S1,S2,S3,FUJIOUT:OUT STD_LOGIC); END FUJIEQILL; ARCHITECTURE FF OF FUJIEQILL IS

  COMPONENT COUNT16 ------------ 调用计数器

 PORT(CLK:IN STD_LOGIC; D,C,B,A:OUT STD_LOGIC); END COMPONENT;

 COMPONENT NEIMACS0 ---------------- 调用内码产生器

 PORT(IN0_8,IN0_7,IN0_6,IN0_5,IN0_4,IN0_3,IN0_2,IN0_1, K3,K2,K1,SX0:IN STD_LOGIC; OUT0:OUT STD_LOGIC); END COMPONENT; ;

  COMPONENT SHIXUSUCCESSFUL ---------------- 调用时序发生器

 PORT(B:IN STD_LOGIC; S3,S2,S1,S0:OUT STD_LOGIC); END COMPONENT;

  COMPONENT MEN ---------------- 调用门器件

 PORT(IN1:IN STD_LOGIC; OUT1:OUT STD_LOGIC); END COMPONENT;

  COMPONENT ANDMEN ---------------- 调用四与门

 PORT(IN1,IN2,IN3,IN4:IN STD_LOGIC; OUTP:OUT STD_LOGIC); END COMPONENT;

 6

 COMPONENT DJHLATCH ------调用 D 触发器

 PORT(D,ENA:IN STD_LOGIC; Q1:OUT STD_LOGIC); END COMPONENT;

  SIGNAL W1,W2,W3,W4,W5,W6,W7,W8,W9,W10,W11, W12,W13,W14,W15,W16:STD_LOGIC; --------- 信号赋值语句 BEGIN

 M1:NEIMACS0 PORT MAP(IN0_1=>A0,IN0_2=>A1, IN0_3=>A2,

 IN0_4=>A3,

 IN0_5=>A4, IN0_3=>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_3=>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_3=>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_3=>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;

 -----部分子程序模块

 7

 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 IS BEGIN OUT1<=IN1; ------------- 输入信号直接送给输出端

 END ONE;

 四路同步数字复接器的时序仿真图

 A:

 第 一 路 分 路 码 B:

 第 一 路 分 路 码 C:

 第 一 路 分 路 码 D:第一路分路码 ENA:D 触发器使能信号 CLK:系统时✁信号S3:相位 1 的时序信号

 S2:相位 2 的时序信号

 8

 S1:相位 3 的时序信号

 S0:相位 4 的时序信号FUJIOUT:复用信号序列

  系统的 VHDL 设计根据所划分的几大模块,分别用 VHDL 语言去描述,最后用元件调用和元件例化语句将它们连接起来。

 [15] 四路同步复接器由时钟、分频器、内码控制器、时序产生器、四路 32 位内码(每路 8 位)产生器及输出电路等几部分组成。在此,考虑用内码产生器产生四路内码作为四路信号源。若实际从外部输入四路信号,只需在内码产生器模块中加入一个选择开关即可,此时, 当开关接外码时,则输入四路外码信号;若做电路仿真时,可将开关接至内码, 此时由四路内码作为四路支路信号源。

  分频器实际是一个计数器。在本例中,其作用是将晶体振荡电路产生的4096kHz 方波信号进行分频,其 16 分频( 256kHz 时钟)输出端作为内码控制器的输入端。其建模程如图所示。

 分频器的VHDL 建模符号

 分频器的 VHDL 源程序 LIBRARY IEEE;

 USE IEEE.STD_LOGIC_1164.ALL; 2.2.2.1 分频器的建模与 VHDL 程序设计 2.2.2 系统的底层设计

 9

 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); BEGIN PROCESS(CLK) BEGIN IF(CLK’EVENT AND CLK=’1’) THEN IF(COUNT_4=”1111”) THEN COUNT_4<=”0000”; ELSE COUNT_4<= COUNT_4+1;

 END IF;

 END IF;

 END PROCESS; D<=COUNT_4(0); C<=COUNT_4(1); B<=COUNT_4(2); A<=COUNT_4(3); END RTL;

  分频器的时序仿真波形

 10

 据输出。

  CLK:系统时钟信号D:

 2 分频输出 C:

 4 分频输出

 B:

 8 分频输出

 A:

 16 分频输出

  内码产生器的建模符号如图 14 所示。每个内码产生器受分频器和时序信号发生器的控制产生一路 8 位数据码,并且具有三态串行输出功能。图中,in0_1~ in0_8 为 8 位数据码输入,可通过输入高、低电平设定;K3~K1 为对 8 位数据进行选择控制的控制码,有 8 种状态选择;sx0 接时序信号;out0 为内码串行数

  内码产生器源程序如下 文件名:NEIMACS0,vhd LIBRARY IEEE; 内码产生器的建模符号 USE IEEE.STD_LOGIC_1164.ALL; ENTITY NEIMACS0 IS PORT(IN0_8,IN0_7,IN0_6,IN0_5,IN0_4,IN0_3,IN0_2,IN0_1, K3,K2,K1,SX0:IN STD_LOGIC; OUT0:OUT STD_LOGIC); END ENTITY NEIMACS0; 2.2.2.2 内码产生器

 11

 ARCHITECTURE NM0 OF NEIMACS0 IS

 COMPONENT MUX8_0 PORT(D7,D6,D5,D4,D3,D2,D1,D0,D,C,B:IN STD_LOGIC; Y:OUT STD_LOGIC); END COMPONENT; COMPONENT TRI_GATE0 PORT(DIN0,EN:IN STD_LOGIC; DOUT0:OUT STD_LOGIC); END COMPONENT; SIGNAL 10:STD_LOGIC; BEGIN U1:MUX8_0PORTMAP(D7=>IN0_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...

推荐访问:同步数字复接器设计 同步 数字 设计