版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章基于S3C2410的系统硬件设计 串口通信1. 通信通信 通信:通信:计算机与外界进行信息交换统称为通信。计算机与外界进行信息交换统称为通信。 嵌入式系统应用于数据采集或工业控制时嵌入式系统应用于数据采集或工业控制时,往往作为往往作为前端机前端机(下位机下位机)安装在工业现场安装在工业现场,远离远离主机主机,现场数据采用现场数据采用串行通信方式串行通信方式发往发往主机主机(上位机上位机)进行处理进行处理,以降低通信成本以降低通信成本,提高通信可靠性提高通信可靠性.如下图所示如下图所示. 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电
2、路 编程实例编程实例嵌嵌入入式式嵌嵌入入式式嵌嵌入入式式通信方式有两种通信方式有两种:1.并行通信并行通信(Parallel):所传送数据的所传送数据的各位同时发送或接收各位同时发送或接收,数据数据有多少位就需要多少根数据线。有多少位就需要多少根数据线。计算机内部的数据传送一计算机内部的数据传送一般均采用并行方式。般均采用并行方式。特点特点:速度快速度快,成本高成本高,适合近距离传输适合近距离传输(相距数米相距数米) 如如计算机并口计算机并口,打印机打印机,8255 . 2.串行通信串行通信(Serial):所传送所传送数据的各位按顺序一位一位数据的各位按顺序一位一位地发送地发送或接收。只需或
3、接收。只需一根数据一根数据,一根地线一根地线,共共2根根(如双向通信发送如双向通信发送和接收各需和接收各需1根数据线根数据线.)计算机与外界的数据传送一般均计算机与外界的数据传送一般均采用串行方式。采用串行方式。特点特点:成本低成本低,硬件方便硬件方便,串行通讯的距离可以从串行通讯的距离可以从几米到几千米几米到几千米,传输速度低传输速度低.5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例52. 串行通
4、信的特点串行通信的特点特点特点1:只用一根通信线在一个方向上传输信息,这根只用一根通信线在一个方向上传输信息,这根线上既要传送线上既要传送数据信息数据信息又要传送又要传送联络信息联络信息;特点特点2:为了能够识别在一根线上串行传送的信息流中,为了能够识别在一根线上串行传送的信息流中,哪一部分是联络信息,哪一部分是数据信息,需要通哪一部分是联络信息,哪一部分是数据信息,需要通信双方事先作出一系列的通信约定,这就是协议信双方事先作出一系列的通信约定,这就是协议, 即即信信息格式必须事先用协议约定息格式必须事先用协议约定。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART
5、 UART接口电路接口电路 编程实例编程实例7串行通讯串行通讯的数据传输方向的数据传输方向 按通信方向分类按通信方向分类:单工、半双工、全双工单工、半双工、全双工通信方式通信方式 1. 单工方式单工方式(Simplex Mode):如果在通信过程的任意如果在通信过程的任意时刻时刻,信息只能由信息只能由一方一方A传到另一方传到另一方B,则称为单工则称为单工.一一端是发送端端是发送端,另外一端是接收端另外一端是接收端:如如广播电台和收音机广播电台和收音机5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例82.半双工方式半双工方
6、式 (Half Duplex) 如果在如果在任意时刻任意时刻,信息既可由信息既可由A传到传到B,又能由又能由B传传A,但只能由一个方向上的传输存在但只能由一个方向上的传输存在,称为半双工传输称为半双工传输.每每端口有一个端口有一个发送器和一个接收器发送器和一个接收器,通过开关连接在线通过开关连接在线路上路上,数据可以数据可以双向传送双向传送,但不能同时发送和接收但不能同时发送和接收. 要要通过换向器转换方向通过换向器转换方向.如如对讲机对讲机.5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例9 全双工方式全双工方式(Fu
7、ll Duplex) 如果在如果在任意时刻任意时刻,线路上存在线路上存在A到到B和和B到到A的双向的双向信号传输信号传输,则称为全双工则称为全双工.通信双方用两个通信双方用两个独立独立的收的收发器单独连接发器单独连接,可以可以同时发送和接收数据同时发送和接收数据,因而提高因而提高了速度了速度.如如电话机电话机.5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例3.串行通信常用术语串行通信常用术语1)波特率:波特率:指每秒钟传送信号的数量指每秒钟传送信号的数量,单位为波特(,单位为波特(Baud)。)。比特率:比特率:每秒钟
8、传送二进制数的信号数每秒钟传送二进制数的信号数(即二进制数的位数,或称电信(即二进制数的位数,或称电信号数),单位是号数),单位是bps(bit per second)或写成)或写成b/s(位(位/秒)。秒)。 在计算机串行通信中,传送的信号是二进制信号,波特率与比特率数在计算机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用值上相等。单位采用bps。例:例:串行通信的数据传送的速率是串行通信的数据传送的速率是120字符字符/秒,而每个字符规定包含秒,而每个字符规定包含10位数字,则传输波特率为:位数字,则传输波特率为: 120字符字符/秒秒 10位位/字符字符=1200
9、位位/秒秒= 1200bps 若每个电信号所含信息量为1比特,则波特率等于比特率。若每个符号所含信息量不等于1比特,则波特率不等于比特率。在计算机中 ,每个符号所含信息量刚好等于1比特。于是就造成了波特率与每秒传输二进制位数这两者的吻合。因此,在计算机数据传输中人们常将比特率称为波特率。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例3.串行通信常用术语串行通信常用术语2)发送时钟和接收时钟)发送时钟和接收时钟发送器使用的时钟信号称为发送时钟发送时钟,接收器使用的时钟信号称为接收时钟接收时钟。作用:在串行通信中,发送器需
10、要用一定频率的时钟信号来决定发送的每一位数据所占用的时间长度。接收器也需要用一定频率的时钟信号来检测每一位输入数据。 串行通信所传送的二进制数据序列在发送时是以发送时钟作为数据位的划分界限,在接收时是以接收时钟作为数据位的检测和采样定时的。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例3.串行通信常用术语串行通信常用术语2)发送时钟和接收时钟)发送时钟和接收时钟5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例数据的收发过程数据的收发过程数据的发送
11、过程:数据的发送过程:写数据到发送器的数据输出寄存器写数据到发送器的数据输出寄存器 在发送时钟的在发送时钟的脉冲信号作用下将数据装入并入串出移位寄存器脉冲信号作用下将数据装入并入串出移位寄存器 在发送时钟控制在发送时钟控制下,把移位寄存器中的数据串行逐位移出到串行输出线上。下,把移位寄存器中的数据串行逐位移出到串行输出线上。每个数据位每个数据位的时间间隔由发送时钟周期来划分。的时间间隔由发送时钟周期来划分。数据的接收过程是:数据的接收过程是:在接收时钟的控制下,每隔一定时间采样一个数据位在接收时钟的控制下,每隔一定时间采样一个数据位 按时钟节拍将数据依次移入接收器中的串入并出移位寄存器按时钟节
12、拍将数据依次移入接收器中的串入并出移位寄存器 在接在接收时钟的脉冲信号作用下将数据装配到数据输入寄存器收时钟的脉冲信号作用下将数据装配到数据输入寄存器 CPU读取读取数据并存入系统存储器中。数据并存入系统存储器中。3.串行通信常用术语串行通信常用术语3)波特率因子)波特率因子 波特率因子:波特率因子:收发时钟频率与波特率之间存在的比例系数。波特率 = 收发时钟频率 / 波特率因子当发送(或接收)时钟频率一定时,通过选择不同的波特率因子(1、16、64),即可得到不同的波特率。可见:波特率因子就是对时钟频率进行分频,从而得到波特率的分频系数。5.5 串行接口串行接口 串行接口基本原理与结构串行接
13、口基本原理与结构UART UART接口电路接口电路 编程实例编程实例3.串行通信常用术语串行通信常用术语4)差错校验)差错校验校验是数据通信中的重要环节之一,常用的校验方法有下述两种:校验是数据通信中的重要环节之一,常用的校验方法有下述两种: 奇偶校验:奇偶校验:在所传输的有效数据位中附加冗余位(即检验位),利用冗余位的存在,使整个信息位(包括有效信息和校验位)中“1”的个数具有奇数或偶数的特性。这种利用信息位中“1”的个数奇偶性来达到校验目的的编码,称为奇偶校验码。 CRC校验(循环冗余校验:校验(循环冗余校验: Cyclic Redundancy Check ) :利用编码的原理,对传送的
14、二进制码序列,按特定规则产生相应的校验码(CRC校验码),并将CRC校验码放在有效信息代码之后,形成一个新的二进制序列,将其发送出去;接收时,依据特定的规则检查传输过程是否产生差错,如发现有错,可要求发送方重传,或作其它专门处理。 生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为0和1取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例3.串行通信常用术语
15、串行通信常用术语4)差错校验)差错校验校验是数据通信中的重要环节之一,常用的校验方法有下述两种:校验是数据通信中的重要环节之一,常用的校验方法有下述两种: 奇偶校验:奇偶校验:CRC校验(循环冗余校验:校验(循环冗余校验: Cyclic Redundancy Check ) : 特点:特点:它的编码效率高,校验能力强,对随机错码和突发错码(即连续多位产生错码)均能以较低的冗余度进行严格检错。而且它是基于整个数据块传输的一种校验方法,所以同步串行通信多采用CRC校验。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例4.串
16、行通信的分类:串行通信的分类:同步方式:同步方式:以数据块为单位进行数据传送,包括同步字符、数据以数据块为单位进行数据传送,包括同步字符、数据块和校验字符块和校验字符CRC。优点:数据传输速率较高;优点:数据传输速率较高;缺点:要求发送时钟和接收时钟保持严格同步。数据格式缺点:要求发送时钟和接收时钟保持严格同步。数据格式如下图所示。如下图所示。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例串行通信的分类:串行通信的分类:异步方式:异步方式:以字符为单位进行数据传送,每一个字符均按固定的以字符为单位进行数据传送,每一个
17、字符均按固定的字符格式传送,又被称为帧字符格式传送,又被称为帧。优点:优点:不需要传送同步脉冲,可靠性高,所需设备简单;不需要传送同步脉冲,可靠性高,所需设备简单;缺点:缺点:字符帧中因包含有起始位和停止位而降低了有效数字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。数据格式如下图所示:据的传输速率。数据格式如下图所示:5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例5. 信号的调制与解调信号的调制与解调调制:调制:进行长距离传输时,需要在发送端将进行长距离传输时,需要在发送端将数字信号转换成数字信号转换成适合
18、适合电话网传输的电话网传输的模拟信号模拟信号,这一过程称为,这一过程称为“调制调制”;解调解调:在接收端将电话网上传输的在接收端将电话网上传输的模拟信号还原成原来的数字信模拟信号还原成原来的数字信号号,这一过程称为,这一过程称为“解调解调”。数字信号数字信号模拟信号模拟信号数字信号数字信号5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例6.串行接口Serial Interfac:是指数据一位位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但
19、传送速度较慢。串口的出现是在1980年前后,数据传输率是115kbps230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用与由于两台计算机(或设备)之间的互联及数据传输。目前串口多用于工控和测量设备以及部分通信设备中。 串行接口按电气标准及协议来分包括RS-232C、RS-422、RS485等。RS-232C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编
20、程实例编程实例a) EIA RS-232C:是是异步串行异步串行通信中应用最广泛的标准总线,是通信中应用最广泛的标准总线,是美国美国EIA(Electronic Industries Association,电子工业联合会)开发公布的通信协议。,电子工业联合会)开发公布的通信协议。适合于数据传输速率在适合于数据传输速率在0-20kb/s范围内的通信,包括了按位串行传输的电气和机范围内的通信,包括了按位串行传输的电气和机械方面的规定。在微机通信接口中被广泛采用。械方面的规定。在微机通信接口中被广泛采用。1. 电气特性:电气特性: 逻辑逻辑1:-3V - -15V,典型值为,典型值为-12V; 逻
21、辑逻辑0:+3V - +15V ,典型值为,典型值为+12V2电平转换电平转换 下图为下图为EIA RS232C与与TTL电路之间进行电平转换的示意图电路之间进行电平转换的示意图1488: 输入为输入为TTL电平,电平, 输出为输出为RS-232C电平电平1489: 输入为输入为RS-232C电平,电平, 输出为输出为TTL电平电平5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例EIA RS-232C:3传输距离及通信速率:传输距离及通信速率:RS232C标准规定标准规定DTE和和DCE之间最之间最大传输距离为大传输距离
22、为15m。传输数据速率不能高于。传输数据速率不能高于20Kbp/s。4连接器连接器 最常用的最常用的RS232C连接器是连接器是DB9型连接器(也有型连接器(也有25型连接型连接器器),如下图所示。),如下图所示。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例(a) DB-25 (b) DB-925芯和9芯D型插接件引脚的定义和信号之间的对应关系5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例EIA RS-232C:5RS232C的接口信号的接口
23、信号1)请求发送请求发送RTS(Request to send):):表示表示DTE请求请求DCE发送数据。发送数据。2)允许发送允许发送CTS(Clear to send):):表示表示DCE准备接收准备接收DTE发来的数据。发来的数据。3)数据装置准备好数据装置准备好DSR(Data Set Ready):):此信号有效(此信号有效(ON状态)时状态)时表明表明MODEM处于可以使用的状态。处于可以使用的状态。4)数据终端准备好数据终端准备好DTR(Data Terminal Ready):):此信号有效(此信号有效(ON状状态)时表明数据终端可以使用。态)时表明数据终端可以使用。5)载波
24、检测载波检测DCD(Data Carrier Detection):):此信号用来表示此信号用来表示DCE已接已接通通信信道,通知通通信信道,通知DTE准备接收数据。准备接收数据。6)振铃指示振铃指示RI(Ringing):):当当MODEM检测到线路上有振铃呼叫信号时,检测到线路上有振铃呼叫信号时,使该信号有效(使该信号有效(ON状态)。状态)。7)发送数据发送数据TxD(Transimitted Data):):通过通过TxD线计算机将串行数据线计算机将串行数据发送到发送到DCE。8)接收数据接收数据RxD(Received Data):):通过通过RxD线计算机接收从线计算机接收从DCE
25、送来送来的串行数据。的串行数据。9)GND:地。地。DTE:数据终端设备,如PC 。DCE:数据通信设备,如MODEM 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例EIA RS-232C:信号线的连接信号线的连接1) 远距离连接远距离连接 远距离连接需要加调制解调器远距离连接需要加调制解调器MODEM,如下图所示。,如下图所示。2)近距离连接)近距离连接 近距离连接不用近距离连接不用MODEM,如下页图所示。,如下页图所示。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电
26、路接口电路 编程实例编程实例2)近距离连接:)近距离连接: 近距离连接不用近距离连接不用MODEM,如下图所示。,如下图所示。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例计算机利用RS-232C接口进行串口通信,有简单连接和完全连接两种连接方式。简单连接又称三线连接,即只连接发送数据线、接收数据线和信号地,如图6.1.2所示。如果应用中还需要使用RS-232C的控制信号,则采用完全连接方式,如图6.1.3所示。在波特率不高于9 600 bps的情况下进行串口通信时,通信线路的长度通常要求小于15米,否则可能出现数据丢
27、失现象。图6.1.2 简单连接形式 图6.1.3 完全连接形式 b)RS-422串行通信接口:串行通信接口:是RS-232的改进型,允许在相同传输线上连接多个接收节点,最多可接10个节点,即一个主设备(Master),其余10个为从设备(Salve),从设备之间不能通信。RS-422支持一点对多点(单机发送多机接收,最多10个)的双向通信。vRS-422的特性:最大传输距离:4000英尺(约1219m);最大传输速率:10Mb/s。注:传输速率与平衡双绞线的长度有关,只有在很短的距离下才能获得最高传输速率。在最大传输距离时,传输速率为100Kb/s。一般100m长的双绞线上所能获得的最大传输速
28、率仅为1 Mb/s。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例C)RS-485串行总线接口:串行总线接口:在RS-422的基础上,为扩展应用范围,EIA制定了RS-485标准,增加了多点、双向通信能力。vRS-485的特性:的特性: RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主设备,其余为从设备。RS-485可以连接多达32个设备。RS-485收发器采用平衡发送和差分接收,即在发送端,驱动器将在发送端,驱动器将TTL电平
29、信号转换成差分信号输出;电平信号转换成差分信号输出;在接收端,接收器将差分信号变成在接收端,接收器将差分信号变成TTL电平电平,因此具有抑制共模干扰的能力。接收器能够检测低达200mV的电压,具有高的灵敏度,故数据传输距离可达千米以上(几十米至上千米)。RS-485的共模输出电压在-7+12V之间,接收器最小输入阻抗为12k。RS-485满足所有RS-422的规范,所以RS-485的驱动器可以在RS-422网络中应用。RS-485的最大传输速率:10Mb/s。在最大传输距离时,传输速率为100Kb/s。RS-485需两个终端电阻,接在传输总线的两端,要求电阻阻值约等于传输电缆的特性阻抗。在短距
30、离传输(300m以下)时可不需终端电阻。5.5 串行接口串行接口 串行接口基本原理与结串行接口基本原理与结构构UART UART接口电路接口电路 编程实例编程实例6.1.2 S3C2410A的的UART1UART (Universal Asynchronous Receiver and Transmitter,通用异步收发器)简介:,通用异步收发器)简介:组成:主要由数据线接口、控制逻辑、配置寄存器、波特率发生器、发送部分和接收部分组成;传输方式:采用异步串行通信方式,采用RS-232C 9芯接插件(DB-9)连接,是广泛使用的串行数据传输方式,5.5 串行接口串行接口 串行接口基本原理与结构
31、串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例图6.1.4 UART的字符传输格式 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例UART以字符为单位进行数据传输,每个字符的传输格式如图6.1.4所示,包括线路空闲状态(高电平)、起始位(低电平)、58位数据位、校验位(可选)和停止位(位数可以是1、1.5或2位)。这种格式通过起始位和停止位来实现字符的同步。UART内部一般具有配置寄存器,通过该寄存器可以配置数据位数(58位)、是否有校验位和校验的类型以及停止位的位数 (1位、1.5位或2位
32、)等。2S3C2410A的的UART结构结构vS3C2410A的UART提供3个独立的异步串行I/O口,都可运行于中断模式或DMA模式。在使用系统时钟的情况下,UART可以支持最高230.4Kbps的传输速率。如果外部设备通过UEXTCLK为UART提供时钟,那么UART的传输速率可以更高。每个UART通道包含两个用于接收和发送数据的16字节的FIFO缓冲寄存器。v如图6.1.5所示,S3C2410A的UART由波特率发生器、发送器、接收器以及控制单元组成。波特率发生器的时钟可以由PCLK或UEXTCLK提供。发送器和接收器包含16字节的FIFO缓冲寄存器和数据移位器。发送时,数据被写入FIF
33、O,然后拷贝到发送移位器中,接下来数据通过发送数据引脚(TxDn)被发送。接收时,接收到的数据从接收数据引脚(RxDn)移入,然后从移位器拷贝到FIFO中。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例图图6.1.5 S3C2410A的的UART方框图(具有方框图(具有FIFO)发送缓冲寄存器发送缓冲寄存器发送移位器发送移位器波特率波特率发送器发送器接收移位器接收移位器接收缓冲寄存器接收缓冲寄存器3S3C2410A UART的操作:的操作:包含有数据发送、数据接收、中断产生、波特率发生、回送模式、红外模式和自动流控制
34、等。(1)数据发送()数据发送(Data Transmission):):发送的数据帧是可编程的。它包括1个起始位、58个数据位、1个可选的奇偶校验位和12个停止位,具体设置由行控制寄存器(ULCONn)确定。发送器还可以产生暂停状态,在一帧发送期间连续输出“0”。在当前发送的字完全发送完成之后发出暂停信号。在暂停信号发出后,继续发送数据到Tx FIFO(发送保持寄存器在非FIFO模式)。(2)数据接收()数据接收(Data Reception):):与数据发送类似,接收的数据帧也是可编程的。它包括1个起始位,58个数据位、1个可选的奇偶校验位和12个停止位,具体设置由行控制寄存器(ULCON
35、n)确定。接收器可以检测溢出错误和帧错误接收器可以检测溢出错误和帧错误。溢出错误溢出错误指新数据在旧数据还没有被读出之前就将其覆盖了。帧错误帧错误指接收的数据没有有效的停止位。注:当在3个字时间段没有接收任何数据和在FIFO模式RxFIFO不空时,产生接收暂停状态。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例(3)自动流控制()自动流控制(Auto Flow Control,AFC)如图6.1.6所示,S3C2410A的UART0和UART1使用nRTS和nCTS信号支持自动流控制。在这种情况下,它可以连接到外部的U
36、ART。如果用户希望将UART连接到Modem,则需要通过软件来禁止UMCONn寄存器中的自动流控制位并控制nRTS信号。图6.1.6 UART AFC接口5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例a)UART A发送发送b)UART A接收接收在AFC状态,nRTS根据接收器的状态和nCTS信号控制发送器的操作。只有当nCTS信号是有效时(在AFC状态,nCTS表示其他UART的FIFO已经准备好接收数据),UART的发送器才发送在FIFO中的数据。在UART接收数据之前,当其接收FIFO具有多余2字节的空闲空间
37、时,nRTS有效;如果其接收FIFO的空闲空间少于1字节,则nRTS无效(在AFC状态,nRTS指示它自己的接收FIFO已经准备好接收数据)。(4)RS-232接口(接口(RS-232C interface)如果用户希望将UART连接到Modem接口,则需要使用nRTS、nCTS、nDSR、nDTR、DCD和nRI信号。在这个状态,用户可以使用通用的I/O接口,通过软件来控制这些信号,因为AFC不支持RS-232C接口。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例(5)中断)中断DMA请求产生(请求产生(Interr
38、upt/DMA Request Generation)S3C2410A的每个UART有5个状态(Tx/Rx/Error)信号:溢出错误、帧错误、接收缓冲数据准备好、发送缓冲空、发送移位器空。这些状态通过相关的状态寄存器(UTRSTATn/UERSTATn)指示。v溢出错误和帧错误指示接收数据时发生的错误状态。如控制寄存器UCONn中的接收错误状态中断使能位置1,那么溢出错误和帧错误的任何一个都可以产生接收错误状态中断请求。当检测到接收错误状态中断请求时,可以通过读UERSTSTn的值来确定引起请求的信号。v如控制寄存器(UCONn)中的接收模式置为“1”(中断请求模式或查询模式),那么在FIF
39、O模式,当接收器将接收移位器中的数据传送到接收FIFO寄存器中,并且接收的数据量达到RxFIFO的触发水平时,则产生Rx中断。在非FIFO模式,如果采用中断请求和查询模式,当把接收移位器中的数据传送到接收保持寄存器中时,将产生Rx中断。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例v如控制寄存器(UCONn)中的发送模式置为1(中断请求模式或查询模式),那么在FIFO模式,当发送器将发送FIFO寄存器中的数据传送到发送移位器中,并且发送FIFO中剩余的发送数据量达到TxFIFO的触发水平时,则产生Tx中断。在非FIFO
40、模式,如果采用中断请求和查询模式,当把发送保持寄存器中的数据传送到发送移位器时,将产生Tx中断。v如果在控制寄存器中的接收模式和发送模式选择了DMAn请求模式,那么在上面提到的情况下将产生DMAn请求,而不是Rx或Tx中断。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例(6)波特率的产生()波特率的产生(Baud-Rate Generation)每个UART的波特率发生器为发送器和接收器提供连续的时钟。波特率发生器的时钟源可以选择使用S3C2410A的内部系统时钟或UEXTCLK。换句话说,通过设置UCONn的时钟选择
41、位可以选择不同的分频值。波特率时钟可以通过对源时钟(PCLK或者UEXTCLK)16分频和对在UART波特率系数寄存器(UBRDIVn)中的16位分频数设置得到。(7)回送模式()回送模式(Loopback Mode)S3C2410A DART提供一种测试模式,即回送模式,用于发现通信连接中的孤立错误。这种模式在结构上使UART的RXD与TXD连接。因此,在这个模式,发送的数据通过RXD被接收器接收。该模式通过设置UART控制寄存器(UCONn)的回送位来进行选择。 (8)红外模式()红外模式(Infra-Red (IR) Mode)S3C2410A的UART模块支持红外发送和接收,该模式可以
42、通过设置UART行控制寄存器(ULCONn)中的红外模式位来选择。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例4S3C2410A UART专用寄存器的配置专用寄存器的配置(1)UART行控制寄存器(ULCONn) UART行控制寄存器是UART通道0UART通道2行控制寄存器,包含有ULCON0、ULCON1和ULCON2,为可读写寄存器,地址为0 x5000 0000、0 x5000 4000和0 x5000 8000,其位功能如表6.1.2所列,复位值为0 x00,推荐使用值为0 x3。5.5 串行接口串行接口
43、串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例表表6.1.2 UART行控制寄存器的位功能行控制寄存器的位功能ULCONn的位功能 位 设置 保留 7 保留位 红外正常模式选择 6 0:正常模式;1:红外模式 奇偶校验模式选择 5:3 0 xx:无奇偶校验;100:奇校验101:偶校验110:强制奇偶校验校验1;111:强制奇偶校验校验0 停止位选择 2 0:每帧1个停止位;1:每帧2个停止位 发送或者接收字长设置 1:0 00:5位;01:6位;10:7位;11:8位 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UA
44、RT UART接口电路接口电路 编程实例编程实例(2)UART控制寄存器(UCONn)UART控制寄存器(UCONn)是UART通道0UART通道2控制寄存器,包含有UCON0、 UCON1和UCON2,为可读写寄存器,地址为0 x5000 0004、0 x5000 4004和0 x5000 8004,其位功能如表6.1.3所列,复位值为0 x00,推荐使用值为0 x245。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例表表6.1.3 UART控制寄存器(控制寄存器(UCONn)的位功能)的位功能 UCONn的位功能位
45、设置波特率时钟选择100:使用PCLK ,UBRDIVn = (int)(PCLK / (bps x 16) ) -1;1:使用UEXTCLK(GPH8),UBRDIVn=(int)(UEXTCLK/(bps16)-1发送中断请求类型选择90:脉冲;1:电平接收中断请求类型选择80:脉冲;1:电平Rx超时中断使能控制70:禁止;1:使能接收错误状态中断使能控制60:禁止;1:使能回送模式选择50:正常模式;1:回送模式保留4保留位5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例发送模式选择3:2确定将Tx数据写入UART
46、发送缓冲寄存器的模式。00:禁止;01:中断请求或查询模式;10:DMA0请求(仅UART0),DMA3请求(仅UART2);11:DMA1请求(仅UART1)接收模式选择1:0确定从UART接收缓冲寄存器读数据的模式。00:禁止;01:中断请求或查询模式;10:DMA0请求(仅UART0),DMA3请求(仅UART2);11:DMA1请求(仅UART1)5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例(3)UART FIFO控制寄存器(UFCONn)UART FIFO控制寄存器(UFCONn)是UART通道0UART通
47、道2的FIFO控制寄存器,包含有UFCON0、 UFCON1和UFCON2,为可读写寄存器,地址为0 x5000 0008、0 x5000 4008和0 x5000 8008,其位功能如表6.1.4所列,复位值为0 x0,推荐使用值为0 x0。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例表6.1.4 UART FIFO控制寄存器(UFCONn)的位功能 UFCONn的位功能位描述发送FIFO的触发条件选择7:600:空;01:4字节;10:8字节;11:12字节接收FIFO的触发条件选择5:400:4字节;01:8字
48、节;10:12字节;11:16字节保留3保留位Tx FIFO复位位2该位在FIFO复位后自动清除。0:正常;1:Tx FIFO复位Rx FIFO复位位1该位在FIFO复位后自动清除0:正常;1:Rx FIFO复位FIFO使能控制00:禁止;1:使能(4)UART Modem控制寄存器(UMCONn)UART Modem控制寄存器(UMCONn)是UART通道0和 UART通道1 调制解调器控制寄存器,包含有UMCON0和 UMCON1,为可读写寄存器,地址为0 x5000 000C、0 x5000 400C和0 x5000 800C,其中0 x5000 800C为保留寄存器,其位功能如表6.1
49、.5所列,复位值为0 x0,推荐使用值为0 x0。5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例表6.1.5 UART Modem控制寄存器(UMCONn)的位功能UMCONn的位功能位描述发送FIFO的触发条件选择7:600:空;01:4字节;10:8字节;11:12字节接收FIFO的触发条件选择5:400:4字节;01:8字节;10:12字节;11:16字节保留3保留位Tx FIFO复位位2该位在FIFO复位后自动清除。0:正常;1:Tx FIFO复位Rx FIFO复位位1该位在FIFO复位后自动清除0:正常;1:
50、Rx FIFO复位FIFO使能控制00:禁止;1:使能5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例5.5 串行接口串行接口 (5)UART发送缓冲数据寄存器(UTXH0,UTXH1和UTXH2 )用来保存发送数据。(L:小端模式:B:大端模式) 寄存器地址读/写描述复位值UTXH00 x50000020(L)0 x50000023(B)W(字节)UART通道0发送缓存寄存器-UTXH10 x50004020(L)0 x50004023(B)W(字节)UART通道1发送缓存寄存器-UTXH20 x50008020(L)
51、0 x50008023(B)W(字节)UART通道2发送缓存寄存器-串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例UTXH0,UTXH1和UTXH2寄存器相应位描述UTXHn位描述复位值TXDATAn7:0UARTn的发送数据-5.5 串行接口串行接口 (6)UART接收数据的缓冲寄存器(URXH0,URXH1和URXH2)保存接收数据。 寄存器地址读/写描述复位值URXH00 x50000024(L)0 x50000027(B)R(字节)UART通道0接收缓存寄存器-URXH10 x50004024(L)0 x50004027(B)R(字节)
52、UART通道1接收缓存寄存器-URXH20 x50008024(L)0 x50008027(B)R(字节)UART通道2接收缓存寄存器-串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例URXH0,URXH1和URXH2寄存器相应位描述URXHn位描述复位值RXDATAn7:0UARTn接收的数据-5.5 串行接口串行接口 (7)UART 发送接收状态寄存器 (UTRSTAT0,UTRSTAT1和UTRSTAT2 )串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例寄存器地址读/写描述复位值UTRSTA
53、T00 x50000010RUART通道0发送接收状态寄存器0 x6UTRSTAT10 x50004010RUART通道1发送接收状态寄存器0 x6UTRSTAT20 x50008010RUART通道2发送接收状态寄存器0 x65.5 串行接口串行接口 (7)UART 发送接收状态寄存器 (UTRSTAT0,UTRSTAT1和UTRSTAT2 )串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例UTRSTAT0、UTRSTAT1和UTRSTAT2寄存器相应位描述UTRSTATn20位描述复位值发送器为空2当发送缓存和发送移位寄存器为空时,自动置1。
54、0 :不为空;1:发生器为空1发送缓存为空1当发送缓存为空时,自动置1。0:发送缓存不为空;1:发送缓存为空1接受缓存数据准备就绪0接收缓存寄存器包含有效数据,自动置1。0:接收缓存寄存器空1:接收缓存寄存器有接收到的有效数据05.5 串行接口串行接口 (8)UART错误状态寄存器 (UERSTAT0,UERSTAT1和UERSTAT2 ) UERSTAT0、UERSTAT1和UERSTAT2寄存器描述串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例寄存器地址读/写描述复位值UERSTAT00 x50000014RUART通道0接收错误状态寄存器
55、0 x0UERSTAT10 x50004014RUART通道1接收错误状态寄存器0 x0UERSTAT20 x50008014RUART通道2接收错误状态寄存器0 x05.5 串行接口串行接口 (8)UART错误状态寄存器 (UERSTAT0,UERSTAT1和UERSTAT2 ) UERSTAT0、UERSTAT1和UERSTAT2寄存器描述串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例UERSTATn位位描述描述复位值复位值保留保留3 3保留保留0 0帧错误帧错误2 2在接收操作中,任何时候发生帧错误该位都将自动置在接收操作中,任何时候发生
56、帧错误该位都将自动置1 1。0 0:接收时未发生帧错误:接收时未发生帧错误1 1:接收时发生帧错误:接收时发生帧错误0 0保留保留1 1保留保留0 0溢出错误溢出错误0 0在接收操作中,任何时候发生帧错误该位都将自动置在接收操作中,任何时候发生帧错误该位都将自动置1 1。0 0:接收时未发生溢出错误:接收时未发生溢出错误1 1:接收时发生溢出错误:接收时发生溢出错误0 0(9)UART FIFO状态寄存器 (UFSTAT0,UFSTAT1和UFSTAT2 ) UFSTAT0、UFSTAT1和UFSTAT2寄存器描述 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART
57、 UART接口电路接口电路 编程实例编程实例寄存器地址读/写描述复位值UFSTAT00 x50000018RUART通道0 FIFO状态寄存器0 x00UFSTAT10 x50004018RUART通道1 FIFO状态寄存器0 x00UFSTAT20 x50008018RUART通道2 FIFO状态寄存器0 x00(9) UFSTAT0、UFSTAT1和UFSTAT2寄存器描述 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例UFSTATn位描述复位值保留15:10保留0发送FIFO满9发送操作中,发送FIFO满的任何时
58、候,该位都将自动置10:0字节=发送FIFO数据 =15字节1:满0接收FIFO满8接收操作中,接收FIFO满的任何时候,该位都将自动置1。0:0字节=接收FIFO数据 0-6.1.3 与 S3C2410A UART连接的串行接口电路1S3C2410A UART与与RS-232C的接口电路的接口电路v要完成最基本的串行通信功能,实际上只需要RXD、TXD和GND即可。由于RS-232C标准所定义的高、低电平信号与S3C2410A系统的LVTTL电路所定义的高、低电平信号不同,RS-232C标准采用负逻辑方式,标准逻辑“1”对应-3V-15V电平,标准逻辑“0”对应+3V+15V电平。vLVTT
59、L的标准逻辑“1”对应23.3V电平,标准逻辑“0”对应00.4V电平。显然,两者间要进行通信必须经过信号电平的转换。目前常使用的电平转换电路有MAX232等。S3C2410A与MAX232的接口电路如4.21所示。v在图6.1.7中,包含有UART0和UART1与RS-232C的接口电路,通过9芯的D型插头与外设连接。也可设计数据发送与接收的状态指示LED,当有数据通过串行口传输时,LED闪烁,便于用户掌握其工作状态,以及进行软、硬件的调试。 5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UART接口电路接口电路 编程实例编程实例图图6.1.7 S3C241
60、0A的的RS-232C接口电路接口电路 6.1.4 S3C2410A UART编程实例v工程模板uart.c文件参考v本程序实例实现从UART0接收数据,然后分别从UART0和UART1发送出去。其功能可以把键盘敲击的字符通过PC机的串口发送给ARM系统上的UART0,ARM系统上的UART0接收到字符后,再通过UART0和UART1送给PC机,这样就完成了串口间的收发数据。要实现以上数据的收发功能,需要编写的主要代码如下。1定义与定义与UART相关的寄存器相关的寄存器以UART0为例,需要定义的寄存器如下:5.5 串行接口串行接口 串行接口基本原理与结构串行接口基本原理与结构UART UAR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年吉安市泰和县旅游投资发展有限公司招聘考试真题
- 2026年阿克苏市工会系统事业单位人员招聘考试备考试题及答案详解
- 2026广西百色田东县博物馆讲解员招聘1人考试模拟试题及答案解析
- 2026年德阳市社区工作者招聘考试备考试题及答案详解
- 2026年福建泉州台商投资区医院公开招聘工作人员笔试备考试题及答案解析
- 2026年巴彦淖尔市中小学(幼儿园)教师招聘考试备考试题及答案详解
- 2026年澄迈县美亭医院医护人员招聘笔试模拟试题及答案解析
- 2026年安阳市中小学(幼儿园)教师招聘考试备考试题及答案详解
- 2026年本溪市环境系统事业单位人员招聘考试备考试题及答案详解
- 2026年保定市党校系统事业单位人员招聘考试备考试题及答案详解
- 2026年抗菌药物考试题及答案
- 2026年山东省夏季高考《语文》作文专项练习及答案解析(全国I卷)
- 第二轮土地承包到期后再延长30年试点工作意见政策解读
- 四川省成都市 2026 届高三第三次诊断性考试试题(含答案)
- 2018年上半年全国事业单位联考D类《职业能力倾向测验》答案+解析
- 2026年北京市平谷区初三下学期一模道德与法治试卷和答案
- 医院屋顶光伏施工造价预算方案模板
- GA/T 1773.1-2021机动车驾驶人安全文明操作规范第1部分:通用要求
- 健身气功八段锦教案
- 最新-精神活性物质所致精神障碍-课件
- 被动语态游戏教育课件
评论
0/150
提交评论