第11章MC9S12XS系列串行通信接口模块及其应用实例资料

上传人:f****u 文档编号:118691741 上传时间:2019-12-22 格式:PPT 页数:46 大小:1.03MB
返回 下载 相关 举报
第11章MC9S12XS系列串行通信接口模块及其应用实例资料_第1页
第1页 / 共46页
第11章MC9S12XS系列串行通信接口模块及其应用实例资料_第2页
第2页 / 共46页
第11章MC9S12XS系列串行通信接口模块及其应用实例资料_第3页
第3页 / 共46页
第11章MC9S12XS系列串行通信接口模块及其应用实例资料_第4页
第4页 / 共46页
第11章MC9S12XS系列串行通信接口模块及其应用实例资料_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《第11章MC9S12XS系列串行通信接口模块及其应用实例资料》由会员分享,可在线阅读,更多相关《第11章MC9S12XS系列串行通信接口模块及其应用实例资料(46页珍藏版)》请在金锄头文库上搜索。

1、MC9S12XS单片机原理及嵌入式系统开发 MC9S12XS单片机原理 及嵌入式系统开发 合肥工业大学 张 阳,吴 晔,滕 勤 Email:yzhang0615, wuye, tengqin7348 TEL:13966717615,13505612773 MC9S12XS单片机原理及嵌入式系统开发 第11章 MC9S12XS系列串行通信接口模块及 其应用实例 SCI模块概述 SCI 模块结构组成和特点 SCI模块寄存器 SCI模块应用实例 智能车系统中SCI模块的应用 MC9S12XS单片机原理及嵌入式系统开发 11.1 SCI模块概述 串行通信是微控制器与外界进行信息交换的常用 手段,MC9

2、S12XS系列MCU内部有2个全双工串行通 信接口(Serial Communication Interface,SCI)。 串行通信是指数据一位一位地按顺序传送的通信 方式,其突出优点是只需一根传输线,可大大降低硬 件成本,特别适合远距离通信。其缺点是传输速度较 低,每秒内能发送或接收的二进制位数称为波特率。 若发送一位时间为t,则波特率为1/t。 MC9S12XS128内置的SCI模块是全双工、波特率 可编程设置、可编程选择8位数据或9位数据格式的串 行通信接口(简称串口)。本章着重介绍SCI模块的 特性、寄存器功能及设置,并通过一些应用实例和 SCI模块在自主寻迹智能车上的应用,让读者掌

3、握 SCI模块的应用及编程方法。 MC9S12XS单片机原理及嵌入式系统开发 11.2 SCI模块结构组成和特点 MC9S12XS128内置的SCI模块如图11.1所示。 MC9S12XS单片机原理及嵌入式系统开发 11.2 SCI模块结构组成和特点 SCI模块具有以下基本特征: 全双工或单线操作; 标准不归零(NRZ)传号/空号格式; 具有可编程脉冲宽度的可选择的IrDA 1.4归 零反转(RZI)格式; 13位波特率; 可编程8位或9位数据格式; 独立使能发送器和接收器; 可编程的发送器和接收器极性; 可编程的发送器奇偶校验; 两种接收器唤醒模式: 线路空闲唤醒; 地址标志唤醒; 8个驱动

4、中断的标志位: 发送器空; 传送完成; 接收器满; 空闲接收器输入; 接收器溢出错误; 噪声错误; 帧错误; 奇偶校验错误; 支持LIN发送冲突检测; 支持LIN间隔检测; 接收器帧错误检测; 奇偶校验检测; 1/16位时间噪声检测。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 MC9S12XS128的SCI模块共有11个寄存器,详见表11-1。对于 112引脚的MC9S12XS128,内部有2个SCI模块,分别是SCI0和SCI1 ,表11-1中分别列出了SCI0和SCI1两个模块中各寄存器地址。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄

