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