《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 設(shè)計應用 > 基于RS-485總線的數(shù)據(jù)采集系統(tǒng)
基于RS-485總線的數(shù)據(jù)采集系統(tǒng)
摘要: 系統(tǒng)整體框圖系統(tǒng)實質(zhì)上是一個集散控制系統(tǒng),,更準確地說是一個遠程數(shù)據(jù)采集系統(tǒng),,系統(tǒng)概念設(shè)計圖如圖1所示,系統(tǒng)整體框架圖如圖2所示,。
Abstract:
Key words :

1 硬件設(shè)計

系統(tǒng)整體框圖系統(tǒng)實質(zhì)上是一個集散控制系統(tǒng),更準確地說是一個遠程數(shù)據(jù)采集系統(tǒng),,系統(tǒng)概念設(shè)計圖如圖1 所示,,系統(tǒng)整體框架圖如圖2 所示。

系統(tǒng)概念設(shè)計圖

系統(tǒng)整體框架圖

1.2 系統(tǒng)模塊設(shè)計

1.2.1  信號獲取模塊

系統(tǒng)采集大壩壩內(nèi)各個方位的形變,,這種形變反映出各個方位的壓力值,。選用NZS - 25 系列差阻式應變計,它是一種大量程大應變計,,適用于大壩及其他混凝土建筑物內(nèi)部,、鋼結(jié)構(gòu)等的應變量測量,。它與一般壓力傳感器的結(jié)構(gòu)不同,是通過測量比值而得到壓力值,,其基本結(jié)構(gòu)如圖3 所示,。

傳感器結(jié)構(gòu)圖

圖3 中, R1 ,、R2為敏感電阻,,其基準電阻值為40 Ω ,在其沒有受壓時,2 個電阻的阻值都不會發(fā)生變化,,但是當受到外界作用的壓力時,, R1的電阻值會隨著受到壓力的不同而發(fā)生變化阻值保持不變,這樣R1和R2上的壓降不同,,通過2 次測量分別得到R1 ,、R2上的壓降, 再通過程序計算出它們的比值,,就可以反映壓力的變化,。

1.2.2 信號放大模塊

系統(tǒng)采用的壓力傳感器輸出的電壓信號為mV 級,電壓信號過小,,不能直接進行A/ D 轉(zhuǎn)換,,因此要對其進行放大,以達到轉(zhuǎn)換器的要求,。選用專用儀表放大器AD620 芯片,。此芯片內(nèi)部采用差動輸入,共模抑制比高,,差模輸入阻抗大,,增益高,精度也非常好,,且外部接口簡單,。AD620 放大器向A/ D 轉(zhuǎn)換器提供的模擬輸入電壓為- 2~2 V ,滿足A/ D 轉(zhuǎn)換器的要求。

1.2.3 A/ D 轉(zhuǎn)換模塊

轉(zhuǎn)換模塊選用ICL7135 芯片,,其典型配置如圖4 所示,。

ICL7135的時鐘由下位單片機的ALE 端提供,因為下位機在P0,、P2 口沒有擴展外圍程序存儲器和數(shù)據(jù)存儲器,,因此端提供的時鐘頻率為系統(tǒng)時鐘頻率的1/ 12 ;此外,由于前級放大部分采用AD620 ,它是雙電源供電,,所以ICL7135 也是雙電源供電,,且他們的電源要求相同。ICL7135 和下位單片機的連接采用串行連接,,如圖5 所示,。

ICL7135 典型外圍器件配置圖

圖4  ICL7135 典型外圍器件配置圖

ICL7135 和單片機的串行連接圖

圖5  ICL7135 和單片機的串行連接圖

1.2.4  電源模塊

由于系統(tǒng)下位機位于大壩現(xiàn)場,,電源無法從現(xiàn)場取得,必須由上位機提供,,因此電源解決方案如圖6 所示,。

系統(tǒng)供電框圖

圖6  系統(tǒng)供電框圖

在主節(jié)點部分,通過總電源處理模塊,,將交流220 V 轉(zhuǎn)換為直流12 V ,上位機的電源由自身的5 V 穩(wěn)壓模塊提供,通過總電源線將12 V 直流輸送到下位機,,下位機及其外圍器件所需的電源都由下位機的電源模塊提供,,個別器件所需的特殊電壓,由專用模塊獲得,。

1.2.5 通信模塊

