通用異步收發(fā)器MAX3100在單片機(jī)系統(tǒng)中的應(yīng)用
1.硬件設(shè)計(jì)
圖4所示為MAX3100與78E58單片機(jī)采用SPI接口方式,實(shí)現(xiàn)高速串行數(shù)據(jù)收發(fā)的應(yīng)用實(shí)例,在電路中用MAX3100取代了以往常用的UART8251,以實(shí)現(xiàn)高性能的通信模式。78E58的P1.0~P1.3分別接MAX3100的DIN、DOUT、SCLK以及
78E58單片機(jī)接收時(shí),上位機(jī)傳過(guò)來(lái)的數(shù)據(jù)通過(guò)串行口由RS-232轉(zhuǎn)換TTL電平后,MAX3100串行接收,串行輸入到MCU中。78E58單片機(jī)發(fā)送時(shí),MCU將要發(fā)送的數(shù)據(jù)串行送入MAX3100,通過(guò)RS-232轉(zhuǎn)換成232電平后串行輸出。
同時(shí)我們還要考慮MAX3100在通知計(jì)算機(jī)不要發(fā)送數(shù)據(jù)后還有一批的數(shù)據(jù)在緩沖區(qū)內(nèi),這批數(shù)據(jù)要注意接收,而且這些數(shù)據(jù)應(yīng)留有一個(gè)接收的時(shí)間余地。也就是說(shuō)在通知計(jì)算機(jī)不要發(fā)送數(shù)據(jù)之后和開(kāi)始執(zhí)行操作之前要延時(shí)一段時(shí)間,以保證數(shù)據(jù)的全部接收。
五: 結(jié)論
采用MAX3100作為擴(kuò)展的UART,具有價(jià)格低廉,功耗小,實(shí)現(xiàn)容易的特點(diǎn),而且比傳統(tǒng)的UART8251占用體積小,傳輸速度快,工作頻率高,具有比8251更優(yōu)越的性能。
前面所給程序是通過(guò)端口發(fā)送與接收數(shù)據(jù)的關(guān)鍵,對(duì)于任何一種基于MCS-51單片機(jī)采用MAX3100實(shí)現(xiàn)串行收發(fā)的應(yīng)用系統(tǒng)來(lái)說(shuō)都是非常有幫助的。經(jīng)過(guò)實(shí)踐證明,該系統(tǒng)運(yùn)行效果良好,數(shù)據(jù)傳送安全可靠,傳送快,應(yīng)用廣泛。
在實(shí)踐中發(fā)現(xiàn)在系統(tǒng)晶振采用40MHZ,振蕩器晶振選用1.8432MHZ時(shí),C語(yǔ)言編寫(xiě)的MAX3100接收程序工作在115200波特率時(shí)有數(shù)據(jù)丟失的情況,最高只能到57600波特率,用匯編語(yǔ)言編寫(xiě)的程序則可以達(dá)到115200波特率。如果MAX3100晶振選用3.6864MHZ時(shí),用匯編語(yǔ)言編寫(xiě)的程序可以達(dá)到其最高的波特率。
評(píng)論