基于ARM Cortex-M3的嵌入式网络播放系统
2系统硬件模块设计
2.1 以太网接口
ENC28J60是独立的以太网控制器,采用业界标准的SPI串行接口,具有10 Mb/s SPI接口,符合IEEE802.3协议,内置10 Mb/s以太网物理层器件(PHY)及介质访问控制器(MAC)。另外,它还具有可编程8 KB双端口SRAM缓冲器,此缓冲存储器具有灵活可靠的数据管理机制,以高效方式进行信息包的存储、检索和修改,以减轻主控器件的内存负荷。
图2为网络接口硬件连接示意图。ENC28J60通过SPI总线实现与LM3Sll38的数据传输,CS为片选信号,SCLK为时钟信号,MOSI/MISO为数据传输串口。此外,ENC28J60还与网络变压器HR901l70A相连,引出刚45接口。
2.2音频接口
VSl003音频编解码器为VSl0XX系列第3代产品,包括MP3/WMA/MIDI解码和ADPCM编码2个单器件。其内置有高性能、低功耗的DSP处理核(VSDSP),工作内存,可供用户程序使用的5.5 KB RAM,串行SPI总线接口,高质量的采样频率可调的过采样D/A转换器以及16位的过采样A/D转换器。图3为音频编解码器模块硬件连接示意图,VSl003采用SPI总线与LM3Sll38实现通信。其中,SCLK为输入时钟,CS为片选信号,MOSI/MISO为数据串口,Demand为命令有效信号,VSl003外接音频输出设备。
2.3 USB控制接口
CH375是一款支持USB-HOST主机方式和USB-DE-VICE/SLAVE从设备方式的器件,主机端点输入和输出缓冲区各64字节,支持常用的12 Mb/s全速USB设备,支持USB设备的控制传输、批量传输、中断传输。内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI,UFI,RBC或等效命令集的USB存储设备。
图4为USB控制接口模块硬件连接示意图,CH375通过UART串口与LM3S1138传输数据,*****为中断信号,TXD/RXD为数据传输串口,CH375连接USB存储设备。
3系统软件设计
μC/OS-II是专门为嵌入式应用设计的实时操作系统内核,其具有以下优点:源代码公开,代码结构清晰,注释详尽,组织有条理,具有良好的可扩展性和可移植性,最多可以管理60个任务。该系统移植的μC/OS-II由用户层、中间件层、μC/OS-II源码层、μC/OS-II移植层和驱动库组成。用户层存放用户代码及设置,其中Main.c是用户编写任务处,Main.h定义堆栈大小及优先级;中间件层Middleware存放UART、SPI等串口通信中间件和TCP/IP协议栈LwIP;μC/OS-II源码层Source存放μC/OS-II的源代码;μC/OS-II移植层Port存放μC/OS-Ⅱ基于LM3S的移植代码,包括OS_CPU_C.C,OS_CPU_A.A,OS_CPU.C等3个必要文件;驱动库层是直接面向硬件设备层,它是硬件设备和应用程序之间的枢纽,直接与系统底层的硬件设备打交道,按照硬件设备的具体工作方式读写设备寄存器。将寄存器的数据与应用软件交互,ENC28J60、VSl003和CH375的驱动函数都在该层。
3.1网络驱动程序
本系统采用ENC28J60以太网控制器,需编写网络设备驱动程序,实现低层网络接口及硬件函数驱动。该驱动程序设计主要包含网卡的初始化和数据的发送接收。
电子镇流器相关文章:电子镇流器工作原理
评论