总线数据传输中的同步技术_第1页
总线数据传输中的同步技术_第2页
总线数据传输中的同步技术_第3页
总线数据传输中的同步技术_第4页
总线数据传输中的同步技术_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023/1/141第三讲

总线数据传输中的同步技术主讲人:于海滨二教中楼309室shoreyhb@总线的数据传输方式数据传输方式定义了二进制数据流从一个设备到另一个设备的传送模式并行传输(Parallel)和串行传输(Serial)同步传输(Synchronous)和异步传输(Asynchronous)单工(Simplex)、半双工(Half-Duplex)和全双工通信(Full-Duplex)2023/1/142并行传输和串行传输并行传输多个数据位同时在设备之间传输,形如多车道高速公路行驶的汽车,如8位ASCII码传输率高,成本高,适用于内部总线,两设备相距较远时,代价过高串行传输只有一条数据传输线,任意时刻只能传输1位二进制数传输速度慢,成本低,适用于远距离传输或近距离速度要求不高的应用场合2023/1/1432023/1/144同步传输与异步传输同步在通信过程中,发送方和接收方必须在时间上保持一致才能准确的传输数据,这就叫做同步在传送由多个字符组成的数据块时,不仅每个字符传输要保持同步,通信双方对信号的起、止时间也必须保持一致同步对应两种传输方式:同步传输和异步传输2023/1/145同步传输采用按位同步技术,以固定的时钟频率串行发送数字信号,字符之间有固定时间间隔,各字符中没有起始位和停止位依据获得的时钟分量是源自信号内(信号本身)还是信号外,同步传输可分为:

