日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是握手協(xié)議?握手機(jī)制的原理

倩倩 ? 來源:CSDN ? 作者:CSDN ? 2022-08-12 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

。

什么是握手協(xié)議

說起握手,首先查了一下百度百科。握手是一種禮儀,起源于中世紀(jì)的歐洲,順序?yàn)殚L幼有序,女士優(yōu)先。(PS:所以握手的時(shí)候,男士記得要紳士一點(diǎn)哦)。

在芯片中,握手是最古老的跨時(shí)鐘域之間傳輸數(shù)據(jù)的方式。握手機(jī)制通過將脈沖信號(hào)展寬,待輸出一側(cè)檢測到信號(hào)并將其解析為脈沖信號(hào)后,再向輸入一側(cè)發(fā)送應(yīng)答信號(hào),表明接收到信號(hào)并且傳輸完成。

96f7bf62-19f6-11ed-ba43-dac502259ad0.png

為什么要握手

在人類的進(jìn)化史中,握手作為一種善意的表達(dá)方式,可以增進(jìn)人與人之間的和諧。言歸正傳,那么數(shù)字電路中為什么也需要握手機(jī)制呢?這是因?yàn)樵跀?shù)字電路中,跨時(shí)鐘域處理是個(gè)較為常見的問題。關(guān)于跨時(shí)鐘域,我們公眾號(hào)之前有介紹過,想復(fù)習(xí)一下的同學(xué)可以查看一下之前寫的文章。

在從快時(shí)鐘向慢時(shí)鐘傳遞時(shí),由于輸入信號(hào)變化較快,輸出一側(cè)可能跟不上輸入的變化,從而導(dǎo)致“漏采“現(xiàn)象。由于兩個(gè)時(shí)鐘之間的頻率不同,來自快時(shí)鐘域的脈沖信號(hào),還沒來得及被慢時(shí)鐘的采到,便轉(zhuǎn)瞬即逝,從而導(dǎo)致信號(hào)被漏采。此時(shí),握手機(jī)制便可以大顯神通。

握手機(jī)制的原理

97777d60-19f6-11ed-ba43-dac502259ad0.png

(1)發(fā)送端在t_clk時(shí)鐘域下將需要發(fā)送的數(shù)據(jù)準(zhǔn)備好后,將t_rdy信號(hào)置為有效,該信號(hào)必須在tclk下降沿輸出。接收端在rclk時(shí)鐘域下同步r_rdy信號(hào),同步后的信號(hào)命名為t_rdy_rclk。

(2)接收端在t_rdy_rclk有效期間,對t_data進(jìn)行采樣,得到t_data_rclk。

(3)接收端將r_ack信號(hào)置為1,信號(hào)必須在rclk下降沿輸出。發(fā)送端將r_ack同步為r_ack_tclk。

至此,已經(jīng)完成“半握手”,發(fā)送端在輸出下一數(shù)據(jù)前,不會(huì)等到r_ack_tclk被置為0。半握手機(jī)制工作速度快,但是使用不當(dāng)有可能會(huì)導(dǎo)致操作錯(cuò)誤。然而,如果要從高頻時(shí)鐘向低頻時(shí)鐘傳輸數(shù)據(jù),則需要采用全握手機(jī)制。

(4)當(dāng)r_ack_tclk為高電平時(shí),發(fā)送端將t_rdy置為0。

(5)當(dāng)t_rdy_rclk為低電平時(shí),接收端將r_ack置為0。

(6)當(dāng)r_ack_tclk為低電平時(shí),發(fā)送端將t_rdy重新置為1發(fā)送端可以發(fā)送新的數(shù)據(jù)。

至此,全握手完成。顯然,全握手過程耗時(shí)較長,數(shù)據(jù)傳輸較慢。但是全握手機(jī)制穩(wěn)定可靠,可以在兩個(gè)任意頻率的時(shí)鐘域中安全地進(jìn)行數(shù)據(jù)傳輸。需要注意一點(diǎn)的是,數(shù)據(jù)應(yīng)該在發(fā)送時(shí)鐘域內(nèi)穩(wěn)定至少兩個(gè)時(shí)鐘上升沿,請求信號(hào)req的寬度應(yīng)該超過兩個(gè)時(shí)鐘周期,否則從高速時(shí)鐘向低速時(shí)鐘傳遞可能無法捕捉到該信號(hào),也就是信號(hào)“失聯(lián)”了。

握手機(jī)制的代碼實(shí)現(xiàn)

發(fā)送端狀態(tài)機(jī):

97c37e22-19f6-11ed-ba43-dac502259ad0.jpg


