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

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

3天内不再提示

微处理器焊接到PIC32-PINGUINO-OTG开发板,检测频率在16x16x5 LED上

5CTi_cirmall 来源:陈年丽 2019-07-30 14:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

首先,微处理器编程为80MHz Olimex PIC32,焊接到PIC32-PINGUINO-OTG开发板。(对于那些曾经使用Arduino板进行修改的人:它是相同的,只有更快的芯片和更少的内置库)算法必须以固定的时间间隔对输入信号进行采样,将此信号转换为频域,并可视化检测到的频率在16x16x5 LED矩阵上。

当然,在编写任何代码之前,我们必须弄清楚如何将输入样本转换为频率分布。通过对输入信号应用离散傅里叶变换(DFT),在信号处理中始终完成这一事情。给定以恒定频率采样的信号,DFT输出一组落在信号中的幅度或频带。例如,当您的信号主要由中间C(或Do)音调组成时,DFT将为频带分配相对较高的幅度并匹配相应的262 Hz频率。

然而,人耳以对数方式感知声音,这意味着声音信号的频率加倍仅被视为线性更高的音调。为了弥补这一点,我们使用了Constant Q变换(CQT)代替DFT。简而言之,在DFT返回频带f-2f-3f-4f-等的幅度的情况下,CQT与频带f-2f-4f-8f-etc一起工作。

因此,从理论角度来看,3DSA所需的算法非常简单:以规则的时间间隔对输入信号进行采样,对16个频带应用CQT计算幅度,并使16个LED列中的每一个适当地闪烁。鉴于Pinguino开发板支持C,我们假设实现这个算法不会那么难。但是,总会出现一些挑战:

第一个障碍:如果您只有一个线程,您如何定期采样信号?一个简单的解决方案是获取样本,计算CQT和可视化,让线程休眠直到某个时间段已经过去,然后再开始新的样本 - 计算 - 可视化循环。但是,我们希望我们的采样率为14 KHz,这在80 MHz微处理器上留下了课程,而不是样本之间的6k个时钟周期来计算CQT。这证明是不够的 - 最后我们为每个计算 - 可视化周期使用了~1M个时钟周期,因此我们必须弄清楚如何在进行CQT计算和旧样本的LED可视化时采集新样本。

在仔细阅读了许多Pinguino论坛之后,解决方案以中断的形式出现:一段比其他代码具有更高优先级的代码,并由处理器以指定的时间间隔执行。由于Pinguino开发人员没有为PIC32上的中断提供C库,因此我们必须通过将某些处理器位设置为正确值来手动实现此功能。成长为Java程序员后,我几乎可以感受到代码中的硅片

另一个大障碍是PIC32芯片不存在的浮点功能。在我们的CQT实现的内部循环中执行任何浮点运算会使代码减慢一个数量级,从而以幻灯片形式转换LED可视化(现在我知道如何使用旧GPU)。为了解决这个问题,我们使用了一个临时的定点数字格式,使用了10个小数位。这是一个复杂的乘法,但完成了工作。

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

    关注

    11

    文章

    2440

    浏览量

    86132
  • 开发板
    +关注

    关注

    26

    文章

    6413

    浏览量

    120729

