嵌入式实验报告_ARM的串行口实验.docx

上传人:小飞机 文档编号:5179265 上传时间:2023-06-11 格式:DOCX 页数:12 大小:101.47KB
返回 下载 相关 举报
嵌入式实验报告_ARM的串行口实验.docx_第1页
第1页 / 共12页
嵌入式实验报告_ARM的串行口实验.docx_第2页
第2页 / 共12页
嵌入式实验报告_ARM的串行口实验.docx_第3页
第3页 / 共12页
嵌入式实验报告_ARM的串行口实验.docx_第4页
第4页 / 共12页
嵌入式实验报告_ARM的串行口实验.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《嵌入式实验报告_ARM的串行口实验.docx》由会员分享,可在线阅读,更多相关《嵌入式实验报告_ARM的串行口实验.docx(12页珍藏版)》请在三一办公上搜索。

1、贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间05.03指导教师余佩嘉成绩实验项目名称ARM的串行口实验实验目的1. 掌握ARM的串行口工作原理2. 学习编程实现ARM的UART通讯3. 掌握CPU利用串口通讯的方法实验原理1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据 的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一 对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组 成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行 I/O方式,双方使用各自的时钟信号

2、,而且允许时钟频率有一定误差,因此实现较容 易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字 符间还可能有长度不定的空闲时间,因此效率较低。V 第n个宇徊 【以比 、电,1101/U I/O 1/0 l/D I/O l/D L/U 1/0 I1u中室起奇怦咋闹闱 始敷抓位说位位立位位图3T用行通信字符格式图3-1给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连 续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的一 进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII 编码。后面是奇偶校

3、验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成 奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个 字符传送完毕,线路又进入空闲,持续为1”。经过一段随机的时间后,下一个字符开 始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行 通信中,常用的波特率为 50,95,110,150,300,600,1200,2400,4800,9600 等。 接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误:1)奇偶错:在约定奇偶检查的情况下,接收到的字符奇偶状

4、态和约定不符。2)帧格式错:一个字符从起始位到停止位的总位数不对。3)溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。 每一种错误都会给出相应的出错信息,提示用户处理。2.串行接口的物理层标准通用的串行I/O接口有许多种,现仅就最常见的两种标准作简单介绍。1) EIA RS232C这是美国电子工业协会推荐的一种标准(Electronic industries AssociationRecoil-mended Standard)。它在一种25针接插件(DB25)上定义了串行通信的有关信 号。这个标准后来被世界各国所接受并使用到计算机的I/O接口中。信号连线在实际异步串行

5、通信中,并不要求用全部的RS232C信号,许多PC/XT兼容机仅用 15针接插件(DB15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件 (DB9)来担当此任,因此这里也不打算就RS232C的全部信号作详细解释。图3-2 给出两台微机利用RS232C接口通信的联线(无MODEM),我们按DB25的引脚号标注 各个信号。下面对图3-2中几个主要信号作简要说明。保护地通信线两端所接设备的金属外壳通过此线相联。当通信电缆使用屏蔽线时,常 利用其外皮金属屏蔽网来实现。由于各设备往往已通过电源线接通保护地,因此,通信 线中不必重复接此地线(图中用虚线表示)。例如使用9针插头(DB9)的异步

6、串行I / O 接口就没有引出保护地信号。TXD / RXD是一对数据线,TXD称发送数据输出,RXD称接收数据输入。当两台微机以 全双工方式直接通信(无MODEM方式)时,双方的这两根线应交叉联接(扭接)。信号地所有的信号都要通过信号地线构成耦合回路。通信线有以上三条(TXD. RXD和信号地)就能工作了。其余信号主要用于双方设备通信过程中的联络(握手信号),而且 有些信号仅用于和MODEM的联络。若采取微型机对微型机直接通信,且双方可直接对异步串行通信电路芯片编程,若设置成不要任何联络信号,则其它线都可不接。有时在通 信线的同一端将相关信号短接以“自握手”方式满足联络要求。这就是如图3-2

7、(a)所 示的情况。悟孑地7?E!碧量准普虾旧 6 I 6trWlWtfDTR2O卜就出示 RI 行J22()三段式RTS / CTS请求发送值号RTS是发送器输出的准备好信号。接收方准备好后送回清除发 送信号CTS后,发送数据开始进行,在同一端将这两个信号短接就意味着只要发送器准 备好即可发送。DCD载波检测(又称接收线路信号检测)。本意是MODEM检测到线路中的载波信号后, 通知终端准备接收数据的信号,在没有接MODEM的情况下,也可以和RTS、CTS短接。 相对于MODEM而言,微型机和终端机一样被称为数据终端DTE(Data Terminal Equipment)而 MODEM 被称为

8、数据通信装置 DCE(Data Communications Equipment), DTE 和DCE之间的连接不能像图3-2中有“扭接”现象,而应该是按接插件芯号,同名端对 应相接。此处介绍的RS232C的信号名称及信号流向都是对DTE而言的。DTR / DSR数据终端准备好时发DTR信号,在收到数据通信装置装备好DSR信号后,方 可通信。图3-2(a)中将这一对信号以“自握手”方式短接。R1原意是在MODEM接收到电话交换机有效的拨号时,使RI有效,通知数据终端准备 传送。在无MODEM时也可和DTR相接。图3-2(b)给出了无MODEM情况下,DTE对DTE异步串行通信线路的完整连接,它

9、不仅适 用于微型机和微型机之间的通信,还适用于微型机和异步串行外部设备(如终端机、绘 图仪、数字化仪等)的连接。信号电平规定RS232C规定了双极性的信号逻辑电平:-3V到-25V之间的电平表示逻辑“1”。+3V到+25V之间的电平表示逻辑“0”。因此这是一套负逻辑定义。以上标准称为EIA电平。PC/XT系列使用的信号电平是-12V和+12V,符合EIA标准, 但在计算机内部流动的信号都是TTL电平,因此这中间需要用电平转换电路。常用芯片 MC1488或SN75150将TTL电平转换为EIA电平,MC1489或SN75154将EIA电平转换为 TTL电平。PC / XT系列以这种方式进行串行通

10、信时,在波特率不高于9600的情况下, 理论上通信线的长度限制纽为15米。2) 20mA电流环20mA电流环并没有形成一套完整的标准,主要是将数字信号的表示方法不使用电子的 高低,而改用20mA电流的有无:“1”信号在环路中产生20mA电流;“0”信号无电流产 生。当然也需要有电路来实现TTL电平和20mA电流之间的转换。图3-3是PC/XT微机 中使用的一种20mA电流环接口。当发送方SOUT=1时,便有20mA电流灌入接收方的光 耦合器,于是光耦合器导通,使SIN=1。反之当发送方SOUT = 0时环路电流为零,接 收方光耦合器截止,SIN=0。显然,当要求双工方式通信时,双方都应各有收发