module transmit(tclk,reset_tclk,t_rdy,data_avail,transmit_data,t_data,r_ack);input tclk;input reset_tclk;input data_avail;input [31:0]transmit_data;input r_ack;output t_rdy;output t_data;
localparam IDLE_T = 2'd0,    ASSERT_T_RDY = 2'd1,    DEASSERT_T_RDY = 2'd2;
reg [1:0] t_hndshk_state,t_hndshk_state_nxt;reg t_rdy,t_rdy_nxt;reg [31:0] t_data,t_data_nxt;reg r_ack_tclk;
always@(*)begin
 t_hndshk_state_nxt = t_hndshk_state; t_rdy_nxt = 1'b0; t_data_nxt = t_data;
 case(t_hndshk_state)  IDLE_T:begin   if(data_avail) begin    t_rdy_nxt = 1'b1;    t_hndshk_state_nxt = ASSERT_T_RDY;    t_data_nxt = transmit_data;   end  end
  ASSERT_T_RDY:begin   if(r_ack_tclk)begin    t_rdy_nxt = 1'b0;    t_hndshk_state_nxt = DEASSERT_T_RDY;    t_data_nxt = 'd0;   end   else begin    t_rdy_nxt = 1'b1;    t_data_nxt = transmit_data;   end  end
  DEASSERT_T_RDY:begin   if(!r_ack_tclk)begin    if(data_avail)begin     t_rdy_nxt = 1'b1;     t_hndshk_state_nxt = ASSERT_T_RDY;     t_data_nxt = transmit_data;    end    else begin     t_hndshk_state_nxt = IDLE_T;    end   end  end
 endcaseendalways@(posedge tclk or negedge reset_tclk)begin if(!reset_tclk)begin  t_rdy <= 1'b0;  t_hndshk_state <= IDLE_T;  t_data <= 32'h00000000;  r_ack_tclk <= 1'b0; end
 else begin  t_rdy <= t_rdy_nxt;  t_hndshk_state <= t_hndshk_state_nxt;  t_data <= t_data_nxt;  r_ack_tclk <= r_ack; end
endendmodule

接收端狀態(tài)機(jī):

97e481b2-19f6-11ed-ba43-dac502259ad0.jpg


module receiver(rclk,reset_rclk,t_rdy,t_data,r_ack);input rclk,reset_rclk;input t_rdy;input[31:0] t_data;output r_ack;
reg r_hndshk_state,r_hndshk_state_nxt;reg t_rdy_rclk;reg[31:0] t_data_rclk,t_data_rclk_nxt;reg r_ack,r_ack_nxt;
localparam IDLE_R = 1'b0,    ASSERT_ACK = 1'b1;
always@(*)begin r_hndshk_state_nxt = r_hndshk_state; r_ack_nxt = 1'b0; t_data_rclk_nxt = t_data_rclk; case(r_hndshk_state)  IDLE_R:begin   if(t_rdy_rclk)begin    r_hndshk_state_nxt = ASSERT_ACK;    t_data_rclk_nxt = t_data;    r_ack_nxt = 1'b1;   end  end
  ASSERT_ACK:begin   if(!t_rdy_rclk)begin    r_hndshk_state_nxt = IDLE_R;    r_ack_nxt = 1'b0;   end   else begin    r_ack_nxt = 1'b1;   end  end
 endcaseend
always@(posedge rclk or negedge reset_rclk)begin if(!reset_rclk)begin  r_hndshk_state <= IDLE_R;  t_data_rclk <= 1'b0;  t_rdy_rclk <= 1'b0;  r_ack <= 1'b0; end
 else begin  r_hndshk_state <= r_hndshk_state_nxt;  t_data_rclk <= t_data_rclk_nxt;  t_rdy_rclk <= t_rdy;  r_ack <= r_ack_nxt; endend
endmodule

握手機(jī)制的缺點(diǎn)

一個(gè)字:慢。

好了,希望本文對大家有所幫助。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1668

    瀏覽量

    83561
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4979

    瀏覽量

    74446
  • 脈沖信號(hào)
    +關(guān)注

    關(guān)注

    6

    文章

    409

    瀏覽量

    38709

