曹森,戚鳳華
(南京曉莊學院,江蘇南京 210017)
基于PC機和單片機主從式測控系統設計研究
曹森,戚鳳華
(南京曉莊學院,江蘇南京 210017)
在測控系統的設計上,很多系統的PC機只能控制一臺下位機,從而導致了PC機資源的浪費.而利用PC機和單片機進行主從式測控系統的設計,則可以使這一問題得到解決.本文基于PC機和單片機進行了主從式測控系統的設計,并從系統結構、硬件設計和軟件設計這三個方面對系統電路原理和實現方法進行了分析,對系統的通信問題進行了研究.
PC機;單片機;主從式測控系統;設計
在計算機技術和網絡技術不斷發展的情況下,由PC機和單片機構成的測控系統已經得到了廣泛的應用.一方面,該類系統擁有來自于PC機的高性能的軟件功能.另一方面,在數據采集和圖形處理方面,該類系統又擁有單片機的實時數據采集和處理的優勢.所以,在測控系統設計中進行PC機和單片機的應用,已經成為了測控技術發展的一個方向.
從本質上來講,基于PC機和單片機的主從式測試系統是建立在485總線型網絡的基礎之上.在系統中,PC機在利用串行口控件的同時,也需要利用RC-232C來完成通信.而在進行RS-232C和RS-485總線標準的轉換時,則可以利用MAX232、MAX485芯片來實現[1].此外,在進行RS-485總線與下位單片機的連接時,同樣也需要MAX485芯片來完成.所以,從系統的結構上來看,系統包含了上位PC機部分、RS232接口電路部分、帶光電隔離RS232/485轉換電路、RS-485總線型通信網絡部分和下位機單片機部分.首先,上位PC機作為系統的主控機,需要被放置在中央控制室.而當上位機需要向下位機發達指令或接收其反應時,則需要利用軟件的串口控件和硬件的R232C接口來實現通信.此外,系統上位機還要實現人機交互,從而使用戶更加方便的進行系統的操作[2].其次,系統上位PC機采用的通信接口為RS-232C,系統下位單片機使用的是TTL邏輯電平.所以,想要實現系統間的通信,就需要利用MAX232芯片進行接口標準的轉換.再者,系統的RS232/485轉換電路由芯片和光電耦合器組成,而系統的總線型通信網絡則為主從式微機網絡.因為,利用RS-485總線實現系統通信,可以使系統具有較強的抗干擾能力,并且能進行遠距離的通信.最后,系統的下位機是由8051單片機為核心,并進行信號顯示、鍵盤和時鐘電路等外圍電路的配置.
在進行系統的硬件設計時,需要以系統的結構為依據,重點進行重要環節的電路設計.首先,在進行RS232接口電路的設計時,要進行其主要功能的實現,既PC機與外部連接設備的電平轉換.而由于擁有全雙工的串行通信口,8051單片機可以與PC機進行串口通信.但是,由于PC機串口為RS232電平,單片機串口為TTL電平,所以還需要利用MAX232芯片進行電平和邏輯關系的轉換,從而實現系統的通信.其次,在進行RS232和RS485轉換電路的設計時,則需要采用RS-485總線標準[3].而為了實現系統的通信,則要利用MAX485芯片將TTL電平轉換為485電平.但值得注意的是,為了使系統具有更強的抗干擾能力,還要在MAX232芯片和MAX485芯片間加入單向傳輸的光電耦合電路,從而避免輸出端的干擾信號反饋到輸入端.再者,在進行RS-485總線型網絡電路的設計時,則要采用主從式結構.具體來說,就是使上位機進行系統的通信控制,并不允許下位機主動進行指令或數據的發送.而這種電路設計,可以使系統的每一個發送器驅動進行多個負載設備的連接的同時,又可以避免系統遭到其他設備的干擾.此外,系統的下位單片機電路設計則要保證MAX485的DE端電位為“0”.因為,系統的PC機與下位機之間的通信線路一般要長達幾百米,所以二者之間的通信狀態并不統一,因此容易出現通信的困難.而保證8051單片機在復位時的I/O口輸出為高電平,則可以實現系統的通信.最后,在進行系統供電電路的設計時,要利用直流穩壓電源來進行供電[4].而該電源主要由電源變壓器、整流、濾波和穩壓電路構成,可以維持直流穩定的電壓的輸出.
在進行系統的軟件設計時,可以利用串口控件MSComm來進行PC機和單片機通信的實現.因為,該控件不僅能夠進行串行通信的數據發送和接收的設置,還能設置串口狀態和串口信息格式.
3.1 上位機軟件設計
在進行上位PC機軟件的設計時,可以利用MSComm通信控件來進行數據的接收和發送.而進行該種控件的應用,就可以使用戶不必進行通信底層的操作,從而實現與下位機的直接通信.由于系統本身是主從式的測控系統,所以可以采取主機查詢、從機中斷的通信方式進行通信的實現.在系統進行通信的過程中,需要進行地質信息的識別和輸入,并且需要采用輪詢的方式進行通信.具體來說,就是只有在PC機訪問從機時,從機才能有所反應,而其余時間從機則要保持在等待串行中斷的狀態[5].此外,在數據傳輸的過程中,PC機還要查詢各個單片機端口.而單片機則要保持監聽狀態,從而及時進行指令的接收.
3.2 下位單片機軟件設計
在進行單片機的軟件設計時,要采用中斷方式進行數據的接收和發送.具體來說,就是以定時器T1為波特率發生器,在波特率與PC機一致時,單片機則可以利用串行口完成數據通信.而為了保證PC機始終只與一臺從機進行通信,下位單片機只能在PC機發出與自身地址碼一致的地址時,才能向PC機發送應答信號.此外,單片機程序應由下位機主程序和中斷程序兩部分構成.其中,下位機主程序不僅要進行數據的初始化,還要完成數據的傳輸工作.而中斷程序則要輔助進行數據的傳送,并實現下位機和主機的連接.
3.3 數據庫設計
在進行數據庫的設計時,要保證數據的存儲管理更有效率.而系統的數據庫只是進行下位機發送數據的存儲的,所以數據量相對不是很大.因此,可以利用MicrosoftAccess格式的數據庫系統進行數據的存儲和處理[6].而該數據庫不僅具有結構簡單和靈活等特點,還便于用戶進行數據庫的管理和使用.在進行數據庫應用的時候,可以利用數據訪問對象、遠程數據對象和ActiveX數據對象來進行數據的訪問.而數據庫的訪問方法則為數據控件法,既利用AdoData控件進行數據庫的操縱.
3.4 系統界面的設計
進行系統界面的設計,是為了更好的方便用戶進行系統的使用.所以,在進行系統界面設計時,要盡量使用便于用戶掌握的編程語言,從而方便用戶的使用.而利用VisualBasic6.0開發軟件進行系統界面的設計,則可以進行適用于Windows環境的應用程序的編寫,從而在節省設計者的大量時間.從內容上來看,系統的界面包含了密碼確認界面、主操作界面、參數設置模塊、程序說明模塊、CRC運算模塊和查詢模塊這六部分.其中,密碼確認界面需要用戶進行密碼的輸入,從而進行用戶身份的確認.主操作界面則需要進行接收顯示、文件傳輸、菜單和主要功能的按鈕的設置,從而方便用戶進行系統功能的選擇.參數設置模塊的設計則可以進行通信時的串口號、波特率和停止位數等參數的設置,從而使系統程序適用于各種工作情況.程序說明模塊則是用來進行串行通信程序相關信息的顯示,從而便于用戶進行軟件的了解[7].而由于系統通信的過程可能會出現數據錯誤,所以需要利用校驗碼進行數據的檢測.而CRC運算模塊則可以為用戶提供檢測數據的操作,從而使用戶進行數據的確認.此外,界面設計部分還包含查詢模塊,既可以為用戶提供查詢數據來源、時間、傳輸情況等信息的操作界面.
總而言之,基于PC機和單片機的主從式測控系統不僅具有單片機集成度高、控制能力強和系統結構簡單等優點,還具有PC機在處理數據、圖像處理和網絡通信等方面的優點.所以,設計者想要進行主從式測控系統的設計,就可以進行PC機和單片機的利用,并利用MAX232芯片和MAX485芯片來進行系統通信的實現,從而更好的進行系統的應用.
〔1〕胡中功,黃波,江維.基于RS485總線的PC與單片機多機通信系統設計[J].自動化與儀器儀表,2012,01(01):30-35.
〔2〕王士爭.主從通信模式下即插即用技術的研究和實現[D].南京郵電大學,2012.
〔3〕史媛芳.PC機與C51單片機的串行通信研究[J].電腦知識與技術,2014,36(10):810-817.
〔4〕焦向峰.基于單片機的齒輪角度測控系統設計[J].智富時代,2014,12(01):158-160.
〔5〕張聰.一個通用測控系統的設計與案例定制[D].北京郵電大學,2012.
〔6〕周先輝,毛翠麗,王長河.基于STC12C5A與PC串口通信的溫度測控系統開發[J].南陽理工學院學報,2012,04(04):52-55.
〔7〕何青,胡漢春,代剛.基于RS-485總線的PC機與單片機串行通訊仿真系統的設計[J].機電產品開發與創新,2011,01(24):27-28.
TN741
A
1673-260X(2015)05-0025-02