1 硬件設(shè)計(jì)
系統(tǒng)整體框圖系統(tǒng)實(shí)質(zhì)上是一個(gè)集散控制系統(tǒng),,更準(zhǔn)確地說(shuō)是一個(gè)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),,系統(tǒng)概念設(shè)計(jì)圖如圖1 所示,,系統(tǒng)整體框架圖如圖2 所示。
1.2 系統(tǒng)模塊設(shè)計(jì)
1.2.1 信號(hào)獲取模塊
系統(tǒng)采集大壩壩內(nèi)各個(gè)方位的形變,,這種形變反映出各個(gè)方位的壓力值,。選用NZS - 25 系列差阻式應(yīng)變計(jì),它是一種大量程大應(yīng)變計(jì),,適用于大壩及其他混凝土建筑物內(nèi)部,、鋼結(jié)構(gòu)等的應(yīng)變量測(cè)量。它與一般壓力傳感器的結(jié)構(gòu)不同,,是通過(guò)測(cè)量比值而得到壓力值,,其基本結(jié)構(gòu)如圖3 所示。
圖3 中,, R1 ,、R2為敏感電阻,其基準(zhǔn)電阻值為40 Ω ,在其沒(méi)有受壓時(shí),,2 個(gè)電阻的阻值都不會(huì)發(fā)生變化,,但是當(dāng)受到外界作用的壓力時(shí), R1的電阻值會(huì)隨著受到壓力的不同而發(fā)生變化阻值保持不變,,這樣R1和R2上的壓降不同,,通過(guò)2 次測(cè)量分別得到R1 、R2上的壓降,, 再通過(guò)程序計(jì)算出它們的比值,就可以反映壓力的變化,。
1.2.2 信號(hào)放大模塊
系統(tǒng)采用的壓力傳感器輸出的電壓信號(hào)為mV 級(jí),,電壓信號(hào)過(guò)小,不能直接進(jìn)行A/ D 轉(zhuǎn)換,,因此要對(duì)其進(jìn)行放大,,以達(dá)到轉(zhuǎn)換器的要求。選用專用儀表放大器AD620 芯片,。此芯片內(nèi)部采用差動(dòng)輸入,,共模抑制比高,差模輸入阻抗大,,增益高,,精度也非常好,且外部接口簡(jiǎn)單,。AD620 放大器向A/ D 轉(zhuǎn)換器提供的模擬輸入電壓為- 2~2 V ,滿足A/ D 轉(zhuǎn)換器的要求,。
1.2.3 A/ D 轉(zhuǎn)換模塊
轉(zhuǎn)換模塊選用ICL7135 芯片,,其典型配置如圖4 所示。
ICL7135的時(shí)鐘由下位單片機(jī)的ALE 端提供,,因?yàn)橄挛粰C(jī)在P0,、P2 口沒(méi)有擴(kuò)展外圍程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,因此端提供的時(shí)鐘頻率為系統(tǒng)時(shí)鐘頻率的1/ 12 ;此外,,由于前級(jí)放大部分采用AD620 ,它是雙電源供電,,所以ICL7135 也是雙電源供電,且他們的電源要求相同,。ICL7135 和下位單片機(jī)的連接采用串行連接,,如圖5 所示。
圖4 ICL7135 典型外圍器件配置圖
圖5 ICL7135 和單片機(jī)的串行連接圖
1.2.4 電源模塊
由于系統(tǒng)下位機(jī)位于大壩現(xiàn)場(chǎng),,電源無(wú)法從現(xiàn)場(chǎng)取得,,必須由上位機(jī)提供,因此電源解決方案如圖6 所示,。
圖6 系統(tǒng)供電框圖
在主節(jié)點(diǎn)部分,,通過(guò)總電源處理模塊,將交流220 V 轉(zhuǎn)換為直流12 V ,上位機(jī)的電源由自身的5 V 穩(wěn)壓模塊提供,,通過(guò)總電源線將12 V 直流輸送到下位機(jī),,下位機(jī)及其外圍器件所需的電源都由下位機(jī)的電源模塊提供,個(gè)別器件所需的特殊電壓,,由專用模塊獲得,。
1.2.5 通信模塊
總線采用雙絞線差分傳輸方式,可連接成半雙工和全雙工方式,,最遠(yuǎn)傳輸距離為112 km. 系統(tǒng)數(shù)據(jù)通信采用半雙工通信方式,,即整個(gè)網(wǎng)絡(luò)中任一時(shí)刻只能由一個(gè)節(jié)點(diǎn)成為主節(jié)點(diǎn),處于發(fā)送狀態(tài),,并向總線發(fā)送數(shù)據(jù),,其他的節(jié)點(diǎn)都必須處于接收狀態(tài),如果2 個(gè)或2 個(gè)以上節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù),,將導(dǎo)致所有發(fā)送方發(fā)送數(shù)據(jù)失敗,,因此通信網(wǎng)一般采取主從式即主節(jié)點(diǎn)控制整個(gè)網(wǎng)絡(luò)的通信時(shí)序,使總線上的各節(jié)點(diǎn)分時(shí)使用總線,,解決總線數(shù)據(jù)傳輸?shù)臎_突,。
總線驅(qū)動(dòng)芯片選用RS - 485 接口芯片SN75LBC184 ,它采用單一電源,電壓為3~515 V 時(shí)都能正常工作,。與普通的芯片相比,,它不但能抗雷電的沖擊,而且能承受高達(dá)的靜電放電沖擊,片內(nèi)集成4 個(gè)瞬時(shí)過(guò)壓保護(hù)管,,可承受高達(dá)的瞬態(tài)脈沖電壓,,因此它能顯著提高防止雷電損壞器件的可靠性。對(duì)一些環(huán)境比較惡劣的現(xiàn)場(chǎng),,可直接與傳輸線相接,,而不需要任何外加保護(hù)元件。該芯片還有一個(gè)獨(dú)特的設(shè)計(jì),,當(dāng)輸入端開(kāi)路時(shí),,其輸出為高電平,這樣可保證接收器輸入端電纜有開(kāi)路故障時(shí),,不影響系統(tǒng)的正常工作,。另外它的輸入阻抗為RS - 485 標(biāo)準(zhǔn)輸入阻抗的2 倍( ≥24 kΩ) ,故可以在總線上連接64 個(gè)收發(fā)器。芯片內(nèi)部設(shè)計(jì)了限斜率驅(qū)動(dòng),,使輸出信號(hào)邊沿不會(huì)過(guò)陡,,使傳輸線上不會(huì)產(chǎn)生過(guò)多的高頻分量,從而有效扼制電磁干擾,??偩€驅(qū)動(dòng)芯片和單片機(jī)的連接采用間接連接,如圖7 所示,。
圖7 總線驅(qū)動(dòng)芯片和單片機(jī)間的間接連接圖
1.2.6 數(shù)據(jù)存儲(chǔ)模塊
該模塊用來(lái)存儲(chǔ)下位機(jī)傳過(guò)來(lái)的壓力數(shù)據(jù),。系統(tǒng)對(duì)數(shù)據(jù)存儲(chǔ)器的基本要求是存儲(chǔ)容量要大,掉電數(shù)據(jù)不容易丟失,,能保存較長(zhǎng)時(shí)間,,易于擴(kuò)展容量?;谝陨弦?,選用了遵循總線串行擴(kuò)展技術(shù)的24C256。單片機(jī)和24C256 之間的數(shù)據(jù)交換完全遵照IIC 總線的規(guī)定,,即單片機(jī)作為主機(jī),,24C256 作為從機(jī),所有操作都是由SDA 和SCL 2 個(gè)腳位的狀態(tài)(共有4 個(gè)狀態(tài):開(kāi)始,、停止、數(shù)據(jù)和應(yīng)答) 來(lái)確定,。24C256 和單片機(jī)的連接圖如圖8 所示,。
圖8 24C256 和單片機(jī)連接圖
1.2.7 時(shí)鐘模塊
采用實(shí)時(shí)時(shí)鐘芯片DS12C887 為系統(tǒng)產(chǎn)生時(shí)間基準(zhǔn),它和單片機(jī)的連接如圖9 所示,??僧?dāng)作單片機(jī)的外部RAM處理,通過(guò)P0 口對(duì)DS12C887 進(jìn)行操作,通過(guò)其中斷引腳IRQ向單片機(jī)發(fā)出中斷,,使單片機(jī)讀出時(shí)間,。
圖9 DS12C887 和單片機(jī)連接圖
2 軟件設(shè)計(jì)
系統(tǒng)軟件框圖如圖10 所示。一級(jí)目錄分為上位機(jī)程序,、通信程序和下位機(jī)程序,;二級(jí)目錄分為數(shù)據(jù)采集程序模塊、模擬多路開(kāi)關(guān)控制程序模塊,、數(shù)據(jù)處理程序模塊,、下位機(jī)通信程序模塊、上位機(jī)通信程序模塊,、顯示程序模塊,、存儲(chǔ)程序模塊、時(shí)鐘程序模塊以及鍵盤(pán)控制模塊,。每個(gè)二級(jí)程序模塊又由更小的函數(shù)組成,,這樣的設(shè)計(jì)方法容易修改和測(cè)試。
3 結(jié)語(yǔ)
軟件程序設(shè)計(jì)按照自頂向下的原則,,按功能模塊化劃分采用C 語(yǔ)言編程實(shí)現(xiàn)各模塊功能,,以子程序的形式進(jìn)行封裝對(duì)外部提供規(guī)定的接口,再按照系統(tǒng)流程要求進(jìn)行模塊組合最后實(shí)現(xiàn)整個(gè)系統(tǒng),。