原文標(biāo)題:談?wù)剶?shù)字芯片中的握手協(xié)議

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    煙草包裝線上的一次協(xié)議握手:網(wǎng)關(guān)如何打通EtherCAT與Modbus RTU

    煙草包裝線上的一次“協(xié)議握手”:網(wǎng)關(guān)如何打通EtherCAT與Modbus RTU 去年在某卷煙廠的包裝車間,一臺(tái)倍福CX5140控制器與威綸通HMI之間出現(xiàn)了“對話障礙”——PLC走的是高速
    的頭像 發(fā)表于 04-20 15:52 ?96次閱讀
    煙草包裝線上的一次<b class='flag-5'>協(xié)議</b><b class='flag-5'>握手</b>:網(wǎng)關(guān)如何打通EtherCAT與Modbus RTU

    當(dāng)EtherCAT遇上Modbus RTU:一臺(tái)網(wǎng)關(guān)讓倍福PLC與伺服“握手

    當(dāng)EtherCAT遇上Modbus:一臺(tái)網(wǎng)關(guān)讓倍福PLC與伺服“握手” 在板式家具生產(chǎn)線上,封邊機(jī)的精度直接影響產(chǎn)品品質(zhì)。最近接手一臺(tái)老舊封邊機(jī)的改造項(xiàng)目,倍福CX5140作為主控,走
    的頭像 發(fā)表于 04-20 14:51 ?125次閱讀
    當(dāng)EtherCAT遇上Modbus RTU:一臺(tái)網(wǎng)關(guān)讓倍福PLC與伺服“<b class='flag-5'>握手</b>”

    別讓協(xié)議成為渣抓取的絆腳石EtherNet/IP轉(zhuǎn)Modbus RTU網(wǎng)關(guān),一次握手,兩種語言

    別讓協(xié)議成為渣抓取的絆腳石EtherNet/IP轉(zhuǎn)Modbus RTU網(wǎng)關(guān),一次握手,兩種語言 在高爐出渣現(xiàn)場,渣抓取設(shè)備的穩(wěn)定運(yùn)行直接關(guān)系到生產(chǎn)節(jié)拍。某鋼鐵廠的高爐渣處理線曾長期被一個(gè)問題困擾
    的頭像 發(fā)表于 04-15 15:31 ?114次閱讀
    別讓<b class='flag-5'>協(xié)議</b>成為渣抓取的絆腳石EtherNet/IP轉(zhuǎn)Modbus RTU網(wǎng)關(guān),一次<b class='flag-5'>握手</b>,兩種語言

    晶圓廠里的“異言同譯”:一座網(wǎng)關(guān)讓EtherNet/IP與CANopen握手

    晶圓廠里的“異言同譯”:一座網(wǎng)關(guān)讓EtherNet/IP與CANopen握手 背景與痛點(diǎn) 半導(dǎo)體晶圓制造對潔凈度、精度與節(jié)拍要求近乎苛刻。產(chǎn)線上,壓力變送器與匯川伺服電機(jī)既要執(zhí)行實(shí)時(shí)動(dòng)作,又需向上
    的頭像 發(fā)表于 04-10 15:08 ?193次閱讀
    晶圓廠里的“異言同譯”:一座網(wǎng)關(guān)讓EtherNet/IP與CANopen<b class='flag-5'>握手</b>

    疆鴻智能EtherNet/IP轉(zhuǎn)DeviceNet“橋”接發(fā)那科手臂,智控?zé)o縫握手

    疆鴻智能EtherNet/IP轉(zhuǎn)DeviceNet“橋”接發(fā)那科手臂,智控?zé)o縫握手 新能源電池盒搬運(yùn)上下料自動(dòng)化產(chǎn)線中,羅克韋爾PLC通過EtherNet/IP協(xié)議作為控制核心,而發(fā)那科機(jī)械手臂則需
    的頭像 發(fā)表于 03-30 15:53 ?170次閱讀
    疆鴻智能EtherNet/IP轉(zhuǎn)DeviceNet“橋”接發(fā)那科手臂,智控?zé)o縫<b class='flag-5'>握手</b>

    TCP/IP(Socket)協(xié)議深度剖析

    TCP/IP協(xié)議作為互聯(lián)網(wǎng)通信的基礎(chǔ)架構(gòu),其核心機(jī)制Socket編程承載著全球數(shù)據(jù)交換的使命。本文將深入剖析這一協(xié)議的七層架構(gòu)、三次握手與四次揮手的精妙設(shè)計(jì)、流量控制與擁塞控制的動(dòng)態(tài)平
    的頭像 發(fā)表于 03-03 17:06 ?825次閱讀

    異種總線破壁記:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet的“握手”之道

    異種總線破壁記:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet的“握手”之道 在食品飲料廠工作過的同行都清楚,灌裝線對控制系統(tǒng)的實(shí)時(shí)性要求有多苛刻——灌裝頭起停、閥門開閉、封口同步,稍有延遲就是次品
    的頭像 發(fā)表于 02-26 14:50 ?271次閱讀
    異種總線破壁記:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet的“<b class='flag-5'>握手</b>”之道

    TCP三次握手與四次揮手的詳細(xì)過程

    TCP 三次握手和四次揮手,大概是網(wǎng)絡(luò)領(lǐng)域被問爛了的面試題。但真正能把狀態(tài)變遷、序列號(hào)變化、抓包細(xì)節(jié)講清楚的人并不多。很多人背了八股文,一到生產(chǎn)環(huán)境看 Wireshark 抓包就懵了
    的頭像 發(fā)表于 02-25 10:38 ?474次閱讀

    TCP的三次握手

    (1)第一次握手:Client將標(biāo)志位SYN置為1,隨機(jī)產(chǎn)生一個(gè)值seq=J,并將該數(shù)據(jù)包發(fā)送給Server,Client進(jìn)入SYN_SENT狀態(tài),等待Server確認(rèn)。 (2)第二次握手
    發(fā)表于 12-02 07:16

    無線充項(xiàng)目求助:PD 協(xié)議芯片握手后反復(fù)重啟斷電,求解決方案!

    Type-C 接口與 iPad、聯(lián)想 Pad、三星 Pad 握手充電。 已做嘗試及現(xiàn)象: 先后采用勁芯微、易充、美芯晟 20W 以上無線充方案,搭配智融 SW3522 PD 協(xié)議芯片給 Pad 供電
    發(fā)表于 11-13 14:48

    握手信號(hào)的詳解

    在dtcm和itcm等模塊中經(jīng)常用到以valid,read結(jié)尾的信號(hào)量,他們就是握手信號(hào)。 握手信號(hào)是一種用于協(xié)調(diào)和同步不同系統(tǒng)之間操作的信號(hào)。當(dāng)兩個(gè)或多個(gè)系統(tǒng)要進(jìn)行數(shù)據(jù)傳輸或交互時(shí),需要確保
    發(fā)表于 10-24 08:04

    Vivado浮點(diǎn)數(shù)IP核的握手信號(hào)

    和給出握手信號(hào)。在RISC v架構(gòu)中每個(gè)模塊(包括FPU)的握手信號(hào)都有一個(gè)i_valid、i_ready,F(xiàn)PU內(nèi)部需要三個(gè)輸入數(shù)據(jù)的握手信號(hào)、一個(gè)輸出結(jié)果的握手信號(hào)。 根據(jù)AXI
    發(fā)表于 10-24 07:01

    Sink PD快充協(xié)議芯片XSP25支持PD+QC+FCP+SCP+AFC協(xié)議

    基于改變快充協(xié)議,使電源輸出電壓和電流滿足需求者的要求。 PD誘騙協(xié)議工作原理 與供電端進(jìn)行PD協(xié)議握手通信:取電芯片需要與供電端進(jìn)行PD協(xié)議
    的頭像 發(fā)表于 10-17 15:21 ?1082次閱讀
    Sink PD快充<b class='flag-5'>協(xié)議</b>芯片XSP25支持PD+QC+FCP+SCP+AFC<b class='flag-5'>協(xié)議</b>

    當(dāng)PLC遇上伺服電機(jī):CCLink IE與DeviceNet的跨協(xié)議握手」指南

    在汽車制造的自動(dòng)化產(chǎn)線中,不同通信協(xié)議的設(shè)備協(xié)同作業(yè)是常見挑戰(zhàn)。例如,當(dāng)采用CCLink IE總線的PLC系統(tǒng)需要控制基于DeviceNet網(wǎng)關(guān)協(xié)議的伺服電機(jī)時(shí),協(xié)議差異可能導(dǎo)致數(shù)據(jù)交互不暢,影響產(chǎn)
    發(fā)表于 06-10 14:43

    芯片設(shè)計(jì)之握手協(xié)議

    本文主要介紹握手的基本概念,讀者可通過該篇文章對握手有個(gè)基本概念。
    的頭像 發(fā)表于 05-14 09:16 ?1409次閱讀
    芯片設(shè)計(jì)之<b class='flag-5'>握手</b><b class='flag-5'>協(xié)議</b>
    黑河市| 曲靖市| 长沙市| 建阳市| 双桥区| 永善县| 临城县| 怀柔区| 太白县| 洛宁县| 宁晋县| 武平县| 墨竹工卡县| 筠连县| 革吉县| 修武县| 禄丰县| 屯留县| 昌平区| 西畴县| 十堰市| 揭东县| 邹城市| 三门峡市| 大竹县| 西乌珠穆沁旗| 葫芦岛市| 天峻县| 泰宁县| 朝阳县| 甘德县| 剑河县| 道孚县| 曲靖市| 夏河县| 绿春县| 吴桥县| 临高县| 准格尔旗| 平谷区| 肃宁县|