Intel16位單片機的特殊串行通訊方式
有關接收和發送的數據存放在由DATA(L)和DATA(H)構成的數據單元中。其數據單元的寬度可達16位。波特率的設定參數放在BAUD(L)和BAUD (H)中。196MC/MD串行通訊的控制參數主要放在PTSCON和PTSCON1寄存器中。對這兩個寄存器進行操作可以設定各種串行通訊方式。下面主要介紹這兩個寄存器。
PTSCON的操作格式如下:
其中:M2M1M0=011為發送方式;M2M1M0=001為接收方式;SA=1為同步SIO;SA=0為異步SIO。
MAJ=1為允許多數表決采樣;MAJ=0為禁止多數表決采樣。
PTSCON1具有異步和同步操作兩種模式。異步方式的PTSCON1操作格式為:
同步方式的PTSCON1格式為:
其中:PRAR為接收奇偶校驗控制/狀態位;
PEN為奇偶校驗選通們,PEN=1時選通;PEN=0時禁止;
FE為出錯標志,FE=1說明傳輸出錯;
TPAR為發送奇偶校驗控制位;
TRC是發送/接收控制位。
在利用196MC/MD實現串行通訊時,首先選擇EPA中的一個捕獲比較模塊作為串行通訊,再選擇一個比較模塊作為串行通訊發送模塊。這樣就能構成串行通訊的硬件端口。然后,對所選的EPA模塊開辟相應的PTS通道,再根據通訊要求編寫串行通訊的發送和接收PTS模塊。最后使EPA和PTS兩者協同工作便能實現對串行通訊的控制。
下面以異步串行通訊為例介紹其實現方法:首先為串行接收方式選擇一個捕獲/比較模塊作為串行接收引腳。然后利用捕獲功能捕捉起始位,當捕捉到起始位后將該模塊轉換為比較方式,并利用比較方式的精確定時來確定第一個采樣時刻。最后按照選定的時間間隔對輸入數據的位進行采樣(要確保每次采樣都發生在數據位周期中心),這樣就可以正確接收串行數據了。這個采樣過程是通過對應的EPA中斷和PTS配合來實現的。圖2是接收過程的時序圖。
評論