新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的便攜數(shù)字存儲(chǔ)示波器

基于單片機(jī)的便攜數(shù)字存儲(chǔ)示波器

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

  2. 2 過壓保護(hù)電路

  在A/ D 的輸入通路前并聯(lián)了兩個(gè)鉗位穩(wěn)壓二極管, 保證在輸入交流信號(hào)過壓時(shí)鉗位在安全范圍內(nèi), 此時(shí)程序判斷到A/ D 的輸出大于量程, 也會(huì)自動(dòng)切換衰減倍數(shù), 轉(zhuǎn)到更高檔位, 起到保護(hù)A/ D 和單片機(jī)芯片的作用。

  2. 3 單片機(jī)與液晶模塊接口電路

  單片機(jī)使用C8051F020, 它是一種高集成度的混合信號(hào)片上系統(tǒng), 有按8 位端口組織的64 個(gè)數(shù)字I/ O 引腳, 所有引腳都耐5 V 電壓, 都可以被配置為漏極開路或推挽輸出方式和弱上拉。液晶模塊采用TFT 液晶,TFT( Thin Film T ransistor) 為薄膜晶體管有源矩陣液晶顯示器件。每個(gè)液晶像素點(diǎn)都是由集成在像素點(diǎn)后面的薄膜晶體管來驅(qū)動(dòng), 從而可以做到高速度、高亮度、高對(duì)比度顯示屏幕信息。它以行掃描信號(hào)和列尋址信號(hào)控制作用于被寫入像素電極上的薄膜晶體管有源電路, 使有源電路產(chǎn)生足夠大的通斷比, 從而間接控制像素間呈TN 型的液晶分子排列, 達(dá)到顯示目的。

  液晶模塊采用ILI9320片上系統(tǒng)( SoC) 驅(qū)動(dòng)器, 支持26 萬色顯示, 分辨率為240RGB@320 像素, 圖像數(shù)據(jù)存儲(chǔ)區(qū)的大小為172, 800 字節(jié), 同時(shí)還集成了電源電路。其內(nèi)部結(jié)構(gòu)框圖如圖3 所示。

圖3 ILI9320 內(nèi)部結(jié)構(gòu)框圖

  ILI9320 與MCU 之間有4 種總線接口方法, 分別為i80 系統(tǒng)總線, 串行總線, RGB 總線和VSYNC 總線。在此采用i80 系統(tǒng)總線進(jìn)行控制, 通過讀使能( RDB) 和寫使能(WRB) 兩條控制線進(jìn)行讀寫操作, 其中數(shù)據(jù)寬度為8 位。由于LCD 模塊中的數(shù)據(jù)線為16 位, 實(shí)際中只用到了8 位, 因此要對(duì)低8 位接地。液晶模塊中,DB8~DB15為雙向數(shù)據(jù)總線, RS 為數(shù)據(jù)/ 寄存器的選擇信號(hào), 當(dāng)RS 為低電平時(shí), 表示對(duì)液晶模塊內(nèi)部的寄存器操作, 為高電平時(shí)對(duì)顯存中的數(shù)據(jù)進(jìn)行操作, CS 為片選信號(hào), RESET 為復(fù)位信號(hào)。這些信號(hào)線直接與單片機(jī)的GPIO 總線相連, 不需要設(shè)計(jì)外圍的電路。

  3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件設(shè)計(jì)主要完成對(duì)程控衰減放大電路的控制, 波形數(shù)據(jù)的處理與存儲(chǔ), 觸發(fā)設(shè)置以及LCD 模塊的波形顯示功能初始化編程, 軟件設(shè)計(jì)總體框圖如圖4所示。

  3. 1 觸發(fā)器的軟件實(shí)現(xiàn)

  觸發(fā)器是示波器的重要組成部分, 通過觸發(fā)器產(chǎn)生的控制信號(hào), 控制示波器對(duì)波形數(shù)據(jù)的存儲(chǔ)和顯示, 達(dá)到穩(wěn)定同步的目的。本系統(tǒng)設(shè)計(jì)的觸發(fā)器, 采用全數(shù)字化結(jié)構(gòu), 大大降低了系統(tǒng)硬件電路的復(fù)雜性, 并且觸發(fā)條件的調(diào)整比較方便。觸發(fā)器通過引用單片機(jī)內(nèi)部的RAM 資源定制了一個(gè)FIFO 作為采集數(shù)據(jù)的暫存區(qū),將波形數(shù)讀入該緩存區(qū), 按照預(yù)先設(shè)定的觸發(fā)門限,將緩存區(qū)中的數(shù)據(jù)讀出, 如果滿足觸發(fā)條件, 則將數(shù)據(jù)在屏幕上顯示出來。

圖4 軟件設(shè)計(jì)總體框圖

  3. 2 波形顯示的插值算法

  采樣得到的波形數(shù)據(jù)可以直接顯示, 這樣在屏幕上看到的是一些離散的亮點(diǎn), 波形的顯示不是連續(xù)的, 不利于觀察分析信號(hào), 因此需要進(jìn)行插值算法, 也就是說利用少數(shù)采樣點(diǎn)來推算出完整波形數(shù)據(jù)的處理方法。插值的方法有多種, 比如矢量式內(nèi)插、正弦內(nèi)插、抽樣函數(shù)內(nèi)插等, 結(jié)合各自的特點(diǎn), 本系統(tǒng)使用了正弦內(nèi)插技術(shù), 使得波形的顯示具有很好的連續(xù)性, 提高了視覺效果。正弦內(nèi)插是一種專門用于信號(hào)重建的方法, 一般情況下, 每個(gè)周期使用2. 5 個(gè)數(shù)據(jù)字就可以構(gòu)成一個(gè)較完整的正弦波形。它的理論基礎(chǔ)是信號(hào)重建的抽樣內(nèi)插公式, 即:

  式中: T 為采樣周期; x(mT ) 為A/ D 采樣得到的數(shù)據(jù)。式( 3) 表明, 可以通過抽樣信號(hào)恢復(fù)出原始的連續(xù)時(shí)間信號(hào)。本文中不需要恢復(fù)原始信號(hào), 只是為了增加采樣點(diǎn)數(shù)據(jù), 因此要對(duì)時(shí)間t 離散化, 一般來說, t 為0. 1T ~0. 2T, 也就是說每一個(gè)采樣周期內(nèi)要插入5 ~ 10 個(gè)波形數(shù)據(jù), 同時(shí), 求和范圍也要進(jìn)行限制, 計(jì)算點(diǎn)區(qū)間為( 0, m) , m的取值不能太大, 否則會(huì)降低運(yùn)算速度[ 9] 。使用Matlab 對(duì)插值算法進(jìn)行仿真, 仿真結(jié)果如圖5 所示, 其中圖5( a) 、圖5( b) 、圖( c) 分別為原始信號(hào)、采樣以后的離散信號(hào)以及經(jīng)插值算法處理以后的采樣信號(hào),可見, 正弦內(nèi)插算法插入的數(shù)據(jù)點(diǎn)接近原始信號(hào)的幅值。經(jīng)理論計(jì)算可知, 當(dāng)求和區(qū)間為( 0, 30) 時(shí), 引起的幅度顯示誤差小于0. 9%。



評(píng)論


技術(shù)專區(qū)

關(guān)閉