外同步发送端发送数据之前先向接收端发送一串进行同步的时钟脉冲;接收端收到同步信号后进行频率锁定,然后以同步频率为准接收数据自同步发送端发送数据时将时钟脉冲作为同步信号包含在数据流中同时传送给接收端,接收端从数据流中辨别同步信号,再据此接收数据2023/1/146异步传输采用“群”(组)同步技术。根据一定的规则将数据分为不同的群(组),每一个群的大小是不确定的要求发送端与接收端在一个群内必须保持同步,发送端在数据前面加起始位,数据后面加停止位接收端通过识别起始位和停止位来接收数据2023/1/147同步传输与异步传输比较异步传输中发送方可以在任何时刻发送数据,而接收方从不知道数据什么时候到达例子:键盘与主机之间的通信。按下一个键就发送一个8bit的ASCII码,键盘可以在任意时刻发送,主机内部的硬件必须能够在任意时刻接收这个代码潜在问题:接收方不知道数据什么时候到达,当它检测到数据并做出响应之前,第一个bit已经过去了每次异步传输信息都以一个起始位开头,以给接收方响应、接收和缓存数据的时间,传输结束再发送停止位同步传输遵循先同步、再接收的原则,一旦检测到同步信号,就在接下来的数据到达时接收它们2023/1/148同步传输通常要比异步传输快速得多,接收方不必对每组数据进行开始和停止的操作举例:一个典型的帧可能有500字节(4000bit)的数据,采用同步传输,其中可能只包含100bit的开销,增加的bit位使传输的bit总数增加2.5%;采用异步传输,bit总数增加25%;并且随着数据帧中实际bit位的增加,开销bit所占的百分比将相应减少帧越大,占据传输介质的连续时间也越长,将导致其它用户等得太久异步传输实现简单,同步传输实现复杂2023/1/149单工、半双工和全双工通信数据在通信线路上传输是有方向性的,根据某一时刻数据在通信线路上传输方向的不同可分为单工半双工全双工2023/1/1410单工通信数据传输过程中,数据始终沿着同一个方向传输为保证数据能够被正确传输,就需要进行差错控制,因此单工通信采用二线制,即两个信道,主信道用于传输数据,另一个监测信道用于传送监测信号(接收数据正确与否)无线广播、有线广播和电视广播系统2023/1/1411半双工通信在通信信道中,数据可以双向传输,但是在任一时刻,数据只能向一个方向传输通信线路一端的通信设备既可以是信源,也可以是信宿。但是在任一时刻,要么是信源,要么是信宿,不可能既是信源,又是信宿通信线路两端的设备轮流发送数据2023/1/1412半双工通信中也有监测信号的传输,传输方式有两种:监测与数据传输共用一条信道,在相互应答时转换信道的功能数据传输信道与监测信道分开,有一条专门的信道供监测信号使用举例:计算机与外设的通信就是一种半双工通信2023/1/14132023/1/1414全双工通信在同一时刻,位于通信线路两端的每台设备既是信源,又是信宿位于通信线路一端的设备可以在同一时刻既接收数据,也发送数据2023/1/1415全双工通信在同一时刻,位于通信线路两端的每台设备既是信源,又是信宿位于通信线路一端的设备可以在同一时刻既接收数据,也发送数据有些全双工通信系统采用频分复用技术,传输信道可以分成高频群信道和低频群信道,系统采用单线制就可以实现举例:电话系统,交换式以太网2023/1/1416单工半双工全双工2023/1/1417总线同步传输实例—双目图像传感器同步采集的实现双目视觉,也称立体视觉,模拟人的双眼采用三角运算获得景物的深度(与摄像机之间的距离)信息要求左视图、右视图之间必须严格同步同步采集是双目立体视觉图像采集系统的一项关键技术2023/1/1418现有的双目同步采集解决方案采用外加的同步控制器或同步控制电路通常应用于采用双摄像机或双照相机作为采集模块的双目立体视觉系统,不适用于采用传感器芯片的嵌入式系统选用具有主从级联功能或外同步时钟输入的CMOS图像传感器或视频A/D(CCD)主从式:通过主图像传感器芯片发同步信号给从片,可以较为方便的实现双目图像采集的同步外同步式:两个图像传感器芯片接受统一的外同步时钟,从而实现同步采集该类芯片大多停产,如果有也是专用芯片,价格高2023/1/14192023/1/14202023/1/1421HREF和PCLK均以VSYNC的下降沿作为触发标准,因而只要两个图像传感器之间的VSYNC的下降沿是同步的,则它们之间的HREF和PCLK也必然是是同步的双目图像采集之间的同步与两个图像传感器之间的VSYNC下降沿之间的同步可以认为是完全等同的严格同步的RESET(包括软复位)并不能够保证两个图像传感器的VSYNC下降沿之间的同步,而且即使复位之后两个图像传感器的VSYNC的下降沿达到同步,由于很多干扰因素的存在,在图像对采集过程中VSYNC的下降沿还是会重新进入不同步的状态2023/1/1422图像传感器内部所有的时序逻辑关系都是根据外输入时钟CLK建立起来的,因此可以通过调整CLK的方式实现两个图像传感器的同步控制如何实现?CLK1和CLK2是同一个有源晶振的输出如果当前帧的两个视图发现是不同步的,当前帧可以丢弃,甚至丢弃多帧都可以,通过反复调节达到同步即可可以采用抑制超前时钟的方法

2023/1/1423基于输入时钟抑制的双目图像采集同步方法将VSYNC下降沿超前的图像传感器的输入时钟抑制掉超前的时钟个数就能够迫使该图像传感器内部的时序逻辑全部延迟超前的时钟个数,从而达到与VSYNC下降沿落后的图像传感器之间的同步

