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