5、存器 11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL) SCI波特率寄存器(SCI Baud Rate Registers)用来设置SCI波特率,同 时还用于控制红外调制/解调子模块,由SCI波特率高字节寄存器(SCIBDH) 和SCI波特率低字节寄存器(SCIBDL)组成。该寄存器如图11.2和图11.3所示 。波特率计算公式为 SCI波特率=SCI模块时钟/ (16BR) 式中,BR是SCI波特率寄存器中SBR12到SBR0的13位数值。波特率寄存 器中的13位数值从18 191。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.1 SCI波

6、特率寄存器(SCIBDH,SCIBDL) 如果SCISR2寄存器中的AMAP=0时,读:任何时刻。如果只对SCIBDH 寄存器赋值,而没有赋值SCIBDL寄存器,然后进行读取波特率寄存器操作, 将无法返回波特率寄存器中的正确数值。 如果SCISR2寄存器中的AMAP=0时,写:任何时刻。 IREN:红外使能控制位。该位允许或者禁止红外调制/解调子模块。 0表示禁止红外功能; 1表示允许红外功能。 TNP10:发送器窄脉冲宽度发送选择位。这2位组合选择红外SCI发送 1/4、1/16、3/16、1/32的窄脉冲宽度。具体窄脉冲宽度选择设置详见表11-2。 MC9S12XS单片机原理及嵌入式系统开

7、发 11.3 SCI模块寄存器 11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL) SBR12SBR0:SCI波特率选择位,SCI波特率由这13位确定。根据 IREN位的设定值,有以下2种方法计算波特率。 波特率计算公式如下,当IREN=0时: SCI波特率=SCI总线时钟/ (16SBR12:0) 当IREN=1时: SCI波特率=SCI总线时钟/ (32SBR12:1) 注意1:复位后,直到TE位或RE位置位,波特率发生器才能正常工作。 当SBR12:0=0且IREN=0或者SBR12:1=0且IREN=1时,禁止波特率发生器工 作。 注意2:如果只对SCIBDH寄存器赋值而没

8、有赋值SCIBDL寄存器,则波特 率寄存器的写操作是无效的,因为写入SCIBDH的数值只是放在一个临时寄存 器中,直到赋值SCIBDL寄存器时才能将数值写入SCIBDH寄存器。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.2 SCI控制寄存器1(SCICR1) SCI控制寄存器1(SCI Control Register 1,SCICR1)如图11.4所示。 如果AMAP=0时,读:任何时刻;如果AMAP=0时,写:任何时刻。 LOOPS:SCI环路使能控制位。SCI在环路工作模式下,RSRC=0,RXD 引脚和SCI模块断开,SCI发送器输出在内部和接收

9、器输入相连。当SCI发送器 和接收器均被使能情况下,才能够实现SCI环路功能。环路工作模式如图11.5 所示。 0表示使能SCI正常工作模式; 1表示使能SCI环路工作模式。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.2 SCI控制寄存器1(SCICR1) SCISWAI:MCU等待工作模式下SCI停止位。 0表示在等待模式下允许SCI停止位; 1表示在等待模式下禁止SCI停止位。 RSRC:SCI接收器输入源选择位。当LOOPS=1时,RSRC位决定SCI接 收器移位寄存器的输入方式。 0表示接收器输入连接到内部发送器输出; 1表示接收器输入连接到外部

10、发送器。 当LOOPS=1,RSRC=1时,SCI为单线工作模式,如图11.6所示。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.2 SCI控制寄存器1(SCICR1) 设置LOOPS位和RSRC位,可以设定SCI为环路模式或单线模式,参见表 11-3。 M:数据格式选择位,该位决定数据长度是8位还是9位。 0表示1位起始位,8位数据位,1位停止位; 1表示1位起始位,9位数据位,1位停止位。 WAKE:唤醒条件位。该位决定了何种条件唤醒SCI,接收数据字符的最 高位为1(地址码)或者RXD上的空闲条件。 0表示空闲线唤醒; 1表示地址码唤醒。 MC9S1

