1 / 31

Up-tech-2410s 实验系统教案 1 串口通讯实验

Up-tech-2410s 实验系统教案 1 串口通讯实验. 电信学院 嵌入式技术与应用专业. 提纲. 1 实验目的. 2 实验内容. 3 预备知识. 4 实验设备. 5 基础知识. 6 实验思考. 实验目的. 掌握 ARM 的串行口工作原理 学习编程实现 ARM 的 UART 通讯 掌握 S3C2410 寄存器配置方法. 实验内容. 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端. 预备知识. 了解 ADS 集成开发环境的基本功能 学习串口通讯的基本知识

baxter
Download Presentation

Up-tech-2410s 实验系统教案 1 串口通讯实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Up-tech-2410s实验系统教案1 串口通讯实验 电信学院 嵌入式技术与应用专业

  2. 提纲 1 实验目的 2 实验内容 3 预备知识 4 实验设备 5 基础知识 6 实验思考

  3. 实验目的 • 掌握ARM的串行口工作原理 • 学习编程实现ARM的UART通讯 • 掌握S3C2410寄存器配置方法

  4. 实验内容 • 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端

  5. 预备知识 • 了解ADS集成开发环境的基本功能 • 学习串口通讯的基本知识 • 熟悉S3C2410串口有关的寄存器

  6. 实验设备 • Up-tech-2410s教学实验箱 • ARM920T的JTAG仿真器 • ARM ADS1.2集成开发环境 • 串口连接线

  7. 基础知识 串行接口电路 • 串行通信接口电路组成 • 可编程的串行接口芯片 • 波特率发生器 • EIA与TTL电平转换器 • 地址译码电路 • 通信协议: • 异步协议 • 同步协议

  8. 异步串行通讯 • 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。 • 数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。 • 接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。 • 在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

  9. 异步串行通信中的字符传送格式

  10. 异步串行通信中的字符传送格式 • 开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。 • 每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。

  11. 异步串行通信中的字符传送格式 • 最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。 • 至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。 • 每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。

  12. EIA RS-232C • 美国电子工业协会推荐的一种标准(Electronic industries Association Recoil-mendedStandard) • 在25针接插件(DB-25)上定义了串行通信的有关信号 • 在实际异步串行通信中,并不要求用全部的RS-232C 信号,许多PC/XT兼容机仅用15针接插件(DB-15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件(DB-9)来担当此任。

  13. DB-25 DB-9引脚定义

  14. DB-25 DB-9引脚说明

  15. RS-232C接口通信的两种基本连接方式

  16. 信号电平规定 • EIA电平:双极性信号逻辑电平, 它是一套负逻辑定义 • -3V到-25V之间的电平表示逻辑“1” • +3V到+25V之间的电平表示逻辑“0” • TTL电平:计算机内部(S3C2410)使用TTL电平 • 电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和EIA电平之间实现相互转换。

  17. S3C2410异步串行口控制器 • S3C2410自带三个异步串行口控制器 • 每个控制器有16字节的FIFO(先入先出寄存器) • 最大波特率115.2K • 每个UART有7种状态:溢出错误,校验错误,帧错误,暂停态,接收缓冲区准备好,发送缓冲区空,发送移位缓冲器空,这些状态可以由相应的UTRSTATn或UERSTATn寄存器表示,并且与发送接收缓冲区相对应的有错误缓冲区

  18. S3C2410异步串行口控制器 • S3C2410自带三个异步串行口控制器 • 波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,计算公式如下: 使用PCLK时的计算公式如下: UBRDIVn = (int)[PCLK/(波特率×16)]–1 使用UCLK时的计算公式如下: UBRDIVn = (int)[UCLK/(波特率×16)]–1 • 例如:使用PCLK,在40 MHz的情况下,当波特率取115 200 bps时,UBRDIVn = (int)[40000000/(115200×16)]–1 = 20

  19. 与UART有关的寄存器 • 线路控制寄存器ULCONn • 控制寄存器UCONn • FIFO控制寄存器UFCONn • 控制寄存器UMCONn • 状态寄存器UTRSTAT • 错误状态寄存器UERSTAT • FIFO状态寄存器UFSTAT • 发送寄存器UTXH和接收寄存器URXH • 波特率因子寄存器UBRDIV

  20. 线路控制寄存器ULCONn

  21. 控制寄存器UCONn

  22. FIFO控制寄存器UFCONn

  23. MODEM控制寄存器UMCONn

  24. 状态寄存器UTRSTAT

  25. 错误状态寄存器UERSTAT

  26. FIFO状态寄存器UFSTAT

  27. 发送寄存器UTXH和接收寄存器URXH

  28. 波特率因子寄存器UBRDIV

  29. 实验说明 • 串口初始化 /* 配置系统时钟 */ s3c2410_cpu_init();//CPU时钟设置

  30. 实验说明 • 发送数据 void Uart_SendByten(int Uartnum, U8 data) //往串口发送数据 WrUTXH0(data); //往串口数据寄存器写数据 • 接收数据 char Uart_Getchn(char* Revdata, int Uartnum, int timeout)//接收数据 RdURXH0(); //读取串口数据寄存器数据

  31. 实验思考 • 232串行通讯的数据格式是什么? • 串行通讯最少需要几根线,分别如何连接? • ARM的串行口有几个,相应的寄存器是什么? • 用中断方式实现串口驱动。

More Related