论文摘要
随着计算机技术的发展,特别是多媒体技术的快速发展,多媒体广告机作为一种全新的广告形式逐渐渗透到人们生活的各个方面,并在广告市场中占据越来越重要的位置。为此,采用ARM+DSP双处理器平台和开源的嵌入式Linux操作系统自行开发了一套嵌入式多媒体广告机系统。多媒体广告机系统采用PCF8563作为实时时钟芯片,系统可以在I2C协议控制下访问其寄存器。由于ARM处理器EP9315并没有提供I2C接口,因此采用GPIO针脚来模拟I2C总线的数据线和时钟线,以软件方式模拟I2C协议,实现I2C总线驱动,为系统提供访问时钟芯片的接口。在此基础上设计和实现了实时时钟驱动,为应用程序提供了设置和获取系统时间的接口,并利用PCF8563的报警功能以及能够输出中断的特性,设计和实现了整点报时功能。设计了音频模块,完成音频数据在系统中的传输,并为应用程序提供控制声音播放的接口。系统采用ARM+DSP双处理器的架构,音频数据存储在ARM外接的磁盘上,而数据的解码却由DSP来处理,所以必须实现双核之间的数据通信。DSP的HPI(Host Port Interface)主机接口为外部CPU提供了访问DSP内存的方式。利用HPI驱动以共享缓冲区的方式将从ARM磁盘读出的数据发送给DSP的解码单元,经过解码处理后依次发往8个缓冲区,然后以DMA链方式发送给McASP(Multi-channel Audio Serial Port)的发送缓冲区,在位时钟和帧同步时钟控制下以I2S格式串行发送给UDA1345TS进行数模转换。ARM通过GPIO针脚模拟L3总线来控制UDA1345TS,调节音量大小,设置静音模式,初始化系统时钟频率和输入数据格式等。