基于OpenHarmony + 小凌派RK2206開發(fā)板制作的簡(jiǎn)易示波器,實(shí)時(shí)采集波形,實(shí)時(shí)計(jì)算并實(shí)時(shí)顯示對(duì)應(yīng)的波形。OpenHarmony實(shí)時(shí)性較高,穩(wěn)定性好,瑞芯微RK2206芯片接口豐富,OpenHarmony芯片適配穩(wěn)定性好,做出來(lái)的簡(jiǎn)易示波器效果還不錯(cuò)。本文先做第一期的技術(shù)文檔,后續(xù)將持續(xù)完善功能和技術(shù)文檔更新。
一、 項(xiàng)目簡(jiǎn)介
本文基于OpenHarmony操作系統(tǒng) + 小凌派RK2206開發(fā)板而做的簡(jiǎn)易示波器開發(fā)。
本開發(fā)以瑞芯微RK2206芯片 + OpenHarmony 3.0LTS操作系統(tǒng) + 小凌派-RK2206開發(fā)板為基礎(chǔ),以模數(shù)轉(zhuǎn)換芯片ADS1256為采集數(shù)據(jù)芯片實(shí)時(shí)采集,然后通過(guò)峰值檢測(cè)和FFT變換算法處理采集數(shù)據(jù),最后將處理完成的數(shù)據(jù)輸送到LCD液晶屏上實(shí)時(shí)顯示。
二、模塊介紹
1. ADS1256模塊
ADS1256是一款 24bit ADC轉(zhuǎn)換模塊。 ADS1256可以通過(guò)SPI進(jìn)行訪問(wèn) 的高精度的轉(zhuǎn)換器。
上圖為ADS1256芯片結(jié)構(gòu)和引腳圖,從圖可以看出ADS1256的通道資源比較豐富,可以配置成8個(gè)單端ADC通道,也可以配置成4個(gè)差分通道。ADS1256的通信接口為串行接口,同時(shí)還有4個(gè)通用的IO口,不過(guò)這四個(gè)IO口不經(jīng)常用到。
ADS1256內(nèi)部有許多寄存器需要配置,相較于ADS1232用起來(lái)要復(fù)雜的多。
下面介紹一下ADS1256的初始化。
通過(guò)SPI通信配置ADS1256的參數(shù),增益以及轉(zhuǎn)換速率。
然后選擇通道0,等待數(shù)據(jù)轉(zhuǎn)換完成后獲取他采集的AD值
2.LCD液晶屏模塊
本項(xiàng)目使用的是ST7789V, 用于單片驅(qū)動(dòng)262K色圖像TFT-LCD, 包含 720(240*3色) x 320 線輸出,可以直接以SPI協(xié)議, 或者8位/9位/16位/18位并行連接外部控制器。ST7789V顯示數(shù)據(jù)存儲(chǔ)在片內(nèi)240x320x18 bits內(nèi)存中, 顯示內(nèi)存的讀寫不需要外部時(shí)鐘驅(qū)動(dòng)。
具體接線如下圖所示:
其中,LCD液晶屏引腳功能描述,如下表5.3.1所示。
其中,LCD液晶屏與小凌派-RK2206開發(fā)板連接如下圖所示:
三、簡(jiǎn)易示波器功能的實(shí)現(xiàn)
1.峰值檢測(cè)
通過(guò)查找ad采集的數(shù)據(jù)內(nèi)的最大值和最小值,然后相減即得峰峰值。
2.頻率檢測(cè)
通過(guò)FFT變換,F(xiàn)FT變換的數(shù)據(jù)需要兩部分,實(shí)部和虛部,由于變換的是數(shù)據(jù)是AD采集的實(shí)數(shù)據(jù),所以只需將采集的值存入實(shí)部,虛部存入零即可。通過(guò)變換將時(shí)域信號(hào)轉(zhuǎn)換到頻域,然后通過(guò)取模排序,然后計(jì)算即可得到頻率。他的基本思想是把原始的 N 點(diǎn)序列,依次分解成一系列的短序列。充分利用 DFT 計(jì)算式中指數(shù)因子所具有的對(duì)稱性質(zhì)和周期性質(zhì),進(jìn)而求出這些短序列相應(yīng)的DFT 并進(jìn)行適當(dāng)組合,達(dá)到刪除重復(fù)計(jì)算,減少乘法運(yùn)算和簡(jiǎn)化結(jié)構(gòu)的目的。當(dāng)N是素?cái)?shù)時(shí),可以將DFT算轉(zhuǎn)化為求循環(huán)卷積,從而更進(jìn)一步減少乘法次數(shù),提高速度。
(1)FFT變換函數(shù)
(2)取模運(yùn)算函數(shù)
(3)然后將FFT變換的幅值進(jìn)行排序,同時(shí)也對(duì)他們的下標(biāo)進(jìn)行了排序,以便后續(xù)的計(jì)算,即除了直流信號(hào)的第一個(gè)頻率點(diǎn)即為改信號(hào)的頻率。
4)通過(guò)計(jì)算即可得到頻率,采樣點(diǎn)數(shù)將采樣頻率進(jìn)行平分,通過(guò)排序取得的幅值最大的那個(gè)點(diǎn)的下標(biāo)進(jìn)行相乘即為頻率,1.47為補(bǔ)償系數(shù),因?yàn)锳DS1256采集數(shù)據(jù)后有延時(shí),導(dǎo)致進(jìn)行FFT變換后所對(duì)應(yīng)的幅值最大點(diǎn)的下標(biāo)前移,導(dǎo)致計(jì)算頻率時(shí)候會(huì)偏小。
3.波形顯示
通過(guò)將采集的幅值進(jìn)行計(jì)算,使最后的值在屏幕大小的范圍內(nèi),進(jìn)行描點(diǎn)畫圖。
四、心得體會(huì)
通過(guò)OpenHarmony操作系統(tǒng) + 小凌派-RK2206開發(fā)板進(jìn)行項(xiàng)目開發(fā),OpenHarmony的實(shí)時(shí)性好,穩(wěn)定性高,瑞芯微RK2206芯片接口比較豐富,移植適配穩(wěn)定性較好,整體開發(fā)進(jìn)度比較順利,開發(fā)的難度都集中在數(shù)據(jù)處理算法上。通過(guò)這一次的應(yīng)用開發(fā),整體上對(duì)OpenHarmony和國(guó)產(chǎn)芯片開發(fā)還是蠻認(rèn)可的,是一次不錯(cuò)的學(xué)習(xí)體驗(yàn),特此記錄!
來(lái)源:凌智電子
-
示波器
+關(guān)注
關(guān)注
113文章
6282瀏覽量
185837 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98189 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3744瀏覽量
16575 -
RK2206
+關(guān)注
關(guān)注
0文章
34瀏覽量
1832
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論