Intel16位單片機(jī)的特殊串行通訊方式
接收過程開始后,先由EPA捕獲比較模塊捕捉起始位,捕獲到時(shí)產(chǎn)生一次EPA的普通中斷。在這個(gè)中斷處理程序中,將捕獲方式轉(zhuǎn)變?yōu)楸容^方式,并根據(jù)要求的波特率設(shè)定比較時(shí)間為個(gè)位周期,同時(shí)啟動(dòng)PTS功能。在此后的個(gè)位周期,即第一個(gè)數(shù)據(jù)位周期的斷時(shí)刻到來時(shí),第一個(gè)PTS周期開始執(zhí)行,并根據(jù)設(shè)定對(duì)該位數(shù)據(jù)進(jìn)行采樣(為了提高抗干擾能力,可以采用多數(shù)表決方式采樣),直到各位數(shù)據(jù)由PTS中斷根據(jù)設(shè)公平的波特率等參數(shù)直到各位數(shù)據(jù)由PTS中斷根據(jù)設(shè)定的波特率等參數(shù)采樣完成,系統(tǒng)都不需CPU再干預(yù)為止。等到一個(gè)數(shù)據(jù)單元接收完畢后,PTS中斷就結(jié)束了。這時(shí),程序再次進(jìn)入一個(gè)EPA的普通中斷,在這個(gè)中斷中,可將PTS中接收的數(shù)據(jù)保存,然后將該EPA模塊設(shè)為捕獲方式,以捕獲下一個(gè)數(shù)據(jù)單元的起始位。以此方式反復(fù)運(yùn)行就可以逐一地接收數(shù)據(jù)單元了。對(duì)于串行發(fā)送方式,可以在EPA的捕獲/比較模塊或比較模塊中任選一個(gè)作為串行發(fā)送引腳。然后再根據(jù)要求編寫PTS控制塊,最后利用EPA的普通中斷和PTS配合來產(chǎn)生逐位發(fā)送的串行發(fā)送時(shí)序,圖3所示是其發(fā)送時(shí)序。其具體工作過程是:首先將待發(fā)送的數(shù)據(jù)單元與通訊參數(shù)一同寫入相應(yīng)的發(fā)送PTS控制塊中。然后在發(fā)送引腳上產(chǎn)生一個(gè)下降沿來作為起始位,接著就可以啟動(dòng)PTS中斷了。在第一個(gè)PTS中斷中,先在PTS的控制下在發(fā)送引腳上發(fā)出一個(gè)位信號(hào)。然后再在以后的PTS中斷中按規(guī)定的波特率逐位發(fā)送關(guān)斷,此過程無須CPU 干預(yù),直到一個(gè)數(shù)據(jù)單元發(fā)送完成后進(jìn)入一次EPA的普通中斷為止。在這個(gè)中斷處理中,應(yīng)首先更新有關(guān)寄存器的設(shè)置,然后放入下一個(gè)特發(fā)送的數(shù)據(jù)單元,以構(gòu)造出新的PTS控制塊。之后再產(chǎn)生一個(gè)新的發(fā)送起始位,以重新啟動(dòng)新一輪的PTS來發(fā)送下一個(gè)數(shù)據(jù)單元。這樣反復(fù)的運(yùn)行就實(shí)現(xiàn)了串行數(shù)據(jù)的發(fā)送。
4 結(jié)束語
實(shí)驗(yàn)證明,196MC/MD單片機(jī)的這種串行通訊方式在實(shí)際應(yīng)用中效果非常好。雖然相對(duì)于獨(dú)立串口來說,該方法略顯復(fù)雜。但是這種通訊方法的靈活性和實(shí)用性是其它獨(dú)立串口所無法比擬的。而且這種通訊方式充分顯示了Intel 16單片機(jī)技術(shù)中EPA和PTS的技術(shù)特點(diǎn),這也是196MC/MD單片機(jī)應(yīng)用的重要技術(shù)之一。
評(píng)論