ARM串口实验报告Word文档格式.docx
- 文档编号:8529633
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:20
- 大小:24.58KB
ARM串口实验报告Word文档格式.docx
《ARM串口实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《ARM串口实验报告Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
复发送的信息,两方一定协调工作。
在微型计算机中大批使用异步串行I/O方式,两方使用
各自的时钟信号,并且同意时钟频次有必定偏差,所以实现较简单。
可是因为每个字符都要独立确立开端和结束(即每个字符都要从头同步,字符和字符间还可能有长度不定的安闲时间,所以效率较低。
图2-1串行通信字符格式
图2-1给出异步串行通信中一个字符的传递格式。
开始前,线路处于安闲状态,送出连续“1”。
传递开始时第一发一个“0”作为开端位,而后出此刻通信线上的是字符的二进
制编码数据。
每个字符的数据位长能够商定为5位、6位、7位或8位,一般采纳ASCII
编码。
后边是奇偶校验位,依据商定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个
或偶数个。
也能够商定不要奇偶校验,这样就撤消奇偶校验位。
最后是表示停止位的“1”
信号,这个停止位能够商定连续1位、1.5位或2位的时间宽度。
至此一个字符传递完成,线路又进入安闲,连续为“1”。
经过一段随机的时间后,下一个字符开始传递才又发出开端位。
每一个数据位的宽度等于传递波特率的倒数。
微机异步串行通信中,常用的波特率为
50,
95,110,150,300,600,1200,2400,4800,9600,119200等。
接收方按商定的格式
接收数据,并进行检查,能够查出以下三种错误:
1)奇偶错:
在商定奇偶检查的状况下,接收到的字符奇偶状态和商定不符。
2)帧格式错:
一个字符从开端位到停止位的总位数不对。
3)溢犯错:
若先接收的字符还没有被微机读取,后边的字符又传递过来,则产生溢犯错。
每一种错误都会给出相应的犯错信息,提示用户办理。
2.串行接口的物理层标准
通用的串行
I/O
接口有很多种,现仅就最常有的两种标准作简单介绍。
1)EIARS—232C
这是
美国电子工业协会介绍的一种标准
(ElectronicindustriesAssociation
Recoil-mendedStandard。
它在一种25针接插件(DB—25上定义了串行通信的有关信号。
这
个标准以后被世界各国所接受并使用到计算机的I/O接口中。
⑴信号连线
在实质异步串行通信中,其实不要求用所有的
RS—232C信号,很多
PC/XT兼容机仅用
15
针接插件(DB—15来引出其异步串行I/O信号,而PC中更是大批采纳
9针接插件(DB—
9来
担当此任,所以这里也不打算就
RS—232C的所有信号作详尽解说。
图
2-2给出两台微机利用
RS—232C接口通信的联线(无MODEM,我们按DB—25的引脚号标明各个信号。
下边对图2-2中几个主要信号作简要说明。
保护地:
通信线两头所接设施的金属外壳经过此线相联。
当通信电缆使用障蔽线时,常利用其外皮金属障蔽网来实现。
因为各设施常常已经过电源线接通保护地,所以,通信线中不用重复
接此地线
(图顶用虚线表示。
比如使用
9针插头(DB—9的异步串行
地信号。
I/O
接口就没有引出保护
TXD/RXD:
是一对数据线,TXD称发送数据输出,RXD称接收数据输入。
当两台微机以全双工
方式直接通信(无MODEM方式时,两方的这两根线应交错联接(扭接。
信号地:
所有的信号都要经过信号地线构成耦合回路。
通信线有以上三条(TXD、RXD和信号地
就能工作了。
其余信号主要用于两方设施通信过程中的联系(握手信号,并且有些信号仅用于
和MODEM的联系。
若采纳微型机对微型机直接通信,且两方可直接对异步串行通信电路芯片
编程,若设置成不要任何联系信号,则其余线都可不接。
有时在通信线的同一端将有关信号短
接以“自握手”方式知足联系要求。
这就是如图2-2(a所示的状况。
图2-2适用RS-232C连线
RTS/CTS:
恳求发送值号RTS是发送器输出的准备好信号。
接收方准备好后送回消除发送信
号CTS后,发送数据开始进行,在同一端将这两个信号短接就意味着只需发送器准备好即可发送。
DCD:
载波检测(又称接收线路信号检测。
本义是MODEM检测到线路中的载波信号后,通
知终端准备接收数据的信号,在没有接MODEM的状况下,也能够和RTS、CTS短接。
有关于MODEM而言,微型机和终端机相同被称为数据终端DTE(DataTerminalEquipment而MODEM被称为数据通信装置DCE(DataCommunicationsEquipment,DTE和DCE之间的连
接不可以像图2-2中有“扭接”现象,而应当是按接插件芯号,同名端对应相接。
此处介绍的RS—232C的信号名称及信号流向都是对DTE而言的。
DTR/DSR:
数据终端准备好时发
通信。
图2-2(a
DTR信号,在收到数据通信装置装备好中将这一对信号以“自握手”方式短接。
DSR信号后,
方可
R1:
原意是在
MODEM接收到电话互换机有效的拨号时,使RI有效,通知数据终端准备传递。
在无MODEM时也可和DTR相接。
图2-2(b给出了无MODEM状况下,DTE对DTE异步串行通信线路的完好连结,它不单合用于
微型机和微型机之间的通信,还合用于微型机和异步串行外面设施(如终端机、画图仪、数字
化仪等的连结。
⑵信号电平规定
示逻辑“1”。
+3V
标准称为EIA电平。
RS—232C规定了双极性的信号逻辑电平:
-3V到-25V之间的电平表到+25V之间的电平表示逻辑“0”。
所以这是一套负逻辑定义。
以上PC/XT系列使用的信号电平是-12V和+12V,切合EIA标准,
但在计算机内部流动的信号都是TTL电平,所以这中间需要用电平变换电路。
常用芯片
MCl488或SN75150将TTL电平变换为EIA电平,MCl489或SN75154将EIA电平变换为
电平。
PC/XT系列以这类方式进行串行通信时,在波特率不高于9600的状况下,理论上通
TTL
2)20mA电流环20mA电流环并无形成一套完好的标准,主假如将数字信号的表示方法不使用电子的
高低,而改用20mA电流的有无:
“1”信号在环路中产生20mA电流;
“0”信号无电流产生。
自然也需要
有电路来实现TTL电平易20mA电流之间的变换。
图2-3是PC/XT微机中使用的一种20mA电流环接口。
当
发送方SOUT=1时,便有20mA电流灌入接收方的光耦合器,于是光耦合器导通,使SIN=1。
反之当发送方
SOUT=0时环路电流为零,接收方光耦合器截止,SIN=0。
明显,当要求双工方式通信时,两方都应各有收
发电路,通信联线起码要4根。
因为通信两方利用光耦合器实现电气上隔绝,并且信号又是双端回路方式,
故有很强的抗扰乱性,能够传递远至1千米的距离。
图2-320mA电流环接口
“0”、“1”信号的表示方法不同外,其余方面(如字符的传输格式常借用RS—232C标准。
所以PC/XT微机中的异步串行信道接口常常将这两种标准做在一同,实质经过跨接线从两者中择一使用。
3.ARM自带的串行口寄存器
ARM自带两个串行口,各带有16字节的FIFO(先入先出寄存器),最大波特率
115.2K。
每个UART有7种状态:
溢犯错误、校验错误、帧错误、暂停态、接收缓冲区准备
好、发送缓冲区空、发送移位缓冲器空,这些状态能够由相应的UTRSTATn/UERSTATn表示,
并且与发送接收缓冲区相对应的有错误缓冲区。
波特率的能够经过控制波特率寄存器
(UBRDIVn)控制,
与UART有关的寄存器主要有以下几个:
(1)UART线性控制寄存器ULCONn,其地点和各位的意义拜见表
2-1:
表2-1ULCONn功能定义
ULCONn位描绘初始化状态
保存
[7]
红外模式
红外模式位决定能否使用红外模式:
0—正常模式;
1—红外
[6]
模式
奇偶校验模式指定当UART履行发送和接收操作时怎样进行
奇偶校验模式
[5:
3]奇偶校验的产生和检查:
0xx—无奇偶校验;
100—奇校
000
验;
110=奇偶校验强迫为1;
111=奇偶校验强迫为0
停止位个数[2]每帧停止位的个数:
0—1位;
1—两位。
0
数据位长度
字长位决定每帧发送或接收的数据位数:
00—5位;
01—6
[1:
0]
位;
11—8
00
10—7
由上表能够看出,该寄存器的第6位决定能否使用红外摸式,位5~3决定校验方式,位2
决定停止位长度,位1和0决定每帧的数据位数。
参照:
一般模式,无奇偶校验,1位停止位,8为数据长度。
(2)UART控制寄存器UCONn,该寄存器决定UART的各样摸式。
UARTFIFO控制寄存器
UFCONn,UARTMODEM控制寄存器,分别决定UARTFIFO和MODEM的模式。
此中UFCONn的第
0位决定能否启用FIFO,UMCONn的第0位是恳求发送位,对我们来说是比较重要的。
控制寄存器UCONn的功能定义如表2-2所示。
表2-2UCONn功能定义
UCONn位描绘
中断恳求种类0=Pulse(在发放缓
发送中断种类[9]冲区变空时立刻引起中断1=Level
(在发送缓冲区为空进引起中断
中断请示种类0=Pulse(
接收缓冲区
接收中断种类
接收到数据时立刻引起中断
1=Level
[8]
(I接收缓冲区正在接收数据时引起中
断
接收超收中断使能
在UART的FIFO使能的状况下,使能/
0=严禁1=
使能
严禁接收超时中断
接收错误状态中断
在接收操作时有跳变、帧错误、奇偶
校验错误和溢犯错误时,使能
UART产
生中断0=不产生接收错误状态中断
初始化状
态
1=产生接收错误状态中断t
设置回送位为1,使得UART进入回
回送模式
[5]送模式。
这个模式不过为了检测。
0=
标准操作1=回送模式。
设置这个位使得UART在1
帧的时间
发送中断信号
[4]
里发送一个停止信号。
在发送完停止
信号后该位自动清零。
0=标准传输1=
发送停止信号。
这两个位决定了当前哪个操作过程可
以将Tx数据写入到UART传输保持寄
存器。
00=不可以够01=中断恳求或查
传输模式
[3:
2]询模式10=BDMAO恳求(只关于
UART0)11=BDMA1恳求(只关于
UART1)。
接收模式
以从UART接收缓冲寄存器读取数
据。
00=不可以够01=中断恳求或查问
模式10=BDMAO要求11=BDMA1恳求。
Tx电平触发,Rx边缘触发,严禁接收超时中断,同意接收错误中断,发送和接受模式均为
01。
(3)读写状态寄存器UTRSTAT以及错误状态寄存UERSTAT,能够反应芯片当前的读写状态以及错误种类。
FIFO状态寄存器UFSTAT和MODEM状态寄存器UMSTAT,经过前者能够读出当前FIFO能否满以及
此中的字节数;
通事后者能够读出当前MODEM的CTS状态。
UTRSTATn和UERSTATn的功能定义分别如表
2-3、2-4所示。
表2-3UTRSTATn功能定义
UTRSTATn位描绘初始化状态
传输移位器空
传输缓冲器空
接收缓冲数据
准备
当传输移位寄存器无有效数据去传输时,
[2]
该位自动设为1,传输移位寄存器为空。
1
0=非空1=传输保持和移位寄存器空。
当传输FIFO/缓冲寄存器无有效值数据,
该位自动设置为1.0=缓冲寄存器非空1=
[1]
空。
假如UART使用FIFO,使用者不用看
这位,只需检查UFSTAT寄存器的TxFIFO
计数位和TxFIFO所有位
不论何时,当接收缓冲寄存器在
RXDn端
口接收到有效值时,该位自动置为
1。
0=
[0]
全空1=缓冲寄存器收到数据。
1
字节
FIFO16字节/缓冲寄存器接收到数据。
如
果UART使用FIFO,使用者不需看这位,只需检查
UFSTAT寄存器的RxFIFO计数位。
表2-4UERSTATn功能定义
UERSTATn位描绘初始化状态
中断检测
该位自动设置为
1表示接收到中断信号。
[3]
没有收到中断1=收到中断
帧错误
奇偶错误
溢犯错误
不论何时,在接收操作中发生帧错误时,该位自动设置为1.0=在接收中无帧错误1=帧错误
不论何时,当接收操作中有奇偶发生时,该位自动设置为1.0=在接收中无奇偶错误发生1=奇偶错误
不论何时,当接收操作中发生溢犯错时,该位自动设置为1.0=接收中无溢犯错发生1=
溢犯错。
(4)发送寄存器UTXH和接收寄存器URXH,这两个寄存器寄存着发送和接收的数据,自然只有一个字节8位数据。
需要注意的是在发生溢犯错误的时候,接收的数据一定要被读出来,不然会引起下次溢犯错误。
(5)最后是波特率引子寄存器UBRDIV。
该寄存器为十六位,算法拜见上页的部分。
计算公式以下:
UBRDIVn=(round_off(MCLK/(bps×
16-1
此中MCLK是系统频次,比如在40MHz的状况下,当波特率取115200时,
UBRDIVn=(int(40000000/(115200
×
16+0.5-1
=(int(21.7+0.5-1
=22-1=21
注意:
因为ARM工作时存在小端和大端两种工作模式,所以相同一个寄存器在不同模式时地点也不相同,需要加以差别。
六、实验步骤
1.新建工程,将“Exp2ARM串口实验”中的文件增添到工程中,这些是启动时所需要
的文件。
2.定义与UART有关的各个寄存器地点和一些特别的位命令。
主要有以下各寄存器(44b.h):
/*UART的所有功能寄存器*/
#definerULCON0(*(volatileunsigned*0x1d00000
#definerULCON1(*(volatileunsigned*0x1d04000
#definerUCON0(*(volatileunsigned*0x1d00004
#definerUCON1(*(volatileunsigned*0x1d04004
#definerUFCON0(*(volatileunsigned*0x1d00008
#definerUFCON1(*(volatileunsigned*0x1d04008
#definerUMCON0(*(volatileunsigned*0x1d0000c
#definerUMCON1(*(volatileunsigned*0x1d0400c
#definerUTRSTAT0(*(volatileunsigned*0x1d00010
#definerUTRSTAT1(*(volatileunsigned*0x1d04010
#definerUERSTAT0(*(volatileunsigned*0x1d00014
#definerUERSTAT1(*(volatileunsigned*0x1d04014
#definerUFSTAT0(*(volatileunsigned*0x1d00018
#definerUFSTAT1(*(volatileunsigned*0x1d04018
#definerUMSTAT0(*(volatileunsigned*0x1d0001c
#definerUMSTAT1(*(volatileunsigned*0x1d0401c
#definerUBRDIV0(*(volatileunsigned*0x1d00028
#definerUBRDIV1(*(volatileunsigned*0x1d04028
#ifdef__BIG_ENDIAN//大端摸式
#definerUTXH0(*(volatileunsignedchar*0x1d00023
#definerUTXH1(*(volatileunsignedchar*0x1d04023
#definerURXH0(*(volatileunsignedchar*0x1d00027
#definerURXH1(*(volatileunsignedchar*0x1d04027
#defineWrUTXH0(ch(*(volatileunsignedchar*(0x1d00023=(unsignedchar(ch
#defineWrUTXH1(ch(*(volatileunsignedchar*(0x1d04023=(unsignedchar(ch
#defineRdURXH0((*(volatileunsignedchar*(0x1d00027
#defineRdURXH1((*(volatileunsignedchar*(0x1d04027
#defineUTXH0(0x1d00020+3//byte_accessaddressbyBDMA
#defineUTXH1(0x1d04020+3
#defineURXH0(0x1d00024+3
#defineURXH1(0x1d04024+3
#else//小端摸式
#definerUTXH0(*(volatileunsignedchar*0x1d00020
#definerUTXH1(*(volatileunsignedchar*0x1d04020
#definerURXH0(*(volatileunsignedchar*0x1d00024
#definerURXH1(*(volatileunsignedchar*0x1d04024
#defineWrUTXH0(ch(*(volatileunsignedchar*0x1d00020=(unsignedchar(ch
#defineWrUTXH1(ch(*(volatileunsignedchar*0x1d04020=(unsignedchar(ch
#defineRdURXH0((*(volatileunsignedchar*0x1d00024
#defineRdURXH1((*(volatileunsignedchar*0x1d04024
#defineUTXH0(0x1d00020//byte_accessaddressbyBDMA
#defineUTXH1(0x1d04020
#defineURXH0(0x1d00024
#defineURXH1(0x1d0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 串口 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)