摘 要:針對熱風(fēng)閥冷卻水系統(tǒng)監(jiān)測介紹了一個基于DSP的溫度和壓力采集及報警的實(shí)時、高速系統(tǒng)軟件設(shè)計。該系統(tǒng)采用TMS320F2812芯片,在硬件設(shè)計的基礎(chǔ)上,借助專業(yè)的軟件開發(fā)系統(tǒng)完成了軟件設(shè)計。實(shí)驗(yàn)表明,DSP處理溫度和壓力數(shù)據(jù)能力強(qiáng),實(shí)時性好。
關(guān)鍵詞:DSP;熱風(fēng)閥;冷卻系統(tǒng);監(jiān)測引言
目前單片機(jī)廣泛應(yīng)用于醫(yī)療器械、測控儀器及智能化領(lǐng)域,單片機(jī)體積小、功耗低、擴(kuò)展靈活,可以進(jìn)行溫度、壓力、頻率、濕度等參數(shù)監(jiān)測。但單片機(jī)硬件資源有限,各類端口集成較少,運(yùn)算速度慢,在實(shí)時性強(qiáng)和數(shù)據(jù)運(yùn)算量大的控制系統(tǒng)過程中,系統(tǒng)很難達(dá)到現(xiàn)場實(shí)時性要求,穩(wěn)定性也不夠。隨著現(xiàn)代科技的發(fā)展,DSP芯片集成度高,運(yùn)算能力強(qiáng),價格大幅度下降,在一些信號運(yùn)算領(lǐng)域和實(shí)時性控制領(lǐng)域發(fā)揮了重要作用。目前DSP芯片的主流供應(yīng)商有TI,ADI,Motor ola,Lucent和Zilog,其中TI公司的DSP芯片,硬件溫度、指令豐富、外設(shè)功能模塊高度集成和大容量存儲器等特點(diǎn),被測控領(lǐng)域廣泛應(yīng)用,可滿足對信號的高速實(shí)時精確處理。
文章在原硬件設(shè)計基礎(chǔ)上,借助CSS和VB開發(fā)系統(tǒng)完成熱風(fēng)閥監(jiān)測系統(tǒng)軟件設(shè)計。主要是將冷卻水溫度和壓力值通過A/D轉(zhuǎn)換程序并行轉(zhuǎn)換成數(shù)字量,可以對溫度和壓力范圍做出限制,超出范圍將進(jìn)行報警。除了在現(xiàn)場能夠?qū)嵭斜O(jiān)測外,在監(jiān)測室的上位機(jī)分析儀上,也實(shí)現(xiàn)對其溫度、壓力的監(jiān)測。
1 軟件設(shè)計
1.1 下位機(jī)主程序設(shè)計
主程序循環(huán)結(jié)構(gòu)中,設(shè)置響應(yīng)的二個中斷方式,用中斷方式實(shí)現(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)進(jìn)入無限循環(huán)等待中斷產(chǎn)生。
1.2 通信程序流程設(shè)計
實(shí)現(xiàn)DSP芯片與上位機(jī)的通信,在上位機(jī)通過數(shù)據(jù)線對下位機(jī)的地址和相應(yīng)數(shù)據(jù)進(jìn)行讀寫控制。程序流程圖如圖1所示。
1.3 A/D轉(zhuǎn)換程序流程設(shè)計
利用F2812芯片內(nèi)集成有12位A/D轉(zhuǎn)換器,能夠快速地將溫度和壓力數(shù)據(jù)進(jìn)行轉(zhuǎn)換。程序開始,對系統(tǒng)和A/D轉(zhuǎn)換器進(jìn)行初始化,賦A/D中斷地址。結(jié)束后,對A/D轉(zhuǎn)換器狀態(tài)進(jìn)行判斷。當(dāng)A/D轉(zhuǎn)換器占用時,主程序進(jìn)入死循環(huán),程序處于等待狀態(tài);當(dāng)A/D轉(zhuǎn)換器空閑時,則啟動A/D通道進(jìn)行轉(zhuǎn)換,當(dāng)A/D正常轉(zhuǎn)換完畢后,進(jìn)入中斷服務(wù)子程序。中斷服務(wù)程序用數(shù)組存放所有的A/D轉(zhuǎn)換結(jié)果,并再次啟動A/D通道進(jìn)行轉(zhuǎn)換,如此循環(huán),從而實(shí)現(xiàn)系統(tǒng)對輸入模擬信號的實(shí)時采集,程序的流程圖如圖2所示。
1.4 上位機(jī)程序設(shè)計
上位機(jī)監(jiān)測系統(tǒng),主要是接收無線上傳的數(shù)據(jù),實(shí)時地研究每個閥的工作狀況,研究越限與否,并且對分析數(shù)據(jù)進(jìn)行存儲。上位機(jī)主要有以下幾個部分的監(jiān)測功能:一個是對無線上傳的各個閥的信息進(jìn)行分析,存儲;另一個是利用數(shù)據(jù)庫對用U盤存儲的數(shù)據(jù)進(jìn)行還原,存儲和分析,得到熱風(fēng)閥冷卻水各個參數(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ù)實(shí)驗(yàn),該系統(tǒng)響應(yīng)速度較快,靈敏度高,經(jīng)過一些調(diào)整,可以適應(yīng)多種溫度和壓力的監(jiān)測。實(shí)驗(yàn)表明,DSP處理溫度和壓力數(shù)據(jù)能力強(qiáng),實(shí)時性好。
參考文獻(xiàn)
[1]Visual Basic 6.0程序設(shè)計與開發(fā)技術(shù)大全[M].人民郵電出版社,2004.
[2]萬山明.TMS320F281X DSP原理及實(shí)例[M].北京航空航天大學(xué)出版社,2007.
[3]孫傳有,孫曉斌,漢澤西.測控系統(tǒng)原理與設(shè)計[M].北京航空航天大學(xué)出版社,2004.
[4]李江全,張麗.Visual Basic串口通信與測控應(yīng)用技術(shù)實(shí)戰(zhàn)詳解[M].人民郵電出版社,2007.
作者簡介:石建軍(1977-),男,湖南新邵人,講師,本科,碩士學(xué)位,研究方向:電氣工程和自動控制。