ARM的UART实验

上传人:re****.1 文档编号:487884524 上传时间:2023-04-06 格式:DOC 页数:6 大小:229.50KB
返回 下载 相关 举报
ARM的UART实验_第1页
第1页 / 共6页
ARM的UART实验_第2页
第2页 / 共6页
ARM的UART实验_第3页
第3页 / 共6页
ARM的UART实验_第4页
第4页 / 共6页
ARM的UART实验_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《ARM的UART实验》由会员分享,可在线阅读,更多相关《ARM的UART实验(6页珍藏版)》请在金锄头文库上搜索。

1、实验二 ARM的UART实验一、实验目的1. 了解并熟悉UART的概念及其工作原理;2. 掌握ARM相应的寄存器配置;3. 能够用C编写出相应的串口程序;二、实验内容1. 在实验箱的CPU板上运行程序,在超级终端上回显发送的数据!三、实验设备1. EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆,串口直连电缆。2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,仿真调试驱动程序。四、UART的工作原理通用的串行IO 接口有许多种,最常见的一种标准是美国电子工业协会推荐的一种标准,即,RS232C。这种标准在PC系列中大量采用9 针接

2、插件。在ARM的处理器中,也采用了这种标准。具体的硬件机械、电气特性请参阅有关RS232串口通信的书籍。S3C2410的UART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)单元提供3个独立的异步串行I/O口,都可以运行于中断模式或DMA模式。也就是说,UART可以产生中断请求或DMA请求,以便在CPU和UART之间传递数据。它最高可支持115200bps的传输速率。S3C2410中每个UART通道包含两个用于接收和发送数据的16位FIFO队列。S3C2410的每个UART都有波特率发生器、数据发送器、数据接收器,及控制单元。

3、内部数据通过并行数据总线到达发送单元后,进入FIFO队列,或不进入FIFO队列,通过发送移相器TXDn引脚发送出去,送出的数据通过一个电压转换芯片将3.3V的TTL/COMS电平转换成EIA (Electronic industries Association)电平,送进PC的串口。数据接收的过程刚好相反,外部串口信号需要先把EIA 电平经电压转换芯片把电平转换3.3V的TTL/COMS电平,然后由RXDn管脚进入接收移相器,经过转换后放到并行数据总线上,由CPU进行处理或直接送到存储器中(DMA方式下)。在正确使用S3C2410的串口进行收发实验前,首先,要配置相关的寄存器组。见表2-8-1

4、。表2-8-1为串口0和串口1的线性控制寄存器的配置说明,推荐使用值:0X03;infra-Red Mode:红外、正常模式选择: 6 0 正常模式, 1 红外模式表2-8-1Parity Mode:奇偶校验模式选择: 5:3 0XX 无奇偶校验100 奇校验101 偶校验110 强制校验/校验1111 强制校验/校验0Number of stop bit:停止位选择: 2 0 1个停止位, 1 2个停止位Word length: 字长 1:0 00 5位, 01 6位,10 7位, 11 8位表2-8-2为串口0和串口1的控制寄存器的配置说明,推荐使用值:0X245;Clock Select

5、ion 选择使用的时钟 10 0: 使用PCLK, 1:使用UCLK引脚引入的时钟Tx interrupt type 发送中断请求类型 9 0 =边沿, 1 =电平 Rx interrupt type 接收中断请求类型 8 0 =边沿, 1 =电平 Rx time out enable 允许/不允许Rx超时中断 7 0 =禁止 1 =使能 Rx error status interrupt enable 允许/不允许UART错误中断 6 0 =不允许 1 =允许表2-8-2Loop-back Mode: 该位为1使UART进入loop back 模式 5 0 = 正常模式, 1 = Loop-