11、电路, 通信联线至少要4根。由于通信双方利用光耦合器实现电气上隔离,而且信号又是双端 回路方式,故有很强的抗干扰性,可以传送远至1千米的距离。+5V+5V图3-3 20jqA电流环接口“0”、“1”信号的表示方法不同外,其他方面(如字符的传输格式)常借用RS-232C标 准。因此PC/XT微机中的异步串行信道接口往往将这两种标准做在一起,实际通过跨 接线从二者中择一使用。ARM自带三个UART端口,每个UART通道都有16字节的FIFO (先入先出寄存器)用于 接受和发送。用系统时钟最大波特率可达230.4K,如果用外部时钟(UCLK)UART可以以 更高的波特率运行。S3C2410X UAR

12、T包括可编程波特率,红外发送/接收,插入一个或两个停止位,5字节, 6字节,7字节,或8字节数据宽度和奇偶校验。其特点是:基于 DMA 或者中断操作的 RxD0,TxD0,RxD1,TxD1,RxD2,TxD2。包括IrDA 1.0和16字节FIFO的UART通道0,1,2。包括 nRTS0,nCTS0,nRTS1 和 nCTS1 的 UART 通道。支持握手方式的接收/发送与UART有关的寄存器主要有以下几个:(1) UART线控制寄存器包括ULCON0,ULCON1和ULCON2,主要用来选择每帧数据位数、 停止位数,奇偶校验模式及是否使用红外模式,如表3-1,3-2所示。表3-1 UAR

13、T寄存器设置RegisterAddressR/WDescriionResetVai ueULCONO0x50000000R/WUART channc1 0 line contro1 register0x00ITCDNl0x50004000R/WUART channel 1 1ine control register0x00UIjC0N20x50008000RAUART hanntel 2 l ine control iregi ster0x00在37 SRT寄存器位描述LILCQNnBitDecr i pt ionInitial StateReserved710InPra-Red Mode6D