原文标题:完整项目 | 用1280个led和PIC32开发板制作可控光立方音乐频谱(附最详细的光立方图文教程+电路图+源代码)

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索Microchip PIC16F5X系列微控制:特性、应用与开发指南

    探索Microchip PIC16F5X系列微控制:特性、应用与开发指南 电子工程领域,微控制是众多项目的核心组件。Microchip
    的头像 发表于 04-16 16:45 95次阅读

    深入解析Microchip PIC16F8X系列微控制

    深入解析Microchip PIC16F8X系列微控制 电子工程领域,微控制是众多项目的核心组件,其性能和特性直接影响着整个系统的表现。今天,我们将深入探讨Microchip的
    的头像 发表于 04-08 09:10 563次阅读

    深度剖析Microchip PIC16F62X系列微控制:硬件设计与应用指南

    深度剖析Microchip PIC16F62X系列微控制:硬件设计与应用指南 电子工程师的工具箱中,微控制是不可或缺的核心组件。Microchip的
    的头像 发表于 04-07 17:20 478次阅读

    深入剖析PIC16C71X系列微控制:设计与应用的全方位指南

    深入剖析PIC16C71X系列微控制:设计与应用的全方位指南 电子工程师的工具箱中,微控制是不可或缺的核心组件。今天,我们聚焦于Microchip的
    的头像 发表于 04-07 16:45 460次阅读

    PIC16CE62X系列微控制:功能特性与设计指南

    。本博文将深入探讨PIC16CE62X系列微控制的特性、架构、外设功能以及开发支持等方面,为电子工程师设计过程中提供全面的参考。 文件下载: P
    的头像 发表于 04-07 16:35 167次阅读

    探索PIC16CR7X系列微控制:功能特性与应用指南

    探索PIC16CR7X系列微控制:功能特性与应用指南 电子设计领域,选择一款合适的微控制对于项目的成功至关重要。Microchip的PIC16
    的头像 发表于 04-07 15:30 152次阅读

    PIC16C5X系列8位CMOS微控制:技术解析与应用指南

    PIC16C5X系列8位CMOS微控制:技术解析与应用指南 电子设计领域,选择一款合适的微控制对于项目的成功至关重要。Microchip Technology的
    的头像 发表于 04-07 15:05 186次阅读

    深入解析Microchip PIC16C62X系列微控制:特性、应用与开发支持

    深入解析Microchip PIC16C62X系列微控制:特性、应用与开发支持 电子工程领域,微控制是各类电子设备的核心控制单元,其性
    的头像 发表于 03-31 16:10 255次阅读

    深入解析Microchip PIC16C5X系列8位CMOS微控制

    深入解析Microchip PIC16C5X系列8位CMOS微控制 引言 电子工程师的日常工作中,微控制无疑是设计中频繁使用的核心组件。Microchip的
    的头像 发表于 03-30 10:15 338次阅读

    PIC16C5X系列8位微控制:特性、应用与设计要点

    PIC16C5X系列8位微控制:特性、应用与设计要点 电子设计领域,微控制如同大脑一般,掌控着各种电子设备的运行。Microchip的PIC1
    的头像 发表于 03-29 15:20 495次阅读

    Microchip PIC16C62X系列微控制:设计与应用深度解析

    Microchip PIC16C62X系列微控制:设计与应用深度解析 电子工程师的设计世界里,一款性能卓越、功能丰富的微控制往往是项目成功的关键。今天,我们就来深入探讨Micro
    的头像 发表于 03-26 11:45 426次阅读

    PIC16C62X系列微控制:设计与应用详解

    PIC16C62X系列微控制:设计与应用详解 电子工程领域,微控制是各种电子设备的核心大脑。Microchip的PIC16C62X系列
    的头像 发表于 03-25 17:10 600次阅读

    探索PIC16(L)F1885X/7X微控制功能与应用介绍

    探索PIC16(L)F1885X/7X微控制:功能与应用的深度剖析 电子设计领域,微控制
    的头像 发表于 03-17 17:30 506次阅读

    深入解析Microchip PIC16C62X系列:8位CMOS微控制的卓越之选

    深入解析Microchip PIC16C62X系列:8位CMOS微控制的卓越之选 如今的电子设计领域,选择一款合适的微控制对于项目的成功至关重要。Microchip公司的
    的头像 发表于 02-09 17:50 1529次阅读

    探索Microchip PIC16C5X系列8位微控制的魅力

    探索Microchip PIC16C5X系列8位微控制的魅力 电子工程领域,选择一款合适的微控制对于项目的成功至关重要。Microchip的P
    的头像 发表于 02-09 16:20 658次阅读