在人機交互的工業控制系統中,通信是必不可少的部分,而穩定可靠性是通信的基本指標。這就要求系統在硬件上具有較強的抗干擾能力,在軟件運行上能夠有效的避免出現死機等現象。在傳統工控系統中,一般是采用PLC作為控制器,其應用廣泛、技術成熟,具有很高的可靠性和抗干擾能力。但是PLC相對于普通微控制器來說存在成本高、體積大、實現功能單一等問題。為此,很多設計者采用微型控制器進行自主開發工控系統,但是其在惡劣環境中的可靠性和抗干擾方面相對要弱,致使其工控系統總體性能較差。
為此,文中采用S3C44BOX作為控制芯片,結合硬件和軟件兩方面綜合考慮,介紹一種可靠的人機交互工控系統的設計方案。
1 系統總體設計
人機交互系統主要是觸摸屏和主控芯片的通信,觸摸屏能夠正確發送和接收顯示數據是系統的基本功能。該系統采用日本的proface30 00系列的觸摸屏作為人機界面,通過S3C44BOX芯片進行數據轉換和功能控制。圖1為系統結構框圖。
2 硬件設計
在硬件方面,影響系統可靠安全運行的因素有3個方面:1)干擾源,能夠產生干擾信號的元件、設備或信號,比如雷電、電機等;2)傳播路徑,從干擾源傳播到敏感器件的通路或媒介,典型的干擾傳播路徑是導線的傳導和空間的輻射;3)敏感器件,容易被干擾的對象,比如A/D、D/A變換器,通信線路,弱信號放大器等。
因此,要增強系統的抗干擾能力,就必須從抑制干擾源、切斷干擾信號傳播路徑、提高敏感器件的抗干擾性能這3個方面考慮。以下為該系統的硬件可靠性設計方法。
2.1 抑制干擾源
為了給系統提供穩定干凈的電源,電源模塊采用安規電容抑制差/共模干擾,并加入磁環抑制高頻干擾信號,提高電源的穩定性。
2.2 切斷傳播路徑
1)電源模塊隔離。各個功能模塊的電源相對獨立,也就阻斷了一個受干擾的模塊會通過電源去影響另一個模塊正常工作的傳播路徑。由系統框圖可知,該系統的內部電源模塊和觸摸屏通信電源模塊分開獨立供電,減少各個模塊之間的干擾。
2)光耦隔離。為減少外部干擾信號對控制器的影響,利用光耦對外部信號進行隔離.并采用SN74HC245DW驅動/緩沖器芯片在光耦的兩端,以增強其驅動能力。由于其較強的驅動能力也降低了光耦對其外界干擾信號的敏感性,提高了抗干擾能力。圖2為光耦隔離電路。
3)在該系統中,通信線使用帶屏蔽層的雙絞線,并將其屏蔽層可靠接地。這樣可以有效的阻斷其外部電磁干擾信號通過通訊線干擾系統正常的傳播路徑。
2.3 提高線路的抗干擾性能
由于RS-422采用了差模傳輸方式,傳輸速率高達10Mb/s,傳輸距離長2 000 m,綜合抗干擾能力比RS-232優越,已廣泛應用于工業控制、儀器、儀表、多媒體網絡、機電一體化產品等諸多領域。因此,該系統采用MAX488CSA芯片將RS-232通信電平轉換成RS-422通信電平后再進行傳輸。圖3為RS-422電路。
3 軟件設計
為提高系統軟件性能,很多軟件開發人員采用一些軟件來增強系統正常運行的可靠性,比如使用看門狗、設置軟件陷阱等,這些措施的采用都具有普適性。針對于人機交互系統來說,頻繁的點擊觸摸屏,短時間內產生多次串行通信中斷,而響應中斷程序執行代碼較長,如果超出中斷嵌套次數,則系統會面臨崩潰的危險。為解決此問題,該系統專門設計中斷響應函數,提供支持多次產生的串行中斷。
3.1 Memory-link協議
系統通信采用Proface內部集成的Memory-link通信協議,該協議支持兩種工作方式:ASCII碼兼容方式和擴展方式。在兼容方式下,只有寫到數據區和讀數據區兩種命令;而在擴展方式下,除此之外,還可以執行繪圖命令。
該系統采用的是ASCII碼兼容、主從訪問方式。其所用通訊命令有以下4條。
1)主機(單片機)讀命令,如表1所示。
注:讀的數據地址占4字節,例如讀取地址50,其HEX格式為0x0032;
讀的數據長度也占4字節,數據長度是以字為單位的。
2)GP應答命令,如表2所示。
注:每個地址的(WORD)數據,占4字節傳送
3)主機(單片機)寫命令,如表3所示。
注:每個地址的(WORD)數據,占4字節傳送
4)GP中斷輸出命令:GP主動發送一個字節數據到主機。
3.2 中斷響應和驅動結構
在人機交互系統的應用中,觸摸屏主要有兩大功能:數據顯示和數據輸入。數據顯示功能只需要單片機利用Memory-link協議通過RS4-22將數據寫到觸摸屏的邏輯寄存器,觸摸屏就會立刻顯示;數據輸入過程比較繁瑣,首先觸摸屏接收數據輸入,然后給單片機發送中斷,單片機識別發送的中斷號后執行響應的驅動程序,將觸摸屏發送的數據進行讀取并保存起來。
為解決短時間內,觸摸屏多次發送輸入中斷產生的隱患,必須使單片機進入中斷后執行的時間足夠短(小于等于人的反應與觸摸屏中斷發送時間之和)。為此,文中介紹一種中斷程序執行足夠小的代碼執行結構。圖4為程序流程圖。
觸摸屏每次發送串行中斷之后,單片機進入串行中斷,根據觸摸屏發送來的中斷號,設定自定義中斷標志位并退出中斷等待接收下一次中斷,在無中斷時候,程序執行相應自定中斷標志位有效的中斷函數。
1)中斷函數部分程序
上述的代碼可見,單片機進入中斷后執行的最長有效的指令超過10條,單片機如果用10 M的晶振3倍頻后時鐘周期為30 M,在根據ARM最大指令周期估算,整個中斷執行時間不超過10μs。遠遠小于人的正常反應時間0.1 s,保證了單片機能執行在觸摸屏中人的觸摸發來的任意多個連續的中斷。
2)主函數部分程序
在主函數中。通過查詢全局變量,進入相應中斷程序。不把中斷程序放在中斷里,減弱了實時性,但是極大的增強了可靠性。
4 結束語
由上述的理論分析和詳細的軟硬件設計可以看出?;赟3C44BOX與Proface通信系統硬件將結構具有普適性,軟件結構清晰簡單。硬件采用隔離、差分傳輸、增強驅動的方式來阻斷傳播途徑、減弱敏感元件的敏感性的方式來提高硬件的抗干擾能力;軟件則采用在中斷置標志位的辦法實現中斷的快速反應能力和在主函數或任務中通過判斷標志位的方法來運行中斷程序保證了其不會受到多重中斷的干擾而不能被正常執行。實踐證明,在弧焊機等強干擾源的干擾下,系統沒有出現數據傳輸錯誤或死機等現象。