0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于小凌派RK2206开发板所制作的简易示波器

海阔天空的专栏 来源:凌智电子 作者:凌智电子 2022-05-06 17:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

基于OpenHarmony + 小凌派RK2206开发板制作的简易示波器,实时采集波形,实时计算并实时显示对应的波形。OpenHarmony实时性较高,稳定性好,瑞芯微RK2206芯片接口丰富,OpenHarmony芯片适配稳定性好,做出来的简易示波器效果还不错。本文先做第一期的技术文档,后续将持续完善功能和技术文档更新。

一、 项目简介

本文基于OpenHarmony操作系统 + 小凌派RK2206开发板而做的简易示波器开发。

本开发以瑞芯微RK2206芯片 + OpenHarmony 3.0LTS操作系统 + 小凌派-RK2206开发板为基础,以模数转换芯片ADS1256为采集数据芯片实时采集,然后通过峰值检测和FFT变换算法处理采集数据,最后将处理完成的数据输送到LCD液晶屏上实时显示。

二、模块介绍

1. ADS1256模块

ADS1256是一款 24bit ADC转换模块。 ADS1256可以通过SPI进行访问 的高精度转换器

pYYBAGJ05DKANFcJAAGBvZ-n1mA058.png

上图为ADS1256芯片结构和引脚图,从图可以看出ADS1256的通道资源比较丰富,可以配置成8个单端ADC通道,也可以配置成4个差分通道。ADS1256的通信接口为串行接口,同时还有4个通用的IO口,不过这四个IO口不经常用到。

ADS1256内部有许多寄存器需要配置,相较于ADS1232用起来要复杂的多。

下面介绍一下ADS1256的初始化。

通过SPI通信配置ADS1256的参数,增益以及转换速率。

poYBAGJ05EyAXXL_AADK-5Zv-Es567.png

然后选择通道0,等待数据转换完成后获取他采集的AD值

pYYBAGJ05GKAQzNGAACzmQ_RpJY533.png

2.LCD液晶屏模块

本项目使用的是ST7789V, 用于单片驱动262K色图像TFT-LCD, 包含 720(240*3色) x 320 线输出,可以直接以SPI协议, 或者8位/9位/16位/18位并行连接外部控制器。ST7789V显示数据存储在片内240x320x18 bits内存中, 显示内存的读写不需要外部时钟驱动。

具体接线如下图所示:

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

poYBAGJ05HeAIdB5AAAtPb-R2jo052.png

其中,LCD液晶屏与小凌派-RK2206开发板连接如下图所示:

pYYBAGJ05I2AVx4hAAH5Vom8zgY332.png

三、简易示波器功能的实现

1.峰值检测

通过查找ad采集的数据内的最大值和最小值,然后相减即得峰峰值。

poYBAGJ05KGARU8lAABLEM5YawU725.png

2.频率检测

通过FFT变换,FFT变换的数据需要两部分,实部和虚部,由于变换的是数据是AD采集的实数据,所以只需将采集的值存入实部,虚部存入零即可。通过变换将时域信号转换到频域,然后通过取模排序,然后计算即可得到频率。他的基本思想是把原始的 N 点序列,依次分解成一系列的短序列。充分利用 DFT 计算式中指数因子所具有的对称性质和周期性质,进而求出这些短序列相应的DFT 并进行适当组合,达到删除重复计算,减少乘法运算和简化结构的目的。当N是素数时,可以将DFT算转化为求循环卷积,从而更进一步减少乘法次数,提高速度。

(1)FFT变换函数

poYBAGJ05MCAQqOcAAFJhLs1vig763.png

(2)取模运算函数

pYYBAGJ05N6ANtufAABXs_jYLnI310.png

(3)然后将FFT变换的幅值进行排序,同时也对他们的下标进行了排序,以便后续的计算,即除了直流信号的第一个频率点即为改信号的频率。

poYBAGJ05PaAAqUdAAB0ogSa3RA599.png

4)通过计算即可得到频率,采样点数将采样频率进行平分,通过排序取得的幅值最大的那个点的下标进行相乘即为频率,1.47为补偿系数,因为ADS1256采集数据后有延时,导致进行FFT变换后所对应的幅值最大点的下标前移,导致计算频率时候会偏小。

pYYBAGJ05RGACc3NAAAImUQCN2w817.png

3.波形显示

通过将采集的幅值进行计算,使最后的值在屏幕大小的范围内,进行描点画图。

poYBAGJ05SuAbi3dAAC8sVQ_xlY975.png

四、心得体会

通过OpenHarmony操作系统 + 小凌派-RK2206开发板进行项目开发,OpenHarmony的实时性好,稳定性高,瑞芯微RK2206芯片接口比较丰富,移植适配稳定性较好,整体开发进度比较顺利,开发的难度都集中在数据处理算法上。通过这一次的应用开发,整体上对OpenHarmony和国产芯片开发还是蛮认可的,是一次不错的学习体验,特此记录!

