(整理)寄存器.
- 格式:doc
- 大小:104.50 KB
- 文档页数:9
寄存器作用
寄存器是在计算机中用于暂存数据的一种硬件设备。
它是计算机体系结构中的重要组成部分,相当于一个小型的存储单元,能够快速存储和访问数据。
寄存器的主要作用包括以下几个方面:
1. 存储数据:寄存器作为计算机内部的数据存储单元,可以用来存储指令、操作数和中间结果等数据。
它的容量相对较小,但读写速度非常快,能够满足计算机对于短期存储的需求。
2. 执行运算:寄存器是执行运算和操作的数据源和目的地。
例如,在进行加法运算时,数字需要从内存中加载到寄存器中进行计算,计算结果再存储回内存。
通过使用寄存器,可以提高计算机的运算速度和性能。
3. 存储计算状态:寄存器还可以存储计算机的运算状态,例如程序计数器(PC)用来存储计算机当前执行的指令地址;标
志寄存器(FLAGS)用来存储在运算过程中产生的条件结果,如溢出、零、负等。
4. 传递参数:在函数调用过程中,寄存器用来传递参数和返回值。
由于寄存器的读写速度较快,可以节省数据在内存和寄存器之间的传输时间,提高函数调用的效率。
5. 控制程序流程:寄存器可以用来控制程序的跳转和分支。
通过修改程序计数器的值,可以实现无条件跳转、条件跳转等控
制流程的操作。
总之,寄存器在计算机中的作用非常重要。
它不仅能够存储和处理数据,还能够控制计算机的运行状态,提高计算机的运算速度和性能。
寄存器的设计和使用对于计算机的运行效率和性能有着重要的影响,是计算机体系结构中不可或缺的一部分。
51单片机寄存器功能一览表fe51单片机的CPU中,有21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SF存储空间中,地址空间为80H-FFH,在这片SF空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有OM,用来存放程序,有AM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SF)。
这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):MCS-51单片机的特殊功能寄存器符号地址功能介绍BF0HB寄存器ACCE0H累加器PSWD0H程序状态字TH2*CDH定时器/计数器2(高8位)TL2*CCH定时器/计数器2(低8位)CAP2H*CBH外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CAP2L*CAH外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位T2CON*C8HT2定时器/计数器控制寄存器IPB8H中断优先级控制寄存器P3B0HP3口锁存器IEA8H中断允许控制寄存器P2A0HP2口锁存器SBUF99H串行口锁存器SCON98H串行口控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)TH08CH定时器/计数器1(低8位)TL18BH定时器/计数器0(高8位)TL08AH定时器/计数器0(低8位)TMOD89HT0、T1定时器/计数器方式控制寄存器TCON88HT0、T1定时器/计数器控制寄存器DPH83H数据地址指针(高8位)DPL82H数据地址指针(低8位)SP81H堆栈指针P080HP0口锁存器PCON87H电源控制寄存器分别说明如下:1、ACC---是累加器,通常用A表示这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。
MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。
为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。
在网上找了一会,好像MPU-6050没有中文的数据手册,由于本人也处于学习阶段,翻译的可能不太准确,只能表达一下简单的意思,以官方数据手册为准。
引脚说明:VDD 供电电压为2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 为1.8V± 5%内建振荡器在工作温度范围内仅有±1%频率变化。
可选外部时钟输入32.768kHz 或19.2MHz找出几个重要的寄存器:1)Register 25 – Sample Rate Divider (SMPRT_DIV)1)SMPLRT_DIV 8位无符号值,通过该值将陀螺仪输出分频,得到采样频率该寄存器指定陀螺仪输出率的分频,用来产生MPU-60X0的采样率。
传感器寄存器的输出、FIFO输出、DMP采样和运动检测的都是基于该采样率。
采样率的计算公式采样率= 陀螺仪的输出率/ (1 + SMPLRT_DIV)当数字低通滤波器没有使能的时候,陀螺仪的输出平路等于8KHZ,反之等于1KHZ。
2)Register 26 – Configuration (CONFIG)1)EXT_SYNC_SET 3位无符号值,配置帧同步引脚的采样2)DLPF_CFG 3位无符号值,配置数字低通滤波器该寄存器为陀螺仪和加速度计配置外部帧同步(FSYNC)引脚采样和数字低通滤波器(DLPF)。
通过配置EXT_SYNC_SET,可以对连接到FSYNC引脚的一个外部信号进行采样。
各个模块的寄存器:1)CPU内部寄存器(状态寄存器SR)2)外围模块寄存器和特殊寄存器中断使能寄存器(IE1)UTXIE0USART0模块的传输中断使能控制比特。
置1时模块的中断使能,0时关闭URXIE0USART0接收中断控制。
1中断使能、0中断关闭ACCVIEFLASH 存储器非法访问中断使能控制比特位。
1使能、0时关闭。
NMIE 非屏蔽中断使能控制。
1使能、0关闭OFIE 晶体出错中断使能控制。
1使能、0关闭WDTIE看门狗中断使能控制。
1使能看门狗中断、0关闭中断使能寄存器(IE2)****UTXIE15URXIE14********UTXIE1USART1模块传输中断使能控制。
1使能、0关闭URXIE1USART1模块接收中断使能控制。
1使能、0关闭中断标志寄存器(IFG1)UTXIFG07URXIFG 06**NMIIFG4****OFIFG 1WDTIFGUTXIFG0USART0传输中断标志位。
1时有中断产生、0没有URXIFG0USART0接收中断标志位。
1时有中断产生、0没有NMIIFG非屏蔽中断标志位。
1时有中断产生、0没有UTXIE07URXIE06ACCVIE5NMIIE4**3**2OFIE1WDTIEOFIFG晶体出错中断标志位。
1时有中断产生、0没有WDTIFG看门狗中断标志。
1时有中断产生、0时没有中断标志寄存器(IFG2)****UTXIFG15URXIFG14********UTXIFG1USART1传输中断标志位。
1时有中断产生、0时没有URXIFG1USART1接收中断标志位。
1时有中断产生、0时没有模块使能寄存器1(ME1)UTXE0 7URXE0USPIE0************UTXE0USART0的传输使能。
1时USART0传输模块使能、0时不工作URXE0 USPIE0USART作为UART时,该比特控制UART的接收功能,设置为1时接收模块使能,0时不工作;作为SPI时,设置为1,则SPI使能,0时SPI不工作。
锁存器、触发器、寄存器和缓冲器一、锁存器锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。
(简单地说,它有两个输入,分别是一个有效信号EN,一个输入数据信号DATA_IN,它有一个输出Q,它的功能就是在EN有效的时候把DATA_IN的值传给Q,也就是锁存的过程)。
锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。
应用场合:数据有效迟后于时钟信号有效。
这意味着时钟信号先到,数据信号后到。
在某些运算器电路中有时采用锁存器作为数据暂存器。
缺点:时序分析较困难。
不要锁存器的原因有二:1、锁存器容易产生毛刺,2、锁存器在ASIC(专用集成电路)设计中应该说比ff(触发器)要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和ff来组成锁存器,这样就浪费了资源。
(用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一)优点:面积小。
锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。
latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。
二、触发器触发器(Flip-Flop,简写为FF),也叫双稳态门,又称双稳态触发器。
是一种可以在两种状态下运行的数字逻辑电路。
触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。
当收到输入脉冲时,触发器输出就会根据规则改变状态,然后保持这种状态直到收到另一个触发。
寄存器、RAM、ROM、Flash相关概念区别整理寄存器寄存器是中央处理器内的组成部份。
它跟CPU有关。
寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。
在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
存储器存储器范围最大,它几乎涵盖了所有关于存储的范畴。
你所说的寄存器,内存,都是存储器里面的一种。
凡是有存储能力的硬件,都可以称之为存储器,这是自然,硬盘更加明显了,它归入外存储器行列,由此可见——。
内存内存既专业名上的内存储器,它不是个什么神秘的东西,它也只是存储器中的沧海一粟,它包涵的范围也很大,一般分为只读存储器和随即存储器,以及最强悍的高速缓冲存储器(CACHE),只读存储器应用广泛,它通常是一块在硬件上集成的可读芯片,作用是识别与控制硬件,它的特点是只可读取,不能写入。
随机存储器的特点是可读可写,断电后一切数据都消失,我们所说的内存条就是指它了。
CACHE高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术,也有快取记忆体的名称。
CACHE是在CPU中速度非常块,而容量却很小的一种存储器,它是计算机存储器中最强悍的存储器。
由于技术限制,容量很难提升,一般都不过兆。
ROM、RAM的区别:ROM(只读存储器或者固化存储器)RAM(随机存取存储器)ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),当数据被存入其中后不会消失。
汇编语言之寄存器(详细介绍)1、寄存器32位寄存器有16个,分别是:4个数据寄存器(EAX、EBX、ECX、EDX)。
2个变址和指针寄存器(ESI和EDI);2个指针寄存器(ESP和EBP)。
6个段寄存器(ES、CS、SS、DS、FS、GS)。
1个指令指针寄存器(EIP);1个标志寄存器(EFlags)。
2、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。
32位CPU有4个32位通用寄存器:EAX、EBX、ECX和EDX。
对低16位数据的取存,不会影响高16位的数据,这些低16位寄存器分别命名为AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。
4个16位寄存器又可分割成8个独立的8位寄存器(AX:ah~al、BX:bh~bl、CX:ch~cl:DX:dh~dl)。
每个寄存器都有自己的名称,可独立存取。
程序员可利用数据寄存器的这种“可合可分”的特性,灵活地处理字/字节的信息。
AX和al通常称为累加器,用累加器进行的操作可能需要更少时间,累加器可用于乘、除、输入/输出等操作,它们的使用频率很高。
BX称为基地址寄存器,它可作为存储器指针来使用。
CX称为计数寄存器,在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用cl来指明位移的位数。
DX称为数据寄存器,在进行乘、除运算时,它可以为默认的操作数参与运算,也可用于存放I/O的端口地址。
在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据、保存算术逻辑运算结果,而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。
3、变址寄存器32位CPU有2个32位通用寄存器ESI和EDI,其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。
汇编语言寄存器和指令操作的整理汇编语言是一种与机器语言紧密相关的低级语言。
它使用寄存器和特定的指令操作来进行数据的加载、存储、运算和控制。
寄存器是位于CPU内部的高速存储器。
它们可以暂时存储数据,供CPU进行运算和操作。
汇编语言使用多个寄存器进行数据的临时存储和处理。
在x86架构的计算机系统中,常见的寄存器包括:1.通用寄存器:程序员可以随意使用的寄存器,用于存储临时数据和地址。
在32位模式下,共有8个32位通用寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP),在64位模式下,有16个64位通用寄存器(RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、R8~R15)。
2.段寄存器:用于存储段地址,分别包括代码段寄存器(CS)、数据段寄存器(DS)、附加段寄存器(ES)、栈段寄存器(SS)和指令指针寄存器(IP)。
3.标志寄存器:用于存储程序运行状态和执行结果的标志位,包括进位标志(CF)、零标志(ZF)、符号标志(SF)、溢出标志(OF)等。
除了寄存器,汇编语言还使用一些特定的指令操作来完成各种功能。
常见的指令操作包括:1.数据传输指令:用于将数据从一个位置(如寄存器、内存)传送到另一个位置。
常见的数据传输指令有MOV(将数据从源操作数传送到目标操作数)、LEA(加载有效地址)等。
2.算术运算指令:用于对数据进行加、减、乘、除等数学运算。
常见的算术运算指令有ADD(加法)、SUB(减法)、MUL(乘法)、IDIV(整数除法)等。
3.逻辑运算指令:用于对数据进行逻辑上的与、或、非、异或等运算。
常见的逻辑运算指令有AND(与运算)、OR(或运算)、NOT(取反运算)、XOR(异或运算)等。
4.控制指令:用于控制程序的流程和状态。
常见的控制指令有JMP(无条件跳转)、JZ(零标志跳转)、LOOP(循环执行)、CALL(调用子程序)等。
5.输入输出指令:用于与外部设备进行数据的输入和输出。
S12的输入/输入端口(I/O口)I/O端口功能可设置为通用I/O口、驱动、内部上拉/下拉、中断输入等功能。
设置I/O口工作方式的寄存器有:DDR、IO、RDR、PE、IE和PS。
DDR:设定I/O口的数据方向。
IO :设定输出电平的高低。
RDR:选择I/O口的驱动能力。
PE:选择上拉/下拉。
IE:允许或禁止端口中断。
PS:1、中断允许位置位时,选择上升沿/下降沿触发中断;2、中断禁止时且PE有效时,用于选择上拉还是下拉。
I/O端口设置1、A口、B口、E口寄存器(1)数据方向寄存器DDRA、DDRB、DDREDDRA、DDRB、DDRE均为8位寄存器,复位后其值均为0。
当DDRA=0、DDRB=0、DDRE=0 时A口、B口和E口均为输入口。
否则,A口、B口、E口为输出口。
当DDRA、DDRB、DDRE的任何一位置1时,则该位对应的引脚被设置为输出。
例如,将A口设置为输出口,则其C语言程序的语句为:DDRA=0xff;(2)A口、B口、E口上拉控制寄存器PUCRPUCR为8位寄存器,复位后的值为0。
当PUPAE、PUPBE、PUPEE被设置为1时,A口、B口、E口具有内部上拉功能;为0时,上拉无效。
当A口、B口、E口为地址/数据总线时,PUPAE和PUPBE无效。
(3)A口、B口、E口降功率驱动控制寄存器RDRIVRDRIV为8位寄存器,复位后的值为0,此时,A口、B口、E口驱动保持全功率;当RDPA、RDPB、RDPE为1时,A口、B口、E口输出引脚的驱动功率下降(4)数据寄存器PORTA、PORTB、PORTEPORTA、PORTB、PORTE均为8位寄存器,复位后的值为0,端口引脚输出低电平;要使引脚输出高电平,相应端口对应位应该置1。
由于PE0是/XIRQ、PE1是IRQ,因此,PE0和PE1只能设置为输入。
2、H口寄存器(1)H口I/O寄存器PTH任意时间读/写。
当某一引脚对就的数据方向位设置为1时,读操作返回的是这个端口寄存器的值;否则,读的是引脚的值。
一、McBsp概述McBSP是TI公司生产的数字信号处理芯片的多通道缓冲串行口。
McBSP是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功能。
它可以和其他DSP器件、编码器等其他串口器件通信。
它具有普通串口的以下特点:(1)全双工通信;(2)拥有两级缓冲发送和三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送和接收提供独立的帧同步脉冲和时钟信号;(4)能够与工业标准的解码器、模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接;(5)支持外部移位时钟或内部频率可编程移位时钟。
(6)128个通道用于接收传送。
(7)支持A-bis(8)接口直接连接工业标准的多媒体数字信号编解码器,A/D、D/A和模拟芯片。
此外,McBSP还具有以下特殊功能:(1)可以与IOM-2、SPI、AC97等兼容设备直接连接;(2)支持多通道发送和接收,每个串行口最多支持128通道;(3)串行字长度可选,包括8、12、16、20、24和32位;(4)支持μ-Law和A-Law数据压缩扩展;(5)进行8位数据传输时,可以选择LSB或MSB为起始位;(6)帧同步脉冲和时钟信号的极性可编程;(7)内部时钟和帧同步脉冲的产生可编程,具有相当大的灵活性。
二、McBSP的内部结构框图McBSP的内部结构框图三、McBSP结构与原理数据通道控制通道四、McBsp数据压缩功能。
图1-1 DXR数据发送寄存器图1-2 XSR数据发送移位寄存器表1-2 数据发送移位寄存器(XSR)位段说明图1-3 DRR数据接收寄存器表1-3 数据接收寄存器(DRR)位段说明图1-4 RBR数据接收缓存寄存器表1-4 数据接收缓存寄存器(RBR)位段说明图1-5 RSR数据接收移位寄存器表1-5 数据接收移位寄存器(RSR)位段说明图1-6 SPCR串口控制寄存器表1-6 串口控制寄存器(SPCR)位段说明图1-7 RCR接收控制寄存器表1-7 接收控制寄存器(RCR)位段说明图1-8 XCR发送控制寄存器表1-8 发送控制寄存器(XCR)位段说明图1-9 SRGR采样率发生控制寄存器表1-9采样率发生控制寄存器(SRGR)位段说明图1-10 MCR多通道控制寄存器表1-10多通道控制寄存器(MCR)位段说明图1-11 RCER接收通道使能寄存器表1-11 接收通道使能寄存器(RCER)位段说明图1-12 XCER发送通道使能寄存器表1-12 发送通道使能寄存器(XCER)位段说明图1-13 RCERE增强的接收通道使能寄存器0-3表1-13 增强的接收通道使能寄存器(RCERE)位段说明图1-14 XCERE增强的发送通道使能寄存器0-3 表1-14 增强的发送通道使能寄存器(RCERE)位段说明图1-15 PCR引脚控制寄存器表1-15 引脚控制寄存器(PCR)位段说明自定义数据结构1.数据接收三级缓存寄存器状态表1-16数据接收三级缓存寄存器状态段说明2.PC串口使能表1-16 PC串口使能段说明***********************华丽的分割线***********************************。
一、McBsp概述McBSP是TI公司生产的数字信号处理芯片的多通道缓冲串行口。
McBSP是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功能。
它可以和其他DSP器件、编码器等其他串口器件通信。
它具有普通串口的以下特点:(1)全双工通信;(2)拥有两级缓冲发送和三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送和接收提供独立的帧同步脉冲和时钟信号;(4)能够与工业标准的解码器、模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接;(5)支持外部移位时钟或内部频率可编程移位时钟。
(6)128个通道用于接收传送。
(7)支持A-bis(8)接口直接连接工业标准的多媒体数字信号编解码器,A/D、D/A和模拟芯片。
此外,McBSP还具有以下特殊功能:(1)可以与IOM-2、SPI、AC97等兼容设备直接连接;(2)支持多通道发送和接收,每个串行口最多支持128通道;(3)串行字长度可选,包括8、12、16、20、24和32位;(4)支持μ-Law和A-Law数据压缩扩展;(5)进行8位数据传输时,可以选择LSB或MSB为起始位;(6)帧同步脉冲和时钟信号的极性可编程;(7)内部时钟和帧同步脉冲的产生可编程,具有相当大的灵活性。
二、McBSP的内部结构框图McBSP的内部结构框图三、McBSP结构与原理数据通道控制通道四、McBsp数据压缩功能。
图1-1 DXR数据发送寄存器图1-2 XSR数据发送移位寄存器表1-2 数据发送移位寄存器(XSR)位段说明图1-3 DRR数据接收寄存器表1-3 数据接收寄存器(DRR)位段说明图1-4 RBR数据接收缓存寄存器表1-4 数据接收缓存寄存器(RBR)位段说明图1-5 RSR数据接收移位寄存器表1-5 数据接收移位寄存器(RSR)位段说明图1-6 SPCR串口控制寄存器表1-6 串口控制寄存器(SPCR)位段说明图1-7 RCR接收控制寄存器表1-7 接收控制寄存器(RCR)位段说明图1-8 XCR发送控制寄存器表1-8 发送控制寄存器(XCR)位段说明图1-9 SRGR采样率发生控制寄存器表1-9采样率发生控制寄存器(SRGR)位段说明图1-10 MCR多通道控制寄存器表1-10多通道控制寄存器(MCR)位段说明图1-11 RCER接收通道使能寄存器表1-11 接收通道使能寄存器(RCER)位段说明图1-12 XCER发送通道使能寄存器表1-12 发送通道使能寄存器(XCER)位段说明图1-13 RCERE增强的接收通道使能寄存器0-3表1-13 增强的接收通道使能寄存器(RCERE)位段说明图1-14 XCERE增强的发送通道使能寄存器0-3 表1-14 增强的发送通道使能寄存器(RCERE)位段说明图1-15 PCR引脚控制寄存器表1-15 引脚控制寄存器(PCR)位段说明自定义数据结构1.数据接收三级缓存寄存器状态表1-16数据接收三级缓存寄存器状态段说明2.PC串口使能表1-16 PC串口使能段说明***********************华丽的分割线***********************************。
2.工作原理(1)CP不为上升沿时,=1,寄存器输出保持不变(1)当CP=0时,Q =来(不锁存数据)时,输出端的信号随输入信号变化;(2)当CP=1时,D数据输入不影响电路的状态,电路锁定原数据。
即当使能信号结束后(锁存)保持不变。
锁存器具有接收、存放、输出和清除数码的功能,在接收指令(在计算机中称为写指令)控制下,将数据送入寄存器存放;需要时可在输出指令(读出指令)控制下,将数据由寄存器输出。
2.集成数码锁存器74LS37374LS373是—— 8(1)0C为三态控制端高阻态;当0C =0时,(2)C为锁存控制输入端(高电平有效)入端数据不变,当C=1三、移位寄存器移位寄存器:存储数据,所存数据可在移位脉冲作用下逐位左移或右移。
即实现串入串出。
在数字电路系统中,常常要求实现移位功能。
分类:单向移位、双向移位。
1.单向移位寄存器工作过程:(1)串入串出:前触发器输出端Q与后数据输入端当时钟到时,加至串行输入端DSR的数据送Q0,据右移至Q1,Q1的数据右移至Q2,以此类推。
将数码(1)并入并出:当IE=1时,在时钟脉冲CP的作用下并行数据输入端D0~D3的数会存入寄存器Q0~Q3。
(2)串入串出:原理与前述相同,略。
3.集成双向移位寄存器——74LS19474LS194是四位双向移位寄存器。
(1)引脚及功能简介:(2)工作方式:S1S0=00、保持;S1S0=10、左移存储S1S0=01、右移存储;S1S0=11并入并出8.1.2 移位寄存器的应用一、移位寄存器构成序列脉冲发生器序列信号:是在同步脉冲的作用下按一定周期循环产生的一串二进制信号。
如:0111-----0111,每4位重复一次,称为4位序列信号。
序列脉冲信号广泛用于数字设备测试、通信和遥控中的识别信号或基准信号等。
移位寄存器组成的8位序列信号发生器,序列信号为:00001111工作原理分析:S1S0=01,为右移,Q3为输出端。
(1)首先令CR=0,输出端全为零,产生序列信号的关键:是从移位寄存器的输出端引出一个反馈信号送至串行输入端,位移位寄存器构成的序列信号发生器产生的序列信号的最大长度P=2n。
DP83640寄存器说明目录扩展寄存器页0 (13)测试寄存器页1 (21)链路诊断寄存器页2 (22)保留寄存器页3 (27)PTP1588基本寄存器页4 (27)PTP1588配置寄存器页5 (32)PTP1588配置寄存器页6 (37)DP83640寄存器映射偏移访问模式名称描述十六进制十进制00h 0 RW BMCR 基本模式控制01h 1 RO BMSR 基本模式状态02h 2 RO PHYIDR1 PHY标识符103h 3 RO PHYIDR2 PHY标识符204h 4 RW ANAR 自动协商广告05h 5 RW ANLPAR 自动协商链接设备功能06h 6 RW ANER 自动协商扩展07h 7 RW ANNPTR 自动协商下页08h-0Fh 8-15 RESERVED 保留10h 16 RO PHYSTS PHY状态11h 17 RW MICR MII中断控制12h 18 RW MISR MII中断状态和事件控制13h 19 RW PAGESEL 页选择扩展寄存器-第0页14h 20 RO FCSCR 载波侦听错误计数15h 21 RO RECR 接收错误计数16h 22 RW PCSR PCS(物理编码)子层配置和状态17h 23 RW RBR RMII和旁路18h 24 RW LEDCR LED控制19h 25 RW PHYCR PHY控制1Ah 26 RW 10BTSCR 10Base-T控制/状态1Bh 27 RW CDCTRL1 CD测试控制和BIST扩展1Ch 28 RW PHYCR2 PHY控制21Dh 29 RW EDCR 能量检测控制1Eh 30 RESERVED 保留1Fh 31 RW PCFCR PHY控制帧配置测试寄存器-第1页14h-1Dh 20-29 RESERVED 保留1Eh 30 RW SD_CNFG 信号检测配置1Fh 31 RESERVED 保留连接诊断寄存器-第2页14h 20 RO LEN100_DET 100Mb长度检测15h 21 RW FREQ100 100Mb频率偏移指示16h 22 RW TDR_CTRL TDR控制17h 23 RW TDR_WIN TDR窗口18h 24 RO TDR_PEAK TDR峰值测量19h 25 RO TDR_THR TDR阈值测量1Ah 26 RW V AR_CTRL 方差控制1Bh 27 RO V AR_DA T 方差数据1Ch 28 RESERVED 保留1Dh 29 RW LQMR 连接质量监视器1Eh 30 RW LQDR 连接质量数据1Fh 31 RW LQMR2 连接质量监视器2保留寄存器-第3页14h-1Fh 20-31 RESERVED 保留PTP 1588 基本寄存器-第4页偏移访问模式名称描述十六进制十进制14h 20 RW PTP_CTL PTP控制15h 21 RW PTP_TDR PTP时间数据16h 22 RW PTP_STS PTP状态17h 23 RW PTP_TSTS PTP触发状态18h 24 RW PTP_RATEL PTP时间率L 19h 25 RW PTP_RATEH PTP时间率H 1Ah 26 RO PTP_RDCKSUM PTP第4页读校验和1Bh 27 RO PTP_WRCKSUM PTP第4页写校验和1Ch 28 RO PTP_TXTS PTP发送时间戳1Dh 29 RO PTP_RXTS PTP接收时间戳1Eh 30 RO PTP_ESTS PTP事件状态1Fh 31 RO PTP_EDA TA PTP事件数据PTP 1588 配置寄存器-第5页14h 20 RW PTP_TRIG PTP触发配置15h 21 RW PTP_EVNT PTP事件配置16h 22 RW PTP_TXCFG0 PTP发送配置0 17h 23 RW PTP_TXCFG1 PTP发送配置1 18h 24 RW PTP_CFG0 PTP状态帧配置0 19h 25 RW PTP_RXCFG0 PTP接收配置0 1Ah 26 RW PTP_RXCFG1 PTP接收配置1 1Bh 27 RW PTP_RXCFG2 PTP接收配置2 1Ch 28 RW PTP_RXCFG3 PTP接收配置3 1Dh 29 RW PTP_RXCFG4 PTP接收配置4 1Eh 30 RW PTP_TRDL PTP临时时间时长Low 1Fh 31 RW PTP_TRDH PTP临时时间时长HighPTP 1588 配置寄存器-第6页14h 20 RW PTP_COC PTP时钟输出控制15h 21 RW PSF_CFG1 PHY状态帧配置1 16h 22 RW PSF_CFG2 PHY状态帧配置2 17h 23 RW PSF_CFG3 PHY状态帧配置3 18h 24 RW PSF_CFG4 PHY状态帧配置4 19h 25 RW PTP_SFDCFG PTP SFD配置1Ah 26 RW PTP_INTCTL PTP中断控制1Bh 27 RW PTP_CLKSRC PTP时钟源1Ch 28 RW PTP_ETR PTP以太网类型1Dh 29 RW PTP_OFF PTP偏移1Eh 30 RO PTP_GPIOMON PTP GPIO监视器1Fh 31 RW PTP_RXHASH PTP接收哈希值1.基本模式控制寄存器(BMCR),地址为0x00比特位名称默认值描述15 RESET 0RW/SC RESET:1=软复位0=正常模式复位过程完成后,该位自清零14 LOOPBACK 0RW Loopback:1= 回路模式0=正常模式回路模式将MII传输的数据发送到MII接收端13 SPEED SELECTION StrapRW Speed Select:当自动协商禁止时,设置该位选择端口的速度1=100Mb/s0=10Mb/s12 AUTO-NEGOTIATIONENABLE StrapRWAuto-Negotiation Enable:复位时控制初始化的值如果FX使能(FX_EN=1),该位复位值为01=使能自动协商,此时该寄存器的第8和13位的值将被忽略0=禁止自动协商,此时该寄存器的第8和13位的值决定端口速率和双工模式11 POWER DOWN 0RW Power Down:1=掉电模式0=正常模式该位置1时,将使PHY掉电,此时仅该寄存器可以访问。
M C9S12D G128B单片机寄存器说明书(主要部分)作者:广工翔宇队2008-01-26目录一、CRG(CLOCK AND RESET GENERATOR时钟模块) (5)SYNR与REFDV (5)CRGFLG(时钟产生模块的标志寄存器) (5)CRGINTL(CRG中断允许控制寄存器) (6)CLKSEL(时钟选择寄存器) (6)PLLCTL(锁相环控制寄存器) (6)RTICTL(设置实时中断超时周期寄存器) (7)COPCTL(看门狗控制器) (8)ARMCOP(看门狗复位寄存器) (8)二、AD转换模块 (9)ATDCTL2(AD控制寄存器2) (9)ATDCTL3(AD控制寄存器3) (9)ATDCTL4(时钟选择预分频) (10)ATDCTL5(AD控制器5) (11)ATDSTAT0(AD状态寄存器) (12)ATDDIEN(AD输入使能寄存器) (12)ATDDRH X/ATDDRL X (AD转换结果寄存器) (12)三、PWM模块 (14)PWM初始化步骤 (14)PWME(PWM E NABLE R EGISTER PWM使能寄存器) (14)PWMPOL(PWM P OLARITY R EGISTER 极性选择寄存器) (14)PWMDTY X (PWM C HANNEL D UTY R EGISTERS PWM通道占空比寄存器) (14)PWMPER X (PWM C HANNEL P ERIOD R EGISTERS PWM通道周期寄存器) (15)PWMCLK(PWM C LOCK S ELECT R EGISTER PWM时钟选择寄存器) (15)PWMPRCLK(P RESCALE C LOCK S ELECT R EGISTER 预分频时钟选择寄存器) (16)PWMCTL(PWM C ONTROL R EGISTER 控制寄存器) (16)四、IO模块 (18)P ORT T I/O R EGISTER (PTT) (18)P ORT T I NPUT R EGISTER (PTIT)(PTIS、PTIP、PTIH、PTIJ) (18)P ORT T D ATA D IRECTION R EGISTER (DDRT)(DDRS、DDRH、DDRJ) (18)P ORT T R EDUCED D RIVE R EGISTER(RDRT)(RDRS、RDRP、RDRH、RDRJ) (18)P ORT T P ULL D EVICE E NABLE R EGISTER (PERT)(PERS、PERH、PERJ) (18)PPST(P ORT T P OLARITY S ELECT R EGISTER) (19)PTS(P ORT S I/O R EGISTER) (19)WOMS(P ORT S W IRED-O R M ODE R EGISTER) (19)PTP(P ORT P I/O R EGISTER) (19)PIEP(P ORT P I NTERRUPT E NABLE R EGISTER)(PIEH、PIEJ) (20)PIFP(P ORT P I NTERRUPT F LAG R EGISTER)(PIFH、PIFJ) (20)PTH(P ORT H I/O R EGISTER) (20)P ORT J I/O R EGISTER (PTJ) (20)五、SPI0模块(SPI1模块与之对应) (22)SPI0CR1(SPI0控制寄存器1) (22)SPI0CR2(SPI0控制寄存器2) (23)SPI0BR(波特率设置寄存器) (23)SPI0SR(SPI状态寄存器) (24)SPI0DR(SPI数据寄存) (24)六、ENHANCED CAPTURE TIMER MODULE增强型捕捉定时器模块 (25)TIOS(定时器输入捕捉/输出比较选择寄存器) (25)OC7M(O UTPUT C OMPARE M ASK A CTION) (25)OC7D(O UTPUT C OMPARE 7D ATA R EGISTER) (25)TSCR1 (25)TCTL1/TCTL2(定时器控制寄存器1/2) (26)TCTL3/TCTL4(输入捕捉沿控制(IC7–IC0)) (26)TIE(定时器中断允许控制器) (27)PACN3、PACN2(PACN1、PACN0类似) (27)PACTL(16位计数器控制寄存器) (27)七、SCI 异步品行通信 (29)SCICR1(SCI控制寄存器1) (29)SCICR2(SCI控制寄存器2) (29)SCIBDH/L(SCI波特率设置寄存器) (29)SCISR1(SCI状态寄存器1) (30)SCIDRH/L(SCI接收发送数据寄存器) (30)八、EEPROM(电可擦除寄存器) (31)ECLKDIV(时钟分频器寄存器) (31)ECNFG(EEPROM C ONFIGURATION R EGISTER) (31)EPROT(EEPROM保护设置寄存器) (31)ESTAT(EEPROM状态寄存器) (32)ECMD(EEPROM指令寄存器) (32)ESTAT(EEPROM状态寄存器) (33)MC9S12DG128B特殊功能寄存器说明一、CRG(Clock and Reset Generator时钟模块)SYNR 与 REFDV说明:SYNR:(时钟合成寄存器)有效位为寄存器的低6位,默认地址:$34。
6.3.2 FTM相关寄存器FTM寄存器非常多,我们这里只列举常用的8个。
1.状态和控制(FTMx_SC)SC包含溢出状态标志和控制位,用来配置中断使能、FTM配置、时钟源和预分频因子。
这些控制和这个模块的所有通道相关。
表6-13 FTMx_SC位域描述2.计数器(FTMx_CNT)CNT寄存器包含FTM计数器的值。
复位清CNT寄存器,写任何值到COUNT中会将计数器更新为它的初始值(CNTIN),当激活BDM时,FTM计数器冻结。
表6-14 FTMx_CNT位域描述3.模(FTMx_MOD)模寄存器包含FTM计数器的模值。
FTM计数器达到模寄存器的值后,在下个时钟周期置位溢出标志(TOF),FTM计数器的下一个值取决于所选的计数方式。
写MOD寄存器会将值锁存到缓冲区中,MOD寄存器会根据写缓冲区中的值更新寄存器。
如果FTMEN=0,通过写SC寄存器可能复位写一致机制,推荐在写MOD寄存器之前初始化FTM计数器。
4.通道n状态和控制寄存器(FTMx_CnSC)CnSC包含了通道中断状态标志和控制位,用于配置中断使能、通道配置和引脚功能。
表6-18 FTMx_CnSC位描述表6-16 模式、边沿和电平选择表6-17 沿跳变捕捉模式-边沿极性选择5.通道n值寄存器(FTMx_CnV)这些寄存器包括了输入捕捉模式下捕捉的FTM计数器的值或者输出比较模式下的匹配值。
在输入捕捉、捕捉测试和双边沿捕捉模式,写CnV无效。
在输出比较模式下,写CnV 寄存器将会把写入的值装载到缓冲中。
表6-19 FTMx_CnV位描述6.计数器初始值寄存器(FTMx_CNTIN)该寄存器包括FTM计数器的初始值,写该寄存器会将值装载到缓冲区中。
表6-20 FTMx_CNTIN位描述7.捕捉和比较状态寄存器(FTMx_STA TUS)该寄存器包括了对每个FTM通道的状态标志CHnF位的副本。
通过读该寄存器可以得到所有通道的CHnF位的值。
1.1 寄存器在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
1.2 锁存器由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路。
数据有效迟后于时钟信号有效。
这意味着时钟信号先到,数据信号后到。
在某些运算器电路中有时采用锁存器作为数据暂存器。
1.3 缓冲器缓冲器相当于一个寄存器,暂时保存数据.缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。
除了在关键的地方采用少量硬件缓冲器之外,大都采用软件缓冲。
软件缓冲区是指在I/O操作期间用来临时存放输入/输出数据的一块存储区域。
在操作系统中,引入缓冲的主要原因如:缓和CPU与l/0设备间速度不匹配的矛盾。
一般情况下,程序的运行过程是时而进行计算,时而进行输入或输出。
以输出为例,如果没有缓冲,则程序在输出时,必然由于打印机的速度跟不上而使CPU停下来等待;然而在计算阶段,打印机又无事可做。
如果设置一个缓冲区,程序可以将待输出的数据先输出到缓冲区中,然后继续执行;而打印机则可以从缓冲区取出数据慢慢打印。
1.4 寄存器和锁存器的区别(1)寄存器是同步时钟控制,而锁存器是电位信号控制。
(2)寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据之间的时间关系:若数据有效一定滞后于控制信号有效,则只能使用锁;数据提前于控制信号而到达并且要求同步操作,则可用寄存器来存放数据。
一、锁存器1. 锁存器的工作原理锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。
锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。
锁存器原理见图锁存器是锁存控制信号输入端,D数据输入端,Q和是数据互补输出端。
Ⅰ:=0,左与门被封锁,被封锁输出∴Ⅱ:时,分两种情况(a) 输出,所以D不影响(b) 输出,所以D也不影响∴结论:原来状态不被改变,D不影响.由上述分析看出:也就是说, 由01时刻将数据D锁定并保持,直到由10.本例锁存器是控制信号上升沿锁存数据,高电平保持,非号的意义是低电平时输入数据可以直达输出端。
有的锁存器是控制信号C下降沿锁存低电平保持,即加一个非门将控制信号C反相;有的锁存器在输出端加一个三态门,由另一个控制信号OC控制;另外还有的锁存器带有直接置0(清除)、置1(预置)输入端,等同于触发器的R D,S D端。
集成锁存器有多种型号,如 TTL的74LS77,74LS363等,也有CMOS的如4508,4042,74HL373等,需要使用时可以查阅手册。
二、数据寄存器寄存器用于寄存一组二值代码,它被广泛的用于各类数字系统和计算机中。
因为一个触发器能储存1位二值代码,所以N个触发器组成的寄存器能储存一组N 位二值代码。
对寄存器中的触发器只要求它们具有置1,置0的功能即可,因而无论是用同步RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器,一般由D触发器组成。
下图给出一个4位数码寄存器,时钟CP被称为存数指令或存数命令,在CP脉冲的上升沿时刻,各触发器将各自数据输入端D的数据存入,除此时刻,无论CP是低电平、高电平、还是下降沿,各触发器保持各自的数据不变。
四位数码寄存器三、移位寄存器寄存器只有寄存数据或代码的功能。
有时为了处理数据,需要将寄存器中的各位数据在移位控制信号作用下,依次向高位或向低位移动1位。
具有移位功能的寄存器称为移位寄存器。
移位寄存器按数码移动方向分类有左移,右移,可控制双向(可逆)移位寄存器;按数据输入端、输出方式分类有串行和并行之分。
1. 串行码与通信数据通信几乎都用串行方式将传送的数据按时间顺序一位一位地传送,以节省电缆芯线条数,但是在终端的数据处理是并行的,这就需要在发送端将要发送的并行数据变成串行数据才能发送,而在接收端需要将接收到的串行数据再转换成并行数据进行处理,这些转换工作是由移位寄存器完成的。
2. 串入并出移位寄存器4位串入并出右移寄存器上图是一个简单的4位右移寄存器,在移位指令(CP脉冲)作用下输入数据D 存入FF3,Q3的状态移存到FF2,由此得到逻辑式:在四个CP脉冲之后,将四个串行码移位存入4个触发器,取出数据方式是在所有的触发器地Q端同时取出,称为并行输出,移位寄存器即完成了串行码到并行码的转换功能。
假设输入串行码为4位二进制数1011,输入方式为低位在先,也就是按1101地顺序依次输入,可以分析动作特点:经过4个时钟脉冲后,1011出现在寄存器输出端,这样就将串行输入D的数据转换为并行输出。
同时在第八个时钟脉冲作用后,数码从端全部移出寄存器,这说明存入该寄存器中的数码也可以从端串行输出。
既可以右移,又可以左移,而且除了D边沿触发器构成移位寄存器外,还可以用诸如JK等触发器构成移位寄存器。
3. 并入串出移位寄存器。
4位并入串出右移寄存器上图是一个简单的4位右移寄存器◆取样方式M=1时,CP的作用是取样指令。
在CP的作用下,输入数据~通过与非门存入~,即出现在输出第一个数据。
◆M=0时,封锁数据输入的与门,CP脉冲的作用也相应的转变为移位指令用逻辑式表示:假设输入并形码为1011输出方式位低位在先,也就是按1、1、0、1顺序输出,我们可以画出状态表和波形图。
4位串入并出右移寄存器状态表和状态图4. 双向移位寄存器前面讲的右向移位寄存器:左边触发器的输出作为右邻触发器的数据的数据输入。
如果让右边触发器的输出作为左邻触发器的输入,则可构成左向移位寄存器。
当然如果增加一些控制门后,则可以实现双向移位寄存器。
在二进制数之计算中,左移相当于对数值乘2,右移相当于对数值除2,因而在计算机中常使用的既能左移又能右移的双向寄存器。
在移存型计数器中介绍集成双向移位寄存器74194。
四、寄存器的应用1. 可以完成数据的并串、串并转换2.可以用做显示数据锁存器许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。
在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法。
3.用作缓冲器缓冲器在数字系统中用途很多:(1)如果器件带负载能力有限,可加一级带驱动器的缓冲器;(2)前后级间逻辑电平不同,可用电平转换器加以匹配;(3)逻辑极性不同或需要将单性变量转换为互补变量时,加带反相缓冲器;(4)需要将缓变信号变为边沿陡峭信号时,加带施密特电路的缓冲器(5)数据传输和处理中不同装置间温度和时间不同时,加一级缓冲器进行弥补等等。
74LS373、74LS374即为带动驱动器的组件,可以用作缓冲器,能够完成上述(1)、(5)两个任务。
4. 组成计数器移位寄存器可以组成移位型计数器,如环形或扭环形计数器。
寄存器一般是边沿触发的触发器,电路里叫register,而触发器就是楼上所说的各种逻辑门构成的包含电平触发和边沿触发的两种,而锁存器则是电平触发的。
所以一般说来,我们只叫寄存器和锁存器两种,在时序电路中寄存器的作用就是只在时钟的边沿有效传输data(setup time和hold time满足),而锁存器则在有效电平器件都可以传输data寄存器:register,由时钟沿触发的,一般是主从的,我们这数字电路里也学过主要是由传输门和反向器构成,应用很广!锁存器:latch,由电平触发,有很很多种,有我们数字电路里学的JK,RS等,一般是用传输门和反向器构成构成在较多,其优点是面积小,但时序分析较困难!触发器一般是指寄存器:flip-flopD触发器上电时Q和Q非的电平是怎样的?D触发器刚上不定的。
只有当有反馈后才知道。
可以在R、S端加RC延时电路来预制初态锁存器在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。
触发器触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进行同步的。
在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。
由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。
寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。
触发器是在时钟的沿进行数据的锁存的,而锁存器是用电平使能来锁存数据的。
所以触发器的Q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效器件才会被更新。
有一些教科书里的触发器实际是锁存器。
在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。
钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。
两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。
锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升/下降沿才会将输入体现到输出,所以能够消除输入的毛刺信号。
触发器与锁存器的比较:1、latch由电平触发,非同步控制。
在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。
DFF由时钟沿触发,同步控制。
2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;DFF则不易产生毛刺。
3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。