基于單片機的便攜數字存儲示波器
2. 2 過壓保護電路
在A/ D 的輸入通路前并聯了兩個鉗位穩壓二極管, 保證在輸入交流信號過壓時鉗位在安全范圍內, 此時程序判斷到A/ D 的輸出大于量程, 也會自動切換衰減倍數, 轉到更高檔位, 起到保護A/ D 和單片機芯片的作用。
2. 3 單片機與液晶模塊接口電路
單片機使用C8051F020, 它是一種高集成度的混合信號片上系統, 有按8 位端口組織的64 個數字I/ O 引腳, 所有引腳都耐5 V 電壓, 都可以被配置為漏極開路或推挽輸出方式和弱上拉。液晶模塊采用TFT 液晶,TFT( Thin Film T ransistor) 為薄膜晶體管有源矩陣液晶顯示器件。每個液晶像素點都是由集成在像素點后面的薄膜晶體管來驅動, 從而可以做到高速度、高亮度、高對比度顯示屏幕信息。它以行掃描信號和列尋址信號控制作用于被寫入像素電極上的薄膜晶體管有源電路, 使有源電路產生足夠大的通斷比, 從而間接控制像素間呈TN 型的液晶分子排列, 達到顯示目的。
液晶模塊采用ILI9320片上系統( SoC) 驅動器, 支持26 萬色顯示, 分辨率為240RGB@320 像素, 圖像數據存儲區的大小為172, 800 字節, 同時還集成了電源電路。其內部結構框圖如圖3 所示。
圖3 ILI9320 內部結構框圖
ILI9320 與MCU 之間有4 種總線接口方法, 分別為i80 系統總線, 串行總線, RGB 總線和VSYNC 總線。在此采用i80 系統總線進行控制, 通過讀使能( RDB) 和寫使能(WRB) 兩條控制線進行讀寫操作, 其中數據寬度為8 位。由于LCD 模塊中的數據線為16 位, 實際中只用到了8 位, 因此要對低8 位接地。液晶模塊中,DB8~DB15為雙向數據總線, RS 為數據/ 寄存器的選擇信號, 當RS 為低電平時, 表示對液晶模塊內部的寄存器操作, 為高電平時對顯存中的數據進行操作, CS 為片選信號, RESET 為復位信號。這些信號線直接與單片機的GPIO 總線相連, 不需要設計外圍的電路。
3 系統軟件設計
系統軟件設計主要完成對程控衰減放大電路的控制, 波形數據的處理與存儲, 觸發設置以及LCD 模塊的波形顯示功能初始化編程, 軟件設計總體框圖如圖4所示。
3. 1 觸發器的軟件實現
觸發器是示波器的重要組成部分, 通過觸發器產生的控制信號, 控制示波器對波形數據的存儲和顯示, 達到穩定同步的目的。本系統設計的觸發器, 采用全數字化結構, 大大降低了系統硬件電路的復雜性, 并且觸發條件的調整比較方便。觸發器通過引用單片機內部的RAM 資源定制了一個FIFO 作為采集數據的暫存區,將波形數讀入該緩存區, 按照預先設定的觸發門限,將緩存區中的數據讀出, 如果滿足觸發條件, 則將數據在屏幕上顯示出來。
圖4 軟件設計總體框圖
3. 2 波形顯示的插值算法
采樣得到的波形數據可以直接顯示, 這樣在屏幕上看到的是一些離散的亮點, 波形的顯示不是連續的, 不利于觀察分析信號, 因此需要進行插值算法, 也就是說利用少數采樣點來推算出完整波形數據的處理方法。插值的方法有多種, 比如矢量式內插、正弦內插、抽樣函數內插等, 結合各自的特點, 本系統使用了正弦內插技術, 使得波形的顯示具有很好的連續性, 提高了視覺效果。正弦內插是一種專門用于信號重建的方法, 一般情況下, 每個周期使用2. 5 個數據字就可以構成一個較完整的正弦波形。它的理論基礎是信號重建的抽樣內插公式, 即:
式中: T 為采樣周期; x(mT ) 為A/ D 采樣得到的數據。式( 3) 表明, 可以通過抽樣信號恢復出原始的連續時間信號。本文中不需要恢復原始信號, 只是為了增加采樣點數據, 因此要對時間t 離散化, 一般來說, t 為0. 1T ~0. 2T, 也就是說每一個采樣周期內要插入5 ~ 10 個波形數據, 同時, 求和范圍也要進行限制, 計算點區間為( 0, m) , m的取值不能太大, 否則會降低運算速度[ 9] 。使用Matlab 對插值算法進行仿真, 仿真結果如圖5 所示, 其中圖5( a) 、圖5( b) 、圖( c) 分別為原始信號、采樣以后的離散信號以及經插值算法處理以后的采樣信號,可見, 正弦內插算法插入的數據點接近原始信號的幅值。經理論計算可知, 當求和區間為( 0, 30) 時, 引起的幅度顯示誤差小于0. 9%。
評論