基于虛擬儀器的濁度測(cè)試系統(tǒng)的設(shè)計(jì)
1.1.2 傳感和模擬信號(hào)處理電路
光電轉(zhuǎn)換元件采用的是TCZ 6×6型硅光電池,此種型號(hào)硅光電池的光電特性,其短路電流與入射光強(qiáng)有良好的線性關(guān)系。但是其轉(zhuǎn)換信號(hào)僅為10-7A數(shù)量級(jí),必須進(jìn)行放大處理,因此,在電路設(shè)計(jì)中采用了輸入阻抗高的運(yùn)算放大器LF353來(lái)獲取電流信號(hào),并進(jìn)行濾波放大處理。如圖2所示。
1.2 C8051F020與虛擬儀器的實(shí)現(xiàn)
串口通信雖然傳輸速度較慢,但是由于簡(jiǎn)單易行,并且現(xiàn)有的微機(jī)都具備串行通信口,因而得到了廣泛的應(yīng)用。本文在濁度測(cè)試系統(tǒng)中利用串口實(shí)現(xiàn)了對(duì)單片機(jī)的通信控制。
1.2.1 系統(tǒng)硬件配置
本文通信系統(tǒng)采用C51F020作為下位機(jī),PC機(jī)作為上位機(jī),二者通過(guò)RS 232串口接收或發(fā)送數(shù)據(jù)和指令。傳輸介質(zhì)為二芯屏蔽電纜。RS 232信號(hào)和單片機(jī)串口信號(hào)的電平轉(zhuǎn)換采用MAX232,它是具有雙驅(qū)動(dòng)器、雙接收器的通信器接口電路,不需外接電容而進(jìn)行倍壓及電壓極性轉(zhuǎn)換,只需+5 V供電,電源電流為5 mA,傳輸率為200 Kb/s。串行接口電路原理見(jiàn)圖3。
系統(tǒng)中PC機(jī)承擔(dān)主控任務(wù),負(fù)責(zé)該測(cè)控系統(tǒng)的通信參數(shù)設(shè)定、數(shù)據(jù)的采集處理及對(duì)單片機(jī)運(yùn)行的控制,程序采用LabVIEW編寫。其通信協(xié)議為:采用RS 232異步通信方式,51單片機(jī)串行口共有4種工作方式,這里采用單片機(jī)串口通信的方式1,該方式為8位異步串行通信方式,其波特率是可變的,1位起始位,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn),若晶振頻率為11.059 2 MHz,取波特率為4 800 Kb/s。下位機(jī)按接收到的指令工作,若主控機(jī)發(fā)出無(wú)效或錯(cuò)誤指令,將不作任何控制。
1.2.2 程序設(shè)計(jì)
主機(jī)通信程序:在主機(jī)通信程序設(shè)計(jì)中,采用圖形化語(yǔ)言LabVIEW作為編程語(yǔ)言。它把高級(jí)語(yǔ)言中的函數(shù)封裝為圖形功能模塊,圖標(biāo)間的連線表示各個(gè)功能模塊之間的數(shù)據(jù)傳遞。編程方式簡(jiǎn)單、直觀、便于使用。串口通信功能模塊包括串口初始化模塊、串口讀模塊以及串口寫模塊,通過(guò)這些模塊就可以實(shí)現(xiàn)對(duì)單片機(jī)的控制。
LabVIEW串口子VI是通過(guò)RS 232實(shí)現(xiàn)數(shù)據(jù)通信的。LabVIEW串口子VI共有5個(gè)串行通信節(jié)點(diǎn),分別實(shí)現(xiàn)串口初始化、串口寫、串口讀、檢測(cè)串口緩存、中斷等功能。
C8051F020單片機(jī)的程序采用匯編語(yǔ)言寫成。利用匯編語(yǔ)言直接對(duì)相關(guān)硬件進(jìn)行操作,具有開(kāi)銷小、效率高的特點(diǎn)。在編寫單片機(jī)程序時(shí)應(yīng)當(dāng)注意的是必須保證PC機(jī)與單片機(jī)串口通信時(shí)的波特率一致。如果兩者不同的話,就無(wú)法進(jìn)行數(shù)據(jù)的傳輸而導(dǎo)致通信失敗。所以,在單片機(jī)程序中初始化時(shí)應(yīng)當(dāng)根據(jù)單片機(jī)晶振和串口通信方式對(duì)寄存器進(jìn)行設(shè)置。
2 軟件開(kāi)發(fā)
該系統(tǒng)由C8051F單片機(jī)、ADC0809 A/D轉(zhuǎn)換器組成的小系統(tǒng)作為前端數(shù)據(jù)采集系統(tǒng),并通過(guò)RS 232串行總線將采集到的數(shù)據(jù)傳送到PC機(jī),用Lab-VIEW進(jìn)行數(shù)據(jù)的接受與處理。其結(jié)構(gòu)組成如圖4所示。
2.1 菜單設(shè)計(jì)
在整個(gè)程序設(shè)計(jì)中,首先完成了各子功能(子VI)的程序,將其做成單個(gè)模塊,每個(gè)單個(gè)模塊是由更小的模塊組成,每一級(jí)的模塊均刻以圖標(biāo)形式放置在程序流程圖中,這樣增加了程序的可維護(hù)性和可讀性,使流程圖更加清晰明了,同時(shí)避免了大量重復(fù)編程工作。系統(tǒng)的主界面設(shè)計(jì)中,利用LabVIEW中提供的EDITMENU菜單,先將要實(shí)現(xiàn)的功能作為菜單選項(xiàng)的內(nèi)容,以便在運(yùn)行時(shí)調(diào)用,然后在框圖中對(duì)各項(xiàng)菜單的調(diào)用通過(guò)CASE循環(huán)進(jìn)行選擇,使各項(xiàng)菜單對(duì)應(yīng)于各項(xiàng)子VI,在各子VI中vi set up的execution options中選定show front panel when called選項(xiàng),這樣在運(yùn)行中,當(dāng)選擇了菜單中的某些內(nèi)容時(shí),該子VI就被選中調(diào)用。圖5為菜單后面板程序設(shè)計(jì)流程圖。菜單中包括文件操作(讀取、存儲(chǔ)、打印)通道顯示和信號(hào)分析以及幫助,程序分別調(diào)用相應(yīng)功能的子VI程序,完成相應(yīng)操作。下面簡(jiǎn)要介紹本采集程序中采用的幾個(gè)典型模塊。
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
本設(shè)計(jì)采用VISA編寫儀器控制程序,程序在運(yùn)行時(shí)VISA就會(huì)根據(jù)實(shí)際接口類型自動(dòng)調(diào)用相應(yīng)的接口驅(qū)動(dòng)程序例程,完成通信操作。串口通信模塊包括串口初始化模塊、串口寫模塊、串口讀模塊,通過(guò)這些模塊就可以實(shí)現(xiàn)對(duì)單片機(jī)的控制。圖5為串口設(shè)置后面板程序框圖。如圖5所示,主程序運(yùn)行后,設(shè)置串口波特率為9 600,通道選著串口1,采用默認(rèn)通信協(xié)議(1位起始位、8位數(shù)據(jù)位、1位停止位),串口緩存大小設(shè)置為16 368 B。
評(píng)論