版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络空间安全学院网络安全基础技术应用第六章串行通信系统授课人:目录CONTENT6.1.通信协议6.2.工作模式6.3.波特率6.4.串行通信接口寄存器6.5.串口通信接口的管脚选择6.1.通信协议最简单的通信系统模型如图6.1-1所示,由信源、信道和信宿三部分组成。信源是信息的发源地,是提供消息的人、设备或事物;信道是信息的传递媒介,如烽火、鸽子、通信线缆、无线电波等;信宿是信息传递的接收者。信源信宿信道图6.1-1最简通信模型6.1.通信协议单片机内部集成了串行通信模块。所谓串行通信是指数据一位一位地顺序传送,通信线路简单,只要一对传输线就可以实现双向通信。与“串行”相对的是“并行”,所谓并行通信是8根数据线并列放置同时发送数据。单片机内部集成的串行通信模块遵守RS232协议,信道是RS232通信线缆,信源和信宿是单片机设备或电脑。单片机和电脑、单片机和单片机、以及单片机和其他有串行通信模块的芯片都能利用串行通信模块进行通信。通信双方要互相“听”得懂彼此的话,通信协议非常重要。6.1.通信协议通信协议是指为了进行数据交换而制定的规则、标准或约定,可以简单地理解为计算机之间进行相互会话所使用的共同协议,通信双方必须使用相同的协议。单片机串行通信使用RS232协议,全称EIA-RS-232C标准,EIA(ElectronicIndustryAssociation)代表美国电子工业协会,RS(Recommendedstandard)代表推荐标准,232是标识号,C是版本号,协议规定了电气特性和机械接口。1.电气特性:RS232总线上传送的数字量采用负逻辑,并且关于地对称。逻辑1:-3V~-15V,当电平低于-3V是逻辑1。逻辑0:+3V~+15V,当电平高于+3V,是逻辑0。在个人电脑PC的COM口,为了保证通讯准确及通讯距离,电压一般为±9V到±15V。2.电缆长度:在通信速率低于20kb/s时,RS-232C直接连接的最大物理距离为15m(50英尺)。机械接口:RS232通信协议标准接口是DB9接口,也称COM口,如图6.1-2所示。图6.1-2DB9接口6.1.通信协议4.电路设计:(1)上位机是DB9接口当单片机要和电脑的DB9接口连接时,电路设计方法如图6.1-3所示电脑DB9接口电压在±9V到±15V之间,单片机工作电压0~5V,因此在单片机开发板增加Max232芯片实现电平转换。DB9接口有利于远距离传输(3米),但是笨重。图6.1-3单片机串行口和电脑DB9接口连接示意图6.1.通信协议(2)上位机是USB接口USB接口轻巧简便,即插即用,所以现在笔记本电脑都向用户提供USB接口,却无DB9接口。此时串行通信电路设计方法如图6.1-4所示,在单片机开发板上增加CH340等芯片实现通信数据格式转换。电脑端USB接口不仅与单片机通信,同时还能为单片机开发板提供5V电源。图6.1-4单片机串行口和电脑USB接口的连接示意图6.1.通信协议(3)单片机和单片机之间通信当单片机和单片机连接或者单片机与其他有串口模块的设备通信时,两个串行接口之间直接相连,不需要转换芯片,如图6.1-5所示。注意数据流向要一致,发送方的TXD管脚与接收方的RXD连接。图6.1-5单片机和单片机的连接示意图6.1.通信协议5.串行异步通信格式串行通信的数据传输有异步和同步两种方式。(1)所谓“同步”是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致,收发两端共用一根时钟线,通常RXD是数据线,TXD是时钟线。(2)所谓“异步”是以字符为单位进行传输,收发双方的时钟各自独立,字符之间没有固定的时间间隔,但以固定速率传送。异步通信设置起始位和停止位实现同步。单片机支持异步通信时,全称为通用异步串行发送/接收器(UniversalAsychronousReceiver/Transmitter),简称UART。单片机既支持同步传输也支持异步传输时,全称通用同步/异步串行接收/发送器(UniversalSynchronous/AsychronousReceiver/Transmitter),简称USART。实际使用中,单片机大多采用异步通信。图6.1-6是10位异步通信格式,由起始位(StartBit)、8位有效数据字符(D0~D7)、停止位(StopBit)构成;图6.1-7是11位异步通信格式,由起始位、8位有效数据字符、校验位(TB8、RB8)、停止位构成。6.1.通信协议图6.1-6串行通信模块10位数据异步传输收发时序6.1.通信协议图6.1-7串行通信模块11位数据异步传输收发时序6.2.工作模式传统的8051单片机只有1个串行通信接口,增强型单片机普遍提供2~4个串行通信接口。表6.2-1展示了STC单片机不同型号的串行通信接口数量表。以下串行通信接口简称串口:串行通信接口名传统8051STC8H8K64USTC32G12K128串口1√USART√USART√USART串口2
√UART√USART串口3
√UART√UART串口4
√UART√UART传统8051单片机只有一个串口,是USART通信方式,即可同步传输,也可异步传输,有四种工作模式。现代单片机串口数量多,其中串口1(STC32系列还有串口2)继承了传统8051串口模块的功能;串口2及以上(STC32系列是串口3以上)是UART异步传输通信方式,只有两种工作模式。所谓工作模式,是指串口以什么样的方式接收和发送数据,包括数据格式(图6.1-6、图6.1-7所示)选择、通信方式(同步还是异步)选择、波特率(固定还是可变)选择,以上三种选择方式构成了串口的工作模式。6.2.工作模式表6.2-2列出了USART四种工作模式;表6.2-3列出了UART两种工作模式。工作模式功能说明传统8051串口1STC8H系列串口1STC32G系列串口1、2模式0同步移位串行方式√√√模式1可变波特率10位数据方式√√√模式2固定波特率11位数据方式√√√模式3可变特率11位数据方式√√√表6.2-2USART四种工作模式工作模式功能说明STC8H系列串口2~4STC32G系列串口3-4模式0可变波特率10位数据方式√√模式1可变波特率11位数据方式√√表6.2-3UART两种工作模式6.3.1.波特率的定义波特率(BaudRate)是指单位时间内传送的码元符号(Symbol)的个数,串口通信的一个码元就是一个二进制符号(字符),所以波特率其实就是比特率,单位是比特每秒(bit/second,bps)。单片机常用的可变波特率如表6.3-1所示:波特率bps(比特/秒)波特率Kbps(103比特/秒)24002.448004.896009.61920019.23840038.4115200115.2表6.3-1单片机常用比特率6.3.1.波特率的定义图6.3-1是1秒一个比特的示意图。如果是9600bps,那么横轴1s内将有个9600个“1”或“0”比特。图6.3-1
1bps示意图单片机波特率有两种发生方式。当波特率固定,波特率由时钟电路提供;当波特率可编程,由定时器溢出率产生。6.3.2.波特率的发生以STC单片机串行通信接口1为例,波特率发生情况如表6.3-2所示。工作模式串口1工作特点波特率发生模式0串行通信同步传输,波特率固定。波特率直接由单片机时钟电路提供。ART_M0x6是通讯速度控制位,0表示波特率不加倍;1表示波特率6倍速。模式1串行通信异步传输,10位数据格式,波特率可变。波特率与定时器的溢出率有关,由定时器1或者定时器2产生。SMOD位是串口1波特率倍频控制位,0表示不倍频,1表示倍频。模式2串行通信异步传输,11位数据格式,波特率固定波特率直接由单片机时钟提供。模式4串行通信异步传输,11位数据格式,波特率可变。波特率与定时器的溢出率有关,由定时器1或者定时器2产生。波特率计算公式同模式1。6.3.2.波特率的发生单片机串口1工作模式1和4波特率可变,其工作原理如图6.3-2所示,串行通信模块由数据缓冲器(SBUF)、移位寄存器、发送控制器、接收控制器、以及波特率发生器等组成。当SBUF里的数据发送完毕,TI置“1”,发出中断请求;当SBUF接收到完整的一个字节,RI置“1”,发出中断请求。图6.3-2单片机串口1的内部工作示意图(波特率由定时器产生)6.3.2.波特率的发生串口2~4的波特率都可编程,默认由定时器2发生,也可以选择其他定时器发生,具体如表6.3-3所示。串口名波特率默认发生器及计算公式可选波特率发生器及计算公式串口2定时器2:无串口3定时器3:串口4定时器4:6.3.2.波特率的发生单片机串口波特率的发生和配置初始化语句,可通过STC-ISP助手获得如图6.3-3所示。图6.3-3串口初始化的STC-ISP助手使用方法6.3.2.波特率的发生步骤如下:1.选择芯片型号2.选择串口波特率计算器3.选择系统频率和波特率。此频率和左边的IRC频率一致。4.选择串口名、通信帧格式、波特率发生器以及定时器时钟。5.点击“生成C代码”。6.将复制的C代码粘贴在Keil工程文件中。6.4.串行通信接口寄存器单片机内置的串行通信模块尽管内部结构复杂,但是“自动化工作”水平很高。用户要使用串行通信功能,只需配置控制寄存器SCON,然后读写数据寄存器SBUF。假设单片机已经开启串口通信功能,且已开启波特率发生器,根据图6.3-2,单片机串口通信读一个字节的语句:If(RI)//检查到有数据Data=SBUF;//将串口数据寄存器里的数据读出来RI=0;//清除RI标注,接收下一个字节的内容。同理,单片机串口通信发送一个字节的语句:SBUF=data;//将要发送的数据写到串口数据寄存器里;while(TI==0);//如果sbuf里的位没有发送完毕,就一直等待TI=0;//sbuf数据发送完毕,清除TI,发送下一个字节的内容以下内容介绍串口1和串口2的初始化方法。6.4.1.串口1相关寄存器1.串口1控制寄存器SCON,可位寻址。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SCON98HSM0/FESM1SM2RENTB8RB8TIRISM0、SM1是工作模式选择位。SM0SM1工作模式00模式0,同步移位串行方式01模式1,可变波特率8位数据方式10模式2,固定波特率9位数据方式11模式3,可变波特率9位数据方式表6.4-1SM0、SM1的设置6.4.串行通信接口寄存器SM2:多机通讯控制位。在多机通信时必须采用9位数据位模式(图2.2-18),此时数据位的第TB8或者RB8标记该字节是地址帧。REN:允许/禁止串口接收控制位。0——禁止串口接收数据;1——允许串口接收数据。TB8:数据校验位,模式2或3有用。RB8:数据校验位,模式2或3有用。TI:TransmitInterrupt,串口1发送中断请求标志位。当串口1串行数据发送完毕,该位置1,向主机请求中断。TI必须软件清零。RI:ReceiveInterrupt,接收中断。当串行数据接收完毕,该位置1,向主机请求中断。RI必须软件清零。6.4.1.串口1相关寄存器2.串口1数据寄存器SBUF,不可位寻址。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SBUF99HSBUF实际是2个同名的寄存器,分别对应图6.3-2中写SBUF,读SBUF。3.辅助寄存器AUXR,可位寻址,上电复位值00000001。寄存器名地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0AUXR8EHT0x12T1x12UART_M0X6T2RT2_C/TT2X12EXTRAMSIST2UART_M0x6:串口1模式0的通讯速度控制,UART_M0x6=0,表示波特率不加倍;UART_M0x6=1,表示波特率6倍速。SIST2:串口1波特率发生器选择位0:选择定时器1作为波特率发生器,可选模式。1:选择定时器2作为波特率发生器,默认模式。6.4.2.串口2相关寄存器1.串口2控制寄存器S2CON,可位寻址。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0S2CON9AHS2SM0-S2SM2S2RENS2TB8S20RB8S2TIS2RI串行口2只有两种工作模式,由S2SM0决定,当S2SM0=0,8位UART,波特率可变;当S2SM0=1,9位UART,波特率可变。寄存器的其余位的功能与SCON里的位定义一致。6.4.2.串口2相关寄存器2.串口2数据寄存器S2BUF,不可位寻址。S2BUF是串口2的数据接收/发送缓冲区,其用法与串口1的SBUF完全一致。以上介绍了串口1、串口2主要寄存器,串口2及以上寄存器名称总结如下:STC8、STC32系列单片机的串口2~4主要寄存器:SnCON——n=2,3,4。串口2、3、4的控制寄存器,位定义同串口1的SCON一致,但是工作方式只有2种。SnBUF——n=2,3,4。串口2、3、4的数据寄存器,是串行口的发送/接收缓冲区。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0S2BUF9BH6.4.3.电源管理器PCON电源管理器PCON的一个作用是控制串口1波特率的倍频。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PCON87HSMODSMOD0LVDFPOFGF1GF0PDIDLSMOD:串口1波特率倍频控制位0:串口1的波特率不加倍;1:串口1的波特率加倍。SMOD0:帧错误检测控制位0:无帧错检测功能1:使能帧错误检测功能。此时SCON的SM0/FE为FE功能,即为帧错误检测标志位。6.5.串口通信接口的管脚选择串口通信接口的管脚可以切换。通过设置特殊功能寄存器AUXR1/P_SW1、P_SW2实现。AUXR1/P_SW1辅助寄存器1专门用来控制外围设备切换;P_SW2专门用来切换串口2、3、4的管脚。寄存器定义如下:1.AUXR1/P_SW1,寄存器地址A2H,不可位寻址,复位后的值0000,0000。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0AUXR1/P_SW1A2HS1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPS寄存器的bit7、bit6控制串口1(S1)的管脚切换:S1_S1S1_S0RXDTXD00P3.0P3.101P3.6/RXD_2P3.7/TXD_210P1.6/RXD_3P1.7/TXD_311P4.3/RXD_4P4.4/TXD_46.5.串口通信接口的管脚选择2.P_SW2,寄存器地址BAH,不可位寻址,复位后的值是0000,0000。寄存器名称地址Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0P_SW2BAH
S4_SS3_SS2_S寄存器bit0(S2_S)控制串口2的管脚切换,寄存器bit1、bit2分别控制串口3和串口4的管脚切换。串口2的管脚切换如下:S2_SRXDTXD0P1.0/RXD2P1.1/TXD21P4.6/RXD2_2P4.7/TXD2_2任务1.串口通信完成一个hello程序在任务1里使用STC单片机USB功能完成了一个Hello程序开发,现在使用串行通信模块完成这个任务。任务要求:单片机开发板DB9接口和电脑连接,当电脑发出“hello”,单片机回复“ok”。1.任务资讯:(1)单片机开发板电路如图6.5-1所示。单片机串口2模块与上位机通信。(2)DB9接口的2、3管脚通过SP3232芯片(电平转换)与单片机串口2管脚P46、P47连接。(3)J2插座是串口DB9接口。(4)如果电脑端也是DB9接口,那么RS232线缆两端都是DB9接口;如果电脑端是USB接口,那么RS232一端是DB9接口连接单片机,一端是USB接口连接电脑,此时RS232电缆线必须自带RS232-USB转换器。任务1.串口通信完成一个hello程序图6.5-1串行通信电路任务1.串口通信完成一个hello程序2.任务分析:(1)利用单片机串口2实现此功能,使用STC-ISP软件(如图6.5-2所示)得到串口初始化代码。(2)开启单片机串行通信接口2中断,当单片机接收到上位机数据,单片机CPU响应中断。图6.5-2串口2的波特率发生任务1.串口通信完成一个hello程序3.任务代码:#include<STC8h.H>//包含此头文件后,里面声明的寄存器不需要再手动输入,避免重复定义#include"intrins.h"#include<stdio.h>typedefunsignedcharu8;typedefunsignedintu16;typedefunsignedlongu32;#defineUART2_BUF_LENGTH32u8TX2_Cnt;//发送计数u8RX2_Cnt;//接收计数bitB_TX2_Busy;//发送忙标志任务1.串口通信完成一个hello程序bitRx2Ready=0;//接收字符串结束标志u8idataRx2Buffer[UART2_BUF_LENGTH];//接收缓冲voidPrintString2(u8*puts);voidUart2Init(void) //115200bps@22.1184MHz{ S2CON=0x50; //8位数据,可变波特率 AUXR|=0x04; //定时器时钟1T模式 T2L=0xD0; //设置定时初始值 T2H=0xFF; //设置定时初始值 AUXR|=0x10; //定时器2开始计时}任务1.串口通信完成一个hello程序voidmain(void){voidGPIO_PxMxSet();Uart2Init();EA=1;//允许全局中断 IE2|=1;//开启串口2中断 while(1){if(Rx2Ready)//收到完整字符串{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生处工作计划
- 幼儿园保教工作计划大全
- 买卖合同范文七篇
- 幼儿教育工作计划集合七篇
- 中国卡座连接器项目投资可行性研究报告
- 棉花姑娘教案四篇
- 网络对战小游戏课程设计
- 产科护士一天的工作计划
- 全新大一军训心得笔记10篇
- 毕业生自我介绍(15篇)
- 配合、协调、服务方案
- 市政工程监理大纲
- 2023-2024学年广东省广州市黄埔区六年级(上)期末数学试卷(A卷)
- 初中数学新课程标准(2024年版)
- 期末测试卷(一)2024-2025学年 人教版PEP英语五年级上册(含答案含听力原文无听力音频)
- 2023-2024学年广东省深圳市南山区八年级(上)期末英语试卷
- 汉服娃衣创意设计与制作智慧树知到期末考试答案章节答案2024年四川文化产业职业学院
- 广东省中山市2023-2024学年四年级上学期期末数学试卷
- 8款-组织架构图(可编辑)
- 气动潜孔锤施工方案
- 云南省教育科学规划课题开题报告 - 云南省教育科学研究院
评论
0/150
提交评论