11、2XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.2 SCI控制寄存器1(SCICR1) ILT:空闲线类型位。该位决定了何时接收器开始计数逻辑1作为空闲字符位。计数 开始于起始位之后或者停止位之后。如果计数开始于起始位之后,停止位之前的一串逻 辑1会导致一个空闲字符的错误识别。开始于停止位之后的计数避免了错误空闲字符的识 别,但是需要适当的同步传输。 0表示空闲字符开始于起始位之后; 1表示空闲字符开始于停止位之后。 PE:奇偶校验使能位,该位使能奇偶校验功能。当奇偶校验功能使能时,会在传 输字符的最高位插入一个奇偶校验位。 0表示禁止奇偶校验功能; 1表示允许奇偶校验

12、功能。 PT:奇偶校验类型选择位,该位决定了使用奇校验还是偶校验。如果采用偶校验 ,当传输数据中1的个数为奇数时,奇偶校验位为1;当传输数据中1的个数为偶数时,奇 偶校验位为0。如果采用奇校验,当传输数据中1的个数为奇数时,奇偶校验位为0;当传 输数据中1的个数为偶数时,奇偶校验位为1。 0表示偶校验; 1表示奇校验。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.3 SCI可选状态寄存器1(SCIASR1) SCI可选状态寄存器1(SCI Alternative Status Register 1,SCIASR1) 如图11.7所示。 如果AMAP=1时,

13、读:任何时刻;如果AMAP=1时,写:任何时刻。 RXEDGIF:RXD输入边沿有效中断标志位。如果RXD输入的边沿有效( 如果SCI状态寄存器2SCISR2中的RXPOL=0则下降沿有效,如果RXPOL=1则 上升沿有效)时,则置位RXEDGIF。该位通过写“1”清零。 0表示RXD输入无边沿有效发生; 1表示RXD输入有边沿有效发生。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.3 SCI可选状态寄存器1(SCIASR1) BERRV:位错误值。当位错误探测电路使能且检测到和期望值不同时, 则设定BERRV位为“1”或“0”,该位反应RXD输入状态,该

14、位数值仅在 BERRIF=1时有效。 0表示期望RXD输入高电平,却采样到低电平; 1表示期望RXD输入低电平,却采样到高电平。 BERRIF:位错误中断标志位。当位错误探测电路使能且RXD输入采样值 和发送数值不同时,则BERRIF置位。如果SCIACR1寄存器中的BERRIE位使 能,将产生中断。该位通过写“1”清零。 0表示未检测到RXD输入与发送数值不同; 1表示已检测到RXD输入与发送数值不同。 BKDIF:间隔探测中断标志位。如果间隔探测电路使能且接收到一个间隔 信号时,则BKDIF置位。如果SCIACR1寄存器中的BKDIE位使能,将产生中断 。该位通过写“1”清零。 0表示没有

15、接收到间隔信号; 1表示接收到一个间隔信号。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.4 SCI可选控制寄存器1(SCIACR1) SCI可选控制寄存器1(SCI Alternative Control Register 1,SCIACR1) ,如图11.8所示。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.4 SCI可选控制寄存器1(SCIACR1) 如果AMAP=1时,读:任何时刻;如果AMAP=1时,写:任何时刻。 RXEDGIE:RXD输入边沿有效中断使能位,该位使能允许RXD输入边沿 有效中断标志位RXE

16、DGIF产生中断请求。 0表示禁止RXEDGI中断请求; 1表示允许RXEDGIF中断请求。 BERRIE:位错误中断使能位,该位使能允许位错误中断标志位BERRIF 产生中断请求。 0表示禁止BERRI中断请求; 1表示允许BERRIF中断请求。 BKDIE:间隔探测中断使能位,该位使能允许间隔探测中断标志位BKDIF 产生中断请求。 0表示禁止BKDI中断请求; 1表示允许BKDIF中断请求。 MC9S12XS单片机原理及嵌入式系统开发 11.3 SCI模块寄存器 11.3.5 SCI可选控制寄存器2(SCIACR2) SCI可选控制寄存器2(SCI Alternative Control Register 2,SCIACR2)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号