基于80C196KC的CAN總線智能數(shù)據(jù)采集模塊設計
引言
本文引用地址:http://butianyuan.cn/article/163590.htm基于集中管理、分散控制的分散控制系統(tǒng)(distributed control system)解決了集中式直接數(shù)字控制系統(tǒng)對控制器處理能力和可靠性要求過高的缺陷,但由于其具有一定的封閉性、各分散控制系統(tǒng)之間的不兼容性,集散控制系統(tǒng)難以實現(xiàn)網絡互連和信息共享。
現(xiàn)場總線的出現(xiàn)使得全數(shù)字化,全開放式,具有可互操作性,徹底分散的現(xiàn)場總線控制系統(tǒng)(fieldbus control system)得以實現(xiàn),現(xiàn)場總線控制系統(tǒng)已成為自動化領域中的一個熱點,也將成為工業(yè)過程控制的一個重要發(fā)展方向。
控制器局域網CAN(controller areanet work)是德國Bosch公司在現(xiàn)代汽車電子技術領域中推出的一種多主控制器局域網絡技術,能有效支持分布式和實時控制,最早主要應用于汽車內部電子監(jiān)測和控制器件數(shù)據(jù)通信。由于其高可靠性及高實時性而廣泛應用于工業(yè)現(xiàn)場控制等領域。其突出的特點是采用最長8個數(shù)據(jù)字節(jié)的短幀結構,傳輸時間短,實時性高;另外CAN協(xié)議取消了傳統(tǒng)的地址編碼概念,取而代之的是基于數(shù)據(jù)塊標識符的無損優(yōu)先級仲裁,給分布式控制系統(tǒng)實現(xiàn)模塊間的信息共享帶來了極大的方便。
基于CAN總線的主要特點及發(fā)展趨勢,我校電液實驗室開放式電液伺服控制系統(tǒng)的改造中采用CAN總線作為現(xiàn)場總線標準,構建了一套基于CAN總線智能節(jié)點的現(xiàn)場總線控制系統(tǒng)。文中將詳細介紹智能數(shù)據(jù)采集模塊的軟硬件設計,該模塊可以實現(xiàn)控制現(xiàn)場的數(shù)字、模擬信號采集,現(xiàn)場數(shù)據(jù)預處理,數(shù)據(jù)傳送以及與監(jiān)控計算機通訊等功能。
液壓伺服系統(tǒng)簡介
開放式電液伺服控制系統(tǒng)包括數(shù)臺電液伺服位置控制實驗臺、電液比例轉速控制實驗臺、電液比例力控制實驗臺。各實驗臺配置1套基于CAN總線的智能數(shù)據(jù)采集模塊和內置控制算法的智能控制模塊,通過CAN總線將各分散的采集模塊和控制模塊組成一個控制網絡,1臺PC機通過內置的CAN適配卡接入局部網絡,模擬工業(yè)現(xiàn)場的過程控制,PC機作為擔任過程控制監(jiān)控任務的控制站,可以實時顯示各實驗臺工作狀況及向各實驗臺發(fā)送啟停命令,同時還可以通過高速以太網將現(xiàn)場數(shù)據(jù)遠程傳輸至工程師站等管理級計算機,實現(xiàn)如圖1所示的分層現(xiàn)場總線控制系統(tǒng)。
圖1 開放式電液伺服控制系統(tǒng)總體結構
系統(tǒng)硬件設計
數(shù)據(jù)采集模塊作為一種智能化現(xiàn)場儀表,主要包括硬件系統(tǒng)和控制軟件2大部分。模塊硬件部分以80C196KC單片機作為采集模塊的核心,外圍電路主要包括CAN總線接口,程序存儲器,電源監(jiān)控及復位電路,GAL譯碼電路,DI、A/D轉換電路及模塊參數(shù)設置電路等。模塊結構如圖2所示。
圖2 數(shù)據(jù)采集模塊結構
80C196KC單片機簡介
80C196KC是Intel公司推出的高性能16位單片機。和MCS51系列單片機相比,MCS196系列單片機具有更快的運算速度和更豐富的片上外圍設備,提高了控制系統(tǒng)的實時性,主要體現(xiàn)在以下幾個方面:
a.可采用8/16位動態(tài)總線配置方式,增強系統(tǒng)的靈活性。
b.CPU中的算術邏輯單元不采用常規(guī)的累加器結構,改用寄存器-寄存器結構。CPU的操作直接面向256字節(jié)的寄存器,消除了51單片機中存在的累加器的瓶頸問題,提高了操作速度和數(shù)據(jù)吞吐能力。
c.有一套效率更高、執(zhí)行速度更快的指令系統(tǒng)。可以對帶符號數(shù)和不帶符號數(shù)進行操作,16×16位只需1.4μs(20MHz),32÷16位只需2.4μs(20MHz),此外還有3操作數(shù)指令,大大提高指令效率。
選擇80C196KC單片機作為數(shù)據(jù)采集模塊的核心器件,可以滿足應用系統(tǒng)的要求,保證系統(tǒng)的可靠性和實時性。
CAN總線接口電路
CAN總線接口由PHILIPS公司的獨立總線控制器SJA1000和接口芯片82C250組成。SJA1000在軟件上和引腳上都是與它的前款PCA82C200獨立控制器兼容的,并增加了許多新功能:標準幀數(shù)據(jù)結構和擴展幀數(shù)據(jù)結構,并且這2種幀格式都具有單/雙接收過濾器;64字節(jié)的接收FIFO;可讀錯誤計數(shù)器和可編程的出錯警告界限以及僅聽模式和自測試模式等。硬件連接上比較簡單:SJA1000的數(shù)據(jù)地址總線是分時復用的,可以直接與80C196KC的P3口連接,對應控制線相連即可。需注意的是,80C196KC是Intel公司的處理器,因此SJA1000工作在Intel方式,mode引腳應接電源正端,另外單片機的外部中斷只有正跳變有效,而SJA1000的中斷信號是低電平有效,因此需反相后才能連接單片機中斷引腳。
82C250器件提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力,其RS引腳允許選擇3種不同的工作方式:高速、斜率控制和待機。在低速和總線長度較短時,一般采用斜率控制方式,限制上升和下降斜率,降低射頻干擾,斜率可通過由RS引腳至地連接的電阻進行控制。通信信號傳輸?shù)綄Ь€的端點時會發(fā)生反射,反射信號會干擾正常信號的傳輸,因而總線兩端通常應接有終端電阻,以消除反射信號,其阻值約等于傳輸電纜的特性阻抗,一般取120Ω。
數(shù)字信號采集電路
電液伺服實驗臺需要采集的物理量之一是液壓缸的位移,實驗室現(xiàn)有裝備的位移傳感器有2種:感應同步器和旋轉光電編碼器。二者都配有帶BCD碼輸出的數(shù)顯測量儀表,直接采集數(shù)顯表的數(shù)字量可以保證采集模塊具有儀表的高精度,避免因采集傳感器前端脈沖而帶來的誤差,同時也使電路更加簡潔。
數(shù)字顯示儀表的有效BCD碼位數(shù)為5位(個、十、百位及2位小數(shù)位),另帶一位符號位,共有21位二進制位。80C196KC片內不帶程序存儲器,因而用P3和P4口作為地址數(shù)據(jù)總線,單片機剩余有效IO口資源較少,因此必須擴展并口。并口擴展可以采用專用擴展芯片或通用74系列的邏輯芯片,為了簡化電路和編程,采用常見的可擴展24路IO口的82C55A并口擴展芯片?,F(xiàn)場的數(shù)字顯示儀表的輸出是非標準的TTL電平,為了實現(xiàn)模塊與前端儀表兼容和隔離,對輸入的數(shù)字信號采用了TLP521光耦進行電平轉換和信號隔離。
A/D轉換電路電路
本模塊中A/D轉換器選用AD1674,它與AD574兼容,12位分辨率,輸入電壓范圍0~±10V或0~±5V單雙極性可選,轉換時間為10μs,單通道最大采集速率50KHz,片內帶基準電壓、三態(tài)緩沖器,且具有采樣保持電路,完全滿足設計的需要。
評論