2023/1/1424实现步骤判断两个图像传感器的VSYNC下降沿之间是否有差异来断定是否同步如果断定不同步,则判断出哪一个图像传感器超前,并利用VSYNC下降沿差异计数器同时获取差异的时钟个数将超前的图像传感器的输入时钟(CLK)抑制掉差异的时钟个数2023/1/1425上述基本方案的问题:时钟差异计数器的计数范围不可能很大(计数范围越大越耗CPLD/FPGA资源)而某些严重的干扰(如电源扰动,剧烈震动等)可能会导致两个图像传感器的VSYNC下降沿之间的差异时钟个数很大这种情况下仅靠VSYNC下降沿差异计数器无法在短时间内使两个图像传感器达到同步如何解决?可将VSYNC下降沿的同步过程分为粗同步和细同步两个阶段(粗调和微调)2023/1/1426如果VSYNC下降沿差异计数器没有溢出,则说明两个OV7141的VSYNC下降沿之间差异的时钟个数在差异计数器的可调范围之内,直接按照差异计数器的计数结果对超前的图像传感器进行输入时钟抑制细同步2023/1/1427粗同步如果差异计数器溢出,说明两个图像传感器的VSYNC下降沿之间差异较大,超出了细同步的调节范围,直接利用两个图像传感器的HREF之间的差异对超前OV7141进行输入时钟抑制2023/1/1428粗同步与细同步是互补的两个阶段,细同步无法应用的情况需要进行粗同步,而粗同步即使没有使得两个图像传感器的VSYNC下降沿之间在当前帧内获得严格同步,在下一帧还可以继续通过细同步来获得严格同步粗同步与细同步两个阶段紧密合作就可以完成两个图像传感器的VSYNC下降沿之间的严格同步进而实现双目图像对的同步采集工作2023/1/1429基于输入时钟抑制的双目图像采集同步的实现——端口定义

sensor_clk :input;

sensor_rs :input;

sensor_rs_f_pulse :input;

sensor2_vsync :input; sensor2_href :input; sensor1_vsync :input; sensor1_href :input;

sensor1_clk :output; sensor2_clk :output;

sync_id :output;2023/1/1430基于输入时钟抑制的双目图像采集同步的实现——变量定义(1)

Vsync_R_Dff1 :dff;--Rindicatesrisingedge Vsync_R_Dff2 :dff; Vsync_F_Dff1 :dff;--Findicatesfallingedge Vsync_F_Dff2 :dff;

Sync_Cnt_OF_Dff :dff;--OFindicatesoverflow Vsync_F_Diff_Ahead_Dff1 :dff;--DffindicatesD-flipflop Vsync_F_Diff_Ahead_Dff2 :dff;

Sync_R_Rst :node;--Rstindicatesreset

Sync_F_Rst :node;

Vsync_OR :node;

Vsync_R_Diff :node;

Vsync_F_Diff :node;

Sync_Ref :node;2023/1/1431基于输入时钟抑制的双目图像采集同步的实现——变量定义(2)

Href_R_Diff :node;

Href_R_Dff1 :dff; Href_R_Dff2 :dff;

Vsync_F_Diff_F_Pul :pulse_1;--Pulindicatespulsewhichwidthis1clock;

Sync_Ref_R_Pul :pulse_1;

Sync_Ref_F_Pul :pulse_1;

Vsync_F_Diff_Cnt:lpm_counterwith(LPM_WIDTH= SYNC_CNT_WIDTH,LPM_DIRECTION= "UP");--Cntindicatescounter

Vsync_Sync_Cnt :lpm_counterwith(LPM_WIDTH= SYNC_CNT_WIDTH,LPM_DIRECTION="UP");

Sync_SM :machinewithstates(SYNC_IDLE, SYNC_BUSY);--SMindicatesstate-machine2023/1/1432基于输入时钟抑制的双目图像采集同步的实现——程序主体(1)Vsync_R_Dff1.clk =sensor1_vsync;Vsync_R_Dff1.d =vcc;Vsync_R_Dff1.clrn =!Sync_F_Rst;Vsync_R_Dff2.clk =sensor2_vsync;Vsync_R_Dff2.d =vcc;Vsync_R_Dff2.clrn =!Sync_F_Rst;

