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