基于ISA 總線的工業控制系統接口電路設計方案
ISA總線的總線周期分成兩大類:一類是CPU驅動的總線周期;另一類是DMA 控制器驅動的總線周期。
在設計擴展卡時,可使用CPU總線周期中的I/O讀寫和DMA 驅動的DMA 傳送方式。DMA 傳送方式多用于實時性要求高、數據量很大的場合,其接口電路設計比較復雜。通常,ISA總線采用I/O讀寫方式。在I/O讀寫周期中,地址碼在讀寫過程中一直保持有效,可直接作為接口芯片的地址信號,不需進行鎖存。I/O 讀寫信號均為低電平有效。
由于通信信道為單芯電纜,因此單片機系統采用分時復用總線的工作方式,低八位地址碼與數據在一個讀寫周期中分時出現在單片機的P0口,需對低八位地址信號進行鎖存。在設計接口卡時,要嚴格遵循雙總線的操作時序。需要注意,由于DMA 傳送過程中也需要使用I/O讀寫信號,因而設計電路時要在地址譯碼電路中使用DMA 傳送的地址允許信號進行屏蔽,以防止接口誤操作。同時,為了防止時序混亂,采用總線控制模塊實現總線系統之間進行隔離,同時還要設置兩個系統之間的公用數據交換區,以實現數據交換。ISA總線接口電路原理圖,如圖4所示。
井下儀器內部通信是由井下儀器各個單片機通過LIN 總線互相傳遞數據和命令的過程。其原理圖如圖5所示。串行通信采用9位多機通信方式,波特率為20 kHz.其中遙傳短節內的TU1為主單片機,其他各短節內的單片機為次。TU1 單片機既發命令也接收數據,其他單片機只接收命令和發送數據,不接收數據,以免受其他單片機影響。
3 系統軟件下的通信協議
3.1 通信協議解釋
地面系統發送的控制命令及數據信息均采用PCM編碼方式,屬半雙工通信。地面儀器工作時不斷檢測電纜上有無信號,當檢測到電纜上有信號,則代表井下在上傳數據。如果出現一段時間間隔內(1 ms)無信號,表示井下儀器一幀數據已結束,該地面系統開始下發命令。與此同時,井下儀器每隔50 ms主動發送一組數據并接收一次命令(即一幀),每幀50 ms時間分為5個10 ms段,第一段10 ms為命令框,這時井下儀器不發數據,接收地面儀器發送的命令;第二段至第五段分別為井下儀器上傳的數據段,也叫數據框。每框含5個18位字,含1個狀態字,4個數據字,每字占空間1 900 μs,包括18位及一個100 μs 間隔。有效位16 位,第17 位是檢驗位,第18 位總是“0”.地面系統與井下儀器通信協議幀格式,如圖6所示。
3.2 狀態字與數據位的識別
系統采用時分復用通信方式,即對信道中相位抖動及接收端與發送端的時鐘同步問題提出了較高的要求。接收端根據對同步信號的識別,讀取數據和命令傳送等。
井下儀器向地面系統發送的數據需要先對其狀態字進行同步校驗。通過判斷狀態字,可得到上傳數據對應的井下信息。上傳數據的每個狀態字占空間1 900 μs,包括18位及一個100 μs間隔。有效位16位,第17位是檢驗位,第18 位總是“0”.每位占100 μs,每位前有一個位同步脈沖,100 μs中部有脈沖,代表該位為1,無脈沖為0.地面系統在讀取數據之前,先對此碼組進行幀同步校驗。判斷上傳數據是否符合要求,符合則上傳數據,否則等待下一幀命令。
當數據傳送完成后,地面儀器下傳復合命令(CM+CMT)。復合命令分兩部分,前部分為狀態命令CM,6位,每位280 μs,共280 μs×6,分布在前5 ms中部;后部分為靶壓命令CMT,4位,280 μs×4,分布在后5 ms中部。
每位前有一個位同步脈沖,其后有一個數據脈沖,用同步脈沖和數據脈沖之間的距離表示該位是1或0,同步脈沖和數據脈沖之間的距離小于140 μs表示該位為0,大于140 μs表示該位為1.井下儀器在讀取數據之前,先對此特定脈寬脈沖進行幀同步校驗。判斷下發命令是否正確,正確則執行命令,否則返回待命。
4 結論
設計所提供的ISA 總線接口規范,可實現與系統的快速配接,當需要不同系列儀器配接時,只需要在前面板盤模組處更換相應的板卡和相應的軟件界面,即可實現,具有良好的設備兼容性。本設計是對傳統氧活化水流測井儀地面系統的改進,通過單片機控制實現數據上傳與命令下發的通信。
評論