实验一 串口通讯实验

读书百遍,其义自见。长太息以掩涕兮,哀民生之多艰。两情若是久长时,又岂在朝朝暮暮。此夜曲中闻折柳,何人不起故园情。岁寒,然后知松柏之后凋也。----------------------- 页面 1-----------------------

嵌入式嵌入式系统硬件系统硬件
----------------------- 页面 2-----------------------

实验实验一串串口通讯实验通讯实验
----------------------- 页面 3-----------------------

1 实验目的 2 实验内容 3 预备知识 4 实验设备 5 基础知识 6 实验实验思考考
----------------------- 页面 4-----------------------

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

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

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

实验设备实验设备 UpUp--techtech--2410s2410s教学实验箱 ARM920T的JTAG仿真器 ARM ADS1.2集成开发环境 串口连接线
----------------------- 页面 8-----------------------

串行接口电路串行接口电路 串行通信接串行通信接口电路组成电路组成 可编程的串行接口芯片 波特率发生器 EIAEIA与与TTLTTL电平转换器电平转换器 地址译码电路 通信协议: 异步协议异步协议 同步协议
----------------------- 页面 9-----------------------

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

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


----------------------- 页面 11-----------------------

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

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

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

DBDB-2525 DBDB-99引脚定义引脚定义
----------------------- 页面 15-----------------------

DBDB-2525 DBDB-99引脚说明引脚说明
----------------------- 页面 16-----------------------

RSRS-232C232C接口通信的两种基本连接方式接口通信的两种基本连接方式
----------------------- 页面 17-----------------------

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

- 页面 18-----------------------

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

SS3CC2410异步串行异步串行口控制器控制器 S3C2410自带三个异步串行口控制器 波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,计算公 式如下式如下:: 使用PCLK时的计算公式如下: UBRDIVn = (int)[PCLK/(波特率波特率×16)]–1 使用UCLK时的计算公式如下: UBRDIVn = (int)[UCLK/(波特率×16)]–1 例如例如::使用使用PCLKPCLK,,在在4040 MHzMHz的情况下的情况下,,当波特率取当波特率取115115 200200 bpsbps时时,, UBRDIVn = (int)[40000000/(115200×16)]–1 = 20
----------------------- 页面 20-----------------------

与与UUART有关的寄存器有关的寄存器 线路控制寄存器ULCONn 控制寄存器UCONn FIFOFIFO控制寄存器控制寄存器UFCONUFCONn MODEM控制寄存器UMCONn 状态寄存器UTRSTAT 错误状态寄存器错误状态寄存器UERSTATUERSTAT FIFO状态寄存器UFSTAT 发送寄存器UTXH和接收寄存器URXH 波特率因子寄存器波特率因子寄存器UBRDIVUBRDIV
----------------------- 页面 21-----------------------

线路控制寄存器线路控制寄存器UULCONCONn
----------------------- 页面 22-----------------------

控制寄存器控制寄存器UCONn
----------------------- 页面 23-----------------------

FIFOO控制寄存器控制寄存器UUFCONCONn
----------------------- 页面 24-----------------------

MOODEM控制寄存器控制寄存器UUMCONCONn
----------------------- 页面 25-----------------------

状态寄存器状态寄存器UUTRSSTAT
----------------------- 页面 26-----------------------

错误状态寄存器错误状态寄存器UUERSSTAT
----------------------- 页面 27-----------------------

FIFOO状态寄存器状态寄存器UUFSSTAT
----------------------- 页面 28-----------------------

发送发送//接收接收寄存器寄存器UTXHUTXH和和URXHURXH
----------------------- 页面 29-----------------------

波特率因子寄存器波特率因子寄存器UBRDIV
----------------------- 页面 30-----------------------

实验说明实验说明 串口初始化 /* 配置系统时钟*/ s33c24102410_cpu_iinit()it();////CPUCPU

时钟设置时钟设置
----------------------- 页面 31-----------------------

实验说明实验说明 发送数据 voidvoid UartUart_SendByten(intSendByten(int UartnumUartnum, U8U8 data)data) ////往串口发送数据往串口发送数据 WrUTXH0(data); //往串口数据寄存器写数据 接收数据接收数据 char Uart_Getchn(char* Revdata, int Uartnum, int timeout)//接收数 据据 RdURXH0(); //读取串口数据寄存器数据
----------------------- 页面 32-----------------------

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

问题问题:: 例程中的串口初始化在什么地方? 请编写一段串口初始化程序,把串口0设置为 57600,8,N,1 重复重复上述实验述实验。
----------------------- 页面 34-----------------------

关于实验报告关于实验报告 ①①每次每次实验都需提交报告实验都需提交报告,每人一份每人一份 ②实验报告内容:实验的主要内容,实验中 遇到的遇到的问题问题及解决方法解决方法,实验实验思考的问题思考的问题 ,有什么意见和建议等 我失骄杨君失柳,杨柳轻飏直上重霄九。靡不有初,鲜克有终。天作孽,犹可违,自作孽,不可活。忽如一夜春风来,千树万树梨花开。射人先射马,擒贼先擒王。

相关文档
最新文档