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