李探元,任宏,王志林
(91245部隊(duì))
李探元(助理工程師),主要研究領(lǐng)域?yàn)榈凸膯纹瑱C(jī)系統(tǒng)、數(shù)字信號(hào)處理。
單片機(jī)A/D采樣數(shù)據(jù)值繪圖分析是單片機(jī)系統(tǒng)調(diào)試過程中的一項(xiàng)重要工作。采樣值通常以十六進(jìn)制形式存儲(chǔ)在片內(nèi)RAM或Flash中,而現(xiàn)有單片機(jī)軟件平臺(tái)不具備將數(shù)據(jù)立即繪圖的能力。本文提出了一種從存儲(chǔ)器導(dǎo)出數(shù)據(jù),并運(yùn)用MATLAB進(jìn)行數(shù)據(jù)進(jìn)制轉(zhuǎn)換、繪圖的方法,繪制的圖形能很好地復(fù)現(xiàn)模擬信號(hào)源信號(hào),對(duì)單片機(jī)調(diào)試分析具有一定幫助。
A/D轉(zhuǎn)換器是連接模擬信號(hào)與數(shù)字信號(hào)的橋梁,現(xiàn)有單片機(jī)芯片通常都內(nèi)置有ADC模塊,A/D采樣值通常以字節(jié)的形式存儲(chǔ)在片內(nèi)存儲(chǔ)器中。對(duì)RAM或Flash中的A/D采樣數(shù)據(jù)繪圖,調(diào)試過程中先在存儲(chǔ)結(jié)束處設(shè)置斷點(diǎn),然后把存儲(chǔ)的數(shù)據(jù)以記事本形式導(dǎo)出到PC,設(shè)計(jì)MATLAB軟件將記事本中的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制處理,最后繪圖。將繪制圖形和示波器測(cè)試模擬源圖形進(jìn)行比較,檢驗(yàn)繪制的圖形能否準(zhǔn)確地復(fù)現(xiàn)原始信號(hào)。
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。整個(gè)系統(tǒng)以MSP430單片機(jī)為核心進(jìn)行設(shè)計(jì),該方法對(duì)其他16位單片機(jī)具有通用性。系統(tǒng)由片內(nèi)A/D轉(zhuǎn)換器進(jìn)行采樣并存儲(chǔ)到 RAM區(qū),然后設(shè)置調(diào)試斷點(diǎn),借助IAR調(diào)試平臺(tái)將數(shù)據(jù)以字節(jié)形式存儲(chǔ)至PC,經(jīng)過MATLAB轉(zhuǎn)換成十進(jìn)制數(shù)據(jù),繪圖分析,并與示波器測(cè)量的模擬信號(hào)源的波形進(jìn)行比較。
圖1 系統(tǒng)結(jié)構(gòu)框圖
本系統(tǒng)采用TI公司的單片機(jī)MSP430F5438作為本系統(tǒng)的核心,其特點(diǎn)如下[1-3]:
◆精簡(jiǎn)指令集CPU內(nèi)核。
◆12位的片上SAR ADC,可編程轉(zhuǎn)換速率最高為200 kbps。
◆16 KB內(nèi)部數(shù)據(jù)RAM和256 KB Flash存儲(chǔ)器。
◆3個(gè)帶比較捕獲功能的16位計(jì)數(shù)器、SPI及4個(gè)通用串行通信接口。
◆功耗低,活動(dòng)模式下達(dá)165 μ A@8 MHz,多種節(jié)電休眠和停機(jī)方式。
本系統(tǒng)選用A/D模塊設(shè)置查詢工作方式,采樣率配置為4 ksps,轉(zhuǎn)換分辨率為12位,內(nèi)部參考電壓為2.5 V。由于工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣,采集到的信號(hào)沒經(jīng)過處理往往不能直接用,因此對(duì)采集到的A/D值進(jìn)行均值濾波處理,防止采樣值抖動(dòng)。采樣值每16個(gè)值作均值處理,存儲(chǔ)至RAM區(qū)起始地址為3000H的區(qū)域。存儲(chǔ)157個(gè)數(shù),數(shù)據(jù)存儲(chǔ)完畢后轉(zhuǎn)入其他數(shù)字信號(hào)處理流程。A/D采樣存儲(chǔ)程序流程如圖2所示。
圖2 A/D采樣存儲(chǔ)程序流程
通過IAR調(diào)試平臺(tái)運(yùn)行程序,設(shè)置斷點(diǎn),將存儲(chǔ)到RAM的數(shù)據(jù)以記事本文件存入PC,數(shù)據(jù)格式如圖3所示。數(shù)據(jù)以字格式存儲(chǔ),即兩個(gè)字節(jié)為一個(gè)A/D轉(zhuǎn)換值,低字節(jié)在前,高字節(jié)在后。
運(yùn)用MATLAB軟件對(duì)數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換并繪圖,繪制的圖形如圖4所示。直接測(cè)量模擬信號(hào)源的示波器截圖如圖5所示。
圖3 A/D采樣存儲(chǔ)數(shù)據(jù)格式
圖4 A/D采樣值格式轉(zhuǎn)換后繪制的圖形
通過比較圖4和圖5可以發(fā)現(xiàn),經(jīng)過A/D采樣數(shù)據(jù)轉(zhuǎn)換的值能正確復(fù)現(xiàn)原始模擬信號(hào)。該設(shè)計(jì)方法不但彌補(bǔ)了單片機(jī)調(diào)試平臺(tái)對(duì)存儲(chǔ)器內(nèi)數(shù)據(jù)不能直接繪圖的不足,而且能縮短單片機(jī)系統(tǒng)調(diào)試周期,為后續(xù)數(shù)字信號(hào)處理打下了基礎(chǔ)。
圖5 直接測(cè)量模擬信號(hào)源的示波器截圖
本文討論了單片機(jī)調(diào)試過程中對(duì)存儲(chǔ)在RAM或Flash的A/D采樣數(shù)據(jù)進(jìn)行繪圖處理的技術(shù),彌補(bǔ)了單片機(jī)調(diào)試平臺(tái)存儲(chǔ)區(qū)數(shù)據(jù)不能直接繪圖的不足。以MSP430單片機(jī)為例進(jìn)行了測(cè)試,測(cè)試結(jié)果表明該設(shè)計(jì)方法在工程實(shí)踐中是可行的,具有較高的實(shí)用價(jià)值。
[1]Texas Instruments Incorporated.MSP430x5xx Quick Start Guide,2008.
[2]Texas Instruments Incorporated.MSP430x5xx Family User's Guide,2009.
[3]楊艷琴.MSP430系列16位超低功耗單片機(jī)實(shí)踐與系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[4]單淑娟,呂國豐.AD9833基于超聲波回波衰減理論的超聲波濃度計(jì)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(12):53-55.
[5]吳懷超,周勇,趙麗梅.基于匯編語言的M SP430單片機(jī)與上位機(jī)間串行通訊的實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2010(6):75-76.
[6]黃勁松,田開坤.MSP430單片機(jī)的熱敏電阻溫度測(cè)量[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(4):61-63.