SCI通讯口的使用方法

上传人:ji****72 文档编号:45553220 上传时间:2018-06-17 格式:PDF 页数:12 大小:1.50MB
返回 下载 相关 举报
SCI通讯口的使用方法_第1页
第1页 / 共12页
SCI通讯口的使用方法_第2页
第2页 / 共12页
SCI通讯口的使用方法_第3页
第3页 / 共12页
SCI通讯口的使用方法_第4页
第4页 / 共12页
SCI通讯口的使用方法_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《SCI通讯口的使用方法》由会员分享,可在线阅读,更多相关《SCI通讯口的使用方法(12页珍藏版)》请在金锄头文库上搜索。

1、M68HC08 异步串行通信口中异步串行通信口中(SCI) SCI 是一个全双工异步串行通信接口,它用于 MCU 与其他计算机之间进行通信。 1.1 SCI 功能功能 一、SCI 基本特性 全双工操作; 标准不归零(NRZ)格式; 可选 32 种波特率; 可程控为 8 位或 9 位字符长度; 分开的发送和接收器允许控制; 分开的接收和发送 CPU 中断请求; 可程控发送输出极性; 两种接收器唤醒方: 空闲线唤醒; 地址位唤醒。 具有 8 个中断标志位的中断驱动操作: 发送器空: 发送完成; 接收器满; 空闲接收输入; 接收器溢出; 硬件检偶检验; 1/16 位时间噪声检测; 设置寄存器的 SC

2、IBDSRC 位可选择波特率时钟源。 二、数据格式 SCI 采用标准的 NRZ 数据格式。它由一个起始位(0),8 或 9 个数据位和一个停止位(1) 组成,数据位的位数由串行通信控制寄存器 1(SCC1)的 M 位来选择。M=0,为 8 位;M=1, 为 9 位。在允许检偶检验时,最高数据位将用作奇偶位。这样,M=0 时数据为 7 位;M=1 时为 8 位。 1.2 SCI 结构结构 SCI 由发送器和接收器组成,它们在功能上是独立的,但使用相同的数据格式和波特 率。 一、SCI 发送器 SCI 发送器框图见图 1。 图 1 发送器的核心部分是图中上部的发送串行移位寄存器。置位 SCI 允许

3、(ENSCI)和 SCI 发送允许(TE)时, 写入串行通讯数据寄存器(SCDR)(事先应先读入 SCI 状态寄存器 1(SCS1), 以清除 SCI 发送器空位 SCTE),启动发送。这时,如串行移位寄存器为空,则存放在 SCDR 中的数据传送到发送串行移位寄存器中,并置位 SCTE,表示 SCDR 可接收新数据。在允许 发送中断(SCTIE=1)时产生发送中断。数据从低位(LSB)(先为起始位)开始逐位从 TXD 脚移 位输出。在数据发送完成时,置位“发送完成”标志(TC),如没有新的等待发送的数据且不 是发送引导码(或中止码),并在“允许发送完成中断”(TCIE)=1 时产生中断。 SC

4、I 控制寄存器 3(SCC3)的 T8 为发送缓冲器的最高位(第 9 位)。仅在(置位 SCC1 的 M 位)选择位数据格式时才使用这第 9 位。SCC1 的“奇偶检验允许”位 PEN 决定是否有奇偶 位,它按奇检或偶检(由 PTY 位决定)产生检验位装入发送串行移位寄存器的位 7 或位 8。 SCI 控制寄存器 1(SCC1)的 TXINV 位控制发送数据的极性。TXINV=1,所有发送数据 将取反之后发出。 二、SCI 接收器 SCI 接收器框图见图 2。 图 2 接收数据从 PTE1/RX 脚输入。数据恢复模块按 RT 时钟速率采样 RXD 脚的数据。RT 时钟的频率为波特率的 16 倍

5、,它与每个起始位及每次数据从 1 变为 0 的跳变同步。数据恢 复模块在检测起始位时,如发现输入变为低时,延时半位时间后还将采样 3 次。如这三次中 至少两次为低,则认为检测到一个正确的起始位。否则重新开始检测起始位。在检测到正确 的起始位后,起始位、每一个数据位和停止位分别都在位中间采样三次,每位的值由裁决逻 辑决定,它取决于多数采样值。在各个采样值不同时,置位噪声标志。 接收器的核心是接收串移位寄存器。它由 SCI 控制寄存器 2(SCC2)的“RE”位所允许, SCC1 的 “M” 位决定移位器为 10 位还是 11 位。 SCC1 的 “奇偶检验允许” 位 PEN 决定是 有 奇偶位,

