当前位置:文档之家› 串行通信接口SCI与SPI

串行通信接口SCI与SPI

数据位 定义 复位 D7 x 0 D6 x 0 D5 SCP1 0 D4 D3 D2 SCP0 x SCR2 0 0 0 D1 D0 SCR1 SCR0 0 0
8.3 SCI模块的编程结构
(1)SCI波特率寄存器 ) 波特率寄存器(SCI Baud Rate Register,SCBR) , 波特率寄存器
具有串行通信功能的 MC68HC908G932最小系统电路原理图 最小系统电路原理图
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
MC68HC908GP32
1 0.1μ +5V PLL滤波 L 10K 0.47µ 0.01µ 2 3 4 5 6 9 10 11 12 13 14 15 16 17 18 19 20 0.1μ 复位电路 +5V RST 7 8 10K 0.1µ +5V 51 +5V
SCC2的地址是:$0014 ,定义为: 的地址是: 定义为: 的地址是 定义为
数据位 定义 复位 D7 SCTIE 0 D6 TCIE 0 D5 0 D4 0 D3 TE 0 D2 RE 0 D1 RWU 0 D0 SBK 0
SCRIE ILIE
发送完成中 断允许位 发送中断 允许位
空闲线中 断允许位
开始位 第0 位 第1 位 第2 位 第3 位 第 4 位 第5 位 第6 位 第7 位 停止位
SCI数据格式
8.1 串行通信基本知识概要
(2)串行通信的波特率 ) 波特率( ):每秒内传送的位数 波特率(baud rate):每秒内传送的位数。 ):每秒内传送的位数。
波特率单位是位/秒 记为 波特率单位是位 秒,记为bps。通常情况下,波特率的单位可以 。通常情况下, 省略。通常使用的波特率有 省略。通常使用的波特率有300、600、900、1200、1800、2400、 、 、 、 、 、 、 4800、9600、19200、38400。 、 、 、 。
7 3
8 4
9 5
9芯串行接口排列
8.1 串行通信基本知识概要
返回
8.2 SCI的外围硬件电路与基本编程原理 的外围硬件电路与基本编程原理
8.2.1 SCI的外围硬件电路 的外围硬件电路
(1)电源供给与滤波 ) (2)晶振电路 ) (3)复位电路 ) (4)SCI电平转换电路 ) 电平转换电路
8.2 SCI的外围硬件电路与基本编程原理
表8-1 9芯串行接口引脚含义表 引脚号 1 2 3 4 5 功 能 接收线信号检测(载波检测DCD) 接收数据线(RXD) 发送数据线(TXD) 数据终端准备就绪(DTR) 信号地(SG) 引脚号 6 7 8 9 功 能 数据通信设备准备就绪(DSR) 请求发送(RTS) 清除发送 振铃指示
6 1 2
8.3 SCI模块的编程结构
控制寄存器1(SCI Control Register 1,SCC1) (2) SCI控制寄存器 ) 控制寄存器 ,
SCC1的地址是:$0013 ,定义为: 的地址是: 定义为: 的地址是 定义为
数据位 定义 复位 D7 0 D6 0 D5 0 D4 0 D3 0 D2 0 D1 0 D0 0
D2~D0 — SCR:波特率选择位(SCI Baud Rate Select Bits), ~ :波特率选择位( ), 定义波特率另一分频值,记为: ,定义如下: 定义波特率另一分频值,记为:BD,定义如下 SCR2、1、0 =000 、 、 BD = 1 001 2 010 011 100 101 110 111 4 8 16 32 64 128
8.1 串行通信基本知识概要
(4)串行通信的传输方式 )
单工( ):数据传送是单向的 单工(Simplex):数据传送是单向的,一端为发送端,另一端 ):数据传送是单向的,一端为发送端, 为接收端。这种传输方式中,除了地线之外, 为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以 有线广播就是单工的。 了。有线广播就是单工的。 全双工( ):数据传送是双向的 全双工(Full-duplex):数据传送是双向的,且可以同时接收 ):数据传送是双向的, 与发送数据。这种传输方式中,除了地线之外,需要两根数据线, 与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站 在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下, 在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下, MCU的异步串行通信接口均是全双工的。 的异步串行通信接口均是全双工的。 的异步串行通信接口均是全双工的 半双工( ):数据传送也是双向的 半双工(Half-duplex):数据传送也是双向的,但是在这种传 ):数据传送也是双向的, 输方式中,除了地线之外,一般只有一根数据线。任何一个时刻, 输方式中,除了地线之外,一般只有一根数据线。任何一个时刻,只 能由一方发送数据,另一方接收数据,不能同时收发。 能由一方发送数据,另一方接收数据,不能同时收发。在freescale 系列MCU中,监控模式的通信就采用这种方式。 的HC08系列 系列 中 监控模式的通信就采用这种方式。
8.1 串行通信基本知识概要
8.1.2 RS-232C总线标准 总线标准
RS-232接口,简称“串口”, 接口,简称“串口” 接口 它主要用于连接具有同样接口的室 内设备。 内设备。目前几乎所有计算机上的 串行口都是9芯接口。右图给出了 串行口都是 芯接口。右图给出了9 芯接口 芯串行接口的排列位置,相应引脚 芯串行接口的排列位置, 含义见表8-1。 含义见表 。
(1)异步串行通信的格式
SCI 通 常 采 用 NRZ 数 据 格 式 , 即 : standard non-return-zero mark/space data format, 译为: “ 标准不归零传号/空号数据格 , 译为 : 标准不归零传号 空号数据格 不归零”的最初含义是:用正、负电平表示二进制值, 式”。“不归零”的最初含义是:用正、负电平表示二进制值,不使 用零电平。 空号” 用零电平。“mark/space”即“传号 空号”分别是表示两种状态的物 即 传号/空号 理名称,逻辑名称记为“ 位数据、 理名称,逻辑名称记为“1/0”。下图给出了 8位数据、无校验情况的 。 位数据 传送格式。 传送格式。
串行通信接口SCI 第八章 串行通信接口 与串行外设接口SPI 与串行外设接口
主要内容 串行通信基本知识概要 SCI的外围硬件电路与基本编程原理 SCI模块的编程结构 串行通信编程实例 SPI模块的编程结构及应用实例 SPI应用实例━━高位A/D扩展接口
8.1 串行通信基本知识概要
8.1.1 基本概念
接收器 允许位
发送终止位
接收中断 允许位
发送器允许位
接收器唤 醒位
8.3 SCI模块的编程结构
控制寄存器3(SCI Control Register 3,SCC3) (4) SCI控制寄存器 ) 控制寄存器 ,
SCC3的地址是:$0015 ,定义为: 的地址是: 定义为: 的地址是 定义为
数据位 定义 复位 D7 R8 0 D6 T8 0 D5 0 D4 0 D3 0 D2 NEIE 0 D1 FEIE 0 D0 PEIE 0
8.1 串行通信基本知识概要
8.1.2 RS-232C总线标准 总线标准
MCU引脚一般输入 输出使用 引脚一般输入/输出使用 电平, 电平的“ 引脚一般输入 输出使用TTL电平,而TTL电平的“1” 电平 电平的 的特征电压分别为2.4V和0.4V,适用于板内数据传输。为 和“0”的特征电压分别为 的特征电压分别为 和 ,适用于板内数据传输。 了使信号传输得更远,美国电子工业协会 了使信号传输得更远,美国电子工业协会EIA(Electronic ( Industry Association) 制订了串行物理接口标准 ) 制订了串行物理接口标准RS-232C。 。 RS-232C采用负逻辑,-3V~-15V为逻辑“1”,+3V~+15V为逻 采用负逻辑, ~ 为逻辑“ , ~ 为逻 采用负逻辑 为逻辑 最大的传输距离是30m,通信速率一般低于 辑“0”。RS-232C最大的传输距离是 。 最大的传输距离是 , 20Kbps。 。
DMARE DMATE ORIE
发送位8 发送位 接收位8 接收位
DMA发送 发送 允许位
接收器噪 声错误中 断允许位
接收器奇偶错 误中断允许位 接收器帧 错误中断 允许位
DMA接收 接收 允许位
接收器溢出 中断允许位
8.3 SCI模块的编程结构
状态寄存器1(SCI Status Register 1,SCS1 ) (5) SCI状态寄存器 ) 状态寄存器 ,
8.2 SCI的外围硬件电路与基本编程原理
8.2.2 SCI的基本编程原理 的基本编程原理
接收引脚 RxD 接收移位寄存器 发送引脚 TxD 发送移位寄存器
SCI 数据寄存器
Bus) MCU 的 内 部 总 线 (Internal Bus)
SCI 控制寄存器
SCI状态寄存器 状态寄存器 SCI编程模型
为串行通信时钟源频率, 设fSCI为串行通信时钟源频率,fSCI= fBUS或CGMXCLK,取决于 为串行通信时钟源频率 或 , CONFIG2的SCIBDSRC,一般设定 的 ,一般设定SCIBDSRC=1,SCI用内部总线时 , 用内部总线时 钟,则fSCI= fBUS,则波特率的定义公式为: ,则波特率的定义公式为: Bt=fBUS /(64×PD×BD) = ( × × )
8.1 串行通信基本知识概要
(3)奇偶校验 ) 字符奇偶校验检查( 字符奇偶校验检查(character parity checking)称为 )
垂直冗余检查( ),它是每 垂直冗余检查( vertical redundancy checking,VRC),它是每 , ), 个字符增加一个额外位使字符中“ 的个数为奇数或偶数 的个数为奇数或偶数。 个字符增加一个额外位使字符中“1”的个数为奇数或偶数。 奇校验:如果字符数据位中“ 的数目是偶数 校验位应为“ , 的数目是偶数, 奇校验:如果字符数据位中“1”的数目是偶数,校验位应为“1”, 如果“ 的数目是奇数 校验位应为“ 。 的数目是奇数, 如果“1”的数目是奇数,校验位应为“0”。 偶校验:如果字符数据位中“ 的数目是偶数 的数目是偶数, 偶校验:如果字符数据位中“1”的数目是偶数,则校验位应为 “0”,如果是奇数则为“1”。 ,如果是奇数则为“ 。
相关主题