付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章通用同步异步收发器1本章内容简介串行通信的基本概念PIC中档单片机的USART模块USART模块的应用2串行通信的基本概念3串行通信的基本概念所谓串行通信是指数据逐位传输,在一个单位时间内只完成一位传输,因此要传输n位数据,就需要n个单位时间,再加上一些辅助信息位,则需要更多的时间。串行通信的缺点是传输慢、效率低,其优点是所需通信线路少、占用I/O资源少、传输成本较低、适宜长距离通信。4串行通信的基本概念通信类型分为:同步通信、异步通信;方式上有:单工、半双工、全双工通信方式;标准或协议上有:RS-232C、RS-422、RS-485、USB、SPI、I2C、IEEE-1394、CAN总
2、线等;5串行通信的基本概念码型上有:NRZ(Nonreturn-To-Zero不归零)码、曼彻斯特(Manchester)码和差分曼彻斯特(Differential Manchester)码等;编码上有:ASCII码、二进制编码、BCD码、格雷码等;同步/异步的帧结构也各不相同;校验方式上有:奇偶校验、CRC校验、和校验等;在组网方面有:总线型、星型、环型、树型等6串行通信的基本类型串行通信分为同步传送和异步传送两种基本类型。各有不同的特点和应用领域。1、异步传送方式异步传送是指无需同步时钟的传输,也即,在传输信道的两端(收方和发方)可以用各自的时钟,而不需要用同一个时钟来同步两端的通信事件和
3、通信过程。7串行通信的基本类型异步传输通常是以字符为单位来传输的,且通信双方需按事先的约定或协议来进行通信活动 。其中包括:从一个起始位开始一个字符的传输,数据传输率(波特率)的大小、字符的位数、是否有校验位、停止位的个数等。8串行通信的基本类型包括起始位、数据位、校验位、停止位在内的一组信息,称为一个数据帧。如图10.1所示。异步传送,因无需同步时钟线、易于实现、占用资源少、较为常用,但传输效率低。每一帧传送一个字符,帧与帧之间可以是连续的,也可以有间断,由传输需要而定。若有间断,传输线路上处于空闲状态,此时,通常为高电平。9串行通信的基本类型图10.1 异步通信的帧结构10串行通信的基本类
4、型2、同步传送方式同步传送是指需要同步时钟的传输,即在传输过程中,通信的两端需采用同一时钟来同步传输的数据。在物理链路上往往要增加一条时钟线。同步时钟通常由主控方提供。若无同步时钟线,则需采用其它措施保证通信双方时钟的严格同步11串行通信的基本类型通常,每组信息由多个字符组成,称为一帧。同步通信要求连续的数据流,也即,不允许数据包间有间断,在没有信息传输时,要插入空字符。相比异步通信,同步通信具有传输效率高、同步精确度好的优点,同步通信的实例如:SPI、I2C等。12串行通信的方式串行通信在方式上分为:单工、半双工、全双工通信方式等。1、单工传送方式单工(Simplex)通信就是指单方向通信,
5、是指信息流只能单方向流动、由发方传输到收方,而不能逆向传输,如图10.2所示。13串行通信的方式2、半双工传送方式半双工(Half Duplex)通信就是指不完全的双方向通信,是指信息流能分时、在同一信道内双方向流动,如图10.3所示。图10.2 单工通信方式14串行通信的方式3、全双工传送方式全双工(Full Duplex)通信就是指完全双方向通信,有两个信息传输的途径,信息流能在双方同时向对方传。通信的任何一方能同时完成收发任务,如图10.4所示。图10.3 半双工通信方式15串行通信的方式图10.4 双工通信方式16串行通信的标准串行通信中常用的标准有:RS-232C、RS-422、RS
6、-485、USB、SPI、I2C、IEEE-1394、CAN总线等,其中在PIC单片机中较常用的有RS-232C、RS-422、RS-485、SPI、I2C等标准。17串行通信的标准RS-232C标准1) RS-232C信号定义RS-232C在常用的DB9(九芯)和DB25(25芯)两种连接器中的信号定义如表10.1所示。(表中未标出部分为地线或悬空引脚)18串行通信的标准DB9DB25引脚信号缩写功能说明引脚信号缩写功能说明1DCD 数据载波检测8DCD 数据载波检测2RXD 接收数据3RXD 接收数据3TXD 发送数据2TXD 发送数据4DTR 数据终端准备好20DTR 数据终端准备好5G
7、ND 信号地7GND 信号地6DSR 数据设备准备好6DSR 数据设备准备好7RTS 请求发送4RTS 请求发送8CTS 清除发送5CTS 清除发送9RI 振铃指示22RI 振铃指示表10. RS-232C信号定义19串行通信的标准2) RS-232C电气特性规定EIA-RS-232C对电器特性、逻辑电平也作了规定。在TxD和RxD上:逻辑1 (MARK,传号)为-3V-15V逻辑0 (SPACE,空号) 为+3+15V在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压) 为+3V+15V信号无效(断开,OFF状态,负电压) 为-3V-15V20串行通信的标准
8、3)EIA-RS-232C与TTL转换EIA-RS-232C是用负电压来表示逻辑状态1、是用正电压来表示逻辑状态0,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。21串行通信的标准目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTLEIA双向电平转换,MAX232内包含有两组TTLEIA双向电平转换电路。图10.5显示了MAX232的
9、内部结构和引脚。22串行通信的标准图10.5 RS-232C电平与TTL电平转换电路23串行通信的标准4) 连接器的机械特性连接器: 由于RS-232C并未定义连接器的物理特性,常用的两种连接器DB-25和DB-9的外形及信号线分配如图10.6所示。24串行通信的标准图10.6 RS-232C常用连接器引线图5) 电缆长度:在通信速率低于20kb/s时, RS-232C所直接连接的最大物理距离 为15m(50英尺)。25串行通信的标准RS-422/RS-485标准RS-422由RS-232发展而来,它弥补l了RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定
10、义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1000米以上,并允许在一条平衡总线上连接最多10个接收器。26串行通信的标准为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一对总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围27串行通信的标准1)平衡传输RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B,另有一个信号地C(收发方可以不连接),如图10.7所示。28串行通信的标准发送驱
11、动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在-2-6V,是另一个逻辑状态。图10.7 RS-422/485平衡传输示意图29串行通信的标准在RS-485中还有一个Enable (使能)端,而在RS-422中,使能端是可用可不用的。使能端是用于控制发送驱动器与传输线的切断与连接。当使能端被禁止时,发送驱动器处于高阻状态。30串行通信的标准接收器与发送器有相应的规定。收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。参见图10.8。31串
12、行通信的标准图10.8 RS-422/485平衡传输电平示意图32串行通信的标准2) RS-422电气规定RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。图10.9是典型的RS-422四线接口(全双工方式)。实际上还有一根信号地线,共5根线。图10.10是其DB9连接器引脚定义。33串行通信的标准允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余10个为从设备(Salve),从设备之间不能通信,所以RS-422支持一点对多点的双向通信(工作于半双工方式)。RS-422的最大传输距离为4000英尺(约1219米),最大传输
13、速率为10Mb/s34串行通信的标准图10.9 RS-422四线接口示意图(全双工方式)35图10.10 RS-422采用DB9连接器的信号定义示意图串行通信的标准36串行通信的标准3)RS-485电气规定 RS-485许多电气规定与RS-422相仿,这里不再复述。如都采用平衡传输方式、都需要在传输线上接终端电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信(半双工方式)37串行通信的标准采用四线连接时(全双工方式),与RS-422一样只能实现一点对多点的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进, 无论四线还是二线连接方式总线上可
14、多接到32个设备。在主设备处于接收状态时,只能有一个从设备处于发送状态。38图10.11 RS-485采用二线式组网实现多点通信(半双工方式)串行通信的标准39图10.12 RS-485采用四线式组网实现一点对多点通信(全双工方式)串行通信的标准40串行通信的标准规定RS-232RS-422Rs-485工作方式单端差分差分节点数1收、1发1发10收1发32收最大传输电缆长度50英尺400英尺400英尺最大传输速率20Kb/S10Mb/s10Mb/s最大驱动输出电压+/-25V-7V+7V-7V+12V驱动器输出信号电平(负载最小值)负载+/-5V+/-15V+/-2.0V+/-1.5V驱动器输
15、出信号电平(空载最大值)空载+/-25V+/-6V+/-6V驱动器负载阻抗()3K7K10054摆率(最大值)30V/sN/AN/A接收器输入电压范围+/-15V-10V+10V-7V+12V接收器输入门限+/-3V+/-200mV+/-200mV接收器输入电阻()3K7K4K(最小)12K驱动器共模电压-3V+3V-1V+3V接收器共模电压-7V+7V-7V+12V表10.2 RS-232、RS-422/485电器特性一览表41串行通信的标准4)RS-422/485与TTL电平转换RS-422/485与TTL电平转换可通过专用电平转换芯片实现,例如美国MAXIM公司的MAX481/483/4
16、87(半双工方式)以及MAX488/489(全双工方式)等电平转换芯片来实现。42图10.13 RS-422/485电平转换器串行通信的标准43串行通信的标准图10.14 RS-422/485电平转换器连接示意图44串行通信中的帧结构在串行通信中,信息必须经过组装后才能在线路上传输,信息组装的最小形式称为帧(Frame)。一帧通常由起始位、数据位、校验位、停止位等4个部分组成,由起始位开始,至停止位结束,每帧传输一个字符。45串行通信中的帧结构图10.15异步串行通信RS-232的帧格式在一帧中,数据位可为5-9位,校验位可有可无。RS-232异步通信的帧格式如图10.15所示,其中数据位为低
17、位在前,高位在后。46串行通信中的校验与纠错方式串行通信中常用的校验方式有:奇偶校验、CRC校验、和校验等奇偶校验根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。47串行通信中的校验与纠错方式CRC校验:CRC(Cyclic Redundancy Check)又称“循环冗余校验”,由分组线性码的分支而来,是数据通信领域中最常用的一种高效差错校验码。CRC码是由两部分组成,前部分是信息码,后部分是校验码。48串行通信中的校验与纠错方式和校验若要对发送的一批数据进行总体校验,可采样“和校验”方法,也即,在发送方,将发送的每个数据进行累加
18、(或“逻辑加”),将结果的低字节作为最后一个字节发出。在接收方用相同的方法对收到的数据进行相加,并与最后一个字节比较,若相同,则传输正确,否则传输错误。49串行通信的组网方式串行通信的组网有:总线型、星型、环型、树型等如图10.17所示图10.17串行通信的组网形式50PIC中档单片机的USART模块51PIC中档单片机的USART模块在PIC16F87X单片机片内集成了一个通用同步/异步收发器USART模块,它可以被程序设定为全双工异步通信方式或半双工同步通信方式。全双工异步通信分为:不可寻址方式和可寻址方式。半双工同步通信分为:同步主控器方式和同步被控器方式。相关寄存器详见P28552 U
19、SART模块的波特率发生器BRGSART模块内有一个8位的波特率发生器BRG(Baud Rate Generator),它可以根据设定的数值产生串行帧格式中发送和接收每一位数据的定时时钟。波特率寄存器SPBRG中所存放的值,为BRG提供了一个不断循环的定时周期53 USART模块的波特率发生器BRG在异步模式下,波特率由SPBRG和TXSTA中的BRGH位共同决定。波特率计算公式如表10.4所示。模式BRGH=0(低速)BRGH=1(高速)SYNC=0(异步)波特率 = FOSC /64(X+1)x= FOSC/64波特率)-1波特率= FOSC /16(X+1) x= FOSC /(16波特
20、率)-1SYNC=1(同步)波特率 = FOSC /4(X+1) x= FOSC /(4波特率)-1无表10.4 波特率计算公式54 USART模块的波特率发生器BRG由于时钟频率Fosc只可能是一些固定的值,当把这些固定值带入波特率计算公式时,即使在0-255内所有整数的范围内调整X,也不一定能够准确地得到所需要的标称波特率。波特率的标称值与计算值之间所存在的误差率(相对误差率)的计算公式为:相对误差率=(|标称波特率-计算波特率|/标称波特率)%55 USART模块的波特率发生器BRG【例10-1】某系统中PIC中档单片机的时钟频率fosc=4MHz,系统需要波特率为4800的异步串口(S
21、YNC=0),假设USART工作在低速方式(BRGH=0),求相应波特率设定值X和误差率。解:查表得波特率的计算公式为:波特率=fosc/64(X+1),56 USART模块的波特率发生器BRG相应波特率设定值X为:X=fosc/(64波特率)-1经计算可得: X=4000000/(644800)-1=12.0212=0CH 波特率= 4000000/64(12+1)=4807 误差率=(4807-4800)/4800100%=0.15%对PIC中档单片机而言,在计算结果X不超出0-255的条件下,使用高速方式和低速方式都是允许的。并且在某些条件下,高速方式的误差率低于低速方式57 USART
22、模块的波特率发生器BRGUSART模块在异步模式低速(BRGH为0)情况下波特率的设置和由此引起的误差率见表10.5和表10.6;USART模块在异步模式高速(BRGH为1)情况下波特率的设置和由此引起的误差率见表10.7和表10.8 见P29058USART模块的异步工作方式USART异步发送器图10.18 USART发送器结构图59USART模块的异步工作方式图10.18 USART异步主控器发送时序:单数据帧时序60图10.19 USART异步主控器发送时序:连续发送2个数据帧时序USART模块的异步工作方式61USART模块的异步工作方式要正确使用USART异步串行发送器,用户在编写程
23、序时应该遵循以下的步骤:1)选择合适的波特率,并将对应的参数值写入波特率寄存器SPBRG。若要选择高波特率,应设置BRGH(TXSTA)置位。2)设置SYNC(TXSTA)清零、SPEN(RCSTA)置位使USART工作于异步串行模式。3)若需要通过中断来处理发送过程,则TXIE(PIE1)置位。62USART模块的异步工作方式4)若要发送的是9位数据帧结构,则TX9(TXSTA)置位。5)置TXEN(TXSTA)置位,使USART处于发送模式,这也会导致TXIF被置位。6)若选择了发送的是9位数据,则要将第9位数据写入TX9D (TXSTA)。7)将要发送的8位数据送入TXREG寄存器,从而
24、启动发送器开始串行发送数据。8)若要中断来处理发送过程,则需确保GIE、PEIE(INTCON)已被置位、TXIE(PIE1)已被置位,当TXREG内的数据被装入TSR时,TXIF会被置位并向CPU申请中断,CPU可在中断服务程序中向TXREG送新的数据。63USART模块的异步工作方式USART异步接收器图10.20 USART异步接收器原理框图64USART模块的异步工作方式要正确使用USART异步串行接收器,用户在编写程序时应该遵循以下的步骤:1)选择合适的波特率,并将对应的参数值写入波特率寄存器SPBRG。若要选择高波特率,应将BRGH(TXSTA)置位。2)设置SYNC(TXSTA)
25、为0、SPEN(RCSTA)为1,使USART工作于异步串行模式。65USART模块的异步工作方式3)若需要通过中断来处理接收过程,则将RCIE(PIE1)置位。4)若要接收的是9位数据帧结构,则将RX9(RCSTA)置位。5)CREN(RCSTA)置位,激活USART的接收器。6)当一个字节接收完成后,接收中断标志位RCIF会被置位,若接收中断使能位RCIE(PIE1)已被置位,则会引起一次接收中断。66USART模块的异步工作方式7)读RCSTA寄存器可获取第9位数据(若选择了接收9位数据),并且判断是否在接收过程中有溢出错(OERR为1)或帧格式错(FERR为1)。8)读取RCREG寄存
26、器,获取接收到的8位数据。9)如果发生了接收错误,可通过对CREN清零来清除该标志位(OERR)。10)若要中断来处理接收过程,则需确保GIE、PEIE(INTCON)以及RCIE(PIE1)已被置位。67USART模块的异步工作方式图10.21 USART异步接收器时序图,第3个数据到底后才读RCREG,因而发生了溢出错(OERR=1)68USART模块的异步工作方式带地址检测功能的9位USART异步收发器在实际应用中,有时一个系统中会同时用到多个单片机,因而存在多机通信的问题。采用主从式、“一点对多点”的通信方案,是解决多机通信问题的方法之一。该方案的实质,在于通信链路中的“可寻址”机制。69USART模块的异步工作方式多机通信的通信协议可采用RS-422、RS-485等图10.22 可寻址的USART异步多机通信连接示意图70图10.23 带地址检测功能的USART异步接收器原理框图USART模块的异步工作方式71USART模块的同步主控工作方式将USART模块工作于同步方式时,除了数据线外还需要一条时钟信号线,以同步收发双方的数据传输过程。其数据传输方式是以半双工(Half Duplex)方式进行的,也即,收发不能同时进行,而是分时进行的。72USART模块的同步主控工作方式PIC16F87X的USART
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部培训讲师积分制度
- 内部审计质量评估制度
- 内部数据管理制度
- 内部治安防患制度
- 内部申请制度
- 内部自查监督制度
- 内部追责制度
- 制造业生产管理岗位的面试要点与技巧
- 食品药品研发人员面试要点详解
- 数据分析在仁和集团决策支持中的作用
- 网吧的安全保卫制度
- 2026年安庆职业技术学院单招职业倾向性考试题库及答案详解(考点梳理)
- 2023年鲁迅美术学院附属中学(鲁美附中)中考招生语文数学英语试卷
- 船体基本结构2
- 榆林市德隆环保科技有限公司危险废物综合处置中心一期技改项目环境影响报告书
- LY/T 2496-2015防护林经营技术规程
- GB/T 4025-2010人机界面标志标识的基本和安全规则指示器和操作器件的编码规则
- GB/T 30775-2014聚乙烯(PE)保护膜压敏胶粘带
- 2023年AIGC发展趋势报告:迎接人工智能的下一个时代-腾讯研究院
- FZ/T 73038-2010涂胶尼龙手套
- 温敏型羟丁基壳聚糖护创敷料技术审评报告
评论
0/150
提交评论