在单片机上运行USB Audio实现MATLAB简单虚拟示波器

传统上有个实现简单示波器的方式是用电脑的声卡来采集信号。通常这种方法有两个毛病:一是并不知道具体的电压值;二是声卡输入级是有滤波器的,对低频信号影响尤其明显。

现在用单片机来实现一个USB声卡已经很容易了,上面两个问题都可以克服。

USB Audio 的实现

简单的方法是用mbed。

mbed基本操作不细谈,当下的开发者起码应该了解一下mbed能做什么吧。因为虽然mbed能实现的并不多,但只要能实现,基本就是秒写。

首先需要一个支持USB Device的mbed兼容的板子。最基本的包括LPC1768系、LPC11Uxx系、FRDM系和EFM32系,其他可以在这里看到列表:
https://developer.mbed.org/platforms/?connectivity=10
这里安利一下LPC11U35,这货自带USB ISP所以配合mbed下程序很方便,同时基本的外设和ADC、USB Device都是有的。

我用的是mbed LPC1768。

直接导入这个工程:
https://developer.mbed.org/users/K_O_Carnivist/code/USBAudioOscilloscope/

代码也就20行,没有理解难度。

加载mbed基本库和USB Device:

#include "mbed.h"
#include "USBAudio.h"

定义音频接口的采样率、通道数,定义缓冲大小:

#define FREQ                    48000
#define NUMBER_CHANNEL          2
#define LENGTH_AUDIO_PACKET     (FREQ / 500) * NUMBER_CHANNEL

建立一个USBAudio对象:

USBAudio audio(FREQ, NUMBER_CHANNEL, FREQ, NUMBER_CHANNEL, 0xab45, 
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值