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

    文章

    2416

    浏览量

    85321
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113232

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AM62x开发板的常见接口问题及排查思路(第2期)

    AM62x处理器作为TI新一代高性能、低功耗处理器工业控制、人机交互、边缘计算等领域有着广泛应用。此前,小编整理过大家OK62xx-C
    的头像 发表于 11-07 08:06 4952次阅读
    AM62<b class='flag-5'>x</b><b class='flag-5'>开发板</b>的常见接口问题及排查思路(第2期)

    应对微处理器电源失稳,有它就够了—CBM809X系列

    CBM809X系列是芯佰微电子推出的高性能微处理器监控电路,专为保障数字系统电源可靠性设计,其核心功能是实时追踪供电电压状态,通电、断电及电压波动等全生命周期场景下输出稳定复位信号,确保微处
    的头像 发表于 10-29 13:10 2737次阅读
    应对<b class='flag-5'>微处理器</b>电源失稳,有它就够了—CBM809<b class='flag-5'>X</b>系列

    PIC16F17146 Curiosity Nano评估套件核心技术解析

    F17146微控制 (MCU)。它由MPLAB® X IDE提供支持,可轻松访问PIC16F17146的特性。探索如何将该器件集成到定制设计中。Curiosity Nano系列评估
    的头像 发表于 10-13 14:32 309次阅读
    <b class='flag-5'>PIC16</b>F17146 Curiosity Nano评估套件核心技术解析

    PIC18F16Q20 Curiosity Nano开发板技术解析与应用指南

    Microchip Technology PIC18F16Q20 Curiosity Nano套件提供用于评估PIC18-Q20系列微控制的硬件平台。PIC18F16Q20微控制
    的头像 发表于 10-10 10:31 424次阅读
    <b class='flag-5'>PIC18F16</b>Q20 Curiosity Nano<b class='flag-5'>开发板</b>技术解析与应用指南

    【匠芯创D133CBS KunLun Pi开发板试用体验】1、开发板开箱及介绍

    ,可兼容 RS232 1 x SDIO WIFI 5V 单电源供电(Type-C 接口) 功能框图 下图为 D133CBS KunLun Pi 开发板的功能框图,展示了主控芯片与各类外设( LCD
    发表于 09-05 13:49

    TLC5927 具有短路检测功能的 16 位恒流 LED 灌电流驱动技术手册

    TLC592x 专为具有开路负载的 LED 显示LED 照明应用而设计。 短路负载、过温检测和恒流控制。TLC592
    的头像 发表于 09-03 14:18 643次阅读
    TLC5927 具有短路<b class='flag-5'>检测</b>功能的 <b class='flag-5'>16</b> 位恒流 <b class='flag-5'>LED</b> 灌电流驱动<b class='flag-5'>器</b>技术手册

    【米尔NXP i.MX 91开发板评测】开发板系统固件烧录

    准备 准备一根USB Type C线,连接到开发板OTG开发板下载模式拨码(1-4):0100 UUU 烧录镜像工具及镜像文件 烧录 开发
    发表于 09-01 14:41

    中微爱芯32位MCU开发板AiP32RV15X介绍

    AiP32RV15X开发板是一款基于RISCV内核的32位MCU开发板,提供了板载调试、RESET、WAKEUP按键、三色LED、CAN收
    的头像 发表于 06-17 10:54 605次阅读
    中微爱芯32位MCU<b class='flag-5'>开发板</b>AiP32RV15<b class='flag-5'>X</b>介绍

    效率提升,飞凌AM62x开发板的常见接口问题及排查思路(第1期)

    AM62x处理器作为TI新一代高性能、低功耗处理器工业控制、人机交互、边缘计算等领域有着广泛应用。飞凌嵌入式基于AM62x
    的头像 发表于 06-06 14:33 1683次阅读
    效率提升,飞凌AM62<b class='flag-5'>x</b><b class='flag-5'>开发板</b>的常见接口问题及排查思路(第1期)

    技术分享 | 如何在2k0300(LoongArch架构)处理器跑通qt开发流程

    技术分享 | 如何在2k0300开发板(LoongArch架构)处理器跑通qt开发流程
    的头像 发表于 05-20 11:05 651次阅读
    技术分享 | 如何在2k0300(LoongArch架构)<b class='flag-5'>处理器</b><b class='flag-5'>上</b>跑通qt<b class='flag-5'>开发</b>流程

    【米尔-STM32MP257开发板试用体验】初次体验米尔-STM32MP257开发板

    是ST推出的搭载了双核Cortex-A35 @1.5 GHz和Cortex-M33 @400 MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板开发板
    发表于 04-30 16:21

    飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之USB_OTG

    脚是对地短接的, CPU检测到ID引脚是低电平,CPU就工作HOST模式,同时通过USB座子1脚(连接到VBUS)为设备端供电。ELF 1开发板使用TYPE C座将USB_
    发表于 02-27 09:16

    STM32MP25x开发板Bring Up培训课程(下)

    STM32MP25x开发板BringUp培训课程()STM32MP25x开发板BringUp培训课程(中)米尔基于STM32MP257核心
    的头像 发表于 02-27 08:03 1167次阅读
    STM32MP25<b class='flag-5'>x</b><b class='flag-5'>开发板</b>Bring Up培训课程(下)

    EE-215:ADSP-TS20x TigerSHARC处理器16位IIR滤波

    电子发烧友网站提供《EE-215:ADSP-TS20x TigerSHARC处理器16位IIR滤波.pdf》资料免费下载
    发表于 01-14 14:56 0次下载
    EE-215:ADSP-TS20<b class='flag-5'>x</b> TigerSHARC<b class='flag-5'>处理器</b><b class='flag-5'>上</b>的<b class='flag-5'>16</b>位IIR滤波<b class='flag-5'>器</b>

    ST×米尔STM32MP25x线下培训会

    STM32MP257D是ST推出的搭载了双核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板
    的头像 发表于 12-06 01:00 923次阅读
    ST×米尔STM32MP25<b class='flag-5'>x</b>线下培训会