第5讲 串行通信接口SCI.ppt
文本预览下载声明
概 述 几乎所有的台式电脑都带有9芯的异步串行通信口,简称串行口或COM口。 随着USB接口的普及,串行口的地位逐渐降低,但是作为设备间简便的通信方式,在相当长的时间内,串行口还不会消失。串行通信仍然是MCU与外界通信的简便方式之一。 实现异步串行通信功能的模块在一部分MCU中被称为通用异步收发器UART,在另一些MCU中被称为串行通信接口SCI。 串行通信接口可以将终端或个人计算连接到MCU,也可将几个分散的MCU连接成通信网络。 异步串行通信的格式 下图给出了8位数据、无校验情况的传送格式:空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,然后是数据位(8位),最后发送停止位。 例如:传输字符“R”的ASCII时: R的ASCII码:1010010 如使用奇校验 下图给出一个MAX232引脚图和基本SCI电平转换电路及芯片 SCI工作原理 发送时,先判定“状态寄存器”相应位,了解是否可以发送一个新数据。若可以,则将待发送的数据放入“SCI数据寄存器”,其余工作由MCU自动完成(将数据从“SCI数据寄存器”送至“发送移位寄存器”,再由硬件驱动将数据一位一位地按规定的波特率从TXD端发送出去) 。 接收时,数据一位一位地从接收端RXD进入“接收移位寄存器”,当收到一个完整字节时,MCU会自动将数据送入“SCI数据寄存器”,并将状态寄存器的相应位改变,供程序员判定并取出数据。 从程序员角度看,涉及SCI的有8个8位寄存器,其中: 2个波特率寄存器; 1个数据寄存器; 3个控制寄存器; 2个状态寄存器; 只要理解和掌握这8个寄存器的用法,就可以进行SCI编程。 AW60的SCI模块寄存器简况 16位SCI波特率寄存器由两个8位寄存器组成SCIXBDH和SCIXBDL(X表示SCI模块编号,取1或2) SCI数据寄存器:包括两个独立的8位寄存器SCIXD 读SCIXD ——接收数据 写SCIXD ——发送数据 SCI控制寄存器:用于设置SCI的工作方式 工作方式:运行模式、唤醒模式、空闲类型检测、奇偶校验等。 SCI 控制寄存器1(SCIxC1) D6---SCISWAI为SCI等待模式停止位。 SCISWAI=0,SCI时钟在等待模式下继续运行。 SCISWAI=1,SCI时钟在等待模式下停止。 D5---RSRC为接器信号源位。仅在LOOPS=1时才有效。 RSRC=1,单线模式;RSRC=0,循环模式。 D4---M为数据帧格式选择位。 M=0,8位正常模式。(1个起始位,8个数据位,1个停止位) M=1,9位模式。 (1个起始位,9个数据位,1个停止位) D3---WAKE接收器唤醒模式选择位。 WAKE=0,空闲线唤醒; WAKE=1,地址位唤醒。 D2---ILT为闲线类型选择位。 ILT=0,在开始位后立即对空闲特征位计数; ILT=1,在停止位后开始对空闲特征位计数; D1---PE为奇偶校验使能位。 PE=0,奇偶校验禁止; PE=1,奇偶校验使能。 D0---PT为奇偶校验类型。仅在PE=1时有效。 PT=0,偶校验; PT=1,奇校验 SCI 控制寄存器2(SCIxC2) SCI 控制寄存器3(SCIxC3) SCI状态寄存器 SCI状态寄存器1(SCIxS1) D4---IDLE空闲线标志位。 IDLE=0,没有检测到空闲线路; IDLE=1,检测到空闲线路。 D3---OR为接收器溢出标志位 OR=0,没有溢出;OR=1,接收溢出。 D2---NF为噪声标志位。 NF=0,未检测到噪声;NF=1,检测到噪声。 D1---FE为帧格式错误标志位。 FE=0,未检测到成帧错误;FE=1,检测到成帧错误; D0---PF为奇偶校验错误标志位。 PF=0,没有奇偶校验错误;PF=1,奇偶校验错误。 SCI状态寄存器2(SCIxS2) 利用AW60的SCI实现通信 传输双方首先应进行初始化设置; 接收方和发送方必须在相同的波特率下传送数据; 接收方和发送方也必须以相同的模式接收和发送数据,如字符长度、是否奇偶校验等。涉及SCIXCI、SCIXC2、SCIXC3的设置。 状态寄存器(SCIXS1)和数据寄存器(SCIXD)用在信息传输过程中: 接收数据缓冲区接收到一个字节 SCIXS1的接收数据满标志RDRF(D5)为1 读取SCIXD,接收数据。 SCIXS1的发送数据空标志TDRE(D7)为1 将待发送数据写入SCIXD中,启动发送过程。 MCU和PC通
显示全部