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

    文章

    7351

    浏览量

    200918
  • 开发板
    +关注

    关注

    27

    文章

    6913

    浏览量

    125384
  • OpenHarmony
    +关注

    关注

    33

    文章

    4077

    浏览量

    23728
  • RK2206
    +关注

    关注

    0

    文章

    38

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新品|万象奥科HD-RK3572-IOT开发板

    新品|万象奥科HD-RK3572-IOT开发板HD-RK3572-IOT开发板基于万象奥科HD-RK3572-CORE核心
    的头像 发表于 10-21 10:51 •219次阅读
    新品|万象奥科HD-RK3572-IOT开发板

    迅为RK3576开发板重磅升级:SDK全面适配RK1828 AI协处理器,开启端侧大模型开发新纪元

    迅为RK3576开发板重磅升级:SDK全面适配RK1828 AI协处理器,开启端侧大模型开发新纪元
    的头像 发表于 07-21 11:06 •882次阅读
    迅为RK3576开发板重磅升级:SDK全面适配RK1828 AI协处理器,开启端侧大模型开发新纪元

    基于迅为iTOP-RK3568开发板搭建完整物联网控制平台

    基于迅为iTOP-RK3568开发板搭建完整物联网控制平台
    的头像 发表于 07-17 14:30 •869次阅读
    基于迅为iTOP-RK3568开发板搭建完整物联网控制平台

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

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

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升
    的头像 发表于 03-26 15:06 •1412次阅读
    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升

    迅为电子RK系列开发板SDK内核正式升级至6.1 LTS版本

    迅为RK3568、RK3588、RK3576、RK3562系列开发板,SDK内核从5.10版本正式升级至6.1 LTS版本。
    的头像 发表于 03-16 16:18 •1219次阅读

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

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

    【飞凌嵌入式RV1126B开发板】+两款开发板之比较

    用户二次开发。 就开发工具而言,可支持ubuntu与docker、支持在线交叉编译环境及纯Python开发方式。 就开发板的外观及功能来看,分别如图1和图2
    发表于 03-05 23:32

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

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

    ElfBoard技术贴|如何在ELF - RK3506开发板上构建AI编程环境

    特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。RK-3506开发板开箱ELF-RK3506开发板的核心板与底板通过邮票孔方式
    的头像 发表于 01-23 11:12 •8397次阅读
    ElfBoard技术贴|如何在ELF - RK3506开发板上构建AI编程环境

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

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

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

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

    触觉智能RK3506星闪开发板测评报告(下)

    本文基于触觉智能RK3506开发板,上集主要从性能、功耗进行测评,本集将从开发板的外设设计、EMC等可靠性性能进行测评。
    的头像 发表于 12-11 17:00 •2178次阅读
    触觉智能RK3506星闪开发板测评报告(下)

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

    迅为RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 •8147次阅读
    迅为RK3588开发板Android系统烧写及注意事项

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 •2565次阅读
    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解