精华内容
下载资源
问答
  • 异步设计7个优点

    千次阅读 2019-10-08 23:18:33
    异步设计尽管存在很多缺点,但是同时也给我们带来了很多福利: 1.Robust mutual exclusion and external input handling 2.Automatic adaptation to physical properties 3.Better technology migration ...

    异步设计尽管存在很多缺点,但是同时也给我们带来了很多福利:

    1. Robust mutual exclusion and external input handling

    2. Automatic adaptation to physical properties

    3. Better technology migration potential

    4. Easing of global timing issues

    5. Average-case instead of worst-case performance

    6. Lower power

    7. No clock skew

    展开全文
  • 摘 要:介绍了计算机异步串行接口键盘的特殊设计要求和工作原理,结合开发过程,讨论分析了89C51芯片的结构、功能特点以及应用中需要注意的问题,并给出了计算机串行接口键盘的硬件原理图及软件流程图。 关键词:...
  • 同步逻辑和异步逻辑的区别同步逻辑是时钟之间有固定的因果关系。...异步电路设计电路简单,硬件开销较低; 同步电路设计电路消耗更多硬件资源,但大大提高性能,同时方便对其进行静态时序分析。大规模集成电路基本...

    同步逻辑和异步逻辑的区别
    同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系
    同步电路和异步电路区别
    同步电路有统一的时钟源,经过PLL分频后的时钟驱动的模块,因为是一个统一的时钟源驱动,所以还是同步电路。
    异步电路没有统一的时钟源

    异步电路设计电路简单,硬件开销较低;

    同步电路设计电路消耗更多硬件资源,但大大提高性能,同时方便对其进行静态时序分析。大规模集成电路基本上采用同步设计的方法;

    转载于:https://www.cnblogs.com/Z-selfadd/p/11289563.html

    展开全文
  • 异步电路设计

    千次阅读 2020-03-02 13:58:47
    一、异步电路设计 1、单bit异步处理 1) 打三拍 从慢到快,只有亚稳态的问题;所以只用打两拍或者三拍就行了。 而从快传输到慢,不仅有要抑制亚稳态往下传播的问题,还有控制信号丢失的问题,这里就需要延长控制...

    一、异步电路设计 1、单bit异步处理 1) 打三拍

    从慢到快,只有亚稳态的问题;所以只用打两拍或者三拍就行了。

    而从快传输到慢,不仅有要抑制亚稳态往下传播的问题,还有控制信号丢失的问题,这里就需要延长控制信号的长度。这里要将脉冲信号扩展为电平信号,在进行打两拍或者三拍就行了。打两拍或者三拍就行了。 2、多bits异步处理

    1)握手信号 2)D-MUX 3)异步FIFO(格雷码)

    二、Metastability

    触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器的数据输入端口上数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违规。存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部的一个节点(或者要输出到外部的节点)可能会在一个电压范围内浮动,无法稳定在逻辑0或者逻辑1状态。

     

     

    寄存器建立的时间 Tsu(set up)

    寄存器的保持时间Th(hold)

    时钟变化到输出的时间Tco(clock to output)

    对于有delay的clock 书上是以50% VDD为界限区分高电平和低电平

     

    三、解决亚稳态的方法

    2 level register(打两拍)

    亚稳态问题通常出现在一些跨时钟域的传输上

    亚稳态出现的原因:

    用于在同步系统中,如果触发器的建立时间或保持时间不满足,就可能产生亚稳态,一个触发器进入亚稳态的时候,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个确定的电平上。

    可以通过两个寄存器(同步器)连接降低亚稳态出现的概率,也可以增加同步器的级数,但是太多的同步器会使系统性能下降,所以一般两级同步器已经足够了。(使用同步器使得在另一个时钟域采样信号足够稳定)。

    input [4:0] rptr; //多bits也可以

    output [4:0] wrptr;

    reg [4:0] wrptr1;

    reg [4:0] wrptr2;

    {wrptr2, wrptr1} = {wrptr1,rptr }; //两级寄存器连接

    Async_FIFO

    使用异步FIFO存储器可以在两个不同时钟系统之间快速而方便的传输数据。

    异步FIFO:是指向FIFO缓冲器中写入数据的时钟域和从FIFO缓冲器读取数据的时钟域是不同的。

    FIFO设计一般划分为5个子模块:

    1, 读指针控制模块(读空标志)

    2, 写指针控制模块(写满标志)

    3, 读指针同步到写时钟域模块

    4, 写指针同步到读时钟域模块

    5, 存储RAM模块

    格雷码虽然在跨时钟域方面效果比较好,但是本身计数方面是不足的,也就是说还需要把格雷码转换成二进制码来计数。二进制码和格雷码相互转换。

    二进制用来计数

    读写指针用格雷码表示

    Handshake

    使用握手协议方式处理跨时钟域数据传输,只需要对双方的握手信号(req和ack)分别使用脉冲检测方法进行同步。

    在具体实现中,假设req、ack、data总线在初始化时都处于无效状态,发送域先把数据放入总线,随后发送有效的req信号给接收域。接收域在检测到有效的req信号后锁存数据总线,然后回送一个有效的ack信号表示读取完成应答。发送域在检测到有效ack信号后撤销当前的req信号,接收域在检测到req撤销(需要进行边沿检测)后也相应撤销ack信号,此时完成一次正常握手通信。

    此后,发送域可以继续开始下一次握手通信,如此循环。该方式能够使接收到的数据稳定可靠,有效的避免了亚稳态的出现,但控制信号握手检测会消耗通信双方较多的时间。

    展开全文
  • 本文主要把FPGA异步时钟设计中产生的问题,原因以及解决问题所采用的同步策略做了详细的分析。其中双锁存器法比较适用于只有少数信号跨时钟域;结绳法比较适用快时钟域向慢时钟过渡的情况。所以,在实际的应用中,应...
  • 根据UART接口特点和应用需求,以提高VHDL设计的稳定性和降低功耗为目标,本文讨论了UART接口中时钟域划分、时钟分频、亚稳态、同步FIFO设计等问题和解决方案。 关键词:通用异步串行接口 VHDL 亚稳态 现场可编程...
  • 多时钟带来的问题就是如何设计异步时钟之间的接口电路。  异步FIFO存储器是一种在数据交互系统中得到广泛应用的先进先出逻辑器件,具有容纳异步信号的频率(或相位差异)的特点。使用异步FIFO可以在两个不同时钟系统...
  • 数字电路设计-异步FIFO设计

    千次阅读 2019-05-08 09:39:52
    在现代集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步 FIFO 是这个问题的一种简便、快捷的解决方案,使用异步 FIFO 可以...

      本文大部分内容来自Clifford E. Cummings的《Simulation and Synthesis Techniques for Asynchronous FIFO Design》,经过自己的一些改变,理论部分为转载,代码自己完成。

    一、FIFO简介

      FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。

    用途1:

      异步FIFO读写分别采用相互异步的不同时钟。在现代集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步FIFO是这个问题的一种简便、快捷的解决方案,使用异步FIFO可以在两个不同时钟系统之间快速而方便地传输实时数据。

    用途2:

      对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。

    二、分类

      同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作;

      异步FIFO是指读写时钟不一致,读写时钟是互相独立的。

    三、FIFO的常见参数

    • FIFO的宽度:即FIFO一次读写操作的数据位;
    • FIFO的深度:指的是FIFO可以存储多少个N位的数据(如果宽度为N)。
    • 满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。
    • 空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。
    • 读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。
    • 写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。

    ===============================分   隔    符 ==============================

    1. 读写指针的工作原理

      写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0)

      读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0)

     

    1. FIFO的“空”/“满”检测

      FIFO设计的关键:产生可靠的FIFO读写指针和生成FIFO“空”/“满”状态标志。

      当读写指针相等时,表明FIFO为空,这种情况发生在复位操作时,或者当读指针读出FIFO中最后一个字后,追赶上了写指针时,如下图所示:

              

     

      当读写指针再次相等时,表明FIFO为满,这种情况发生在,当写指针转了一圈,折回来(wrapped around)又追上了读指针,如下图:

            

     

        为了区分到底是满状态还是空状态,可以采用以下方法:

        方法1:在指针中添加一个额外的位(extra bit),当写指针增加并越过最后一个FIFO地址时,就将写指针这个未用的MSB1,其它位回零。对读指针也进行同样的操作。此时,对于深度为2nFIFO,需要的读/写指针位宽为(n+1)位,如对于深度为8FIFO,需要采用4bit的计数器,0000100010011111MSB作为折回标志位,而低3位作为地址指针。

      • 如果两个指针的MSB不同,说明写指针比读指针多折回了一次;如r_addr=0000,w_addr = 1000,为满。
      • 如果两个指针的MSB相同,则说明两个指针折回的次数相等。其余位相等,说明FIFO为空;

    3.二进制FIFO指针的考虑

      将一个二进制的计数值从一个时钟域同步到另一个时钟域的时候很容易出现问题,因为采用二进制计数器时所有位都可能同时变化,在同一个时钟沿同步多个信号的变化会产生亚稳态问题。而使用格雷码只有一位变化,因此在两个时钟域间同步多个位不会产生问题。所以需要一个二进制到gray码的转换电路,将地址值转换为相应的gray码,然后将该gray码同步到另一个时钟域进行对比,作为空满状态的检测。

        

     

    4.

    • 使用gray码进行对比,如何判断“空”与“满”

       使用gray码解决了一个问题,但同时也带来另一个问题,即在格雷码域如何判断空与满。

      对于“空”的判断依然依据二者完全相等(包括MSB)

      而对于“满”的判断,如下图,由于gray码除了MSB外,具有镜像对称的特点,当读指针指向7,写指针指向8时,除了MSB,其余位皆相同,不能说它为满。因此不能单纯的只检测最高位了,在gray码上判断为满必须同时满足以下3条:

    • wptr和同步过来的rptrMSB不相等,因为wptr必须比rptr多折回一次。
    • wptrrptr的次高位不相等,如上图位置7和位置15,转化为二进制对应的是01111111MSB不同说明多折回一次,111相同代表同一位置。
    • 剩下的其余位完全相等。

          

    5.总体实现

        系统的总体框图如下:

            

     四、同步化分析

    由于是异步FIFO的设计,读写时钟不一样,在产生读空信号和写满信号时,会涉及到跨时钟域的问题,如何解决?
      跨时钟域的问题:由于读指针是属于读时钟域的,写指针是属于写时钟域的,而异步FIFO的读写时钟域不同,是异步的,要是将读时钟域的读指针与写时钟域的写指针不做任何处理直接比较肯定是错误的,因此我们需要进行同步处理以后仔进行比较
      解决方法加两级寄存器同步 + 格雷码(目的都是消除亚稳态)
     
    1.使用异步信号进行使用的时候,好的设计都会对异步信号进行同步处理,同步一般采用多级D触发器级联处理,如下图。这种模型大部分资料都说的是第一级寄存器产生亚稳态后,第二级寄存器稳定输出概率为90%,第三极寄存器稳定输出的概率为99%,如果亚稳态跟随电路一直传递下去,那就会另自我修护能力较弱的系统直接崩溃。

     

    2.将一个二进制的计数值从一个时钟域同步到另一个时钟域的时候很容易出现问题,因为采用二进制计数器时所有位都可能同时变化,在同一个时钟沿同步多个信号的变化会产生亚稳态问题。而使用格雷码只有一位变化,因此在两个时钟域间同步多个位不会产生问题。所以需要一个二进制到gray码的转换电路,将地址值转换为相应的gray码,然后将该gray码同步到另一个时钟域进行对比,作为空满状态的检测。

    那么,多位二进制码如何转化为格雷码?

     

    换一种描述方法:

    verilog代码实现就一句:assign  gray_code = (bin_code>>1)  ^  bin_code;

     使用gray码解决了一个问题,但同时也带来另一个问题,即在格雷码域如何判断空与满。 

    这里直接给出结论:

      判断读空时:需要读时钟域的格雷码rgray_next和被同步到读时钟域的写指针rd2_wp每一位完全相同;

      判断写满时:需要写时钟域的格雷码wgray_next和被同步到写时钟域的读指针wr2_rp高两位不相同,其余各位完全相同;

    assign full = (wr_addr_gray == {~(rd_addr_gray_d2[addr_width-:2]),rd_addr_gray_d2[addr_width-2:0]}) ;//高两位不同 assign empty = ( rd_addr_gray == wr_addr_gray_d2 );

    五、Verilog实现

    module fifo_async#(
                     parameter   data_width = 16,
                     parameter   data_depth = 256,
                     parameter   addr_width = 8
    )
    (
                      input                           rst,
                      input                           wr_clk,
                      input                           wr_en,
                      input      [data_width-1:0]     din,         
                      input                           rd_clk,
                      input                           rd_en,
                      output reg                     valid,
                      output reg [data_width-1:0]     dout,
                      output                          empty,
                      output                          full
        );
    
    
    reg    [addr_width:0]    wr_addr_ptr;//地址指针,比地址多一位,MSB用于检测在同一圈
    reg    [addr_width:0]    rd_addr_ptr;
    wire   [addr_width-1:0]  wr_addr;//RAM 地址
    wire   [addr_width-1:0]  rd_addr;
    
    wire   [addr_width:0]    wr_addr_gray;//地址指针对应的格雷码
    reg    [addr_width:0]    wr_addr_gray_d1;
    reg    [addr_width:0]    wr_addr_gray_d2;
    wire   [addr_width:0]    rd_addr_gray;
    reg    [addr_width:0]    rd_addr_gray_d1;
    reg    [addr_width:0]    rd_addr_gray_d2;
    
    
    reg [data_width-1:0] fifo_ram [data_depth-1:0];
    
    //=========================================================write fifo 
    genvar i;
    generate 
    for(i = 0; i < data_depth; i = i + 1 )
    begin:fifo_init
    always@(posedge wr_clk or posedge rst)
        begin
           if(rst)
              fifo_ram[i] <= 'h0;//fifo复位后输出总线上是0,并非ram中真的复位。可无
           else if(wr_en && (~full))
              fifo_ram[wr_addr] <= din;
           else
              fifo_ram[wr_addr] <= fifo_ram[wr_addr];
        end   
    end    
    endgenerate    
    //========================================================read_fifo
    always@(posedge rd_clk or posedge rst)
       begin
          if(rst)
             begin
                dout <= 'h0;
                valid <= 1'b0;
             end
          else if(rd_en && (~empty))
             begin
                dout <= fifo_ram[rd_addr];
                valid <= 1'b1;
             end
          else
             begin
                dout <=   'h0;//fifo复位后输出总线上是0,并非ram中真的复位,只是让总线为0;
                valid <= 1'b0;
             end
       end
    assign wr_addr = wr_addr_ptr[addr_width-1-:addr_width];
    assign rd_addr = rd_addr_ptr[addr_width-1-:addr_width];
    //=============================================================格雷码同步化
    always@(posedge wr_clk )
       begin
          rd_addr_gray_d1 <= rd_addr_gray;
          rd_addr_gray_d2 <= rd_addr_gray_d1;
       end
    always@(posedge wr_clk or posedge rst)
       begin
          if(rst)
             wr_addr_ptr <= 'h0;
          else if(wr_en && (~full))
             wr_addr_ptr <= wr_addr_ptr + 1;
          else 
             wr_addr_ptr <= wr_addr_ptr;
       end
    //=========================================================rd_clk
    always@(posedge rd_clk )
          begin
             wr_addr_gray_d1 <= wr_addr_gray;
             wr_addr_gray_d2 <= wr_addr_gray_d1;
          end
    always@(posedge rd_clk or posedge rst)
       begin
          if(rst)
             rd_addr_ptr <= 'h0;
          else if(rd_en && (~empty))
             rd_addr_ptr <= rd_addr_ptr + 1;
          else 
             rd_addr_ptr <= rd_addr_ptr;
       end
    
    //========================================================== translation gary code
    assign wr_addr_gray = (wr_addr_ptr >> 1) ^ wr_addr_ptr;
    assign rd_addr_gray = (rd_addr_ptr >> 1) ^ rd_addr_ptr;
    
    assign full = (wr_addr_gray == {~(rd_addr_gray_d2[addr_width-:2]),rd_addr_gray_d2[addr_width-2:0]}) ;//高两位不同
    assign empty = ( rd_addr_gray == wr_addr_gray_d2 );
    
    endmodule
    
    

    仿真

    六、重要补充

    关于异步FIFO的关键技术,有两个,一个是格雷码减小亚稳态,另一个是指针信号跨异步时钟域的传递。我在自己写异步FIFO的时候也很疑惑,地址指针在同步化的时候,肯定会产生至少两个周期的延迟,如果是从快时钟域到慢时钟域,快时域的地址指针并不能都被慢时域的时钟捕获,同步后的指针比起实际的指针延迟会更大。如果以此来产生fifo_empty和fifo_full 信号会非常不准器。
    查找资料和仿真后发现,数字电路的世界真的很神奇,还有很多的东西需要去学习。非常巧妙,FIFO中的一个潜在的条件是write_ptr总是大于或者等于read_ptr;分为两种情况,写快读慢和写慢读快。
    1.在写时钟大于读时钟时,产生fifo_empty信号,需要将write_ptr同步到读时钟域,写指针会有延时,可能比实际的写地址要小,如果不满足fifo_empty的产生条件,没问题。如果满足fifo_empty的触发条件,说明此时同步后的write_ptr == read_ptr,即实际的write_ptr >= read_ptr,最坏的情况就是write_ptr > read_ptr,像这种FIFO非空而产生空标志信号的情况称为“虚空”,但是也并不影响FIFO的功能。
    2.在写时钟大于读时钟时,产生fifo_full信号,需要将read_ptr同步到写时钟域,读指针会有延时,可能比实际的读地址要小,如果不满足fifo_full的产生条件,没问题。如果满足fifo_full的触发条件,说明此时同步后的read_ptr == write_ptr - fifo_depth,即实际的read_ptr >= read_ptr - fifo_depth,最坏的情况就是read_ptr > read_ptr - fifo_depth,像这种FIFO非满而产生满标志信号的情况称为“虚满”,但是也并不影响FIFO的功能。
    写慢读快的情况也同上,并没有大的差异,不再分析。

    关于格雷码减小亚稳态,如果读写时钟差距过大,从快时钟域同步到慢时钟域的信号,时钟捕获的相邻两个数据变化并不是只有一个bit位的改变,可能导致格雷码失去原来的意义,嗯,目前的理解是这样。

    展开全文
  • 采用Verilog HDL语言作为硬件功能的描述,运用模块化设计方法分别设计了通用异步收发器(UART)的发送模块、接收模块和波特率发生器,并结合现场可编程门阵列(FPGA)的特点,实现了一个可移植的UART模块。该设计不仅...
  • 根据UART接口特点和应用需求,以提高VHDL设计的稳定性和降低功耗为目标,本文讨论了UART接口中时钟域划分、时钟分频、亚稳态、同步FIFO设计等问题和解决方案。 关键词:通用异步串行接口 VHDL 亚稳态 现场可编程...
  • 摘要:介绍了异步串口扩展芯片VK3366的性能特点设计了基于数字信号处理器件TMS320C6713B并口与VK3366扩展多串口的硬件电路方案,且在CCS 3.0环境下完成了TMS320C6713B初始化VK3366的软件编程。电路设计实现了系统...
  • 文章以单台异步电动机的变频控制为例,介绍了系统的构成、变频器参数的设置、PLC程序与西门子触摸屏设计的过程和方法。该系统具有界面直观、实时动态性能良好、操作方便等特点,具有较高的推广价值。
  • HT67201 主要技术特点和内部结构异步收发器HT6720具有非常低的工作电流。该器件在VDD为3V时的工作电流仅为4μA,而且工作电压范围很宽,其数据传输仅工作在只读方式。用户可编程数据多为64bit...
  • UART(Universal Asynchronous Receiver Transmitter通用异步收发器)是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。8250、8251、NS16450等芯片都是常见的UART器件。基本的UART通信只...
  • 随着电力电子技术、电机控制理论和微控制器的不断发展,现代交流调速技术在国民经济中得到了广泛应用。... 1.1 开发平台总体设计特点  该开发平台以三相异步电动机作为被控对象,以控制器TMS320F2812与复杂可编程
  • 但不管怎样,异步编程确实是 NodeJS 最大的特点,没有掌握异步编程就不能说是真正学会了 NodeJS。本章将介绍与异步编程相关的各种知识。 在代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说...
  • 虽然LCD 技术已经取得巨大成功,但人们仍然没有停止对新技术的探索和研究,LED 显示技术就是近几年来出现的新技术,LED 技术以其独特的亮度高、功耗低、寿命长等特点而受到越来越多的关注。基于LED 技术的大屏幕显示...
  • 介绍了基于数字信号控制器dsPIC30F实现的交流异步电动机变频调速系统,结合对称规则采样法和不对称规则采样法的优点,提出了顶点采样不对称规则法来实现SPWM,该方法具有不对称规则采样法失真少和对称规则采样法采样...
  • HT67201 主要技术特点和内部结构异步收发器HT6720具有非常低的工作电流。该器件在VDD为3V时的工作电流仅为4μA,而且工作电压范围很宽,其数据传输仅工作在只读方式。用户可编程数据最多为64bit...
  • 摘要:介绍了异步串口扩展芯片VK3366的性能特点设计了基于数字信号处理器件TMS320C6713B并口与VK3366扩展多串口的硬件电路方案,且在CCS 3.0环境下完成了TMS320C6713B初始化VK3366的软件编程。电路设计实现了系统...
  • 研究了风机用隔爆型三相异步电动机的工作环境和结构特点,介绍了机座的设计和机械计算方法,具体包括机座的刚度、机座的振动固有频率、承受爆炸压力的螺栓强度核算方法等。试验和生产实践证明了风机用隔爆型三相异步...
  • 随着电力电子技术、电机控制理论和微控制器的不断发展,现代交流调速技术在国民经济中得到了广泛应用。... 1.1 开发平台总体设计特点  该开发平台以三相异步电动机作为被控对象,以控制器TMS320F2812与复杂可
  • 异步导入导出架构设计

    千次阅读 2018-04-27 00:00:00
    为什么要用异步?在我们平时的业务系统中,文件导入,文件导出是一个很常见的业务需求。正常情况下,同步导出就可以满足我们80%的需求。但是对于数据量大,业务拼接复杂的系统来说...
  •  数字信号处理器(Digital Signal Processor, DSP)有高速数字信号处理等特点,软件运行采用了流水线作业方式,指令周期为ns级,字长可以是16位、32位或64位,能够实现整数或浮点数的实时处理,在图形图像处理、高...
  • 基于FPGA通用异步收发器UART设计

    千次阅读 2020-04-07 18:11:02
    本文对 UART 芯片采用 FPGA 自顶向下的方法进行设计,所设计的 UART 模块主要包括三大模块,分别是 UART 接收模块,UART 发送模块和 OLED 显示模块。其中, UART 模块按照传统的 UART 协议进行设计,其波特率为9600 ...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的...
  • 可综合的异步fifo设计(一)

    千次阅读 2020-07-14 11:01:54
    异步FIFO设计一、基本概念二、设计思路2.1 设计前准备工作2.1.1 系统框图2.1.2 格雷码基础2.1.3 异步fifo工作流程举例2.2 RTL建模2.2.1 DPRAM建模2.2.2 WR_LOGIC建模2.2.3 RD_LOGIC建模2.2.4 PIPE模块建模2.2.5 格雷...
  • 虽然LCD 技术已经取得巨大成功,但人们仍然没有停止对新技术的探索和研究,LED 显示技术就是近几年来出现的新技术,LED 技术以其独特的亮度高、功耗低、寿命长等特点而受到越来越多的关注。基于LED 技术的大屏幕显示...
  • 简要介绍了采煤机用隔爆型三相异步电动机的使用环境、特点、电磁设计、结构设计、防爆形式。最后结合试制样机分析了产品技术水平。
  • 矿用异步电动机的可靠运转是煤矿机械设备稳定工作的基础,结合煤矿的特点,分析了矿用异步电动机的常见故障保护方法,介绍了一种基于单片机的电动机保护装置中信息采集电路、显示电路的设计方法及部分软件设计的方式,为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,357
精华内容 46,542
关键字:

异步设计特点