国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于小凌派RK2206開(kāi)發(fā)板所制作的簡(jiǎn)易示波器

海闊天空的專(zhuān)欄 ? 來(lái)源:凌智電子 ? 作者:凌智電子 ? 2022-05-06 17:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于OpenHarmony + 小凌派RK2206開(kāi)發(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開(kāi)發(fā)板而做的簡(jiǎn)易示波器開(kāi)發(fā)。

本開(kāi)發(fā)以瑞芯微RK2206芯片 + OpenHarmony 3.0LTS操作系統(tǒng) + 小凌派-RK2206開(kāi)發(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)換器

pYYBAGJ05DKANFcJAAGBvZ-n1mA058.png

上圖為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)換速率。

poYBAGJ05EyAXXL_AADK-5Zv-Es567.png

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

pYYBAGJ05GKAQzNGAACzmQ_RpJY533.png

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)存的讀寫(xiě)不需要外部時(shí)鐘驅(qū)動(dòng)。

具體接線如下圖所示:

其中,LCD液晶屏引腳功能描述,如下表5.3.1所示。

poYBAGJ05HeAIdB5AAAtPb-R2jo052.png

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

pYYBAGJ05I2AVx4hAAH5Vom8zgY332.png

三、簡(jiǎn)易示波器功能的實(shí)現(xiàn)

1.峰值檢測(cè)

通過(guò)查找ad采集的數(shù)據(jù)內(nèi)的最大值和最小值,然后相減即得峰峰值。

poYBAGJ05KGARU8lAABLEM5YawU725.png

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ì)稱(chēng)性質(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ù)

poYBAGJ05MCAQqOcAAFJhLs1vig763.png

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

pYYBAGJ05N6ANtufAABXs_jYLnI310.png

(3)然后將FFT變換的幅值進(jìn)行排序,同時(shí)也對(duì)他們的下標(biāo)進(jìn)行了排序,以便后續(xù)的計(jì)算,即除了直流信號(hào)的第一個(gè)頻率點(diǎn)即為改信號(hào)的頻率。

poYBAGJ05PaAAqUdAAB0ogSa3RA599.png

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ì)偏小。

pYYBAGJ05RGACc3NAAAImUQCN2w817.png

3.波形顯示

通過(guò)將采集的幅值進(jìn)行計(jì)算,使最后的值在屏幕大小的范圍內(nèi),進(jìn)行描點(diǎn)畫(huà)圖。

poYBAGJ05SuAbi3dAAC8sVQ_xlY975.png

四、心得體會(huì)

通過(guò)OpenHarmony操作系統(tǒng) + 小凌派-RK2206開(kāi)發(fā)板進(jìn)行項(xiàng)目開(kāi)發(fā),OpenHarmony的實(shí)時(shí)性好,穩(wěn)定性高,瑞芯微RK2206芯片接口比較豐富,移植適配穩(wěn)定性較好,整體開(kāi)發(fā)進(jìn)度比較順利,開(kāi)發(fā)的難度都集中在數(shù)據(jù)處理算法上。通過(guò)這一次的應(yīng)用開(kāi)發(fā),整體上對(duì)OpenHarmony和國(guó)產(chǎn)芯片開(kāi)發(fā)還是蠻認(rèn)可的,是一次不錯(cuò)的學(xué)習(xí)體驗(yàn),特此記錄!

