首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

哈工大DSP精品讲义!!!(连载)

寄存器。此后,ADC硬件自动将偏置误差加到转换值上


第8章 串行通信接口(SCI)

内部有一个串行通信(SCI)接口模块,来实现与其它外设之间的串行数据通信。波特率可编程。 SCI的发送器与接收器都是双缓冲的。各自有工作使能 和中断控制。可工作于全双工模式波特率可编程。

8.1 串行通信接口的结构

8.1.1 串行通信接口的物理描述 。

(1)两个I/O引脚:SCIRXD与SCITXD

(2)通过对一个16位的波特率选择寄存器编程,可得 到65000种的不同速率。


(3)1-8位的可编程数据位。

(4)长度为1位或2位的可编程停止位。

(5)内部产生的串行时钟。

(6)四个错误的检测标志:奇偶性错误、超限错误、帧错误、间断检测

(7)两种唤醒多处理器模式:空闲线唤醒、位寻址唤醒

(8)半双工或全双工。

(9)双缓冲接收和发送功能。

(10)发送和接收操作均可通过中断或查询操作进行

(11)非归零格式(NRZ)

8.1.2 SCI模块的结构

模块主要包括以下部件:

(1)发送器-TX: SCITXBUF-发送数据缓冲寄存器,存发送数据。TXSHF-发送移位寄存器,每次1位送到SCITXD 引脚

(2)接收器-RX:

RXSHF-接收移位寄存器,每次1位将SCITXD引脚上的数据移入。SCIRXBUF-接收数据缓冲寄存器,存RXSHF接收到数据


(3)一个可编程的波特率发生器。

(4)控制和状态寄存器(映射在数据存储器区)

8.1.3 SCI模块的寄存器地址

地址 寄存器 名称

7050h SCICCR SCI控制寄存器

7051h SCICTRL1 SCI控制寄存器1

7052h SCIBAUD 波特率选择寄存器高8位

7053h SCIBAUD 波特率选择寄存器低8位

7054h SCICTRL2 SCI控制寄存器2

7055h SCIRXST SCI接收器状态寄存器

7056h SCIRXEMU SCI仿真数据缓冲寄存器

7057h SCIRXBUF SCI接收器数据缓冲寄存器

7059h SCITXBUF SCI发送数据缓冲寄存器


8.1.4 多机异步通信模式

SCI有两种多处理器协议,即空闲线路多处理器模式

和地址位多处理器模式,这些协议允许在多个处理 器之间进行有效的数据传输。

SCI提供了与许多流行的外围设备接口的通用异步 收器发送器(UART)通信模式。异步模式需要两条钱与标准设备接口,如使用RS-232C格式的终端和打印 机等。数据发送的字符包括:

* 一个起始位* 1-8个数据位* 一个奇偶校验位或无奇偶校验位* 1-2个数据位

8.2 可编程的数据格式

串行通信接口可的数据无论是接收还是发送都采用NRZ(非归零)格式, NRZ包括以下组成部分:

* 一个起始位 * 1-8个数据位. * 一个奇偶校验位或无奇偶校验位 * 1-2个停止位


*一个从数据中识别地址的附加位(仅用于地址模式)。

数据的基本单位被称作一个字符,为1-8位的字长。数据的每个字符格式化为1个起始位,1-2个停止位和可选的奇偶校验位和地址位,如图8-2所示。

注意:带有格式化信息数据的一个字符称为一个帧。

为了对数据格式化进行编程,要使用SCI通信接口控

制寄存器(SCICCR)。用于对数据格式进行编程的位

如表8-2所示。

表8-2 对数据格式进行编程的位

位 功能

SCICCR2-0 选择字符长度(1-8位)

SCICCR.5 是否选择奇偶校验功能

SCICCR.6 选择奇偶校验,1-偶,0-奇

SCICCR.7 选择停止位的个数, 1-1个,0- 2个

8.3 SCI多处理器通信

多处理器通信即一条串行线上只能有一个信息源。

地址字节 信息源发送的数据块的第一个字节包括一个地址字节,

它被所有的接收器读取,但只有地址正确的接收器

才能被紧随地址字节后面的数据字节中断,地址不正确的接收器不被中断,直到下一个地址字节。

SLEEP位

串行线路上的所有处理器将它们的串行通信接口的SLEEP位(SClCTL1.2)设置为1,这样当仅在检测到地

址字节时才被中断。当一个处理器读取到的一个数

据块地址与软件设置的CPU器件地址相一致时,用户程序必须清除SLEEP位来确保串行通信接口在收到每个 数据字节时产生一个中断。

尽管当SLEEP位为1时,接收器仍能工作,但它不会使RXRDY、RXINT或任何接收错误状态位设置为1,除非 检测到地址字节,且接收到的帧的地址位是1。SCI 不会改变SLEEP位,必须由用户软件改变。

识别地址字节

如:

控制SCI Tx和Rx特性

多处理器的模式可通过ADDR/IDLE MODE位(SCICCR.3)

来设置。两种模式都使用TXWAKE(发送唤醒标志)位

(SCIRXST.1)和SLEEP标志位(SCICTL1.3)来控制串行通信接口发送器和接收器的工作状态。

接收顺序:在两种多处理器模式中,接收顺序如下: (1)在接收一个地址块时,串行通信接口唤醒并请求一 个中断(RX/BK INT ENA- SCICTL2.1必须被使能以

目的地址

(2)通过中断和检查程序引入的地址进入一个软件服务程序,并且该地址字节与保存在内存中的器件地址再次进行校对。

(3)如果检查表明此块是DSP控制器的地址,则CPU清除SLEEP位并读块的其余部分,如果不是,则退出软件 子程序,SLEEP位设置为1,并在下一个块开始之前

不接收中断。

8.3.1 空闲线多处理器模式

8.3.2 地址位多处理器模式

8.4 SCI通信模式

8.4.1 通信模式中的接收器信号

8.4.2 通信模式中的发送器信号

8.5 串行通信中断

8.6 SCI波特率计算

8.7 SCI模块寄存器

8.8 串行通信实例

8.8.1 串行通信回环传输实例

8.8.2 使用中断执行SCI数据的接收

TXD

TTL-232

DSP 电平转换

RXD

TTL电平 232电平 PC机232接口

返回列表