摘 要:針對熱風閥冷卻水系統(tǒng)監(jiān)測介紹了一個基于DSP的溫度和壓力采集及報警的實時、高速系統(tǒng)軟件設(shè)計。該系統(tǒng)采用TMS320F2812芯片,在硬件設(shè)計的基礎(chǔ)上,借助專業(yè)的軟件開發(fā)系統(tǒng)完成了軟件設(shè)計。實驗表明,DSP處理溫度和壓力數(shù)據(jù)能力強,實時性好。
關(guān)鍵詞:DSP;熱風閥;冷卻系統(tǒng);監(jiān)測引言
目前單片機廣泛應(yīng)用于醫(yī)療器械、測控儀器及智能化領(lǐng)域,單片機體積小、功耗低、擴展靈活,可以進行溫度、壓力、頻率、濕度等參數(shù)監(jiān)測。但單片機硬件資源有限,各類端口集成較少,運算速度慢,在實時性強和數(shù)據(jù)運算量大的控制系統(tǒng)過程中,系統(tǒng)很難達到現(xiàn)場實時性要求,穩(wěn)定性也不夠。隨著現(xiàn)代科技的發(fā)展,DSP芯片集成度高,運算能力強,價格大幅度下降,在一些信號運算領(lǐng)域和實時性控制領(lǐng)域發(fā)揮了重要作用。目前DSP芯片的主流供應(yīng)商有TI,ADI,Motor ola,Lucent和Zilog,其中TI公司的DSP芯片,硬件溫度、指令豐富、外設(shè)功能模塊高度集成和大容量存儲器等特點,被測控領(lǐng)域廣泛應(yīng)用,可滿足對信號的高速實時精確處理。
文章在原硬件設(shè)計基礎(chǔ)上,借助CSS和VB開發(fā)系統(tǒng)完成熱風閥監(jiān)測系統(tǒng)軟件設(shè)計。主要是將冷卻水溫度和壓力值通過A/D轉(zhuǎn)換程序并行轉(zhuǎn)換成數(shù)字量,可以對溫度和壓力范圍做出限制,超出范圍將進行報警。除了在現(xiàn)場能夠?qū)嵭斜O(jiān)測外,在監(jiān)測室的上位機分析儀上,也實現(xiàn)對其溫度、壓力的監(jiān)測。
1 軟件設(shè)計
1.1 下位機主程序設(shè)計
主程序循環(huán)結(jié)構(gòu)中,設(shè)置響應(yīng)的二個中斷方式,用中斷方式實現(xiàn)各個任務(wù),中斷由A/D轉(zhuǎn)換器觸發(fā)。開始初始化時,將可屏蔽中斷屏蔽掉,設(shè)定芯片工作頻率,設(shè)置芯片看門狗工作方式,清除片內(nèi)數(shù)據(jù)SRAM,置為零。初始化AD,設(shè)為所需的工作方式,設(shè)置相應(yīng)I/O引腳的狀態(tài)。初始化結(jié)束后,系統(tǒng)進入無限循環(huán)等待中斷產(chǎn)生。
1.2 通信程序流程設(shè)計
實現(xiàn)DSP芯片與上位機的通信,在上位機通過數(shù)據(jù)線對下位機的地址和相應(yīng)數(shù)據(jù)進行讀寫控制。程序流程圖如圖1所示。
1.3 A/D轉(zhuǎn)換程序流程設(shè)計
利用F2812芯片內(nèi)集成有12位A/D轉(zhuǎn)換器,能夠快速地將溫度和壓力數(shù)據(jù)進行轉(zhuǎn)換。程序開始,對系統(tǒng)和A/D轉(zhuǎn)換器進行初始化,賦A/D中斷地址。結(jié)束后,對A/D轉(zhuǎn)換器狀態(tài)進行判斷。當A/D轉(zhuǎn)換器占用時,主程序進入死循環(huán),程序處于等待狀態(tài);當A/D轉(zhuǎn)換器空閑時,則啟動A/D通道進行轉(zhuǎn)換,當A/D正常轉(zhuǎn)換完畢后,進入中斷服務(wù)子程序。中斷服務(wù)程序用數(shù)組存放所有的A/D轉(zhuǎn)換結(jié)果,并再次啟動A/D通道進行轉(zhuǎn)換,如此循環(huán),從而實現(xiàn)系統(tǒng)對輸入模擬信號的實時采集,程序的流程圖如圖2所示。
1.4 上位機程序設(shè)計
上位機監(jiān)測系統(tǒng),主要是接收無線上傳的數(shù)據(jù),實時地研究每個閥的工作狀況,研究越限與否,并且對分析數(shù)據(jù)進行存儲。上位機主要有以下幾個部分的監(jiān)測功能:一個是對無線上傳的各個閥的信息進行分析,存儲;另一個是利用數(shù)據(jù)庫對用U盤存儲的數(shù)據(jù)進行還原,存儲和分析,得到熱風閥冷卻水各個參數(shù)的時間變化曲線以系統(tǒng)地分析閥的工作狀況。程序的流程圖如圖3所示。
監(jiān)測界面的串口設(shè)置程序
Private Sub Form_Load()
Dim strFileName As String
Call tabinit
gridIndex = 1
writeFlag = True
MSComm_Start_Flag = False
strFileName = App.Path & "\報警記錄.txt"
Open strFileName For Append As #1
MSComm1.CommPort = 1 '通訊串口設(shè)定
MSComm1.Settings = "9600,n,8,1" '波特率和發(fā)送字符格式設(shè)定
MSComm1.InputLen = 0 '設(shè)定返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù),一次讀取所有數(shù)據(jù)
MSComm1.InputMode = 0 '設(shè)定以取回的數(shù)為文本格式
MSComm1.InBufferSize = 1024 '設(shè)定接收緩沖區(qū)
MSComm1.InBufferCount = 0
MSComm1.OutBufferSize = 1024 ' 設(shè)定發(fā)送緩沖區(qū)
MSComm1.OutBufferCount = 0
MSComm1.RThreshold = 1 ' 每個字符到接收緩沖區(qū)都觸發(fā)接收事件
MSComm1.SThreshold = 1
MSComm1.PortOpen = True
Inputsignal = ""
End Sub
oncomm設(shè)置程序
If (MSComm_Start_Flag = True) Then
Select Case MSComm1.CommEvent ' 設(shè)置oncomm事件,讀取DSP內(nèi)存的數(shù)據(jù)
Case comEvReceive
k = MSComm1.Input
t.Text = MSComm1.Input
Case Else
End Select
End If
2 結(jié)束語
通過一些模擬數(shù)據(jù)實驗,該系統(tǒng)響應(yīng)速度較快,靈敏度高,經(jīng)過一些調(diào)整,可以適應(yīng)多種溫度和壓力的監(jiān)測。實驗表明,DSP處理溫度和壓力數(shù)據(jù)能力強,實時性好。
參考文獻
[1]Visual Basic 6.0程序設(shè)計與開發(fā)技術(shù)大全[M].人民郵電出版社,2004.
[2]萬山明.TMS320F281X DSP原理及實例[M].北京航空航天大學出版社,2007.
[3]孫傳有,孫曉斌,漢澤西.測控系統(tǒng)原理與設(shè)計[M].北京航空航天大學出版社,2004.
[4]李江全,張麗.Visual Basic串口通信與測控應(yīng)用技術(shù)實戰(zhàn)詳解[M].人民郵電出版社,2007.
作者簡介:石建軍(1977-),男,湖南新邵人,講師,本科,碩士學位,研究方向:電氣工程和自動控制。