6、并执行相应的奇偶检验。检验测到一个字符的停止位后,接收的数据从移位器传至 接收数据缓冲器 SCDR, 置位 “接收数据寄存器满” 标志(SCRF)。 在允许接收中断(SCRIE=1) 时,将产生中断。在接收到 10 或 11 个相继的 1 时,置位“空闲输入(IDLE)”位,在允许空 闲线线中断(ILIE=1)时将产生空闲线中断。在一个字符准备传送到接收缓冲器,若以前的字 符还未读走, 则产生溢出(OVERRVN)。 在溢出时不传送数据, 保留原数据, 置位 “溢出(OR)” 状态标志以指出该错误。在允许溢出中断(ORIE=1)时,将产生 SCI 出错中断。在 SCI 检测 到噪声时,将置位“

7、噪声标志(NF)” ,在允许噪声中断(NEIE=1)时,将产生 SCI 出错中断。 如在接收停止位时收到 0,则置位“帧错(FE)”标志位。在允许帧错中断(FEIE=1)时,将产 生 SCI 出错中断。在允许奇偶检验时,如发生奇偶错,则置位“奇偶错标志(PE)” ,在允许 偶错中断(PEIE=1)时,将产生 SCI 出错中断。 三、I/O 脚 SCI 使用 TXD 为发送数据脚 ,RXD 为接收数据脚 。它们一般与通用 I/O 口复用。如 对 MC68HC08GP32,TXD 与 PTE0 复用,RXD 与 PTE1 复用。在允许 SCI 时,TXD 为串 行输出, RXD 为串行输入, 它们

8、不受相应的数据方向寄存器(DDRE)所控制。 在禁止 SCI 时, 它们为一般的通用 I/O 口。 1.3 SCI 寄存器寄存器 SCI 模块中共有 7 个寄存器。不同 MCU 的 SCI 寄存器的内容和地址可能不同。下面以 MC68HC08GP32 为例,介绍这些寄存器的功能和使用方法。 一、SCI 控制寄存器 1SCC1 SCC1 的每位均可读/写,它的格式如下: LOOPS:反馈方式选择位: 这位控制是否按反馈方式操作。在反馈方式,RXD 脚与 SCI 断开,发送器输出直接接 至接收器输入。 1=允许反馈方式 0=允许正常方式 ENSCI允许 SCI: 这位允许 SCI 和 SCI 波特

9、率发生器工作。清 0 ENSCI,则置位 SCTE 和 TC 位,并禁止 发送中断。 1=允许 SCI 0=禁止 SCI TXINN发送反向: 这位取反发送数据的极性。 1=取反发送器输出 0=发送器输出不取反 M(字符长度)方式位: 这位决定 SCI 字符为 8 位或 9 位长。第 9 位可用作额外的停止位,接收器唤醒信号或 奇偶检验位。 1=9 位 SCI 字符 0=8 位 SCI 字符 WAKE唤醒条件位: 这位决定唤醒 SCI 的条件。 1=地址位(接收到字符的最高位=1)唤醒 0=空闲线(RXD 脚满足空闲条件)唤醒 ILTY空闲线类型位: 这位决定 SCI 什么时候开始计数“空闲字

10、符”的位数。计数可从“起始位”或从“停 止位”开始。从“起始位”开始计数,则“停止位”前的一串“1”可能产生错误的空闲线 条件。从“停止位”开始计数,可避免错误的空闲线识别,但需要适当地同步发送操作。 1=0 空闲字符位计数从“停止位”开始 0=空闲字符位计数从“起始位”开始 PEN奇偶检验允许位: 这位允许 SCI 奇偶检验功能。允许时,在最高位插入奇偶位。 1=允许奇偶检验 0=禁止奇偶检验 PTY奇偶位: 这位决定 SCI 为奇校验或偶校验 1=奇校验 0=偶校验 2SCC2 SCC2 的每位均可读/写。它的格式如下: SCTIESCI 发送中断允许位: 1=允许 SCTE 产生中断 0