来源:凌智电子

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    7149

    浏览量

    197073
  • 开发板
    +关注

    关注

    26

    文章

    6507

    浏览量

    121358
  • OpenHarmony
    +关注

    关注

    33

    文章

    3983

    浏览量

    21458
  • RK2206
    +关注

    关注

    0

    文章

    38

    浏览量

    2601
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    技术贴|如何在【RK3588】ELF 2开发板上部署小龙虾OpenClaw

    2026全国大学生嵌入式芯片与系统设计竞赛应用赛道报名正在火热进行中,其中瑞芯微&飞嵌入式赛题重磅选用基于旗舰芯片RK3588设计的ELF2开发板以及ELF-RV1126B开发板
    的头像 发表于 04-02 09:30 1.3w次阅读
    技术贴|如何在【<b class='flag-5'>RK</b>3588】ELF 2<b class='flag-5'>开发板</b>上部署小龙虾OpenClaw

    精灵(ElfBoard)技术贴|如何在ELF-RK3506开发板上实现GPIO复用

    2026年全国大学生嵌入式芯片与系统设计竞赛报名已正式启动。本次瑞芯微&飞嵌入式赛题共设置了三个参赛平台(ELF2开发板、ELF-RV1126B开发板、ELF-RK3506
    的头像 发表于 03-16 14:55 6582次阅读
    飞<b class='flag-5'>凌</b>精灵(ElfBoard)技术贴|如何在ELF-<b class='flag-5'>RK</b>3506<b class='flag-5'>开发板</b>上实现GPIO复用

    OpenHarmony开发开源资料!-RK3568开发板:从入门到实战的全栈硬件平台

    点的利器: - RK3568 开发板,以及它的核心开源资源站——Gitee 仓库(https://gitee.com/xie-shancai/lockzhiner-
    的头像 发表于 02-05 13:56 739次阅读
    OpenHarmony<b class='flag-5'>开发</b>开源资料!<b class='flag-5'>凌</b>蒙<b class='flag-5'>派</b>-<b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>:从入门到实战的全栈硬件平台

    【超值首选!仅88元】ELF-RK3506开发板限时优惠震撼来袭

    ElfBoard特别推出了ELF-RK3506开发板,助力大家快速掌握实际应用场景下的嵌入式Linux开发技能。【性能卓越,技术领先】ELF-RK3506
    的头像 发表于 01-16 16:41 1437次阅读
    【超值首选!仅88元】ELF-<b class='flag-5'>RK</b>3506<b class='flag-5'>开发板</b>限时优惠震撼来袭

    性能跃迁,鸿蒙开发新纪元!RK3566鸿蒙开发板,开启全场景开发之旅

    【导语】还在为鸿蒙开发寻找强劲、稳定、高效的硬件平台?RK3566鸿蒙开发板震撼登场!集高性能、全接口、强生态于一身,专为鸿蒙
    的头像 发表于 12-11 17:58 2824次阅读
    性能跃迁,鸿蒙<b class='flag-5'>开发</b>新纪元!<b class='flag-5'>凌</b>羽<b class='flag-5'>派</b><b class='flag-5'>RK</b>3566鸿蒙<b class='flag-5'>开发板</b>,开启全场景<b class='flag-5'>开发</b>之旅

    迅为RK3588开发板Android系统烧写及注意事项

    迅为RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 7540次阅读
    迅为<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>Android系统烧写及注意事项

    迅为iTOP-RK3576开发板再升级全新金属外壳

    迅为iTOP-RK3576开发板再升级全新金属外壳
    的头像 发表于 10-22 15:48 1504次阅读
    迅为iTOP-<b class='flag-5'>RK</b>3576<b class='flag-5'>开发板</b>再升级全新金属外壳

    如何移植EtherCAT Igh--基于米尔RK3576开发板

    本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微RK3576开发板)的端移植EtherCATIgh方案的开发测试。摘自优秀
    的头像 发表于 09-26 08:04 1w次阅读
    如何移植EtherCAT Igh--基于米尔<b class='flag-5'>RK</b>3576<b class='flag-5'>开发板</b>

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linu
    的头像 发表于 09-11 16:26 4069次阅读
    <b class='flag-5'>RK</b>3506<b class='flag-5'>开发板</b>Linux<b class='flag-5'>开发板</b>极致性价比之选

    迅为RK3568开发板模型推理测试实战LPRNet 车牌识别

    迅为RK3568开发板模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1672次阅读
    迅为<b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>模型推理测试实战LPRNet 车牌识别

    RK3568 EVB开发板 深度休眠与快速醒的工作流程

    RK3568 EVB开发板关于深度休眠和唤醒流程的分析
    的头像 发表于 07-22 09:49 1183次阅读
    <b class='flag-5'>RK</b>3568 EVB<b class='flag-5'>开发板</b> 深度休眠与快速醒的工作流程

    RK3568开发板暗藏32位兼容开关?飞嵌入式带你一键解锁!

    RK3568是一款64位处理器,飞嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568开发板上运行32位应用。本文将详细阐述如何使用32位交叉编译器,编译出32
    的头像 发表于 07-19 08:49 4659次阅读
    <b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>暗藏32位兼容开关?飞<b class='flag-5'>凌</b>嵌入式带你一键解锁!

    迅为RK3562开发板 Ubuntu系统功能测试

    迅为RK3562开发板 Ubuntu系统功能测试
    的头像 发表于 07-10 13:46 1635次阅读
    迅为<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b> Ubuntu系统功能测试

    睿擎RK3506J开发板开箱记录、初步调试

    睿擎基于RK3506J开发RK3506J是一款三核A7+M0的入门级工业MPU,由于其价位低,性能优异,近期收到热捧,各家都出了很多RK
    的头像 发表于 06-20 20:43 2783次阅读
    睿擎<b class='flag-5'>派</b><b class='flag-5'>RK</b>3506J<b class='flag-5'>开发板</b>开箱记录、初步调试

    迅为RK3562开发板Buildroot系统功能测试

    迅为RK3562开发板Buildroot系统功能测试
    的头像 发表于 06-13 13:46 2357次阅读
    迅为<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>Buildroot系统功能测试