來(lái)源:凌智電子

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 示波器
    +關(guān)注

    關(guān)注

    113

    文章

    7059

    瀏覽量

    195736
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6262

    瀏覽量

    117012
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3950

    瀏覽量

    21012
  • RK2206
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    2531
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    OpenHarmony開(kāi)發(fā)開(kāi)源資料!-RK3568開(kāi)發(fā)板:從入門(mén)到實(shí)戰(zhàn)的全棧硬件平臺(tái)

    點(diǎn)的利器: - RK3568 開(kāi)發(fā)板,以及它的核心開(kāi)源資源站——Gitee 倉(cāng)庫(kù)(https://gitee.com/xie-shancai/lockzhiner-
    的頭像 發(fā)表于 02-05 13:56 ?232次閱讀
    OpenHarmony<b class='flag-5'>開(kāi)發(fā)</b>開(kāi)源資料!<b class='flag-5'>凌</b>蒙<b class='flag-5'>派</b>-<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>:從入門(mén)到實(shí)戰(zhàn)的全棧硬件平臺(tái)

    性能躍遷,鴻蒙開(kāi)發(fā)新紀(jì)元!RK3566鴻蒙開(kāi)發(fā)板,開(kāi)啟全場(chǎng)景開(kāi)發(fā)之旅

    【導(dǎo)語(yǔ)】還在為鴻蒙開(kāi)發(fā)尋找強(qiáng)勁、穩(wěn)定、高效的硬件平臺(tái)?RK3566鴻蒙開(kāi)發(fā)板震撼登場(chǎng)!集高性能、全接口、強(qiáng)生態(tài)于一身,專(zhuān)為鴻蒙
    的頭像 發(fā)表于 12-11 17:58 ?2368次閱讀
    性能躍遷,鴻蒙<b class='flag-5'>開(kāi)發(fā)</b>新紀(jì)元!<b class='flag-5'>凌</b>羽<b class='flag-5'>派</b><b class='flag-5'>RK</b>3566鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b>,開(kāi)啟全場(chǎng)景<b class='flag-5'>開(kāi)發(fā)</b>之旅

    RK3568開(kāi)發(fā)板暗藏32位兼容開(kāi)關(guān)?飛嵌入式帶你一鍵解鎖!

    RK3568是一款64位處理器,飛嵌入式為其提供的交叉編譯器也是64位的,然而部分用戶(hù)可能需要在RK3568開(kāi)發(fā)板上運(yùn)行32位應(yīng)用。本文將詳細(xì)闡述如何使用32位交叉編譯器,編譯出32
    的頭像 發(fā)表于 07-19 08:49 ?4347次閱讀
    <b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>暗藏32位兼容開(kāi)關(guān)?飛<b class='flag-5'>凌</b>嵌入式帶你一鍵解鎖!

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

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的FLASH接口,進(jìn)行FLASH編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),實(shí)現(xiàn)
    發(fā)表于 04-22 15:02

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

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的FLASH接口,進(jìn)行FLASH編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),實(shí)現(xiàn)FL
    的頭像 發(fā)表于 04-22 14:49 ?876次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制FLASH外設(shè)

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

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的UART接口,進(jìn)行UART編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置
    發(fā)表于 04-22 14:27

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

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的UART接口,進(jìn)行UART編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置UA
    的頭像 發(fā)表于 04-22 14:22 ?1011次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制UART外設(shè)

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),通過(guò)
    發(fā)表于 04-21 11:08

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置
    的頭像 發(fā)表于 04-21 10:39 ?1068次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制GPIO中斷

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

    1、案例簡(jiǎn)介 本案例主要是如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO接口,進(jìn)行GPIO編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置
    發(fā)表于 04-11 15:45

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

    1、案例簡(jiǎn)介本案例主要是如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO接口,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置GP
    的頭像 發(fā)表于 04-11 15:36 ?1967次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

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

    1、案例簡(jiǎn)介 本案例主要講解如何在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)的ADC接口,進(jìn)行ADC編程開(kāi)發(fā)。 例程內(nèi)容為創(chuàng)建一個(gè)任務(wù),讀取按
    發(fā)表于 04-10 16:20

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

    1、案例簡(jiǎn)介本案例主要講解如何在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)的ADC接口,進(jìn)行ADC編程開(kāi)發(fā)。例程內(nèi)容為創(chuàng)建一個(gè)任務(wù),讀取按鍵的
    的頭像 發(fā)表于 04-10 16:00 ?857次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制ADC外設(shè)

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

    1、案例簡(jiǎn)介 本案例是在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)PWM接口,進(jìn)行PWM編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),每隔5秒將PWM0~1
    發(fā)表于 04-09 09:37

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

    1、案例簡(jiǎn)介本案例是在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)PWM接口,進(jìn)行PWM編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),每隔5秒將PWM0~10依
    的頭像 發(fā)表于 04-09 08:59 ?2523次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口控制PWM外設(shè)