基于FPGA的通用異步收發(fā)器設(shè)計(jì)
2.2 發(fā)送模塊
2.2.1 發(fā)送模塊及其功能
發(fā)送模塊主要實(shí)現(xiàn)對(duì)并行數(shù)據(jù)的緩存、并串轉(zhuǎn)換,并把串行數(shù)據(jù)按照既定數(shù)據(jù)幀格式進(jìn)行輸出。發(fā)送模塊的引腳如圖2所示,各引腳功能見(jiàn)表1。本文引用地址:http://butianyuan.cn/article/191039.htm
由CPU送來(lái)的待發(fā)送的并行數(shù)據(jù),首先寫(xiě)入發(fā)送緩沖器TBR[7..0]。發(fā)送緩沖區(qū)中有數(shù)據(jù)待發(fā)送時(shí),數(shù)據(jù)自動(dòng)裝入移位寄存器TSR[7..0]并自動(dòng)完成串行數(shù)據(jù)的發(fā)送。首先傳送一位起始位0,然后根據(jù)幀結(jié)構(gòu)中定義的數(shù)據(jù)長(zhǎng)度,分別串行移出TSR[7..0]中的數(shù)據(jù),數(shù)據(jù)的低位在前,高位在后。當(dāng)沒(méi)有數(shù)據(jù)發(fā)送的時(shí)候,SDO管腳保持高電平。
2.2.2 發(fā)送模塊功能仿真
發(fā)送器功能仿真結(jié)果如圖3所示。二進(jìn)制數(shù)11110000從引腳DIN[7..0]并行輸入,當(dāng)WRN為0時(shí),啟動(dòng)發(fā)送程序,計(jì)數(shù)器開(kāi)始計(jì)數(shù),使發(fā)送器將并行數(shù)據(jù)鎖存到發(fā)送緩沖器TBR[7..0],并通過(guò)發(fā)送移位寄存器TSR[7..0]逐位移位發(fā)送串行數(shù)據(jù)至串行數(shù)據(jù)輸出端SDO。在數(shù)據(jù)發(fā)送過(guò)程中用輸出信號(hào)TBRE,TSRE作為標(biāo)志信號(hào)。當(dāng)一幀數(shù)據(jù)由發(fā)送緩沖器TBR[7..0]送到發(fā)送移位寄存器TSR[7..0]時(shí),TBRE信號(hào)為1。由發(fā)送數(shù)據(jù)緩沖器傳給發(fā)送移位寄存器主要由信號(hào)TSRE控制。當(dāng)TSRE為1時(shí),表示發(fā)送移位寄存器TSR[7..0]串行發(fā)送完畢;為0時(shí)表示還沒(méi)有發(fā)送完一幀數(shù)據(jù)。由仿真結(jié)果驗(yàn)證了發(fā)送模塊的正確性。
評(píng)論