历史上的今天
今天是:2025年03月20日(星期四)
2018年03月20日 | 基于Cortex-M0 处理器的USB接口在智能手机底座音响中的应用
2018-03-20 来源:eefocus
ARM Cortex-M0 处理器是目前最小的 ARM 处理器。M0充分利用了ARM Thumb 技术、多级流水线技术、低功耗优化设计技术和最新的高密度硅闪存工艺,是目前市场上现有的最小、能耗最低、最节能的ARM处理器。该处理能耗非常低、门数量少、代码占用空间小,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。芯片制造商将M0产品针对某些特别应用而进行开发,分别有高集成32位微控制器、USB微控制器, CAN总线微控制器、带USB口和CAN总线控制器等等,广泛地应用在各个领域。
随着智能手机、移动互联网、云存储技术的高速发展,人们的生活也随之改变。从信息获取到购物、娱乐、生活,衣食住行游购娱无一不包,其中一种简单易用的底座音箱也逐渐走入人们的生活。设计一个高性价比的音箱,以M0为内核的USB微控制器作为这类电路系统主控芯片的不错选择。

底座音响的音频流程为:

以Iphone底座音响为例,音频采用数字音频方式传输可以保证音源不受外界的干扰而失真,告别传统底座音箱音质差易干扰等问题。MCU获取数字音频必须通过USB,其USB 传输的端点要求是:协议占用有3个USB端点,另外2个控制端点和2个音频端点,这样基本需要7个端点以上的USB接口才能满足这类方案的设计需要。而音频解码器是通过I2S方式来接收,这样MCU必须同时具有I2S接口,而且还需通过I2C接口来控制。
除了音频的传输,为了达到产品丰富的功能,可以根据人们的需要增加相应的功能。如液晶显示屏幕、红外遥控板、各类的功能按键等等都是人们最基本的选择,或者设计师可以展开丰富的想象力,将底座音箱设计成遥控的汽车模型,可爱的娃娃,威猛变形金刚… 这样则对MCU提出更多的要求。芯片厂商或者已经预料到在M0的应用上会面对各式各样的类型需求。那么M0为内核的MCU基本上都有准备了丰富的外设接口。如框图:

以上除了可运行至72 MHz Cortex?-M0内核, 还内建36K/68K字节的Flash存储器,以及12K/20K字节 SRAM,4K字节用于存储ISP引导代码的ROM,保证系统的流畅运行。
USB 2.0 全速设备控制器和收发器符合USB 2.0全速设备规范,支持控制/块/中断/等时传输类型。USB 设备控制器共有 8 个可配置的端点。每个端点可以配置为输入或者输出类型。所有的操作包括 控制传输、批量传输、 中断传输 和 同步传输都可以支持。端点控制模块还可以用来管理数据序列同步,端点状态,当前起始地址,当前事务状态和每个端点的数据缓存状态。恰好满足了底座音响 基本7个配置端点的需求。
I2S控制器由I2S协议与外部音频CODEC接口组成,两个8字节的FIFO分别用于读与写通道,可以处理8~32位字大小。DMA控制器处理数据在FIFO与内存之间的传输。
两组I2C控制器,I2C为双线,双向串行总线,通过简单有效的连线方式实现器件间的数据交换。I2C标准是多主机总线,包括冲突检测和仲裁以防止在两个或多个主机试图同时控制总线时发生的数据损坏。这样MCU在对音频解码器和加密芯片等外部设备作控制。SPI接口可以外接如液晶显示屏等需要SPI通讯的外部设备。集成了UART,PS/2,GPIO等接口更丰富了用户的需求。
MUC集成的时钟控制器为整个芯片提供时钟源,包括系统时钟和所有外围设备时钟。其中一个外部 4~24 MHz 高速晶振可以为USB等接口提供时钟源,一个22.1184MHz内部时钟可以应用到UART接口传输的时钟。另外还有一个内部 10 KHz 低速振荡器。因此,该MCU对于工作时钟的设定,提供了很大的灵活性。
该控制器还通过单独的时钟关或开、时钟源选择和分频器来进行功耗控制。CPU使能PWR_DOWN_EN位后,Cortex-M0 内核执行WFI指令,芯片将进入掉电模式。等唤醒中断发生,将退出掉电模式。在掉电模式下,时钟控制器关闭外部 4~24 MHz 高速晶振和内部 22.1184 MHz 高速振荡器,以降低整个系统的功耗。
根据这个MCU的资源我们可以搭建起一个的底座音响基本的系统。

