收藏 分销(赏)

实验6 串口通讯实验.doc

上传人:pc****0 文档编号:8728286 上传时间:2025-02-27 格式:DOC 页数:7 大小:605KB
下载 相关 举报
实验6 串口通讯实验.doc_第1页
第1页 / 共7页
实验6 串口通讯实验.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
ARM7串口通讯实验 一、 实验目的 1、 掌握ARM 的串行口工作原理。 2、 掌握ARM 的串行口工作原理。 3、 学习编程实现ARM 的UART 通讯。 4、 掌握CPU 利用串口通讯的方法。 二、 实验内容 1、学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。 2、编程实现ARM 和计算机实现串行通讯功能,具体如下: ARM 监视串行口,将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC 键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。 三、 实验设备 1、 硬件 S3C44B0教学实验箱 PC机 JTAG仿真器 串口线 2、 软件 PC机操作系统 ARM Developer Suite v1.2 Multi-ICE V2.2.5 DNW(或者超级终端) 四、 预备知识 1、 了解ADT集成开发环境的基本功能。 2、 学习串口通讯的基本知识。 3、 熟悉S3C44B0串口有关的寄存器。 五、 基础知识 1、串行通信接口电路组成:可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器、地址译码电路。 2、异步串行I/O通信协议:异步协议、同步协议。 3、异步串行通信 3.1、异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。 3.2、数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。 3.3、接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。 3.4、在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 1. 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据 的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线 即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。 为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O 方式, 图1 异步串行通信中的字符传送格式 4、 异步串行通信中的字符传送格式 4.1、开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。 4.2、每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。 4.3、最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。 4.4、至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。 4.5、每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。 5、 EIA RS-232C 美国电子工业协会推荐的一种标准(Electronic industries Association Recoil-mendedStandard),在25针接插件(DB-25)上定义了串行通信的有关信号。在实际异步串行通信中,并不要求用全部的RS-232C 信号,许多PC/XT兼容机仅用15针接插件(DB-15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件(DB-9)来担当此任。 图2 DB-25 DB-9引脚定义 图3 DB-25 DB-9引脚说明 图4 RS-232C接口通信的两种基本连接方式 6、 信号电平规定 EIA电平:双极性信号逻辑电平, 它是一套负逻辑定义:3V到-25V之间的电平表示逻辑“1” ,+3V到+25V之间的电平表示逻辑“0” 。 TTL电平:计算机内部(S3C44B0)使用TTL电平 电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和EIA电平之间实现相互转换。 7、 与UART有关的寄存器介绍 线路控制寄存器ULCONn 控制寄存器UCONn FIFO控制寄存器UFCONn 控制寄存器UMCONn 状态寄存器UTRSTAT 错误状态寄存器UERSTAT FIFO状态寄存器UFSTAT 发送寄存器UTXH和接收寄存器URXH 波特率因子寄存器UBRDIV 六、 实验说明 1、串口初始化 /* 设置串口的FIFO属性,并清除FIFO中的内容 */ rUFCON0=0xf7; /* 关闭流控功能 */ rUMCON0=0x0; /* 设置8位数据位、1位停止位、无奇偶校验串口模式 */ rULCON0=0x3; /* 设置收发的中断模式为电平触发,关闭超时功能 */ rUCON0=0x345; /* 设置波特率,mclk为CPU主频,baud为波特率 */ rUBRDIV0=( (int)(mclk/16./baud + 0.5) -1 ); 2、发送数据和接收数据 /* 等待发送缓冲空.*/ while(!(rUTRSTAT0 & 0x2)); /* 将数据写到数据端口 */ rUTXH0 = data; 3、接收数据 /* 等待数据 */ while(rUTRSTAT0 & 0x1==0x0) /* 读取数据 */ data = rURXH0; 七、 实验思考 1、 简述串行接口的工作原理以及串行接口的优缺点 2、 RS-232C的最基本数据传送引脚是哪几根?画出双机通讯的基本接线 图 3、 简述串行接口通讯程序设计的基本步骤
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服