傅淑霞
(東南大學(xué)電工電子實(shí)驗(yàn)中心,江蘇南京211189)
DDS-11A型電導(dǎo)率儀是一款測量水溶液電導(dǎo)率的高性能儀器。它廣泛應(yīng)用于污水處理、環(huán)境監(jiān)測、礦山冶金,質(zhì)量監(jiān)督等行業(yè)以及高等院校的化學(xué)實(shí)驗(yàn)室[1]。該電導(dǎo)率儀具有數(shù)碼顯示、響應(yīng)迅速、讀數(shù)清晰和使用方便等特點(diǎn)[2]。然而,在某些情況下,需要長時間觀測大量的數(shù)據(jù)樣本,并將這些樣本傳送到PC機(jī)上進(jìn)行分析處理。由于DDS-11A缺乏與PC機(jī)通信的接口,這一個過程往往耗時費(fèi)力。為此,本文設(shè)計了一套基于MSP430單片機(jī)的高性能電導(dǎo)率儀與PC機(jī)的通信接口電路,實(shí)現(xiàn)了DDS-11A電導(dǎo)率儀采集數(shù)據(jù),并傳輸?shù)絇C機(jī)上進(jìn)行高效的自動化處理。
系統(tǒng)的硬件部分主要由三部分組成:信號調(diào)理部分、單片機(jī)部分和串行通信部分[3]。此外,硬件電路部分還采用AMS1117-3.3來提供5V轉(zhuǎn)3.3V電壓的轉(zhuǎn)換以供單片機(jī)使用。
DSS_11A型電導(dǎo)率儀的輸出是0-20mA的直流量,而單片機(jī) A/D 采樣的范圍為0~2.5V[4]。為了盡可能利用A/D的精度,需要將微弱的直流信號進(jìn)行增益為40dB的放大。本系統(tǒng)選用美國德州儀器公司TI的精密低失調(diào)運(yùn)算放大器OPA735來完成。該運(yùn)算放大器具有失調(diào)電壓低,溫漂小和功耗低等優(yōu)點(diǎn),非常適用于單電源供電的弱信號放大系統(tǒng)和電子測量系統(tǒng)等。該部分的原理圖如圖1所示。
圖1 信號調(diào)理部分原理圖
我們采用TI公司的高性能單片機(jī)MSP430F2619具有RISC指令架構(gòu),運(yùn)算速度快,功耗低,內(nèi)部集成12bit高精度A/D轉(zhuǎn)換器和UART協(xié)議的串行通信外設(shè),可以滿足多種場合的應(yīng)用需要。
串行通信部分和PC機(jī)的接口采用USB接口。由于MSP430單片機(jī)的輸出是使用UART串行協(xié)議的輸出,因此需要使用USB轉(zhuǎn)串芯片來進(jìn)行USB協(xié)議和UART串行協(xié)議的轉(zhuǎn)換。這里采用常見的一款USB轉(zhuǎn)串芯片PL2303HX。該芯片的輸入是3.3V的UART協(xié)議的電平,輸出是USB協(xié)議的通信數(shù)據(jù)。該芯片在Windows下的設(shè)備為一個串口,開發(fā)方便。該部分的原理圖如圖2所示。
圖2 串行通信部分原理圖
系統(tǒng)的軟件設(shè)計包括上位機(jī)和下位機(jī)兩部分。
上位機(jī)采用Visual Studio 2008開發(fā)的MFC程序,主要功能是接收采集的數(shù)據(jù),并將接收到的數(shù)據(jù)和接收時間存入到數(shù)據(jù)庫文件里面,可在PC機(jī)的Windows環(huán)境下運(yùn)行。
下位機(jī)是采用IAR5.5開發(fā)的C程序,主要功能是使用A/D采集數(shù)據(jù),將數(shù)據(jù)發(fā)送給USB轉(zhuǎn)換芯片,這部分程序主要在MSP430單片機(jī)上運(yùn)行。
上位機(jī)與下位機(jī)必須遵循相同的通信協(xié)議才能進(jìn)行通信。因此,上位機(jī)與下位機(jī)所有的命令都需依照相同的幀格式進(jìn)行。每幀都是以0xEF開始,0xFF結(jié)束。在開始符號與結(jié)束符號之間是上位機(jī)發(fā)給下位機(jī)的命令和下位機(jī)返回給上位機(jī)的數(shù)據(jù)。由于USB轉(zhuǎn)串在PC機(jī)上面的設(shè)備是一個虛擬的串口,所以上位機(jī)通過win32的串口API函數(shù)來與下位機(jī)進(jìn)行通信。波特率設(shè)置為115200。上位機(jī)分兩個部分,串口處理部分和數(shù)據(jù)庫處理部分。對于串口處理的部分,程序使用InitPort函數(shù)來初始化串口,使用Settimer函數(shù)來初始化定時器來定時發(fā)送采集命令。對于數(shù)據(jù)庫處理的部分,程序初始化的時候打開數(shù)據(jù)庫文件,在串口接收到數(shù)據(jù)的時候?qū)?shù)據(jù)寫入數(shù)據(jù)庫,并記錄保存數(shù)據(jù)的時間,以方便處理。上位機(jī)的程序流程圖如圖3所示。
圖3 上位機(jī)處理流程圖
下位機(jī)部分主要完成A/D數(shù)據(jù)采集和串口發(fā)送。A/D部分采用AD0通道,2.5V內(nèi)部參考電壓,通過設(shè)置ADC12CTL0寄存器的ADC12SC位來啟動12bitA/D轉(zhuǎn)換器的采集。UART串口部分的設(shè)計中采用SMCLK作為UART外設(shè)的時鐘,波特率設(shè)置和上位機(jī)一樣為115200。接收采用中斷接收的方式。當(dāng)下位機(jī)收到來自上位機(jī)的中斷命令時,UART便進(jìn)行數(shù)據(jù)采集,采集到的數(shù)據(jù)分兩次送入發(fā)送緩存器UCA0TXBUF中[5]。最后填入幀的結(jié)束標(biāo)志發(fā)送。該部分流程圖如圖4和圖5所示。
圖4 下位機(jī)處理主程序流程 圖5 下位機(jī)中斷程序處理流程
本文針對DDS_11A型電導(dǎo)率儀的缺點(diǎn),利用單片機(jī)為核心設(shè)計了一款高性能,低功耗的通信接口電路,實(shí)現(xiàn)了DDS_11A電導(dǎo)率儀采集數(shù)據(jù)并傳輸?shù)絇C機(jī)上的自動化。經(jīng)過實(shí)際測試,本接口電路性能良好,提高了數(shù)據(jù)采集的效率。
[1]戴鳳梅.數(shù)字式電導(dǎo)率儀的改進(jìn)使用[J].上海:上海計量測試.2007,34(3):33.
[2]鐘娜.DDS-11A型電導(dǎo)儀的使用維修[J].沈陽:企業(yè)標(biāo)準(zhǔn)化.2004,(12):47.
[3]吳懷超,周勇.基于虛擬儀器和MSP430單片機(jī)的數(shù)據(jù)采集系統(tǒng)的開發(fā)[J].蘭州:化工自動化及儀表.2011,38(1):52-55.
[4]李斌,鄒家焱.基于MSP430單片機(jī)的錄井無線數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].沈陽:儀表技術(shù)與傳感器.2011,(6):69-71.
[5]蘇維嘉,王旭輝.基于MSP430單片機(jī)的數(shù)據(jù)采集系統(tǒng)[J].西安:現(xiàn)代電子技術(shù).2007,(23):117-119.