实验一 串口通讯实验 一.实验目的:
1,掌握ARM的串行口工作原理
2,学习编程实现ARM的UART通讯 3,掌握S3C2410寄存器配置方法 二.实验设备:
Up-tNETARM2410-S教学实验箱 JLink仿真器
IAR Embedded Workbench集成开发环境 串口连接线 三.实验内容:
1,了解ADS集成开发环境的基本功能 2,学习串口通讯的基本知识
3,熟悉S3C2410串口有关的寄存器
4,实现查询方式串口的收发功能。接受来自串口(通过超级终端)的字符并将接收到的 字符发送到超级终端 四.实验思考:
1, 232串行通讯的数据格式是什么? 答案:
开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5 位、6 位、7 位或8 位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600 等。
2, 串行通讯最少需要几根线,分别如何连接? 答案:三根线。
TXD/RXD 是一对数据线,TXD 称发送数据输出,RXD 称接收数据输入。当两台微机 以全双工方式直接通信(无MODEM 方式)时,双方的这两根线应交叉联接(扭接)。
输出端五号口(SG)接输入端五号口(SG) 输出端二号口(RXD)接输入端三号口(TXD) 输出端三号口(TXD)接输入端二号口(RXD) 3, ARM的串行口有几个,相应的寄存器是什么? 答案:
ARM 自带三个UART 端口,每个UART 通道都有16 字节的FIFO(先入先出寄存器)用于接受和发送。用系统时钟最大波特率可达230.4K,如果用外部时钟(UCLK)UART 可以以更高的波特率运行。
UART线控制寄存器包括ULCON0,ULCON1和ULCON2,主要用来选择每帧数据位数、停止位数,
奇偶校验模式及是否使用红外模式。 UART控制寄存器包括UCON0, UCON1 and UCON2,主要用来选择时钟,接收和发送中断类型(即电平还是脉冲触发类型),接收超时使能,接收错误状态中断使能,回环模式,发送接收模式等。
UART错误状态寄存器包括UERSTAT0, UERSTAT1 and UERSTAT2,此状态寄存器的相关位表明是否有帧错误或溢出错误发生。
UART 模块中有三个接收/发送状态寄存器,包括UTRSTAT0,UTRSTAT1 和UTRSTAT2。在UART 模块中有3 个UART 发送缓冲寄存器,包括UTXH0,UTXH1 和UTXH2,UTXHn 有8位发送数据。 在UART 模块中有3 个UART 接收缓冲寄存器,包括URXH0,URXH1 和URXH2,URXHn 有8位接收数据。
UART包括三个波特率因子寄存器UBRDIV0, UBRDIV1 and UBRDIV2,存储在波特率因子寄存器(UBRDIVn)中的值决定串口发送和接收的时钟数率(波特率)
4, 用中断的方式实现串口驱动。