精华内容
下载资源
问答
  • 数字系统的设计师们面临着许多新的挑战,例如使用采用了串行器/解串器(SERDES)技术的高速串行接口来取代传统的并行总线架构。基于SERDES的设计增加了带宽,减少了信号数量,同时带来了诸如减少布线冲突、降低开关...
  • eigrp非等价负载均衡用串行线连接,配置时钟频率之前先要开启接口,然后才能顺利完成修改时钟频率 转载于:https://blog.51cto.com/sunnuso/1737126

    eigrp非等价负载均衡用串行线连接,配置时钟频率之前先要开启接口,然后才能顺利完成修改时钟频率


    转载于:https://blog.51cto.com/sunnuso/1737126

    展开全文
  • 一、倒计时相关寄存器 ... 11H寄存器的TDS1=1,TDS0=0,表示使用倒计时的秒倒计数功能(因为定时器频率源为1HZ),程序中往13H寄存器中送的数值的单位为秒(最大支持255秒)。 7、倒计时选择...

    一、倒计时相关寄存器

    1、0FH负责写允许

    2、10H负责写允许和选择倒计时功能(允许倒计时和选择倒计时中断输出)

    3、13H负责设置倒计时时间

    4、允许倒计时,需要将10H的INTDE置位

    5、允许倒计时,需要将10H的INTS1置位,INTS0置位

    6、倒计时选择秒到计时

          11H寄存器的TDS1=1,TDS0=0,表示使用倒计时的秒倒计数功能(因为定时器频率源为1HZ),程序中往13H寄存器中送的数值的单位为秒(最大支持255秒)。

     

     

    7、倒计时选择分钟到计时

          11H寄存器的TDS1=1,TDS0=1,表示使用倒计时的分钟倒计数功能(因为定时器频率源为1/60HZ),程序中往13H寄存器中送的数值的单位为分钟(最大支持255分钟)。

    8、程序

    
    // 
    //写SD2405允许程序
    // 
    void WriteTimeOn(void)
    {		
    	I2CStart();
    	I2CSendByte(0x64);      
    	I2CWaitAck();   
    	I2CSendByte(0x10);		//设置写地址10H      
    	I2CWaitAck();	
    	I2CSendByte(0x80);		//置WRTC1=1      
    	I2CWaitAck();
    	I2CStop(); 
    
    	I2CStart();
    	I2CSendByte(0x64);      
    	I2CWaitAck();   
    	I2CSendByte(0x0F);		//设置写地址0FH
    	I2CWaitAck();	
    	I2CSendByte(0x84);		//置WRTC2,WRTC3=1
    	I2CWaitAck();
    	I2CStop(); 
    }
    
    
    
    // 
    //写SD2405禁止程序
    // 
    void WriteTimeOff(void)
    {		
    	I2CStart();
    	I2CSendByte(0x64);      
    	I2CWaitAck();   
    	I2CSendByte(0x0F);		//设置写地址0FH      
    	I2CWaitAck();	
    	I2CSendByte(0x0) ;		//置WRTC2,WRTC3=0      
    	I2CWaitAck();
    	I2CSendByte(0x0) ;		//置WRTC1=0(10H地址)      
    	I2CWaitAck();
    	I2CStop(); 
    }
    
    
    
    ///
    //BCD转换成16进制数
    // 
    uint8_t BCDtoHEX(uint8_t BCD)
    {	
    	uint8_t tempData;
    	
    	tempData = (BCD >> 4) * 10 + (BCD & 0x0F);
    	return (tempData);
    }
    
    
    
    ///
    //16进制数转换成BCD码
    // 
    uint8_t HEXtoBCD(uint8_t HEX)
    {
    	uint8_t tempData;
    	
    	tempData = ((HEX / 10) << 0x04) + (HEX % 10);
    	return (tempData);
    }
    
    
    ///
    //设置倒计时中断(单位:分钟)
    // 
    void SetDjs(uint8_t djs_Minute) 
    {
    	WriteTimeOn();
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck();   
    	I2CSendByte(0x10);      	//发送起始地址(0x10=CTR2控制寄存器)
    	I2CWaitAck();   
    	I2CSendByte(0xF0);      	//清倒计时中断总允许位(INTDE)
    	I2CWaitAck();			
    	I2CStop();				
    
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck();   
    	I2CSendByte(0x10);      	//发送起始地址(0x10=CTR2控制寄存器)
    	I2CWaitAck();   
    	I2CSendByte(0xF4);      	//INT中断选通(INTS1=1,INTS0=1选择倒计时中断),配置倒计时中断总允许位(INTDE=1)
    	I2CWaitAck();
    	
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck();  
    	I2CSendByte(0x11);      	//发送起始地址(0x11=CTR3控制寄存器)
    	I2CWaitAck(); 
    	I2CSendByte(0x30);		//选择定时器频率源(TDS1=1、TDS0=1)为1/60Hz
    	I2CWaitAck();
    	
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck(); 
    	I2CSendByte(0x12);      	//发送起始地址(0x12=时间调整寄存器)
    	I2CWaitAck(); 	
    	I2CSendByte(0x00);		//数字调整寄存器(12H)清0
    	I2CWaitAck();
    	
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck(); 
    	I2CSendByte(0x13);      	//发送起始地址(0x13=倒计时寄存器)
    	I2CWaitAck();	
    	I2CSendByte(djs_Minute);		//设置计数初值(单位:分钟)
    	I2CWaitAck();
    	I2CStop();
    	WriteTimeOff();
    }
    
    
    
    ///
    //关闭倒计时中断
    // 
    void ClrDjs(void) 
    {
    	WriteTimeOn();	
    	I2CStart();
    	I2CSendByte(0x64);      	//发送SD2400写寄存器命令
    	I2CWaitAck();   
    	I2CSendByte(0x10);      	//发送起始地址(0x10=CTR2控制寄存器)
    	I2CWaitAck();   
    	I2CSendByte(0xF0);      	//清倒计时中断总允许位(INTDE)
    	I2CWaitAck();		  	
    	I2CStop();				
    	WriteTimeOff();
    }
    

     

     

    展开全文
  • 时钟频率问题的解答

    2007-09-29 13:26:23
    关于什么时候要设置时钟频率,怎么去设置。。不设置会有什么后果? DTE DCE又指的是什么? DCE 数据电路端接设备(Data Circuit Terminating Equipment) DTE 数据终端设备(Data terminal equipment) 在WAN网通信中...
    关于什么时候要设置时钟频率,怎么去设置。。不设置会有什么后果? DTE DCE又指的是什么?
     
    DCE  数据电路端接设备(Data Circuit Terminating Equipment) 
    DTE  数据终端设备(Data terminal equipment) 
    在WAN网通信中一般使用串行接口进行互联,串行接口上有着同步和异步串行两种形式。
    通常情况下的WAN互联模型为DTE---DCE------DCE----DTE
    在这样的通信模型中,在同步串口上需要一方为整个通信提供一个频率,就像生活中跑步,会有一个老师来数一二三一二三一样,DCE就是在同步串行上提供时钟的一方。在一个时钟周期上一方发一方收,再另外一个时钟周期上一方收一方发。
     
    通常会设置为  clo r 64000
    频率和带宽成正比
    频率越大波长越短(物理常识)
    由于波长越短导致传输距离越短
    在我们一般的实验环境下都会使用非原装的V.35线缆做背靠背连接
    V.35的物理特征为最大30M传输距离
    所以一般习惯上使用64000这个频率做实验室环境下的背靠背连接速率。
    如果使用原装线缆 或者使用别的物理层线缆,使用高频率的速度也是没问题的 例如115200
    高的频率会导致高的CIR 如FR交换机上设置大的时钟频率会使PVC的CIR增加

    转载于:https://blog.51cto.com/luxinli/44385

    展开全文
  •  在从器件时钟频率小于主器件时钟频率时,如果SCK的速率设得太快,将导致接收到的数据不正确(SPI接口本身难以判断收到的数据是否正确,要在软件中处理)。  整个系统的速度受三个因素影响:主器件时钟CLK主、从...

     4.1 SPR设定错误

      在从器件时钟频率小于主器件时钟频率时,如果SCK的速率设得太快,将导致接收到的数据不正确(SPI接口本身难以判断收到的数据是否正确,要在软件中处理)。

      整个系统的速度受三个因素影响:主器件时钟CLK主、从器件时钟CLK从和同步串行时钟SCK,其中SCK是对CLK主的分频,CLK从和CLK主是异步的。要使SCK无差错无遗漏地被从器件所检测到,从器件的时钟CLK从必须要足够快。下面以SCK设置为CLK主的4分频的波形为例,分析同步串行时钟、主时钟和从时钟之间的关系。

    主从时钟和SCK的关系

    图4主从时钟和SCK的关系

      如图4所示,当T从<Tsck/2,即T从<2T主时,无论主时钟和从时钟之间的相位关系如何,在从器件CLK从的上升沿必然能够检测到SCK的低电平,即SCK=0的范围内至少包含一个CLK从的上升沿。

      图5中,当T从≥TSCK/2=2T主时,在clk_s的两个上升沿都检测不到SCK的低电平,这样从器件就会漏掉一个SCK。在某些相位条件下,即使CLK从侥幸能检测到SCK的低电平,也不能保证可以继续检测到下一个SCK。只要遗漏了一个SCK,就相当于串行数据漏掉了一个位,后面继续接收/发送的数据就都是错误的了。

    主从时钟和SCK的关系

    图5主从时钟和SCK的关系

      根据以上的分析,SPR和主从时钟比的关系如表1所列。

    表1 SPR的设置和主从时钟周期比值之间的关系


    SPR的设置和主从时钟周期比值之间的关系

      在发送数据之前按照表1对SPR进行设置,SPR设定错误可以完全避免。

      4.2 模式错误(MODF)

      模式错误表示的是主从模式选择的设置和引脚SS的连接不一致。

      器件工作在主模式的时候(MSTR=1),它的片选信号SS引脚必须接高电平。在发送数据的过程中,如果它的SS从高电平跳至低电平,在SS的下降沿,SPI模块将检测到模式错误,对MODF位置1,强制器件从主模式转入从模式(即令MSTR=0),清空内部计数器counter,并结束正在进行的数据传输,如图6(a)所示。

      对从模式(MSTR=0),在没有数据传送的时候,SS高电平表示从器件未被选中,从器件不工作,MISO输出高阻;在数据传输过程中,片选信号SS必须接低电平,且SS不允许跳变。如果SS从低电平跳到高电平,在SS的上跳沿,SPI模块也将检测到模式错误,清空内部计数器counter,并结束正在进行的数据传输。直到SS恢复为低电平,重新使SPEN=1时,才重新开始工作,如图6(b)所示。

    模式错误的检测

    图6模式错误的检测

      4.3 溢出错误(OVR)

      溢出错误表示连续传输多个数据时,后一个数据覆盖了前一个数据而产生的错误。

      状态标志SPIF表示的是数据传输正在进行中,它对数据的传输有较大的影响。主器件的SPIF有效由数据寄存器的空标志SPTE=0产生,而从器件的SPIF有效则只能由收到的第一个SCK的跳变产生,且又由于从器件的SPIF和主器件发出的SCK是异步的,因此从器件的传输标志SPIF从相对于主器件的传输标志SPIF主有一定的滞后。如图7所示,在主器件连续发送两个数据的时候将有可能导致从器件的传输标志和主器件下一个数据的传输标志相重叠(图7中虚线和阴影部分),第一个收到的数据必然被覆盖,第二个数据的收/发也必然出错,产生溢出错误。

    溢出错误

    图7溢出错误

      通过对从器件的波形分析发现,counter=8后的第一个时钟周期,数据最后一位的传输已经完成。在数据已经收/发完毕的情况下,counter=8状态的长短对数据的正确性没有影响,因此可以缩短counter=8的状态,以避免前一个SPIF和后一个SPIF相重叠。这样,从硬件上避免了这一阶段的溢出错误。

      但是,如果从器件工作速度不够快或者软件正在处理其他事情,在SPI接口接收到的数据尚未被读取的情况下,又接收到一个新的数据,溢出错误还是会发生的。此时,SPI接口保护前一个数据不被覆盖,舍弃新收到的数据,置溢出标志OVR=1;另外发出中断信号(如果该中断允许),通知从器件及时读取数据。

      4.4 偏移错误(OFST)

      SPI接口一般要求从器件先工作,然后主器件才开始发送数据。有时在主器件往外发送数据的过程中,从器件才开始工作,或者SCK受到外界干扰,从器件未能准确地接收到8个SCK。如图8所示,从器件接收到的8个SCK其实是属于主器件发送相邻的两个数据的SCK主。这时,主器件的SPIF和从器件的SPIF会发生重叠,数据发生了错位,从器件如果不对此进行纠正的话,数据的接收/发送便一直地错下去。

    偏移错误

    图8偏移错误

      在一个数据的传输过程中,SPR是不允许改变的,即SCK是均匀的,而从图5可以看出,从器件接收到的8个SCK并不均匀,它们是分别属于两个数据的,因此可以计算SCK的占空时间来判断是否发生了偏移错误。经分析,正常时候SCK=1时的时钟周期数n的取值满足如下关系:

      但由于主从时钟之间是异步的,并且经过了取整,所以正常时候SCK=1时的时钟周期计数值COUNT应满足:

      比如在图5中,COUNT的最大值COUNT(max)=2或者1,都可认为是正常的。但当出现COUNT(max)=8时,可以判定出现了偏移错误。在实际设计中,先记录下第一个COUNT(max)的值,如果后面又出现与记录值相差1以上的COUNT(max)出现,可知有偏移错误OFST发生。SPI接口在“不均匀”的地方令SPIF=1,然后准备等待下一个数据的第一个SCK。其中COUNT的位数固定为8位,为了避免溢出时重新从00H开始计数,当计数达到ffH时停止计数。

      4.5 其他错误

      设定不当,或者受到外界干扰,数据传输难免会发生错误,或者有时软件对错误的种类判断不清,必须要有一种方法强制SPI接口从错误状态中恢复过来。在SPI不工作,即SPEN=0的时候,清除SPI模块内部几乎所有的状态(专用寄存器除外)。如果软件在接收数据的时候,能够发现数据有错误,无论是什么错误,都可以强制停止SPI的工作,重新进行数据传输。例如,在偏移错误(OFST)中,如果SPR2、SPR1和SPR0的设置适当,也可以使SCK显得比较“均匀”。SPI接口硬件本身不可能检测到有错误,若用户软件能够发现错误,这时就可以强制停止SPI的传输工作,这样就可以避免错误一直持续下去。

      在应用中,如果对数据的正确性要求较高,除了要在软件上满足SPI接口的时序要求外,还需要在软件上作适当的处理。

      5.设计SPI总线控制器

      目前的项目中使用了SPI总线接口的FLASH存储器存储图像数据。FLASH的SPI总线频率高达66M,但MCU的频率较低,晶振频率7.3728M,SPI最大频率为主频1/2。对于320*240*16的图像读取时间为333ms,而且还忽略了等待SPI传输完成、写显存、地址坐标设定等时间。实际测试约为1s。成为GUI设计的极大瓶颈。由于TFT驱动是自己FPGA设计的,资源尚有余量,决定把SPI控制器(主)及写图像部分逻辑放入FPGA中用硬件完成。

      首先接触到的是SPI的SCK时钟频率问题。FPGA的频率是48M,未使用PLL。能否以此频率作为SCK频率呢?要知道所有的MCU提供的SPI频率最大为主频的1/2!为什么呢?查过一些资料后发现,SPI从机接收数据并不是以SCK为时钟的,而是以主频为时钟对SCK和MISO进行采样,由采样原理得知SCK不能大于1/2主频,也就有了MCU提供最大master频率是1/2主频,最大slaver频率是1/4主频。FPGA在只作为主机时能否实现同主频一样频率的SCK呢??答案貌似是肯定的!但我还是有点担心,用组合逻辑控制SCK会不会出现较大毛刺影响系统稳定性呢?

    展开全文
  • 1 MAX121芯片的性能与特点 MAX121芯片是一个带串行接口的14位模数转换集成电路(ADC),它包含有跟踪/保持...可与大多数流行的数字信号处理器的串行接口直接接口,该输入可以接收TTL或CMOS的信号电平,时钟频率为0.
  • 缺点:内存有多少位,就要用多少数据线,所以需要大量的数据线,成本很高这是网上引用的,这段话在几年前可以说很完美,串行传输速度慢的原因是技术限制,时钟频率比较低。随着技术的发展,时钟频率越来越高,并行...
  • 每个功能模块,缺啥都不能缺时钟,对于高速串行接口,更是如此,而且它还需要专用时钟,如下图白框所标注的就是输入时钟,剩余17个时钟则是根据输入时钟及IP核的配置产生的输出时钟,很多吧。我们可以简单的分为两大...
  • 收发时钟频率=收发波特率 × 波特率系数 故计算波特率系数时,记住波特率为分母。 波特率=位/字符 × 字符/秒 方式字 异步 7、6位为停止位:00无效,01 1个停止位,10 1.5个停止位,11 2个停止位。 5、4位为奇偶校验...
  • 但随着CPU时钟频率和内存带宽的不断提升,两种主要的并行总线接口技术ATA和SCSI逐渐显现出不足来。尽管ATA和SCSI均是并行总线接口,但是它们之间却不兼容。无论是接口引脚,连接的数据线还是相应支持的软件均不相同...
  • 串行差分传输

    千次阅读 2019-04-17 22:02:18
    并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • 并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或...
  • 在MCU资源不足时,我们经常会用普通IO模拟串行时序,例如:i2c,uart...概念:频率fclk(cpu时钟)与时间的关系,t=1/fclk,例如:系统时钟为72MHZ,那么一个时钟周期的执行时间为:1/72(us),也就是72个时钟周期的执
  • 概述:并行接口速度比串行接口速度快,这是若干年前的情况了。在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰...
  • TI(德州仪器)日前发布的CDCD5704时钟发生器可借助带或不带扩频调制功能的...当EN为高电平且串行接口寄存器(RegA-RegD)的值为1时,就会启用输出。  PLL可接收参考时钟输入信号REFCLK,并在频率等于输入频率与乘法系
  • 为什么说串行比并行速度快?

    千次阅读 2018-09-20 22:15:07
    并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • 为什么说串行比并行快

    万次阅读 多人点赞 2011-11-12 21:48:45
    并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越...
  • 并行接口速度比串行接口速度快,这是若干年前的情况了。 在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特,速率确实比串口快。 但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰...
  • 51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据...
  • 很多SoC设备接有许多接口,这些接口根据标准运用了完全不同的时钟频率。 很多现代的串行接口继承了片上其它接口的异步性;而有些则直接从输入数据流中继承时钟。通过设计主要的SoCs子模块运行独立的时钟解决大片子...
  • 上述新型时钟产品在 12 kHz 到 20 MHz 的频率范围内实现了为 0.6 ps 的超低相位抖动,大大超出了 10 千兆以太网、10 千兆光纤通道、PCI Express 和串行技术附件 (SATA) 等高速串行接口标准的严格要求。上述灵活的...
  • 由于PC总线的最高时钟频率仅有100 kHz,因此只能处理或传输较低的数据速率。另一款PDIUSBDl2则具有多任务的并行总线,数据传输速率高达1 Mbps。以下,再稍微介绍各类型的基本特性。  PDIUSBD11——具有串行接口的...
  • SPI---读写串行FLASH

    2020-02-29 09:48:53
    一、SPI简介 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线...它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一...
  • 一、原理简介51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行...
  • 上述新型时钟产品在 12 kHz 到 20 MHz 的频率范围内实现了最低为 0.6 ps 的超低相位抖动,大大超出了 10 千兆以太网、10 千兆光纤通道、PCI Express 和串行高级技术附件 (SATA) 等高速串行接口标准的严格要求。...
  • SDI接口的介绍.doc

    2018-06-14 02:32:32
    接收NRZI码流时,只要检出电平变换,就可恢复数据,即使全是"1"信号,导致的信号频率也只是原来时钟频率的一半,再经过加扰,连续"1"的机会减少,也就使高频分量进一步减少了。在数据流的接收端,由SDI解玛器从NRZI...
  • 时钟芯片AD9523-1数据手册阅读

    千次阅读 2019-02-22 16:31:28
    像我属于使用芯片配置编程的,前面很多参数略过,只需注意关心的时钟频率范围。因此要有目的性的看,而不是通篇读。 我是对照着AD9523-1的英文数据手册看的。 芯片特点: 两级PLL 14个差分输出时钟 通过串行...
  • • 单I/O UNI/O®串行接口总线 • 低功耗CMOS技术: - 1 mA工作电流 (典型值) - 1 µA待机电流 (最大值)(工业级温度) • 128 x 8位至2,048 x 8位构成 • 用于抑制噪声的施密特触发器输入 • 用于消除地弹效应...
  • 摘要:根据电压监测仪校验装置需要建立一个标准时钟,对电压监测统计仪进行时间精度校正的要求,介绍了I2C总线接口时钟芯片PCF8583的基本原理,提出了利用DS32KHz给PCF8583提供高稳定度频率信号,从而实现了标准时钟...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 284
精华内容 113
关键字:

串行接口时钟频率