6、back 模式 Send Break Signal: 该位为1使UART发送一个暂停条件,该位在发送一个暂停信号后自动清除 4 0 = 正常发送, 1 = 发送断点信号 Transmit Mode: 这两位确定哪个模式可以写TX数据到UART发送保持寄存器 3:2 00 = 禁止 01 = 中断请求或查询模式 10 = BDMA0 请求 (仅为 UART0) 11 = BDMA1 请求 (仅为 UART1) Receive Mode:这两位确定哪个模式可以从UART接收缓冲寄存器读数据 00 = 禁止 01 = 中断请求或查询模式 10 = BDMA0 请求 (仅为 UART0) 11 = B

7、DMA1 请求 (仅为 UART1)表2-8-3为串口0和串口1的FIFO控制寄存器的配置说明,推荐使用值:0X00;表2-8-3Tx FIFO Trigger Level: 这两位确定发送FIFO的触发条件 7:6 00 =空, 01 =4字节, 10 =8字节, 11 =12字节 Rx FIFO TriggerLevel 这两位确定接收FIFO的触发条件 5:4 00 =空, 01 =4字节, 10 =8字节, 11 =12字节 Reserved 3 保留 Tx FIFO Reset TX FIFO复位位,该位在FIFO复位后自动清除 2 0 =正常, 1= Tx FIFO 复位 Rx F

8、IFO Reset Rx FIFO复位位,该位在FIFO复位后自动清除 1 0 = 正常, 1= Rx FIFO 复位 FIFO Enable FIFO模式选择0 0 = 禁止FIFO 1 = FIFO 模式 表2-8-3为串口0和串口1的模式控制寄存器的配置说明,推荐使用值:0X00;AFC(Auto Flow Control AFC是否允许 4 0 = 禁止 1 = 使能 Request to Send: 如果AFC允许,该位忽略 0 0 = 高电平(禁止 nRTS) 1 = 低电平(激活 nRTS)表2-8-4这是需要用程序配置的有关串口的寄存器,其他的是一些状态寄存器,如UART TX

9、/RX状态寄存器, UART 错误状态寄存器, UART FIFO状态寄存器, UART MODEM状态寄存器, UART 接收缓冲寄存器和FIFO寄存器。当然,关于UART 波特率设置,则有专门的分频寄存器进行设置。计算公式具体如下:UBRDIVn = (int)(PCLK / (bps x 16) ) 1 或者UBRDIVn = (int)(UCLK / (bps x 16) ) 1PCLK是外围总线频率,UCLK是UCLK引脚引入的时钟频率。例如在PCLK=50.7MHz下,当波特率取115200时,UBRDIVn = int(50700000 / 115200 / 16) 1 = 26

10、根据具体的程序要求,正确配置各寄存器。详细具体设置应用,请参见HARDWAREADS实验八目录下的UART.mcp项目文件。请详细阅读代码注释。五、实验步骤1. 本实验使用实验教学系统的CPU板,串口。在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。2在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆。使用串口线连接PC机串口1和实验箱CPU板的串口,使用直连线连接底板串口2和PC机上的串口2之间的电缆。3打开超级终端,配置串口的属性(如COM1),配置波特率为115200,校验位无,数据位为8,停止位为1,数据控制

11、流为无;检查连接是否可靠,可靠后,接入电源线,系统上电,同时按住“空格”键,进入VIVI状态。4打开ADS1.2开发环境,从里面打开实验程序HARDWAREADS实验八uart.mcp项目文件,进行编译。5编译通过后,进入ADS1.2调试界面,加载实验程序HARDWAREADS实验八UART_DataDebug中的映象文件程序映像UART.axf。6再打开一个超级终端1,进行设置(115200,8位数据,1位停止位,无奇偶校验);7在ADS调试环境下,全速运行映象文件。激活超级终端0,敲键盘,观察超级终端0,超级终端1的内容显示!所敲键盘的字符应该在两个超级终端上显示出来。实验的原理就是把键盘敲击的字符通过PC机的串口发送给实验箱上的ARM的CPU板的串口0,ARM的CPU板上的串口得到字符后,通过ARM把它送给CPU板上的串口0输出给PC,以及通过底板上的串口1,送给PC机。这样,就完成了串口间的收发数据。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号