<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的UART、USB接口協(xié)議設計

基于FPGA的UART、USB接口協(xié)議設計

作者: 時(shí)間:2012-03-13 來(lái)源:網(wǎng)絡(luò ) 收藏

代碼中Bingo設置了多個(gè)選項的bps,根據您的需要,可以直接修改代碼,來(lái)達到自己的要求。本模塊的功能主要功能是生成兩個(gè)時(shí)鐘:

a) clk_bps : TXD信號線(xiàn)數據發(fā)送的波特率

b) clk_smp: RXD信號線(xiàn)數據接受的采樣速率,以對已波特率的16倍速度采樣,捕獲數據的中點(diǎn),在數據最穩態(tài)讀取數據,達到最大限制的穩定。

(2)TXD發(fā)送模塊

這部分代碼比較簡(jiǎn)單,因為是主控,只要根據固定的時(shí)序給數據即可。Bingo設計了一個(gè)狀態(tài)機來(lái)完成時(shí)序,狀態(tài)機代碼如下:

always@(posedge clk or negedge rst_n)

begin

if(!rst_n)

begin

txd_state = T_IDLE;

txd_flag_r = 0;

txd = 1'b1;

end

else

begin

case(txd_state)

T_IDLE:

begin

txd = 1;

txd_flag_r = 0;

if(txd_en == 1)

txd_state = T_SEND;

else

txd_state = T_IDLE;

end

T_SEND:

begin

if(clk_bps == 1)

begin

if(txd_cnt 4'd9)

txd_cnt = txd_cnt + 1'b1;

else

begin

txd_cnt = 0;

txd_state = T_IDLE;

txd_flag_r = 1;

end

case(txd_cnt)

4'd0: txd = 0;

4'd1: txd = txd_data[0];

4'd2: txd = txd_data[1];

4'd3: txd = txd_data[2];

4'd4: txd = txd_data[3];

4'd5: txd = txd_data[4];

4'd6: txd = txd_data[5];

4'd7: txd = txd_data[6];

4'd8: txd = txd_data[7];

4'd9: txd = 1;

endcase

end

end

endcase

end

End

數據發(fā)送的狀態(tài)機設計如下:

12.jpg

同時(shí),為了軟件調試,數據識別等的方便,Bingo在此模塊設置了數據發(fā)送標志位。此部分主要參考了Bingo“第七章 你想干嘛——邊沿檢測技術(shù)”的方法,此處不再做累贅闡述,若有不懂請看上文。此部分代碼如下:

c++相關(guān)文章:c++教程




關(guān)鍵詞: FPGA UART USB 接口

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>