14、eLermi ne whtether or jiqL to uise Lhe Infra-Red mode- 0 二 Normal mode operation 1 = Infra-Red Tx/Rx mode0Pfir i ty M(ide5:3Spec i :fy Lhe type wf pari ty general i on cind check i ng during UART transmit and receive operation. Oxx = No parity 100 =Odd parity 101 = Even parity 110 = Parity forced/ch

15、ecked as 1 111 = Parity forced/checked a$ 0000Number of Stop Bit2 1Specify how many stop bits are to be used far end-of-frame signaL 0 = One stop bit per frame 1 = Two stop bit per frame0Word Length1削nfl i ca 1 * 1mimhE* r 口dal m 11L1. k l.ti hf* 1 ranKini 1 t cd otrecpi ved oer frame. 00 = 5-bits 0

16、1 = 6nb ts 10 - 7-hi.ts 11 =tl-bi ts(2) UART控制寄存器包括UCON0, UCON1 and UCON2,主要用来选择时钟,接收和发 送中断类型(即电平还是脉冲触发类型),接收超时使能,接收错误状态中断使能,回环模式,发送接收模式等。如表3-3, 3-4所示表3-3 UABT控制寄存器役置RegisterAddressDescriptionReset ValueIJCOKO00000004R/VUART channel 0 control register0x00UCON10x50004004R/VHART channel 1 control regi

17、ster0x00UCOK20150008004UART channel 2 control register0x00表卜4 UART控制寄存器位描述UCONnB:i i:DescriptionInitialStateClock Selection10Select PCLK cr UCLK tor the UART baud rate, O=PCLK :UBRDIVq = (int) (PCLK / (bps x 16) ) -1 =l:CLK(配P典):UBRDIVn = (int)(UCLX / (bps x 16) ) -10Tx Interrupt TypeInterrupt reque

18、st type, 0 = Pulse (Interrupt is requested soon as the Tx bu.fPer becomes sinpLy in Non-FIFO 侦de or reaches Tx FIFO Trigger Level in FIFO mode. ) 1 = Level (Interrupt is requested while Tx buffer is Empty in Mon-FIFO mode or reaches Tx FIFO Trigger Level in FIFO mode.)Rx Interrupt IypeInLerrupL requ

19、est type. 0 二 Pulse (InLerrupL is requested the instant Rx buffer receives the data in Non-FIFO mode or reaches Rx FIFO Trigger Level in FIFO modK.) 1 = Lew (Interrupt is requ&td whi le Rx buTfeir is receiving data in Non-FIFO mode or reaches Rx FIFO Trigger Level in FIFO mode,)0Rx Time Out Enal11 u

20、Enable/Disable Rx time out interrupt when UART FIFO is enabled. The interrupt is a receive interrupt. 0 - Disable 1 - Enable0Rx Error Status Interrupt EnableEnable the UART to generate an interrupt upon an exception, such as a breaks frame error, parity error, or overrun erryr dur i ng a receive? op

21、e rat i on+ 0 = Do not generate receive error status interrupt1 = Generate receive error status interrupt.0Loopback Mode5Setting loopback bit to 1 causes the UART to enter the loopback mode- This mode is provided for test purposes only. 0 = Normal operation 1 = Loopback mode0Spnd Rrpnk S1S*pI t Ing

22、l.hik hi I CHiaKPSJ the 1 JAR 1 to knrl m hrf*k riurl ng 1 ficinie tiiffls. This bit. is dijl.oiiiiLica.Llv cleared after sending the break signaL 0 一 Normal transmit 1 一 Scad break signalDTranni t MjiJedetermine which i jnet un is curiL?nt J yto wri l?data to the LAKT iransnit buffei resister.00 =

23、Dibble01 = Inlerrupii ir pn : 1 ing mnrif 11) = DMA。raqn的t(Only for 冲0),UMA3 request (Chly Er LJAJflZ) 11 = UWA1 ru&st (0:ily fur LAKT!)00Rccqlvc Modi?JDetermine which function Is currently able m read data fi0UART包括三个波特率因子寄存器UBRDIV0, UBRDIV1 and UBRDIV2,存储在波特率因子 寄存器(UBRDIVn)中的值决定串口发送和接收的时钟数率(波特率),计

24、算公式如下: UBRDIVn = (int)(PCLK / (bps x 16) ) -1 或 UBRDIVn = (int)(UCLK / (bps x 16) ) -1例如:如果波特率是115200,PCLK or或UCLK is是40 MHz,那么UBRDIVn :UBRDIVn = (int)(40000000 / (115200 x 16) ) -1=(int)(21.7) -1=21 -1 = 20实验仪器硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、串口线。软件:PC机操作系统Win2000或WinXP、ARM ADS1.2集成开

25、发环境、仿真器驱动程序、超级终端通讯程序。实验步骤1.编写串口驱动函数开始发送敖据WrUTXIIO(data接收数据Rdl.lRXHnO图3-4发送数据图接收数据2.在主函数中实现将从串口 0接受到的数据发送到串口 0图3-6匕函数3.新建工程,将“EXP1 ARM串口实验”中的文件添加到工程中并运行学习串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART相关寄存器的功能,熟悉ARM系统硬件的UART相关接口。编程实现ARM和计算机实现串行通讯ARM监视串行口,将接受到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC键盘通过超级终端发送数据,开发板将接受

26、到的数据再返送给PC,在超级终端上显示。type help for help.uiuiUIUI uersion 0.1.4 (rootBC) (gcc uersion 2.95.2 20000516 (release) R) tt0.1.4 四 5月 26 09:44:53 CST 2005MMU table base address = 0X33DFC0O0Succeed memory mapping.实验数据NAND deuice: Manufacture ID: Oxec, Chip ID: 0x76 (Samsung K9D1208U0M)97实实验总体基本达到实验要求,加深对嵌入式开发的了解,掌握与了解ARM的初始化, 验对今后的学习奠定一定的基础。总结指导教师意,d、签名:年 月 日见注:各学院可根据教学需要对以上栏目进行增减。表格内容可根据内容扩充。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号