1 引言
近几年来,随着嵌入式系统技术、网络通讯技术以及家电产业的迅猛发展,信息技术正逐渐渗透到人们的生活当中,智能家居设计也渐渐进入视野。然而,现阶段的智能家居设计,多采用有线设计,存在着系统结构复杂、不易改动等缺点。
本文设计了一种基于嵌入式usb 主机的家用无线音响系统,可以实现在不连接pc 机的情况下直接读取u盘或mp3 中的音频数据,并通过zigbee 无线网络传输给家庭内部各个位置上的分节点,实现家庭音响的无线播放mp3 的功能,将人们从繁杂的布线中解放出来。
2 系统结构
系统主要由嵌入式usb 主机和zigbee 分节点播放器组成。而usb 主机又是系统设计的关键,主要由usb接口、mcu 控制器、zigbee 主节点和电源模块等组成,系统结构如图1 所示。
系统处理流程为:本地端控制器msp430 通过ch375 按照相应的usb 协议,读取u 盘或mp3 中的音频文件,并将其传输给zigbee 主节点。zigbee主节点利用zigbee 网络将音频信号发送给位于不同位置的zigbee 分节点。分节点接收到信号后,经过处理,将数字信号传送给音频解码芯片,经解码后实现音频输出。
图1 系统结构。
3 系统硬件设计
3.1 usb 接口部分
3.1.1 ch375 介绍
ch375 是一个usb 总线的通用接口芯片,支持usb-host主机方式和usb-device/slave 设备方式。在本地端,ch375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/dsp/mcu/mpu 等控制器的系统总线上。
ch375的usb主机方式支持常用的usb全速设备,外部单片机可以通过ch375按照相应的usb协议与usb 设备通讯。ch375 还内置了处理mass-storage 海量存储设备的专用通讯协议的固件,通常情况下,外部单片机不需要编写固件程序,就可以直接以扇区为基本单位读写常用的usb存储设备(包括usb硬盘/usb闪存盘/u盘)。
3.1.2 u盘接口电路设计
由于ch375 和单片机采用并行方式通信传输速度快,编程简单,所以本设计采用并行连接方式。
图2 ch375 并行接口电路。
在ch375 芯片的复位期间,txd 引脚用于选择通讯接口。如果ch375 在复位期间检测到txd 引脚为低电平则启用并行接口。硬件连接方式如下:ch375的8 位双向数据总线d7~d0、中断输出引脚int#、读选通输入引脚rd#、写选通输入引脚wr#以及地址输入引脚a0 分别接msp430 的p3 口、p1.0、p4.4、p4.5、 p4.6 脚,由于在本系统中cpu 只有一片ch375 扩展,所以片选输入引脚cs#接地选通,接口电路如图2 所示。
3.2 主控制器与zigbee 无线网络部分
本系统采用msp430f1611 构成控制模块,采用cc2430 为核心的无线收发模块,核心芯片之间采用spi 方式通讯,msp430f1611 采用主模式,cc2430采用从模式。
msp430 系列单片机是美国ti 公司推出的超低功耗16 位混合信号处理器,具有精简指令集结构(risc)以及丰富的寻址方式;拥有高性能模拟技术及丰富的片上外围模块;大量的寄存器以及片内数据存储器可参加多种运算;在8mhz 晶振工作时,指令速度可达8mips.这些特点即保证了可编制出高效率的源程序,又为系统的单片解决方案提供了极大的方便[3]。
cc2430 的选择性和敏感性指数超过了ieee802.15.4 标准的要求,可确保短距离通信的有效性和可靠性。利用此芯片开发的无线通信设备支持数据传输率高达250kbps,可以实现多点对多点的快速组网。更重要的是,cc2430 只需极少外部元器件,性能稳定且功耗极低。
msp430 在低功耗节能方面表现突出,zigbee 的特色之一也是低功耗,选用这两种芯片,可以保证二者在功耗方面的一致性,有利于系统应用,同时也能保证工作的稳定性。
在电路设计中,利用msp430 的p3 口接收ch375 读取的u 盘数据,并通过dma 方式将数据传送给usart1,后者将数字音频信号以spi 方式传送给zigbee 主节点。
3.3 音频解码部分
在接收端,zigbee分节点接收到数字信号后,以spi方式将数据串行传输给解码芯片vs1003,此时cc2420为主模式,vs1003为从模式。
vs1003是由荷兰vlsi公司出品的一款单芯片的mp3/wma/midi音频解码和adpcm编码芯片,其拥有一个高性能低功耗的dsp处理器核vs_dsp,5k的指令ram,0.5k的数据ram,串行的控制和数据输入接口, 4个通用io口,一个uart口;同时片内带有一个可变采样率的adc、一个立体声dac以及音频耳机放大器。
vs1003通过一个串行接口来接收输入的比特流,比特流被解码后通过一个数字控制器到达一个18位过采样多位ε-δdac.通过串行总线控制解码器。
除了基本的解码,在用户ram中它还可以做其他特殊应用,例如dsp音效处理。
vs1003与单片机连接的引脚主要有7个,分别为so、si、sclk、/xcs、/xreset、dreq、/xdcs.
只有保证它们与单片机正确可靠的连接,才能对vs1003 进行有效的操作与控制[4] .cc2430 与vs1003的连接关系如图3所示。
图3 cc2430 与音频解码芯片连接电路图。
4 协议的实现
4.1 usb 协议
usb 设备就是能够通过usb 来发送和接收数据,从而实现一定功能的实体。每个usb 设备都具有表明自身能力和所需资源的描述符。在设备第一次连接到主机上之后,首先要接受主机枚举,提供描述符。在得到主机的允许之后,设备就可以分得的usb 带宽,进行数据传输了。
系统通过简单的数据线上的电平变化检测到usb设备的接入与移出,接着主机和外设就按照事先约定的顺序执行一系列的信息交换,也就是主机复位设备-》主机给设备供电-》设备通过缺省的地址0 与主机通信-》主机给设备分配地址-》主机请求设备的一系列功能和设备描述符…,因此,在程序中,通过顺序的编程和中断的调度,就可以完成主机系统的标准的usb 活动。以上是主机软件的第一部分,主要实现对外设的配置,读取外设的信息,从而判断该设备属于usb 的哪一类,并确定下一步选用哪个特定的程序加以支持。
单片机系统中,限于系统的性能和要求,只需要支持某几个特定的类就可以了。本系统是一个在usbflash 存储器中的应用,这个usb 主机需要支持的就是usb 的mass storage 类,那么程序就要实现usb的mass storage 类所规定的各种命令。主机的程序流程如图4 所示。
图4 usb 主机的软件流程。
整个主机协议的实现主要可以分为以下三点:
①单片机与接口芯片通信的实现。②主机最底层数据包发送的实现。③请求命令的实现。1,2,3,层层递进,一级比一级高级。
4.2 zigbee 协议
zigbee协议栈建立在ieee802.15.4标准之上,该标准制定了物理层(phy)和媒体接入控制层(mac)规范。zigbee联盟则定义了其上的网络层(nwk)、应用层(apl)以及安全服务规范。
物理层提供了基本的物理无线通信能力;mac层提供设备间的可靠性授权和单跳通信连接服务;zigbee协议栈的核心部分在网络层,主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能;应用层包括应用支持子层(aps)、zigbee设备对象(zdo)和应用对象。aps提供了网络层和应用层之间的接口;zdo负责所有设备的管理,如初始化设备的发现和建立安全关系等功能。
zigbee采用自组织方式组网,支持星形网、网状网和簇状网等多种拓扑结构。由于在智能家居中多采用星型拓扑结构, 因而本论文主要对星型拓扑进行组网和测试。
5 系统软件设计
5.1msp430控制读取u盘数据
当设备连接到usb总线时,固件执行usb处理程序,处理程序的流程如下:
(1)fat文件系统初始化。
本系统采用的u盘是满足fat文件格式的,了解fat文件系统是系统软件设计的基础。
fat文件系统有固定的格式,主要分为主引导扇区、引导扇区、文件目录表和数据区等几个部分。mp3文件的内容存放在数据区,但为了得到数据区的地址,首先要得到主引导区和引导扇区的内容;文件目录表中记录着文件的信息,如文件名称、类型和簇号等,可以通过得到文件目录表来判断分区中mp3格式文件的数目和每个文件的簇号,这些都为正确地定位mp3文件打基础。
(2)获得mp3文件个数,在这个程序中仅仅查询根目录下mp3格式的文件个数。
fat文件系统的文件目录表中包含分区中所存的文件信息,每个文件的文件目录表占用32个字节空间,该空间的第9、10、11位为文件的扩展名,可以把每个文件的扩展名和mp3格式文件的扩展名相比,进而得到总的mp3格式文件个数。
(3)通过文件目录表找到mp3文件所在的簇号之后就可以得到文件的物理地址,进而读取mp3文件的帧头并获得该文件的信息。mp3文件由三部分组成,首先是id3v2,然后是数据帧,最后为id3v1,数据帧的帧头包含mp3的采样率信息,将这些信息通过无线方式传送到接收端,进而对解码器和接口模块进行配置,这样就可以读取文件了。
5.2 zigbee 网络传输的软件设计
zigbee 无线通信网络由三种节点组成:协调器(zc)、路由器(zr)和终端设备(zd)。协调器是网络的中心节点,在本文中即为zigbee 主节点;路由器负责网络内信息帧的路由;终端设备连接解码器,实现音频输出。
网络组建过程主要包括以下三个过程:
(1)网络初始化过程:节点初始化后, 扫描信道检查网络是否存在;(2)主节点配置网络过程:产生协调器网络节点,开始配置网络;(3)从节点入网过程:终端设备节点申请加人协调器节点或路由节点。
网络协调器启动后,其它普通节点加入网络时,只要将自己的信道设置成与现有的协调器使用的信道相同,并提供正确的认证信息,即可请求加入网络。一个节点若成功地接收一个子节点,或者子节点成功脱离网络,都必须向协调器汇报[8]。图5 是节点加入及脱离网络握手示意图。
图5 节点及脱离网络握手示意图。
5.3 音频解码部分的软件说明
(1)mp3播放器初始化处理子函数。
初始化程序完成对vs1003的pll、mp3解码器和audio接口初始化,设定控制器的时钟和采样率,开启mp3中断等工作。
(2)mp3播放子程序。
找到mp3文件并且配置完mp3解码器和audio接口后,就可以播放mp3了。播放mp3的过程就是按照mp3解码器的请求,把接收到的mp3数据传输到解码器的输入缓冲区的过程。
6 结语
本设计借助嵌入式usb 主机和zigbee 无线通信技术,为家用音响系统的设计提供了一种灵活、方便的无线解决方案,该系统具有良好的可扩展性和实用价值。相信随着智能家居产业的发展和zigbee 无线通讯技术的不断完善,zigbee 技术将越来越好地融合在智能家居系统的设计中。
高效降压DC-DC转换器电路应用以及参考原理图4.5v-65v输出5A应用
2020年中国发明专利榜单公布:华为领先
如何提升对讲机通信距离呢?
乐视经济危机未解,乐视汽车却在加码拿地这是要玩房地产吗
更易用,更耐用,更安全 Eaxtron UL1977 DIN连接器
基于嵌入式USB主机和ZigBee技术无线音响系统设计实现
5G刚刚到来6G网络就快速布局了你还会期待6G吗
自制简易电击灭蚊器电路
阻抗匹配对波形和辐射噪声的影响
MIMO和波束成形,对5G网络为何一直都非常重要
ch32f103c8t6与stm32f103c8t6的区别
华强芯城和易能微电子达成合作
物联网时代物联网设备应该如何通信
索尼Xperia XZs国行版本推出,预计售价4999元
日本照明市场成功开发出业界最小的LED驱动器
通过Level和Step两方面剖析现代电子集成技术
OPPO Find系列终于回归,要走高端路线?
医用口罩阻燃测试仪的测试原理与试验
PCB板布局相关的注意事项
紫外LED、可见光LED、红外LED不同波段的应用简析