UART發(fā)送TX控制電路設(shè)計,以波特率產(chǎn)生器的EnableTX將數(shù)據(jù)DATAO以LOAD信號將其送入發(fā)送緩沖器Tbuff,并令寄存器內(nèi)容已載有數(shù)據(jù)而非空出的標(biāo)志tmpTBufE=0。當(dāng)同步波特率信號來臨時監(jiān)視是否處于tmpTBufE=0(內(nèi)有數(shù)據(jù))以及tmpTRegE=1(沒有數(shù)據(jù))。即處于尚未啟動發(fā)送態(tài)則將Tbuff緩沖寄存器 送入傳輸寄存器Treg內(nèi)并令tmpTRegE=0(內(nèi)又送入數(shù)據(jù)),但因Tbuff已轉(zhuǎn)送入緩沖寄存器TregE內(nèi),為空故令tmpTBufE=1,此tmpTBufE代表緩沖寄存器Tbuff是否為空可再予以送入新的要發(fā)送的數(shù)據(jù)。假如tmpTRegE=0(內(nèi)有數(shù)據(jù))則便要開始進行數(shù)據(jù)串行傳輸,傳出數(shù)據(jù)為8位,連同啟動信號“0”共需9位的發(fā)送計數(shù),以BitCnt作計數(shù)。當(dāng)BitCnt=0計數(shù)器便開始遞加計數(shù)字節(jié),同時令起始信號為0,送入TxD輸出端輸出。而計數(shù)器為1-8時都將TReg的最低位Treg(0)輸出到TxD端,并令Treg[]作算術(shù)右移運算,依次將Treg[]的D7-D0通過D0移到TxD端輸出,直到第9位時停止移位,并將停止位TxD=0發(fā)送而結(jié)束一個8位數(shù)據(jù)的發(fā)送。
標(biāo)簽:
UART
發(fā)送
控制
電路設(shè)計
上傳時間:
2016-06-23
上傳用戶:kristycreasy