当前位置:首页 > 单片机 > 单片机
[导读] 1 引言近几年来,随着嵌入式系统技术、网络通讯技术以及家电产业的迅猛发展,信息技术正逐渐渗透到人们的生活当中,智能家居设计也渐渐进入视野。然而,现阶段的智能家居设计,多采用有线设计,存在着系

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位过采样多位&epSILon;-Δ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)网络初始化过程:节点初始化后, 扫描

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着现代家庭生活方式不断升级,厨房已不再只是功能空间,而逐渐成为融合审美表达、健康管理与智能体验的重要场域。消费者在关注空间整体性的同时,也对食材储存的安全性、洁净度以及使用便利性提出了更高要求。基于对中国家庭真实使用场...

关键字: 冰箱 嵌入式

在嵌入式系统、工业物联网等各类电子设备中,UART与网口是两种应用广泛的通信接口,前者作为经典的串行通信接口,承担着简单设备互联、调试日志传输等基础任务,后者则专注于高速、远距离的数据交互,是设备接入网络、实现大数据量传...

关键字: 嵌入式 通信接口 网口通讯

在软件开发领域,设计模式被誉为“解决特定问题的最佳实践”,但在嵌入式开发中,它却常常处于“边缘地带”。许多嵌入式工程师职业生涯中可能从未刻意使用过设计模式,甚至认为这些“软件工程理论”与单片机、传感器、实时系统等硬件紧密...

关键字: 嵌入式 设计模式

在居住结构持续演进与消费需求不断升级的背景下,中国家庭厨房正经历从“功能集合”向“系统空间”的深层转变。厨房不再只是烹饪的场所,而逐渐成为融合效率、健康、美学与家庭互动的重要生活空间。基于对这一趋势的长期洞察,西门子家电...

关键字: 嵌入式 蒸玲珑

在物联网设备、工业控制系统和智能家居等嵌入式场景中,轻量级WEB服务器扮演着核心角色。它们不仅需要满足资源受限环境下的性能需求,还需兼顾安全性、可扩展性和开发效率。本文从资源占用、功能特性、适用场景三个维度,对比分析六大...

关键字: 嵌入式 WEB服务器

在嵌入式软件开发工具领域,一场悄然的变革正在发生。随着全球软件行业向订阅制转型,嵌入式软件开发工具的授权模式也迎来了重要调整。市场上的嵌入式软件开发工具基本可以分为三类:商用开发工具,开源开发工具和厂商私有开发工具,其中...

关键字: 嵌入式 MCU RISC-V

在资源受限的嵌入式系统中,传统调试工具(如JTAG)往往成本高昂且占用引脚资源。本文介绍一种基于串口的低成本调试方案,通过自定义协议实现内存数据的实时监控,硬件成本可降低80%以上,特别适用于8/16位MCU开发场景。

关键字: 嵌入式 串口 内存数据

随着国家家电以旧换新补贴政策的持续推进,绿色节能、品质升级正成为越来越多家庭的新年焕新关键词。面对消费者在居住空间、生活效率与健康体验上的多元需求,西门子家电围绕新春焕新节点,正式开启“开门红”焕新季,通过国家补贴与企业...

关键字: 嵌入式 咖啡机 嵌饮机

设计人员通过瑞萨远程板场可在新MCU发布首日免费开始编程和编码

关键字: MCU 嵌入式 电路板
关闭