總線采用雙絞線差分傳輸方式,,可連接成半雙工和全雙工方式,最遠傳輸距離為112 km. 系統(tǒng)數(shù)據(jù)通信采用半雙工通信方式,,即整個網(wǎng)絡(luò)中任一時刻只能由一個節(jié)點成為主節(jié)點,,處于發(fā)送狀態(tài),并向總線發(fā)送數(shù)據(jù),,其他的節(jié)點都必須處于接收狀態(tài),,如果2 個或2 個以上節(jié)點同時向總線發(fā)送數(shù)據(jù),將導致所有發(fā)送方發(fā)送數(shù)據(jù)失敗,,因此通信網(wǎng)一般采取主從式即主節(jié)點控制整個網(wǎng)絡(luò)的通信時序,,使總線上的各節(jié)點分時使用總線,解決總線數(shù)據(jù)傳輸?shù)臎_突,。

總線驅(qū)動芯片選用RS - 485 接口芯片SN75LBC184 ,它采用單一電源,,電壓為3~515 V 時都能正常工作。與普通的芯片相比,,它不但能抗雷電的沖擊,,而且能承受高達的靜電放電沖擊,片內(nèi)集成4 個瞬時過壓保護管,,可承受高達的瞬態(tài)脈沖電壓,,因此它能顯著提高防止雷電損壞器件的可靠性。對一些環(huán)境比較惡劣的現(xiàn)場,,可直接與傳輸線相接,,而不需要任何外加保護元件。該芯片還有一個獨特的設(shè)計,,當輸入端開路時,,其輸出為高電平,這樣可保證接收器輸入端電纜有開路故障時,,不影響系統(tǒng)的正常工作,。另外它的輸入阻抗為RS - 485 標準輸入阻抗的2 倍( ≥24 kΩ) ,故可以在總線上連接64 個收發(fā)器,。芯片內(nèi)部設(shè)計了限斜率驅(qū)動,使輸出信號邊沿不會過陡,,使傳輸線上不會產(chǎn)生過多的高頻分量,,從而有效扼制電磁干擾??偩€驅(qū)動芯片和單片機的連接采用間接連接,,如圖7 所示。

總線驅(qū)動芯片和單片機間的間接連接圖
 

圖7  總線驅(qū)動芯片和單片機間的間接連接圖

1.2.6 數(shù)據(jù)存儲模塊

該模塊用來存儲下位機傳過來的壓力數(shù)據(jù),。系統(tǒng)對數(shù)據(jù)存儲器的基本要求是存儲容量要大,,掉電數(shù)據(jù)不容易丟失,能保存較長時間,,易于擴展容量,。基于以上要求,,選用了遵循總線串行擴展技術(shù)的24C256,。單片機和24C256 之間的數(shù)據(jù)交換完全遵照IIC 總線的規(guī)定,即單片機作為主機,,24C256 作為從機,,所有操作都是由SDA 和SCL 2 個腳位的狀態(tài)(共有4 個狀態(tài):開始、停止,、數(shù)據(jù)和應答) 來確定,。24C256 和單片機的連接圖如圖8 所示。

24C256 和單片機連接圖

圖8  24C256 和單片機連接圖

1.2.7  時鐘模塊

采用實時時鐘芯片DS12C887 為系統(tǒng)產(chǎn)生時間基準,,它和單片機的連接如圖9 所示,。可當作單片機的外部RAM處理,,通過P0 口對DS12C887 進行操作,,通過其中斷引腳IRQ向單片機發(fā)出中斷,使單片機讀出時間,。

DS12C887 和單片機連接圖

圖9  DS12C887 和單片機連接圖

2 軟件設(shè)計

系統(tǒng)軟件框圖如圖10 所示,。一級目錄分為上位機程序、通信程序和下位機程序,;二級目錄分為數(shù)據(jù)采集程序模塊,、模擬多路開關(guān)控制程序模塊、數(shù)據(jù)處理程序模塊,、下位機通信程序模塊,、上位機通信程序模塊、顯示程序模塊、存儲程序模塊,、時鐘程序模塊以及鍵盤控制模塊,。每個二級程序模塊又由更小的函數(shù)組成,這樣的設(shè)計方法容易修改和測試,。

系統(tǒng)整體軟件框圖

3 結(jié)語

軟件程序設(shè)計按照自頂向下的原則,,按功能模塊化劃分采用C 語言編程實現(xiàn)各模塊功能,以子程序的形式進行封裝對外部提供規(guī)定的接口,,再按照系統(tǒng)流程要求進行模塊組合最后實現(xiàn)整個系統(tǒng),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。