多參數(shù)室內(nèi)環(huán)境智能監(jiān)測系統(tǒng)設(shè)計
3.2 FPGA邏輯控制部分
本文引用地址:http://2s4d.com/article/262218.htm 在FPGA中設(shè)計了計數(shù)器和數(shù)據(jù)存儲器RAM以及邏輯控制模塊,以保證能夠?qū)崟r地將ADC轉(zhuǎn)換過來的數(shù)據(jù)進(jìn)行處理,FPGA邏輯控制模塊如圖8所示。
AD邏輯控制模塊用來對AD轉(zhuǎn)換器進(jìn)行采樣控制。EP1C12Q240C8在對ADC0809控制時產(chǎn)生START轉(zhuǎn)換啟動信號,ALE地址鎖存允許信號(高電平有效),在工作過程中FPGA不斷讀入轉(zhuǎn)換結(jié)束信號EOC判斷ADC0809轉(zhuǎn)換是否結(jié)束。當(dāng)EOC發(fā)出一個正脈沖時,表示A/D轉(zhuǎn)換結(jié)束,此時開啟輸出允許OE,打開ADC0809的三態(tài)緩沖鎖存器將轉(zhuǎn)換好的數(shù)據(jù)輸入FPGA中。存儲器RAM主要用來存儲采集的數(shù)據(jù),方便單片機(jī)直接調(diào)用。
3.3 串口通信
單片機(jī)將采集的數(shù)據(jù)進(jìn)行處理后,通過RS485總線接口電路傳輸至監(jiān)控平臺。RS485通信距離為幾十米到上千米,并且采用平衡發(fā)送和差分接收,具有抑制共??垢蓴_的能力,在互連時可以省掉許多信號線。被廣泛應(yīng)用于單片機(jī)與PC之間的數(shù)據(jù)傳輸。
通信協(xié)議具體的要求如下:
(1) 上位機(jī)為主機(jī),各節(jié)點采集模塊為從機(jī),上位機(jī)需要讀出采集點的數(shù)據(jù)時,先發(fā)送設(shè)置指令,滿足一定的條件后發(fā)送數(shù)據(jù)查詢指令。
(2) 主從機(jī)之間采用多點總線型主從式結(jié)構(gòu)、異步半雙工通訊方式,波特率設(shè)為9600bps。
(3) 由主機(jī)以一定的周期按照地址順序輪流向各從機(jī)發(fā)送查詢或控制指令,從機(jī)根據(jù)指令中的地址碼判斷是否輪到自己發(fā)送數(shù)據(jù),是則立即根據(jù)指令向主機(jī)返回相應(yīng)的信息,不是則不得向總線發(fā)任何數(shù)據(jù)。
(4) 正常情況下主機(jī)所有的指令只發(fā)一次,從機(jī)在接收無誤的情況下立即響應(yīng)。如果主機(jī)在限定時間內(nèi)(200ms)未收到應(yīng)答,則繼續(xù)向該從機(jī)發(fā)送,如果連續(xù)3次不正常,則判斷該從機(jī)通訊故障,終止查詢,如果連續(xù)4次未能接收到從機(jī)的回應(yīng)則判斷485出現(xiàn)故障并報警。
3.4 上位機(jī)顯示程序設(shè)計
上位機(jī)要實現(xiàn)與下位機(jī)的通信,實現(xiàn)不同節(jié)點的選擇,參數(shù)數(shù)據(jù)的上傳,數(shù)據(jù)的實時顯示,以及不同參數(shù)的趨勢圖繪制。上位機(jī)的工作流程如圖9。
3.4.1 Visual Basic6.0中的串行通信控件MSComm
MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。它提供事件驅(qū)動方式和查詢方式兩種處理通信的方式。
MSComm控件通信的流程圖如圖10所示。編寫程序時,只需要按照圖10的流程圖,即可實現(xiàn)通信功能。
評論