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

    文章

    6240

    浏览量

    184794
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16254
  • RK2206
    +关注

    关注

    0

    文章

    34

    浏览量

    1780
收藏 人收藏

    评论

    相关推荐

    瑞芯微主板/开发板Linux系统播放音频方法,触觉智能RK3562开发板演示

    本文介绍瑞芯微方案主板/开发板Linux系统播放音频的方法,触觉智能RK3562开发板演示,通用RK3566、RK3568、
    的头像 发表于 12-13 11:40 178次阅读
    瑞芯微主板/<b class='flag-5'>开发板</b>Linux系统播放音频方法,触觉智能<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>演示

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 343次阅读
    【迅为】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>区别及优势

    ARM开发板与树莓的比较

    ARM开发板和树莓都是基于ARM架构的单板计算机,它们在教育、工业控制、物联网等领域有着广泛的应用。 硬件配置 ARM开发板和树莓的硬件配置各有特点,具体取决于不同的型号和制造商。
    的头像 发表于 11-05 11:11 403次阅读

    【「OpenHarmony开发与实践 | 基于红莓RK2206开发板」阅读体验】+初体验1

    爱好者没有bug,「OpenHarmony开发与实践 | 基于红莓RK2206开发板」大卖吧!哦对了 你们的开发板是怎么准备的呢?【小
    发表于 09-18 18:30

    【「OpenHarmony开发与实践 | 基于红莓RK2206开发板」阅读体验】+初体验2连发发

    啥也不说先上图 对于《OpenHarmony开发与实践 | 基于红莓RK2206开发板》这本书的热爱,简直就像夏日里的一股清泉,让人忍不住想要一探究竟! 这本书的排布,简直就是一场视觉盛宴,章节
    发表于 09-18 18:01

    树莓和arm开发板的区别

    树莓(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓(Raspberry Pi) 树莓是由英国树莓
    的头像 发表于 08-30 15:36 980次阅读

    linux开发板与树莓的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓:树莓
    的头像 发表于 08-30 15:34 936次阅读

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 591次阅读
    <b class='flag-5'>RK</b>3588!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>

    HZ-CORE-RK3576开发板

    HZ-CORE-RK3576开发板
    的头像 发表于 08-29 13:58 342次阅读
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>开发板</b>

    新一代低价开发板芯片RK3562来啦! — 触觉智能RK3562开发板

    最近我收到了个一套开发板,有核心开发板,还有个7英寸触摸屏幕。这些东西,都是一家叫做触觉智能的公司做的基于瑞芯微RK3562的产品。RK
    的头像 发表于 08-15 17:42 1293次阅读
    新一代低价<b class='flag-5'>开发板</b>芯片<b class='flag-5'>RK</b>3562来啦! — 触觉智能<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>

    基于OpenHarmony轻量级操作系统实现RK2206 WiFi-AP模式通信开发案例

    实验内容本示例将演示如何在小-RK2206开发板上使用WiFi-AP模式(即将RK2206作为WiFi路由器),实现与PC端进行TCP通
    的头像 发表于 08-08 08:23 415次阅读
    基于OpenHarmony轻量级操作系统实现<b class='flag-5'>RK2206</b> WiFi-AP模式通信<b class='flag-5'>开发</b>案例

    基于OpenHarmony轻量级操作系统实现RK2206 WiFi-AP模式通信开发案例

    实验内容 本示例将演示如何在小-RK2206开发板上使用WiFi-AP模式(即将RK2206作为WiFi路由器),实现与PC端进行TCP
    发表于 08-07 15:50

    基于Openharmony轻量级操作系统的分布式数据管理开发案例

    实验内容本例程演示如何在小-RK2206开发板上使用OpenHarmony轻量级操作系统进行KvStore(即分布式数据管理)数据读写。例程:(1)创建两个线程,一个负责写入KvS
    的头像 发表于 08-07 08:23 952次阅读
    基于Openharmony轻量级操作系统的分布式数据管理<b class='flag-5'>开发</b>案例

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 706次阅读
    <b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>支持AMP双系统

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 860次阅读
    迅为<b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>驱动<b class='flag-5'>开发</b>指南-输入子系统