11、=禁止 SCTE 产生中断 TCIE发送完成中断允许位: 1=允许 TC 产生中断 0=禁止 TC 产生中断 SCRIESCI 接收中断允许位: 1=允许 SCRF 产生中断 0=禁止 SCRF 产生中断 ILIE空闲线中断允许: 1=允许 IDLE 产生中断 0=禁止 IDLE 产生中断 TE发送器允许位: 置位 TE 位时,从 TXD 发这 10 或 11 个 1。在软件清“0”TE 时,在 TXD 返回空闲状 态前完成现行的发送操作。在发送时,清“0”后置位 TE,将在发完现行字符后发送一个空 闲字符。 1=允许发送器发送 0=禁止发送器发送; RE接收器允许位: 置位 RE 允许接收器

12、接收。清“0”RE 位,禁止接收器接收,但不影响任何接收中断 标志。 1=允许接收器接收 0=禁止接收器接收 RWU接收器唤醒位: 这位使接收器置于禁止接收中断的等待状态。SCC1 的 WAKE 位决定空闲输入或地址 位使接收器退出等待状态,并清“0”RWU 位。 1=等待状态 0=正常操作 SBK发送中止位: 置位然后清 0 该位,发送一个中止符(10/11 位“0”)后接一个逻辑“1” 。中止字符后的 逻辑“1”保证能识别出正确的起始位。如 SBK 保持置位,则发送器连续发送中止符(“0”)。 1=发送中止符 0=不发送中止符 3.SCC3 除了最高位(R8)外,SCC3 的每位均可读/写

13、。它的格式如下: R8接收位 8: 在 SCI 接收 9 位字符时, R8 为接收字符的(只可读出)第 9 位(位 8)。 在 SCDR 接收其他 8 位数据时置位。 在 SCI 接收 8 位字符时,R8 等于第 8 位(位 7)。 T8发送位 8: 在 SCI 发送 9 位字符时,T8 是发送字符的第 9 位(位 8)。它与 SCDR 一起装入发送移 位寄存器。 DMAREDMA 接收允许位: 有些 M68HC08 单片机产品具有 DMA 功能。 对无 DMA 功能的 M68HC08, 它必须为 0。 1=允许 SCRF 的 DMA 服务请求,禁止 SCRF 中断请求。 0=禁止 SCRF

14、DMA 服务请求,允许 SCRF 中断请求。 DMATEDMA 发送允许位: 有些 M68HC08 单片机产品具有 DMA 功能。 对无 DMA 功能的 M68HC08, 它必须为 0。 1=允许 SCTE DMA 服务请求,禁止 SCTE 中断请求。 0=禁止 SCTE DMA 服务请求,允许 SCTE 中断请求。 ORIE接收溢出中断允许位: 1=允许 OR 位产生 SCI 出错中断 0=禁止 OR 位产生 SCI 出错中断 NEIE接收噪声错中断允许位: 1=允许 NE 位产生 SCI 出错中断 0=禁止 NE 位产生 SCI 出错中断 FEIE接收帧出错中断允许位: 1=允许 FE 位

15、产生 SCI 出错中断 0=禁止 FE 位产生 SCI 出错中断 PEIE接收奇偶错中断允许位: 1=允许 PE 位产生 SCI 出错中断 0=禁止 PE 位产生 SCI 出错中断 二、SCI 状态寄存器 共有两个 SCI 状态寄存器保存一些重要的状态信息。 1SCS1 SCS1 只能读出。它的格式如下: SCTESCI 发送器空位: 在SCDR把字符传送至发送移位寄存器时置位。 它可产生 “SCI发送器空中断” 。 在SCTE 置位时读出 SCS1,再写入 SCDR 时清“0”SCTE 位。 1=SCDR 数据传已送至发送移位寄存器 0=SCDR 数据未传送至发送移位寄存 TC发送完成位: 在 SCTE 置位且无数据、引导符(preample)或中止符等字符等待发送时置位。它可产生 “SCI 完成中断” 。有数据、引导符或中止符发送时,自动清“0”TC 位。 1=不在进行行发送操作 0=正在进行发送操作 SCRFSCI 接收器满位: 在数据从接收移位寄存器传送至 SCI 数据寄存器时置位。它可产生“SCI 接收中断” 。 在 SCRF 置位时,读出 SCS1,再读出 SCDR 时清“0”SCRF 位。 1=SCDR 中有接收数据 0=SCDR 中无新数据 IDLE接收空闲位: 在接收器输入线上有 10 或 11 位连续的逻

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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