基于OpenHarmony + 小凌派RK2206開發(fā)板制作的簡易示波器,實時采集波形,實時計算并實時顯示對應(yīng)的波形。OpenHarmony實時性較高,穩(wěn)定性好,瑞芯微RK2206芯片接口豐富,OpenHarmony芯片適配穩(wěn)定性好,做出來的簡易示波器效果還不錯。本文先做第一期的技術(shù)文檔,后續(xù)將持續(xù)完善功能和技術(shù)文檔更新。
一、 項目簡介
本文基于OpenHarmony操作系統(tǒng) + 小凌派RK2206開發(fā)板而做的簡易示波器開發(fā)。
本開發(fā)以瑞芯微RK2206芯片 + OpenHarmony 3.0LTS操作系統(tǒng) + 小凌派-RK2206開發(fā)板為基礎(chǔ),以模數(shù)轉(zhuǎn)換芯片ADS1256為采集數(shù)據(jù)芯片實時采集,然后通過峰值檢測和FFT變換算法處理采集數(shù)據(jù),最后將處理完成的數(shù)據(jù)輸送到LCD液晶屏上實時顯示。
二、模塊介紹
1. ADS1256模塊
ADS1256是一款 24bit ADC轉(zhuǎn)換模塊。 ADS1256可以通過SPI進行訪問 的高精度的轉(zhuǎn)換器。

上圖為ADS1256芯片結(jié)構(gòu)和引腳圖,從圖可以看出ADS1256的通道資源比較豐富,可以配置成8個單端ADC通道,也可以配置成4個差分通道。ADS1256的通信接口為串行接口,同時還有4個通用的IO口,不過這四個IO口不經(jīng)常用到。
ADS1256內(nèi)部有許多寄存器需要配置,相較于ADS1232用起來要復雜的多。
下面介紹一下ADS1256的初始化。
通過SPI通信配置ADS1256的參數(shù),增益以及轉(zhuǎn)換速率。

然后選擇通道0,等待數(shù)據(jù)轉(zhuǎn)換完成后獲取他采集的AD值

2.LCD液晶屏模塊
本項目使用的是ST7789V, 用于單片驅(qū)動262K色圖像TFT-LCD, 包含 720(240*3色) x 320 線輸出,可以直接以SPI協(xié)議, 或者8位/9位/16位/18位并行連接外部控制器。ST7789V顯示數(shù)據(jù)存儲在片內(nèi)240x320x18 bits內(nèi)存中, 顯示內(nèi)存的讀寫不需要外部時鐘驅(qū)動。
具體接線如下圖所示:
其中,LCD液晶屏引腳功能描述,如下表5.3.1所示。

其中,LCD液晶屏與小凌派-RK2206開發(fā)板連接如下圖所示:

三、簡易示波器功能的實現(xiàn)
1.峰值檢測
通過查找ad采集的數(shù)據(jù)內(nèi)的最大值和最小值,然后相減即得峰峰值。

2.頻率檢測
通過FFT變換,F(xiàn)FT變換的數(shù)據(jù)需要兩部分,實部和虛部,由于變換的是數(shù)據(jù)是AD采集的實數(shù)據(jù),所以只需將采集的值存入實部,虛部存入零即可。通過變換將時域信號轉(zhuǎn)換到頻域,然后通過取模排序,然后計算即可得到頻率。他的基本思想是把原始的 N 點序列,依次分解成一系列的短序列。充分利用 DFT 計算式中指數(shù)因子所具有的對稱性質(zhì)和周期性質(zhì),進而求出這些短序列相應(yīng)的DFT 并進行適當組合,達到刪除重復計算,減少乘法運算和簡化結(jié)構(gòu)的目的。當N是素數(shù)時,可以將DFT算轉(zhuǎn)化為求循環(huán)卷積,從而更進一步減少乘法次數(shù),提高速度。
(1)FFT變換函數(shù)

(2)取模運算函數(shù)

(3)然后將FFT變換的幅值進行排序,同時也對他們的下標進行了排序,以便后續(xù)的計算,即除了直流信號的第一個頻率點即為改信號的頻率。

4)通過計算即可得到頻率,采樣點數(shù)將采樣頻率進行平分,通過排序取得的幅值最大的那個點的下標進行相乘即為頻率,1.47為補償系數(shù),因為ADS1256采集數(shù)據(jù)后有延時,導致進行FFT變換后所對應(yīng)的幅值最大點的下標前移,導致計算頻率時候會偏小。

3.波形顯示
通過將采集的幅值進行計算,使最后的值在屏幕大小的范圍內(nèi),進行描點畫圖。

四、心得體會
通過OpenHarmony操作系統(tǒng) + 小凌派-RK2206開發(fā)板進行項目開發(fā),OpenHarmony的實時性好,穩(wěn)定性高,瑞芯微RK2206芯片接口比較豐富,移植適配穩(wěn)定性較好,整體開發(fā)進度比較順利,開發(fā)的難度都集中在數(shù)據(jù)處理算法上。通過這一次的應(yīng)用開發(fā),整體上對OpenHarmony和國產(chǎn)芯片開發(fā)還是蠻認可的,是一次不錯的學習體驗,特此記錄!
來源:凌智電子
-
示波器
+關(guān)注
關(guān)注
113文章
6425瀏覽量
187447 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5350瀏覽量
100451 -
OpenHarmony
+關(guān)注
關(guān)注
26文章
3797瀏覽量
17679 -
RK2206
+關(guān)注
關(guān)注
0文章
37瀏覽量
2010
發(fā)布評論請先 登錄
相關(guān)推薦
基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)
基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制ADC外設(shè)
基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制ADC外設(shè)

基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)
基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)

RK2206高性能微控制器特性概覽
【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗1
【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗2連發(fā)發(fā)
樹莓派和arm開發(fā)板的區(qū)別
linux開發(fā)板與樹莓派的區(qū)別
基于OpenHarmony輕量級操作系統(tǒng)實現(xiàn)RK2206 WiFi-AP模式通信開發(fā)案例

基于OpenHarmony輕量級操作系統(tǒng)實現(xiàn)RK2206 WiFi-AP模式通信開發(fā)案例
基于Openharmony輕量級操作系統(tǒng)的分布式數(shù)據(jù)管理開發(fā)案例

評論