序列信号发生器设计.
- 格式:ppt
- 大小:550.00 KB
- 文档页数:9
目录1题目一序列信号发生器(000111) (2)1.1课程设计的目的 (2)1.2设计的总框图: (2)1.3设计过程 (2)1.4设计的逻辑电路: (6)1.5实验仪器: (7)1.6实验结论: (7)1.7参考文献: (7)2题目二七进制异步减法计数器(001) (7)2.1课程设计的目的 (7)2.2设计的总框图: (7)2.3设计过程 (8)1.4设计的逻辑电路 (10)1.5实验仪器: (10)1.6实验结论: (11)1.7参考文献: (11)1题目一序列信号发生器(000111)1.1课程设计的目的1了解序列信号发生器的工作原理2学习序列信号发生器的各种功能和设计方法1.2设计的总框图:CP 输入计数脉冲 输出信号1.3设计过程1状态图:/01000110011100001001101110/0/1/1/−−←−−←−→−−→−/12选择触发器,求时钟方程。
选择触发器:由于JK 触发器功能齐全,使用灵活,故选 用4个时钟下降触发的边沿JK 触发器采用同步方案,故取:CP CP CP CP CP ====01233求输出方程 :次态卡诺图:序列信号发生器n QnQ00 01 11 1032nn QQ100 xxxx 1000 0001 xxxx01 xxxx xxxx 0011 xxxx 11 1110 xxxx xxxx 0111 10 1100 xxxx xxxx xxxx输出卡诺图为:n QnQ00 01 11 1023nn QQ100 x 1 1 x01 x x 1 x11 0 x x 010 0 x x x输出方程为:n QY次态卡诺图的分解为:n QnQ00 01 11 1032nn QQ100 x 1 0 x01 x x 0 x11 1 x x 010 1 x x x13+n Q 的卡诺图n n Q Q 23 n n Q Q 0100 01 11 1000 x 0 0 x 01 x x 0 x 11 1 x x 1 101xxx12+n Q 的卡诺图 n n Q Q 23 n n Q Q 01 0001 11 1000 x 0 0 x 01 x x 1 x 11 1 x x 1 10xxx11+n Q 卡诺图n n Q Q 23 n n Q Q 0100 01 11 1000 x 0 1 x 01 x x 1 x 11 0 x x 1 10xxx1+n Q 的卡诺图根据各触发器次态卡诺图可得次态方程:nn n n n nn n n n n n n n n nn n n n Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 010110212111232312131313+=+=+=+=++++4求驱动方程:JK 触发器的特征方程为:n n n Q K Q J Q +=+1直接对照现态系数,写出驱动:n n n n n nn n Q K Q K Q K Q K Q J Q J Q J Q J 1021321310213213,,,,,,========5检查电路能否自启动:将无效态0000,0010,0100,0101,0110,1101,1111,1001,1011,1010带入公式计算得:0000 1000(有效态),0010 0001(有效态) 0100 1010 0110 10110101 0101 1010 (无效态) ( 无效态) 1101 1110(有效态), 1111 0111(有效态) 1001 1100(有效态)可见所设计的时序电路不能自启动。
课题十四波形及序列信号发生器设计学习目标:设计由555、移位寄存器、D/A转换器、PLD等器件构成的多路序列信号输出和阶梯波输出的发生器电路,重点学习555、D/A转换器及可编程逻辑器件的原理及应用方法。
用Proteus软件仿真;实验测试技术指标及功能、绘制信号波形。
一、任务与要求四相步进电机有四相八拍和四相四拍两种工作方式。
其状态转换图为:四相八拍四相四拍用555、74194、2817、DA8032等IC设计一个四相步进电机控制电路和对应阶梯波输出的发生器电路,要求:1.CP频率2Hz~2kHz连续可调。
2.有四相八拍和四相四拍两种工作方式,能控制步进电机正转和反转。
3.调试时用(共阴)七段数码管(注意加限流电阻)的上四段或下四段模拟步进电机。
*验收用的步进电机的相电压为5V,相电流为0.2A。
4.将多路序列信号通过D/A转换成阶梯波输出。
要求输出电压V o=(数字量/10)V,误差<+5%。
例如对应数字量1001,V o应为0.900V~0.905V。
5.*步数(或圈数)显示。
(选作)6.**步数(或圈数)控制。
(较难的选作)二、课题分析及设计思路多路序列信号发生器在数字电路设计中应用较多,如彩灯循环,步进电机驱动等。
其设计方案较多。
下面以三相步进电机控制为例讲述多路序列信号发生器的设计思路。
本来任务与要求中已列出主要IC的型号,但考虑这是数字电路的最后一个课题,故下面将介绍几种不同的方案,使大家对数字电子技术有更深入的了解。
步进电机广泛应用于各种自动控制和计算机系统(如数控机床、机器人、打印机、光驱)中。
三相步进电机原理见图14.1。
其中转子有较强的磁性。
三相步进电机有三相三拍和三相六拍两种工作方式。
其状态转换图为:001→011→010 001→010 011 →↑↓↑↓↑↓101←100←110 ← 100 101←110三相六拍三相三拍a 三相三拍b一般不用三相三拍b。
图14.1三相步进电机控制器原理框图见图14.2:时钟电路用555构成,用电位器实现频率连续可调。
澳 門 科 技 大 學MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGYAvenidaWai Long, Taipa, Macau Faculty of Information Technology数码电子学实验设计序列信号发生器报告人:XXX一.具体要求要求用D 触发器和门电路设计一个产生1101001序列(序列左边先输出)的序列发生器。
二.实验目的1.熟悉原理图输出法;2.了解可编程器件的实际应用。
三.实验准备1.详解D 触发器 ①电路组成为了避免同步RS 触发器同时出现R 和S 都为1的情况,可在R 和S 之间接入非门G1,如图1所示,这种单输入的触发器称为D 触发器。
图2为其逻辑符号。
D 为信号输入端。
G1 G2 G3图1:D 触发器逻辑图 图2:D 触发器逻辑符号②逻辑功能在CP=0时,G2,G3被封锁,都输出1,触发器保持原状态不变,不受D 端输入信号的控制。
在CP=1时,G2,G3解除封锁,可接收D 端输入的信号。
如1=D 时,0=D ,触发器翻到1状态,即Q n+1=1,如0=D 时,1=D ,触发器翻到0状态,即Q n+1=0,由此可列出表1所示同步D 触发器的特性表。
表1:同步D 触发器特性表由上述分析可知,同步D 触发器的逻辑功能如下:当CP 由0变为1后,触发器的状态翻到和D 的状态相同; 当CP 由1变为0后,触发器保持原状态不变。
③D 触发器的名词来源D 触发器不会发生RS 触发器不确定的情形(S=1,R=1),也不会发生JK 触发器的追跑情况(J=1,K=1),那么为什么成为D 触发器呢?因为输出Q 等于输入D ,但是要经过一个CLOCK 触发之后才产生,在时间上意味着有延迟时间的作用,所以称为D 型(Delay )触发器。
2.确定移位寄存器的级数n (即需要用多少个寄存器来寄存状态)我们知道,一个D 触发器可以寄存“0”和“1”两种状态,若序列周期为P ,则信号发生器的级数n 应满足2≤P n 。
数码电子学实验设计序列信号发生器报告人:XXX一.具体要求要求用D触发器和门电路设计一个产生1101001序列(序列左边先输出)的序列发生器。
二.实验目的1.熟悉原理图输出法;2.了解可编程器件的实际应用。
三.实验准备1.详解D 触发器 ①电路组成为了避免同步RS 触发器同时出现R 和S 都为1的情况,可在R 和S 之间接入非门G1,如图1所示,这种单输入的触发器称为D 触发器。
图2为其逻辑符号。
D 为信号输入端。
图1:D 触发器逻辑图 图2:D 触发器逻辑符号②逻辑功能在CP=0时,G2,G3被封锁,都输出1,触发器保持原状态不变,不受D 端输入信号的控制。
在CP=1时,G2,G3解除封锁,可接收D 端输入的信号。
如1=D 时,0=D ,触发器翻到1状态,即Q n+1=1,如0=D 时,1=D ,触发器翻到0状态,即Q n+1=0,由此可列出表1所示同步D 触发器的特性表。
表1:同步D 触发器特性表D Q n Q n+1 说明0 0 0 输出状态和D 相同 0 1 0 输出状态和D 相同 1 0 1 输出状态和D 相同 111输出状态和D 相同由上述分析可知,同步D 触发器的逻辑功能如下:当CP 由0变为1后,触发器的状态翻到和D 的状态相同; 当CP 由1变为0后,触发器保持原状态不变。
③D 触发器的名词来源D 触发器不会发生RS 触发器不确定的情形(S=1,R=1),也不会发生JK 触发器的追跑情况(J=1,K=1),那么为什么成为D 触发器呢?因为输出Q 等于输入D ,但是要经过一个CLOCK触发之后才产生,在时间上意味着有延迟时间的作用,所以称为D 型(Delay )触发器。
2.确定移位寄存器的级数n (即需要用多少个寄存器来寄存状态)我们知道,一个D 触发器可以寄存“0”和“1”两种状态,若序列周期为P ,则信号发生器的级数n 应满足2≤P n 。
在本例中,要产生1101001这个序列,3=n 。
基于FPGA的m序列信号发生器设计摘要:m序列是一种伪随机序列(PN码),广泛用于数据白噪化、去白噪化、数据传输加密、解密等通信、控制领域。
基于FPGA与Verilog硬件描述语言设计井实现了一种数据率按步进可调、低数据误码率、反馈多项式为的m序列信号发生器。
系统时钟为20MHz,m序列信号发生器输出的数据率为20~100 kbps,通过2个按键实现20 kbps步进可调与系统复位,输出误码率小于1%。
m序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈的移位寄存器产生的周期最长的一种伪随机序列。
是由移位寄存器、反馈抽头及模2加法器组成。
m序列一旦反馈多项式及移位寄存器初值给定,则就是可以预先确定并且可以重复实现的序列,该特点使得m序列在数据白噪化、去白噪化、数据传输加密、解密等通信、控制领域使用广泛。
因此,深入学习研究m序列具有重要的实际意义。
1 m序列信号发生器的组成基于FPGA的m序列信号发生器硬件结构极其简单,仅需两个独立按键(一个是复位按键与另一个控制数据率切换按键)、一个48 MHz 的用于提供系统时钟有源晶振、系统电源、一块配置芯片、几个简单的电阻与电容即可实现。
按键去抖动、按键复位、按键切换数据率、时钟分频等功能均在FPGA内部编程实现。
2 m序列信号发生器的关键设计本文中m序列信号发生器的反馈多项式为。
其反馈及移位寄存器的关系图如图2所示。
从本设计中的反馈及移位寄存器的关系图可以看出,一个时钟周期,移位寄存器右移一位,最高位输入为x0、x2、x3、x4及x8的异或(模2相加)。
m序列的输出是移位寄存器的最低位。
图2所示的关系是m序列呈现为随机性、周期性的根本原因。
为了满足信号发生器输出数据率20 kbps的步进通过按键可调,则生成按步进20 kbps可调的时钟是实现该功能的关键。
当按键发生,时钟的输出频率加20 kbps。
在实际电路中,按键会有很大抖动,对系统会造成很大的不稳定性,因此,必须想办法减小这样的不利影响。
实验三序列信号发生器与检测器设计一、实验目的1.学习一般有限状态机的设计;2.实现串行序列的设计。
二、设计要求1.先设计序列信号发生器;2.再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试。
三、实验设备PC机,Quartu eⅱ软件,实验箱四、实验原理CLK 脉冲CNT加一。
2、序列信号检测器状态转移图:五、实验步骤1、信号发生器1)建立工作库文件夹,输入设计项目VHDL代码,如下:L I B R A R Y I E E E;U S E I E E E.S T D_L O G I C_1164.A L L;U S E I E E E.S T D_L O G I C_A R I T H.A L L;U S E I E E E.S T D_L O G I C_U N S I G N E D.A L L;E N T I T Y X L S I G N A L16_1I SP O R T(C L K,C L R N:I N S T D_L O G I C;Z O U T:O U T S T D_L O G I C);E N D X L S I G N A L16_1;A R C H I T E C T U R E o n e O F X L S I G N A L16_1I SS I G N A L C N T:S T D_L O G I C_V E C T O R(3D O W N T O0);S I G N A L Z R E G:S T D_L O G I C;B E G I NP R O C E S S(C L K,C L R N)B E G I NI F(C L R N='0')T H E N C N T<="0000";E L S EI F(C L K'E V E N T A N D C L K='1')T H E NC N T<=C N T+'1';E N D I F;E N D I F;E N D P R O C E S S;P R O C E S S(C N T)B E G I NC A S E C N T I SW H E N"0000"=>Z R E G<='1';W H E N"0001"=>Z R E G<='1';W H E N"0010"=>Z R E G<='1';W H E N"0011"=>Z R E G<='0';W H E N"0100"=>Z R E G<='0';W H E N"0101"=>Z R E G<='1';W H E N"0110"=>Z R E G<='0';W H E N"0111"=>Z R E G<='1';W H E N"1000"=>Z R E G<='0';W H E N"1001"=>Z R E G<='1';W H E N"1010"=>Z R E G<='0';W H E N"1011"=>Z R E G<='0';W H E N"1100"=>Z R E G<='1';W H E N"1101"=>Z R E G<='0';W H E N"1110"=>Z R E G<='1';W H E N"1111"=>Z R E G<='1';W H E N O T H E R S=>Z R E G<='0';E N D C A S E;E N D P R O C E S S;Z O U T<=Z R E G;E N D o n e;2)对其进行波形仿真,如下图:3)将其转换成可调用元件如图:2、信号检测器1)建立工作库文件夹,输入设计项目VHDL代码,如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK ISPORT(DIN, CLK, CLR : IN STD_LOGIC;ss : OUT STD_LOGIC_VECTOREND SCHK;ARCHITECTURE behav OF SCHK ISSIGNAL Q : INTEGER RANGE 0 TO 5 ;SIGNAL D : STD_LOGIC_VECTOR(5 DOWNTO 0);BEGIND <= "10010" ;PROCESS( CLK, CLR )BEGINIF CLR = '1' THEN Q <= 0 ;ELSIF CLK'EVENT AND CLK='1' THENCASE Q ISWHEN 0=> IF DIN = D(4) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ;WHEN 1=> IF DIN = D(3) THEN Q <= 2 ; ELSE Q <= 1 ; END IF ;WHEN 2=> IF DIN = D(2) THEN Q <= 3 ; ELSE Q <= 1 ; END IF ;WHEN 3=> IF DIN = D(1) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ;WHEN 4=> IF DIN = D(0) THEN Q <= 5 ; ELSE Q <= 1 ; END IF ;WHEN OTHERS => Q <= 0 ;END CASE ;END IF ;END PROCESS ;PROCESS( Q )BEGINIF Q = 5 THEN ss <= "1" ;ELSE ss <= "0" ;END IF ;END PROCESS ;END behav ;3)将其转换成可调用元件如图:3.序列信号检测器顶层文件1)调用序列信号发生器和序列信号检测器元件,建立工作库文件夹,输入设计项目原理图如下图:2)对总体进行波形仿真,如下图:4.管脚邦定六、实验心得1.首先用VHDL语言设计序列信号发生器和序列信号检测器模块。
1946.3.5 序列信号发生器的设计序列信号是把一组0、1数码按一定规则顺序排列的串行信号。
对于给定的序列信号,设计其发生器一般有两种结构形式:计数型序列信号发生器和移存型序列信号发生器。
计数型序列信号发生器的特点是,所产生的序列信号的长度等于计数器的模值,并可根据需要产生一个或多个序列信号。
先用计数器构成一个模P的计数器,然后辅以多路选择器、译码器或其他门的组合逻辑可以方便地构成各种序列发生器。
(1)选用多路选择器:把要产生的序列按规定的顺序加在多路选择器的输入端,把地址端与计数器的输出端适当地连接在一起,多路选择器的输出能得到所需的序列信号。
(2)选用译码器:把计数器的输出端和译码器的输入相连,将序列信号中为1的信号对应最小项用组合逻辑组合输出。
(3)选用其他门的组合逻辑:直接采用组合逻辑连接计数器的输出。
获得所需要的序列。
【例6.17】采用计数器74163和各种组合逻辑设计产生序列00010111。
解:序列为8位二进制代码,因此,首先构建模8的计数器。
对于同步置数的74163而言,当计数由0000计到0111,即Q A=1,Q B=1,Q C=1时,使用与非门反馈到置数端,使计数器模8计数。
(1)使用多路选择器输出。
如选用8选1多路选择器74151,则将需要产生的序列信号00010111分别接到输入端,将地址端与计数器的输出端低三位适当地连接在一起,如图6.63所示,随着时钟脉冲,多路选择器的输出Z即是所需的序列。
图6.63 使用多路选择器设计计数型序列信号发生器(2)使用译码器输出。
如选用低电平输出有效的译码器74138,则将8位序列00010111中为1的第3、5、6、7位通过与非门连接输出。
如图6.64所示。
图6.62 计数型序列信号发生器。
序列信号发生器的设计方法及应用实例在现代通信系统中,序列信号发生器是一个非常重要的设备,它能够产生各种类型的信号序列,如随机序列、伪随机序列、码片序列等。
这些信号序列在数字通信系统、脉冲调制系统以及其他通信系统中起着至关重要的作用。
在本文中,我将深入探讨序列信号发生器的设计方法及其应用实例,并共享一些个人观点和理解。
1. 序列信号发生器的基本原理序列信号发生器是一种能够产生特定类型的信号序列的设备。
其基本原理是利用特定的算法和逻辑电路来产生所需的信号序列。
在设计序列信号发生器时,首先需要确定所需的信号类型,如随机序列、伪随机序列或者其他类型的序列。
然后根据所选的信号类型,选择合适的算法和电路来实现信号的生成。
最常见的序列信号发生器包括线性反馈移位寄存器(LFSR)、差分方程序列发生器等。
2. 序列信号发生器的设计方法在设计序列信号发生器时,需要考虑信号的周期、自相关性、互相关性等性能指标。
一般来说,设计序列信号发生器的方法可以分为以下几个步骤:(1)确定信号类型:首先需要确定所需的信号类型,如随机序列、伪随机序列或者其他类型的序列。
(2)选择算法和电路:根据所选的信号类型,选择合适的算法和电路来实现信号的生成。
常用的算法包括线性反馈移位寄存器、差分方程序列发生器等。
(3)优化性能指标:优化信号的周期、自相关性、互相关性等性能指标,以确保生成的序列满足系统的要求。
(4)验证和测试:设计完成后,需要对信号发生器进行验证和测试,确保其生成的信号符合设计要求。
3. 序列信号发生器的应用实例序列信号发生器在数字通信系统、脉冲调制系统以及其他通信系统中有着广泛的应用。
以下是一些典型的应用实例:(1)伪随机噪声序列发生器:在数字通信系统中,伪随机噪声序列被广泛用于信道编码、扩频通信以及通信安全等领域。
(2)码片序列发生器:在脉冲调制系统中,码片序列被用于直序扩频通信系统中的扩频码生成。
(3)随机序列发生器:在通信加密领域,随机序列被用于数据加密和解密。
实验六、序列信号发生器与序列信号检测器的设计一、实验目的1、掌握序列发生器和检测器的工作原理;2、初步学会用状态机进行数字系统设计。
二、实验要求1、基本要求1)设计一个“10001110”序列发生器;2)设计一个“10001110”序列的检测器。
2、扩展要求1)设计一个序列发生器,将8 位待发生序列数据由外部控制输入进行预置,从而可随时改变输出序列数据。
2)将8 位待检测预置数由按键作为外部输入,从而可随时改变检测密码。
写出该检测器的VHDL 代码,并进行编译下载测试。
3)如果待检测预置数以右移方式进入序列检测器,写出该检测器的VHDL 代码(两进程符号化有限状态机)。
三、实验原理1、序列发生器原理在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器。
本实验要求产生一串序列“10001110”。
该电路可由计数器与数据选择器构成,其结构图如图6-1所示,其中的锁存输出的功能是为了消除序列产生时可能出现的毛刺现象:图6-1 序列发生器结构图2、序列检测器的基本工作过程:序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。
当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
状态图如图6-2所示:图6-2 序列检测器状态图3、利用状态机设计序列检测器的基本思想在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。
同时,状态机的设计方法也是数字系统中一种最常用的设计方法。
一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。
实验三序列信号发生器VHDL设计一、实验目的1、设计一个序列信号发生器,可以在时钟的作用下周期性的产生1110010序列信号2、学习时序电路的设计方法;3、掌握产生周期性信号电路的设计方法;4、掌握同步和异步概念;5、掌握仿真的目的和作用;二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明行为描述方式设计序列信号发生器的原理。
可以产生周期信号的序列信号发生器由计数器和译码器构成。
若想产生1110010序列信号,则需要三位二进制计数器,从000记到110,当时钟是上升沿时,若当前记到110,则将计数清为000,再从头开始,否则计数加1,译码器将每个三位二进制数转换为一位序列信号,计数器和译码器分别由两个进程实现。
四、实验内容及要求利用QuartusII完成序列信号发生器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。
五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。
选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\three,填写工程名和顶层文件名称后,点击Next按钮进行下一步。
②添加设计源程序。
如果已有源程序,可以在此加入到工程中,如果没有点击Next进行下一步。
③选择目标芯片。
首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。
④选择仿真器和综合器类型。
点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。
⑤结束设置。
序列信号发生器的设计序列信号发生器是能够循环产生一组或多组序列信号的时序电路,它可以用以为存放器或计数器构成。
序列信号的种类很多,按照序列循环长度M和触发器数目n的关系一般可分为三种:最大循环长度序列码,M=2n。
最大线性序列码(m序列码),M=2n-1。
任意循环长度序列码,M<2n。
序列信号发生器是由移位存放器添加反应后构成;由于状态的变化受信号移位的限制,分析方法更为简单。
序列信号发生器的设计通常在许多情况下,要求按照给定的序列信号来设计序列信号发生器。
序列信号发生器一般有两种构造形式:一种是反应移位型,另一种是计数型。
反应移位型序列码发生器的构造框图如下图,它由移位存放器和组合反应网络组成,从移存器的某一输出端可以得到周期性的序列码。
其设计按以下步骤开展:(1)根据给定序列信号的循环长度M,确定移存器位数n,2n-1<M≤2n。
(2)确定移位存放器的M个独立状态。
将给定的序列码按照移位规律n位一组,划分位M个状态。
若M个状态中出现重复现象,则应增加移存器位数。
用n+1位再重复上述过程,直到划分为M个独立状态为止。
(反应移位型序列信号发生器框图)(3)根据M个不同状态列出移存气的状态表和反应函数表,求出反应函数F的表式。
(4)检查自启动性能。
(5)画逻辑图。
下面通过举例说明反应移位序列信号发生器的设计过程。
计数型序列码发生器构造框图如下图。
它由计数器和组合输出网络两部分组成,序列码从组合输出网络输出。
设计过程分两步:(1)根据序列码的长度M设计模M计数器,状态可以自定;(2)按计数器的状态转移关系和序列码的要求设计组合输出网络。
由于计数器的状态设置和输出序列的更改比较方便,而且还能同时产生多组序列码。
实验六、序列信号发生器与序列信号检测器的设计一、实验目的1、掌握序列发生器和检测器的工作原理;2、初步学会用状态机进行数字系统设计。
二、实验要求1、基本要求1)设计一个“”序列发生器;2)设计一个“”序列的检测器。
2、扩展要求1)设计一个序列发生器,将8 位待发生序列数据由外部控制输入进行预置,从而可随时改变输出序列数据。
2)将8 位待检测预置数由按键作为外部输入,从而可随时改变检测密码。
写出该检测器的VHDL 代码,并进行编译下载测试。
3)如果待检测预置数以右移方式进入序列检测器,写出该检测器的VHDL 代码(两进程符号化有限状态机)。
三、实验原理1、序列发生器原理在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器。
本实验要求产生一串序列“”。
该电路可由计数器与数据选择器构成,其结构图如图6-1所示,其中的锁存输出的功能是为了消除序列产生时可能出现的毛刺现象:2泛的应用。
当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
状态图如图6-2所示:图6-2 序列检测器状态图3、利用状态机设计序列检测器的基本思想在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。
同时,状态机的设计方法也是数字系统中一种最常用的设计方法。
一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。
在摩尔机中,其输出仅仅是当前状态值的函数,并且仅在时钟上升沿到来时才发生变化。
米立机的输出则是当前状态值、当前输出值和当前输入值的函数。
本实验要从一串二进制码中检测出一个已预置的8位二进制码,每增加一位二进制码相当于增加一个状态,再加上一个初始态,用9个状态可以实现。
北京邮电大学数字电路与逻辑设计实验报告姓名:李金隆学号: 09210947--15班级: 2009211204学院: 电子工程学院2011年5月1日一、实验名称:序列信号发生器的设计与实现二、实验任务要求:1、用VHDL语言设计实现一个信号发生器,产生的序列码为01100111,仿真验证其波形,并下载到实验板测试。
2、用VHDL语言设计实验一个序列长度为7的M序列发生器,仿真验证其功能,并下载到实验班测试。
三、设计思路与过程1、序列信号发生器序列信号发生器的端口由一个时钟输入和两个输出,信号序列输出q_out和时钟输出clk_outt组成。
程序由两个进程构成,第一个进程p1描述状态逻辑,使用if语句实现自启动;第二个进程p2描述输出逻辑,用case语句完成其功能。
根据题目要求,在第1、4、5位置上输出为“0”,在其他位置上输出为“1”,每8位实现一次循环。
在实验过程中,首先在建立Quartus II软件中建立工程,然后再工程中建立VHDL文件,输入程序代码后保存调试,编译成功后,建立Vector Waveform文件进行仿真,仿真完毕后,在程序中引入分频器,编译,锁定引脚后,下载到实验板验证其功能。
在实验板上用一个开关代表clear清零,两个LED一个显示输出序列,一个显示时钟序列clk_outt。
2、M_序列信号发生器M_序列信号发生器的端口由一个时钟输入clk和两个信号输出,时钟输出clk_outt和序列信号输出q_out组成,进程p1描述状态逻辑,用if语句完成循环。
实验过程与实验1类似。
四、VHDL程序源代码1、序列信号发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xinhao ISport(clk:in std_logic;clear:in std_logic;q_out:out std_logic;clk_outt:out std_logic);--用户定义的输入输出及类型end xinhao;architecture a of xinhao iscomponent div50mport(clk_in:in std_logic;clk_out:out std_logic);--用户定义分频器的输入输出及类型end component;signal tmp: integer range 0 to 7;signal clock: std_logic;--用户定义的信号及其类型beginu1: div50m port map(clk_in=>clk,clk_out=>clock);--分频器的引入p1:process(clock)--第一个进程p1描述状态逻辑beginif clock'event and clock='1' thenif tmp=7 thentmp<=0;elsetmp<=tmp+1;end if;end if;end process p1;p2: process(clear,tmp)—第二个进程描述输出逻辑beginif clear='0' thenq_out<='0';elsecase tmp iswhen 0|3|4 =>q_out<='0';when others =>q_out<='1';end case;end if;end process p2;clk_outt<=clk;end a;2、M序列信号发生器library IEEE;USE IEEE. std_logic_1164.all;entity m_xulie isport (clk:in std_logic;q_out:out std_logic;clk_outt:out std_logic);--用户定义的输出输入及类型end m_xulie;architecture a of m_xulie iscomponent div50mport(clk_in:in std_logic;clk_out:out std_logic);--用户定义分频器的输入的输出及类型end component;signal tmp:std_logic_vector (2 downto 0);signal clock: std_logic;beginu1: div50m port map(clk_in=>clk,clk_out=>clock);--分频器的引入 p1:process(clk)—第一个进程P1描述状态逻辑beginif tmp= "000" then tmp <="001"; elsif clk'event and clk ='1' then tmp(0)<=tmp(0) xor tmp(2);tmp(1)<=tmp(0);tmp(2)<=tmp(1);end if;end process p1;q_out<=tmp(2);--数列信号的输出clk_outt<=clk;end a;五、RTL电路图1、序列信号发生器2、M_序列信号发生器六、仿真波形及其分析1、序列信号发生器从波形仿真图中可以看出,在时钟信号的上升沿,输出信号序列开始按01100111变化,当clear清零时,序列输出q_out也为“0”,时钟输出clk_outt相对于时钟输入clk有一定的时间延迟。
反馈移位型序列信号发生器的设计实验报告引言移位型序列信号发生器是一种能够产生特定序列的电路或设备,其在通信、计算机科学、数字信号处理等领域中有着广泛的应用。
在本实验中,我们设计了一种基于移位寄存器的移位型序列信号发生器,并对其进行了性能测试和分析。
本报告将对该实验的设计、实现和测试结果进行详细说明。
实验设计1.移位寄存器基本原理移位寄存器是一种常用的数字电路元件,其可以实现对二进制数据的移位、存储和输出。
它由若干个触发器组成,每个触发器接收相邻位的信号,并向右或向左移位。
例如,在一个4位移位寄存器中,初始存储的数据为1010,当向右移位时,数据变为0101。
2.移位型序列发生器的基本原理移位型序列发生器是一种利用移位寄存器和异或门构成的电路,用于产生特定的数字序列。
该电路的工作原理如下:将初始数据存储到移位寄存器中,然后依次对寄存器中的每个元素进行移位操作,并将移位后的数据与某个固定的数进行异或运算,得到输出序列的每一位。
例如,一个长度为4的序列发生器,初始数据为1010,异或运算的固定数为0011,则输出序列为1101、1110、0111、1011、0101、1010、1001、0100。
3.实验设计本实验中,我们设计了一个4位移位型序列发生器。
其基本原理如下图所示:图1. 移位型序列发生器电路图该电路由4个D触发器、2个与门和1个异或门组成。
其中,D触发器用于存储移位后的数据,两个与门用于控制移位寄存器的移位方向,异或门用于计算输出序列的每一位。
初始数据为1010,异或运算的固定数为0011。
具体实现过程如下:(1)首先将初始数据1010存储到4个D触发器中。
(2)然后依次进行4次移位操作,每次移位后将移位后的数据输入到异或门中进行计算,并将计算结果存储到一个新的移位寄存器中。
(3)当新的移位寄存器中存储的数据与初始数据相同时,停止计算,输出序列结束。
实验实现根据上述设计原理,我们完成了移位型序列发生器的实现。
——Design Sequential Circuits with MSI blocks序列信号发生器:能循环产生一组特定的串行数字序列信号的电路。
序列的长度:序列信号的位数。
如:序列为00011,则序列长度为5。
☐ 使用环形计数器设计 ☐ 使用扭环计数器设计特殊类型1000 0100 001000011101 1110 01111011常用状态图0000 1000 001100011100 111011110111常用状态图序列状态之间很有规律☐ 使用D 触发器设计☐ 使用计数器 + 数据选择器设计; ☐ 用移位寄存器 + 反馈电路设计(逻辑门 or 译码器 or 数据选择器)☐ 用计数器 + PROM 设计任意类型例:用D 触发器设计一个 110100 序列信号发生器时序电路的不同状态对应输出序列中的各位。
S 0 /Y=1 S 1 /Y=1 S 2 /Y=0 S 3 /Y=1S 4 /Y=0S 5 /Y=01. 画状态转换图大体思路:1.实现序列信号一个周期之内的波形2.将此波形循环再现☐序列信号长度为 L ,则取 L 个不同的状态☐每个状态下时序电路的输出就是序列信号中的一位。
方法1:利用D 触发器2. 状态编码S 0 —— 000 , S 3 —— 011 S 1 —— 001 , S 4 —— 100 S 2 —— 010 , S 5 —— 1013. 状态转换真值0 0 00 0 1 0 1 0 0 1 1 1 0 0 1 0 10 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0Q 2Q 1Q 0 Q 2 n+1 Q 1 n+1Q 0n+1Y1 1 0 1 0 04.卡诺图化简D 0=Q 0’D 1=Q 2’Q 1’Q 0+Q 1Q 0’XX11 0 0 1 00 01 11 10 0 1Q 1Q 0 Q 2X1 0 1 0 00 01 11 10 0 1Q 1Q 0 Q 2XX10 1 0 0 00 01 11 10 0 1Q 1Q 0Q 2D 2=Q 2Q 0’+Q 1Q 0XX0 1 1 1 00 01 11 10 0 1Q 1Q 0 Q 2Y=Q 2’Q 1’+Q 1Q 05. 电路实现(略)6. 检查无关项000001010011100101110111时序电路可以自启动。