首先,协议认证。协议数据通过MCU的USB输入后转到I2C传送到解码芯片解密后再由USB送回到上位机认证,通过了认证就可以进行下一步的音频传输。
USB输入的数字音频数据PCM码发送到NUC123 USB的512字节的SRAM中,通过PDMA1搬送到了系统的SRAM,再通过PDMA2把PCM码搬动到I2S的缓存中,再通过I2S传输到音频解码器进行播放。系统SRAM达到20K字节,有足够的空间做音频同步或音频数据的运算等等。由于系统集成有6通道的PDMA,极大提升了音频同步传输的效率。通过上位机指定的HID协议,用MCU的GPIO接口设计相关按键,将上位机指定命令字符发送到上位机,实现播放器控制等功能。
这样一个低功耗的高性价比的底座音响平台就搭建起来了,根据不同需要可以选择不同的音频解码器、功放、箱体和喇叭,一个简单的底座音响就设计完成了。MCU还有很多空闲的接口,可以根据不同的要求,增加相关的功能,如蓝牙通讯、液晶显示、红外遥控…这就需要消费者和设计师的想象力了。
史海拾趣
|
我是按本论坛的步骤装的软件,先是CCS33,再是升级包,28027的插件,XDS100仿真器的驱动,用评估板时连接正常!! 后来加了自己的扳子,可能是28027烧了,一连接到CCS33,软件界面就闪。 后来加到评估板也不能连接!! 我就按步骤重装所有软件, ...… 查看全部问答> |
|
Hi all, 我这里有自己开发的WINCE平台的USB加密狗驱动,支持飞天诚信的ROCKEY2,有没人感兴趣评测一下?驱动和SDK都是免费提供的,自本贴发布之日起,30天内若有人破解其加密保护作用,我可奉上1000分。… 查看全部问答> |
|
收集一些群,给大家玩玩。我一般晚上回去群聊。 花江群 39063007——主要是wince的,单片机啥都有。 珠海电子工程师群 92580412 ——里面有一些骨灰级工程师,偏向硬件。 桂电科协群32986294——里面有部分是学生,但是也蛮多深圳,广州的工程师 ...… 查看全部问答> |
|
卡插到笔记本后,能检测到硬件,显示信息:OEM PRISM2_IEEE_802.11_PC-CARD,可偶怎么也找不到驱动,也不知道其他更多的信息。郁闷!!! … 查看全部问答> |
|
从十月份买了辆山地车,开始跟大家一起出去玩.之前有过想法想做个温度,湿度和高度计一体的东西.本来想着赶不上了.没想到找到的数字气压传感器BMP085,而且价格还算可以.今天收到了芯片,一时激动.决定先把东西发上来.一点一点的做. ...… 查看全部问答> |
|
TI 招聘的 系统工程师(SE)和助理嵌入式应用工程师(EP FAA) 有什么区别,侧重点... TI 招聘的 系统工程师(SE)和助理嵌入式应用工程师(EP FAA) 有什么区别,侧重点是? 请知道的帮忙回答一下, 谢谢啊… 查看全部问答> |
|
作者:德州仪器 (TI) 系统工程师John Rice和Picotest执行总监Steve Sandler 在理论上,电源抑制比(PSRR)测量相对简单。变频信号对电源输入进行调制,然后在输出端测量该信号的衰减情况。但是,这种测量对装置噪声高度敏感,包括来自探测环路区域 ...… 查看全部问答> |




