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