摘要:本系統(tǒng)以ADuC841為主芯片,通過(guò)AD采樣,將幅度為0~1V,頻率小于1KHZ的信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),存儲(chǔ)在單片機(jī)的內(nèi)存中,存儲(chǔ)深度為10k,并由ADuC的DAC模塊輸出到示波器上顯示,同時(shí)在LCD屏上顯示出穩(wěn)定的波形。該系統(tǒng)能夠?qū)崿F(xiàn)單次存儲(chǔ),連續(xù)穩(wěn)定顯示和實(shí)時(shí)存儲(chǔ),實(shí)時(shí)顯示的功能。
關(guān)鍵詞:ADuC841;ADC; DAC; LCD;動(dòng)態(tài)波形
一、 系統(tǒng)方案論證
1. A/D采樣
ADuC841片上ADC是快速(420kS/s),8通道12位,單電源供電的ADC模塊。該模塊由多路開關(guān),采樣/保持電路,片上參考電源,校準(zhǔn)電路和ADC本身等組成。由于它具有精度高,性能強(qiáng)等優(yōu)點(diǎn),故選擇由單片機(jī)上的ADC模塊直接采樣。
2. D/A轉(zhuǎn)換
ADuC841片上集成有兩個(gè)通道的12位電壓輸出DAC,每個(gè)通道的DAC均有軌到軌輸出的緩沖放大器,放大器能夠驅(qū)動(dòng)10千歐/100pF的負(fù)載,輸出范圍可以設(shè)置在0~Vref或0~AVdd。經(jīng)單片機(jī)ADC采樣后的數(shù)據(jù)存儲(chǔ)到內(nèi)存中,直接就可以用DAC轉(zhuǎn)換出來(lái),故選擇單片機(jī)上的DAC模塊直接轉(zhuǎn)換。
3. LCD液晶顯示屏
實(shí)驗(yàn)板的液晶模塊由STC單片機(jī)控制,STC與ADuC841采用IIC通信,由于STC代碼有待改進(jìn),繪圖功能不理想,本文采用ADuC841直接驅(qū)動(dòng)LCD,鍵盤則仍由STC驅(qū)動(dòng)。
二、理論分析及相關(guān)計(jì)算
1. A/D采樣
這里我們主要是對(duì)ADC的專用寄存器進(jìn)行設(shè)置,首先ADCCON1=0xBC(10111100),使ADC上電處于工作狀態(tài),并選擇內(nèi)部參考電源,為了保證ADC的正常工作,ADC的工作時(shí)鐘頻率必須等于或低于8.38MHZ,并且采樣時(shí)間不短于三個(gè)ADC時(shí)鐘周期。在這里我們選擇PLL分頻數(shù)為2,模數(shù)轉(zhuǎn)換的時(shí)鐘數(shù)為4,滿足實(shí)驗(yàn)要求;接著ADCCON2主要是選擇轉(zhuǎn)換的通道,這里我們選擇3通道。
2.D/A轉(zhuǎn)換
ADuC841的DA模塊使用起來(lái)很簡(jiǎn)單,這里我們選擇DAC1,它的輸出范圍為0V~Vref,所以DACCON=0x16。
3. LCD液晶顯示屏
液晶模塊采用的驅(qū)動(dòng)芯片是ST7920,該芯片適合字符顯示,但是在圖形應(yīng)用中有如下不足:
1) CLEAR指令只能清除DDRAM,不能清除存儲(chǔ)圖形數(shù)據(jù)的GDRAM,GDRAM只能通過(guò)逐字節(jié)寫0方式清除,故當(dāng)液晶屏顯示完一幀圖像,需要更新時(shí),刷新速度會(huì)很慢。
2) 在串行模式下,ST7920只能寫入數(shù)據(jù),不能讀出數(shù)據(jù),因此給繪圖帶來(lái)諸多不便,比如畫點(diǎn)時(shí)寫入的數(shù)據(jù)覆蓋先前的數(shù)據(jù),導(dǎo)致單行不能顯示連續(xù)的點(diǎn)。
解決方案是將GDRAM映射到單片機(jī)可讀寫的存儲(chǔ)區(qū)域,即開辟顯示緩存,可供選擇的區(qū)域有ADuC841的internal XRAM和外部RAM HM62256,考慮到讀寫速度,選擇前者。同時(shí)在LCD實(shí)時(shí)顯示時(shí),需將采樣數(shù)據(jù)作緩沖,故開辟128*2字節(jié)的緩沖區(qū),存儲(chǔ)區(qū)分配如圖(1)所示
本實(shí)驗(yàn)LCD顯示動(dòng)態(tài)波形的方式有兩種:
1) 一點(diǎn)一點(diǎn)地顯示,同時(shí)對(duì)顯存作相應(yīng)改動(dòng),滿一屏后GDRAM清零,然后再畫點(diǎn)。
2) 在顯存中預(yù)先設(shè)置一幀圖像信息,然后寫入GDRAM,顯示第二幀時(shí),重復(fù)前述步驟。
由于ST7920中GDRAM的清零只能通過(guò)逐字節(jié)寫0實(shí)現(xiàn),而每顯示一點(diǎn)又要對(duì)GDRAM做相應(yīng)操作,并且寫GDRAM的速度遠(yuǎn)小于讀寫internal XRAM的速度,因此同樣顯示一屏圖像,方式1的速度不如方式2,經(jīng)實(shí)際驗(yàn)證確實(shí)如此。
顯示方式確定后就是要提高LCD刷新一幀圖像的速度。優(yōu)化的關(guān)鍵是提高對(duì)ST7920寫數(shù)據(jù)的速度,查閱ST7920的數(shù)據(jù)手冊(cè)知串行時(shí)鐘高電平與低電平最短維持時(shí)間均為200ns,故應(yīng)讓ADuC841產(chǎn)生串行時(shí)鐘的周期盡量接近400ns,時(shí)間過(guò)長(zhǎng)將影響LCD的響應(yīng)速度,解決方案是采用較為精確的內(nèi)嵌匯編的延時(shí)函數(shù)。
三、 系統(tǒng)框圖及流程圖
1.電路框圖
2.軟件流程圖
四、系統(tǒng)測(cè)試
1.輸入信號(hào)
輸出信號(hào)
五、實(shí)驗(yàn)結(jié)論
通過(guò)測(cè)試之后,發(fā)現(xiàn)本系統(tǒng)能很好的完成單次存儲(chǔ),連續(xù)穩(wěn)定顯示和實(shí)時(shí)存儲(chǔ),實(shí)時(shí)顯示的功能,達(dá)到了設(shè)計(jì)要求。
參考文獻(xiàn):
[1]李剛,林凌.易學(xué)易用高性能SoC單片機(jī)ADuC841 [M].西安:西安交通大學(xué)出版社,2006.
[2]李建忠.單片機(jī)原理及應(yīng)用 [M].西安:西安電子科技大學(xué),2002.
[3]龔運(yùn)新.單片機(jī)C語(yǔ)言開發(fā)技術(shù)[M].北京:清華大學(xué)出版社,2006.
?。ㄗ髡邌挝唬喝A中師范大學(xué)物理學(xué)