首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于嵌入式系统的多媒体控制前台设计(2)

基于嵌入式系统的多媒体控制前台设计(2)

无线模块软件设计 无线模块通过UART与系统连接,包括GUI用户应用程序也通过访问串口驱动程序来访问设备,所以必须对UART进行初始化。INTEL R PXA250的UART符合RS-232标准,也支持16550工业标准的大部分功能,通讯的最高速度可以达到230.4kbps。 PXA250共有3个通用异步串行接口(UART),启动时UART默认状态是无法使用,必须通过编程GPIO寄存器来使能它们。每个UART有一个64 %26;#215;8位的FIFO用于缓冲输出数据,一个64 %26;#215; 1l位的FIFO用于缓冲输入数据(其中的3位存放每个接收字符的帧、奇偶校验和接收FIFO溢出出错标志)。当UART单元被禁止时,发送器和接收器完成当前操作后停止任何数据传送。此时FIFO中的数据并没有被清空,一旦UART再次使能,发送接收可以重新开始。此外,将中断允许寄存器(IER)的位 5置高,UART还可以进行NRZ译码操作。 每个UART共有13个寄存器:其中12个用于UART操作,1个用于低速红外调制功能。寄存器是32位,但只有最低的8位装载的是有效数据。12个 UART寄存器共享了I/O地址空间中的9个地址,基地址也是32位。各控制寄存器决定着UART各种模式、传送方式以及波特率分频系数,状态寄存器可以反映芯片目前的读写状态以及错误类型,数据寄存器分别对应于发送FIFO顶部和接收FIFO底部:读出RBRll位接收FIF0底部的8位数据、3位出错标志;写入TBR发送FIFO顶部8位数据。对这些寄存器的正确配置和读写是初始化UART的必要条件。寄存器SLDR[DLAB]位的状态决定着一些 UART寄存器的选择模式,为了能对分频器寄存器进行操作,必须通过软件对SLDR[DLAB]位置高。 对这些寄存器的正确配置和读写是初始化UART的必要条件。除此以外还需要一些串行口的接口函数,它们包括: 1 void Uart_Init(int Uartnum,int mclk,int baud)功能:初始化串行口,设置串行口通讯的波特率参数说明:Uartnum:所设定的串行口号 mclk:系统的主时钟频率 band:所设定的串行口通讯的波特率 2 void Uart_Printf(Char*fmt,…) 功能:输出字符串到串口0 参数说明:fmt:输出到串行口的字符串
3 char Uart_etch(int Uartnum) 功能:接收指定串口的数据,收到数据时返回,返回串口接收到的数据参数说明:Uartnum:所设定的串行口号 4 void Uart_SendByte(int Uartnum,int data) 功能:向指定的串口发送数据参数说明:Uartnum:所设定的串行口号 data:发送的数据 在操作系统环境下,系统启动时会自动初始化串行口,所以应用程序调用串行口资源将变得更容易。值的注意的是,应用程序往往是多任务系统,为了实时监测串行口信息,在操作环境中一般单开一个串行口扫描任务,保证信息不丢失。在一个已有的工程文件的主函数MAIN中添加串行口的寄存器初始化代码,并添加串行口扫描任务。由于对无线模块的控制还有系统的GPl0,所以扫描程序中还要包括对10的操作。当系统收到串行口信息时,将会自动向主任务发送一个串行口消息。主任务接收到该消息,将会调用响应函数,响应该消息。 结束语 这种无线手持设备除了应用于媒体控制系统外,还可以用于无线遥控系统、机器人控制、信息家电、无线PDA点菜系统等等。在高达400MHz的时钟速度运行的PXA250应用处理器将为许多全功能的手持通信设备、信息通信系统和PDA提供先进的集成度、领先的多媒体性能和更好的节能性。在Intel功能强大的PCA平台(个人用户端架构)下,系统设计人员可以不必过多的考虑CPU的处理瓶颈而把更多的精力放在应用开发上。
返回列表