Vsync_F_Dff1.clk =!sensor1_vsync;Vsync_F_Dff1.d =vcc;Vsync_F_Dff1.clrn =!Sync_R_Rst;Vsync_F_Dff2.clk =!sensor2_vsync;Vsync_F_Dff2.d =vcc;Vsync_F_Dff2.clrn =!Sync_R_Rst;

Vsync_R_Diff =Vsync_R_Dff1$Vsync_R_Dff2;Vsync_F_Diff =Vsync_F_Dff1$Vsync_F_Dff2;

Vsync_OR =sensor1_vsync#sensor2_vsync;Sync_Ref =Vsync_R_Diff#Vsync_F_Diff#Vsync_OR;2023/1/1433基于输入时钟抑制的双目图像采集同步的实现——程序主体(2)

Vsync_F_Diff_Ahead_Dff1.clk =Vsync_F_Diff&Vsync_F_Dff1; Vsync_F_Diff_Ahead_Dff1.d =vcc; Vsync_F_Diff_Ahead_Dff1.clrn =!Sync_R_Rst; Vsync_F_Diff_Ahead_Dff2.clk =Vsync_F_Diff&Vsync_F_Dff2; Vsync_F_Diff_Ahead_Dff2.d =vcc; Vsync_F_Diff_Ahead_Dff2.clrn =!Sync_R_Rst;2023/1/1434基于输入时钟抑制的双目图像采集同步的实现——程序主体(3)

Sync_Ref_F_Pul.clk_ref =sensor_clk;

Sync_Ref_F_Pul.start =!Sync_Ref;

Sync_Ref_R_Pul.clk_ref =sensor_clk;

Sync_Ref_R_Pul.start =Sync_Ref;

Sync_R_Rst =sensor_rs_f_pulse#Sync_Ref_R_Pul.out;

Sync_F_Rst =sensor_rs_f_pulse#Sync_Ref_F_Pul.out;2023/1/1435基于输入时钟抑制的双目图像采集同步的实现——程序主体(4)

Vsync_F_Diff_Cnt.clock =sensor_clk;

Vsync_F_Diff_Ct_en =Vsync_F_Diff&Sync_Cnt_OF_Dff;

Vsync_F_Diff_Cnt.aclr =Sync_R_Rst;

Sync_Cnt_OF_Dff.clk =Vsync_F_Diff_Cnt.cout;

Sync_Cnt_OF_Dff.d =gnd;

Sync_Cnt_OF_Dff.prn =!Sync_R_Rst;2023/1/1436基于输入时钟抑制的双目图像采集同步的实现——程序主体(5)

Href_R_Dff1.clk =sensor1_href; Href_R_Dff1.d =vcc; Href_R_Dff1.clrn =!Sync_F_Rst; Href_R_Dff2.clk =sensor2_href; Href_R_Dff2.d =vcc; Href_R_Dff2.clrn =!Sync_F_Rst;

Href_R_Diff =Href_R_Dff1$Href_R_Dff2;2023/1/1437基于输入时钟抑制的双目图像采集同步的实现——程序主体(6)

Sync_SM.clk =!sensor_clk;Sync_SM.reset =Sync_R_Rst;

case

Sync_SM

is

whenSYNC_IDLE=>

if((Vsync_F_Diff_Cnt.q[]>0)&Sync_Cnt_OF_Dff)#(!Sync_Cnt_OF_Dff&Href_R_Diff)then

Sync_SM=SYNC_BUSY;

else

Sync_SM=SYNC_IDLE;

endif;

whenSYNC_BUSY=>

if((Vsync_Sync_Cnt.q[]==Vsync_F_Diff_Cnt.q[])&Sync_Cnt_OF_Dff)#(!Sync_Cnt_OF_Dff&!Href_R_Diff)then

Sync_SM=SYNC_IDLE;

else

Sync_SM=SYNC_BUSY;

endif;endcase;2023/1/14382023/1/1439基于输入时钟抑制的双目图像采集同步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论