智能无线多媒体数字播放系统的设计与实现

时间:2012-04-14来源:网络

嵌入式操作系统构成如下:(1)Bootloader使用三星公司专为其产品开发的启动代码VIVI;(2)内核采用Linux2.6.13版[3];(3)文件系统选择与NAND Flash兼容较好的YAFFS文件系统[4-6];(4)图形用户界面采用QTOPIA1.7[7]。

2.2 ARM9嵌入式微处理器S3C2440A

S3C2440A是三星公司基于ARM920T设计的一款处理器,主频400MHz;扩展总线最大频率100MHz;32bit数据,27bit外部数据线;完全静态设计(0~400MHz);存储控制器(8个存储体),4个带有PWM的16bit定时器;多达55个中断源的中断控制器;RTC;3个UART,支持IrDA 1.0;4个DMA通道支持外设DMA;8通道,500kS/s,10bit ADC;支持STN与TFT LCD控制器;看门狗;I2S音频接口;2个USB接口;I2C-Bus接口;2个串行外围接口电路(SPI);SD卡接口。选择ARM9芯片可以利用Linux操作系统来减少软件开发时间,而且S3C2440A对主流多媒体支持较好,很适合用于开发智能多媒体系统。

2.3 CYWUSB6934无线收发模块

无线收发模块选用Cypress公司的CYWUSB6934。该芯片既可用作发射,也可用作接收,工作在2.4GHz ISM 频段,频率范围为2.4GHz~2.483GHz。具有低功耗、低辐射的特点(辐射功率最大为0dBm),且发射功率可调(共7个等级);无线接收灵敏度高,可达-90dBm;通信半径可达10m(当输出最大功率且无障碍物阻挡时的直线通信距离可达15m左右)。由于其近距离、低功耗等特点,非常适用于短距离无线传输。

2.4 地址码无线发射机

地址码无线发射机是以单片机为核心构成的控制系统,主要包括电源模块、无线发射模块和发射功率调整拨动开关,单片机与无线发射模块的接口为SPI口。

2.5 手持智能无线多媒体终端

每个景点/展台的音视频内容都以特定格式存储在SD存储卡中,每一个文件以规定方式命名,且对应于一个地址码。

手持智能无线多媒体终端开机完成硬件初始化、Linux操作系统的启动、文件系统的挂载和图形用户界面的启动后,由用户点击图形桌面上的智能点播系统程序图标运行点播程序。系统查询到这个信息后,立即读取CYWUSB6934的数据寄存器以获得地址码。系统会将接收到的地址码与前一数据进行对比,若相同则继续播放,若不同则自动切换到对应该地址码的文件进行播放。

3 智能无线点播的实现

微处理器S3C2440A和无线芯片CYWUSB6934之间通过SPI接口进行通信,在Linux系统中两者之间的通信就必须通过SPI驱动程序来实现。而智能点播则是在用户启动Linux系统中的点播程序时,系统识别接收到的数据后,自动调用音视频文件进行播放。

3.1 SPI驱动

在Linux操作系统中,所有外围设备的控制都是通过驱动程序实现的,设备驱动程序是操作系统内核与机器硬件之间的接口。

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。手持智能无线多媒体终端需要通过SPI接口控制无线收发芯片,这就需使用SPI接口驱动程序来建立无线收发芯片与内核之间的通信桥梁。SPI接口以主从方式进行工作,其接口包括4种信号:(1)MOSI:主器件数据输出,从器件数据输入;(2)MISO:主器件数据输入,从器件数据输出;(3)SCLK:时钟信号,由主器件产生;(4)/SS:从器件使能信号,由主器件控制。

图2为S3C2440A与CYWUSB6934之间SPI接口的连接图。图中nSS控制CYWUSB6934作为从器件,SPIMOSI和SPIMISO是它们之间的数据传输通道,SPICLK为时钟信号。当SPI作为主控制器时,由SPPRE寄存器中相应的比特位控制。而当SPI为从设备时,时钟信号则是由其他设备提供。某些情况下,在将数据写入SPTDAT寄存器之前,nSS应该被置为高电平。在本系统中主要用到的S3C2440A内部与SPI相关的寄存器如下:

智能无线多媒体数字播放系统的设计与实现

(1)SPCON寄存器:主要用于设置时钟开启、SPI传输格式、SPI传输模式。其中传输模式有3种,分别是polling模式、DMA模式、中断模式。

(2)SPSTA寄存器:SPI接口的状态寄存器,用于指示数据接收或发送是否已经完成。

(3)SPPIN寄存器:用于检测是否有多个主机。

(4)SPPRE寄存器:用于设置SPI传输时钟频率。其值通过如下计算式确定:

Baud rate=PCLK/2/(Prescaler value+1)

其中Prescaler value的初始值为0x00。

1 2 3 4

关键词: 无线多媒体 数字播放系统 无线发射机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版