飞思卡尔11章 S12串行通信模块

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主 MCU 移位寄存器 MISO MOSI SPSCK 波特率发生器 MISO MOSI SPSCK 从 MCU 移位寄存器
1个时钟(SCK)
2个数据信号(MISO,MOSI) 1个从机选择信号(SS)
重庆大学通信工程学院
任勇
SPI模块的内部组成 如图11-1,主要包括: 8位移位寄存器、时钟控制逻辑、引脚控制逻辑、SPI控制逻 辑、分频器、波特率寄存器、状态寄存器、SPI控制寄存器。 其中:总线时钟经波特率寄存器进行分频选择后作为SPI时钟 源,核心是8位移位寄存器,在SCK的作用下,数据寄存器的 数据从8位移位寄存器移出或移入。控制寄存器负责控制SPI工 作方式,状态寄存器负责记录SPI工作状态。 SPI模块的外部引脚 当SPI模块使能时,S口的PS7~PS4变为SPI的MISO、MOSI、 SS、SCK引脚:
0
1

11.2.1 SCI串行通信接口的特点 S12 集成了2个SCI串行通信模块,内部结构如图11-2;特点:
双线全双工串行标准NRZ格式 硬件自动生成奇偶校验位 独立的波特率产生逻辑 独立的发送器和接收器允许控制位 中断驱动机制,方便调试 可监视发送器的输出,进行通信自诊断
Bit3 R3/T3
Bit2 R2/T2
Bit1 R1/T1
Bit0 R0/T0
R8: 接收位8。写无效,9位数据模式时,该位是从串行数据流中接收的第9位 T8: 发送位8。可读写,9位数据模式时,该位是送到串行数据流的第9位 R7~R0:接收数据位7~0。 T7~T0:发送数据位7~0。
注:无校验位时,只使用低位SCIxDRL (SCI0DRL或SCI1DRL)
SCICR1
Bit7 Bit6 Bit5 Bit4 M Bit3 WAKE Bit2 ILT Bit1 PE Bit0 PT LOOPS SCISWA RSRC
举例:设置允许SCI、正常码输出、8位数据、无奇偶校验 SCI0CR1=Ox00;
SCICR2
Bit7 TIE Bit6 TCIE Bit5 RIE Bit4 ILIE Bit3 TE Bit2 RE Bit1 RWU Bit0 SBK
SBR7 SBR6 SBR5 SBR4
SBR3 SBR2 SBR1
波特率计算公式:波特率=总线频率/(16xBR),编程时按16位送数,如: LDX #13 STX SCI0BD ; 2MHz/(16x13)=9600bps
重庆大学通信工程学院 任勇
(2) SCI控制寄存器---SCIxCR1、SCIxCR2
U
0
MOSI
MISO
TXD
RXD
SCK
S
S
VCC
VCC
1
R
0
9
K
9
8
2
1
74LS164
U
M
B
A
1
CLK
R
Q
Q
Q
Q
Q
Q
Q
Q
7
6
5
4
3
2
1
0
1
1
1
1
6
5
4
3
【实例】SPI输出控制的跑马灯。(74LS164:串入并出)
2、发送或接收1个字节
3
2
1
0
SPI寄存器具体定义见书,不确定时用默认;用时查对。
重庆大学通信工程学院
P
P
0
1
2
3
4
5
6
7
L
1
1
1
1
1
3
4
5
6
2
1
1
0
1
2
3
4
5
1
1 6
2
1 5
3
1 4
4
1 3
5
1 2
6
1 1
7
1 0
【实例】SPI输入的开关检测。(74LS165:并入串出)
8
9
1
1
1
1
1
1
1
6
5
4
3
2
1
0
9
1
R
VCC
0
1
SW-DIP8
S K
使用SPI,节省MCU的引脚,但须增加外接移位寄存器。
SPI接口还方便于:对一些具有SPI接口能力的芯片可以直接连接 通信,如AD采集芯片TLC2543。
2.串行通信的波特率
定义:每秒内传送的位数 单位:b/s或bps 常用:1200bps、4800bps、9600bps……
3.奇偶校验
奇校验:校验位为0或1,使得1的数目是奇数 偶校验:校验位为0或1,使得1的数目是偶数
4.串行通信的传输方式
单工:1根数据线 全双工:2根数据线;常用 半双工:1根数据线
读/写 设置传输格式、中断使能 只读 中断标志、发送与接收状态 读/写 设置波特率 只读 读取各个状态标记位 读/写 收发的数据
注:由于有两个串行外设接口(SPI0/SPI1),编程使用时, 寄存器名称中SPI改为SPIx,x=0,1。
重庆大学通信工程学院 任勇
编程基本方法: 1、初始化
MCU
Freescale
R1IN
1
0
7
T2IN
T2OUT
9
8
G
N
D
R2OUT
Hale Waihona Puke BaiduMAX232
R2IN
5
9
4
8
7. SCI通信的基本工作原理
MCU与PC机串行通信电路
接收时,把外部单线输入的串行数据变成1个字节的并行数据送入MCU 发送时,把需要发送的1个字节的并行数据转换为串行数据单线输出
重庆大学通信工程学院 任勇
DB9
举例:设置禁止中断、允许发送、允许接收,查询方式收发 SCI0CR2=0x0C;
(3) SCI状态寄存器---SCIxSR1
Bit7
TDRE
Bit6
TC
Bit5
RDRF
Bit4
IDLE
Bit3
OR
Bit2
NF
Bit1
FE
Bit0
PF
常用: TDRE:发送寄存器空标志。1=可以发送数据;0=不可以发送数据,需等待 RDRF:接收数据满标志。 1=可以取出数据;0=不可以取出数据,需等待
本章习题:
1. 2. 3. 4. SPI通信接口有哪些引脚,分别是什么功用? SPI有哪几个寄存器? SCI通信接口有哪些引脚,分别与哪个I/O引脚复用。 试编汇编程序:中断引发接收的SCI接收与发送。波特率要求 9600bps,MCU晶振频率为16MHz。
重庆大学通信工程学院
任勇
MISO (Master In / Slave Out):主机入/从机出。 MOSI (Master Out / Slave In ):主机出/从机入。 SS (Slave Select):从机选择。做主机时须接高;做从机时低选通 SCK (Serial Clock):同步串行时钟。做从机时为输入,主机时输出
重庆大学通信工程学院 任勇
(4) SCI数据寄存器---SCIxDRH、SCIxDRL
高位SCIDRH
Bit7 R8 Bit6 T8 Bit5 \ Bit4 \ Bit3 \ Bit2 \ Bit1 \ Bit0 \
低位SCIDRL
Bit7 R7/T7
Bit6 R6/T6
Bit5 R5/T5
Bit4 R4/T4
U 1 VCC C 1 1 6 5 1 u C1+ VCC F C MCU 1 C 1 u F 3 2 3 1 u C1V 4 + C2+ V C 2 6 C 1 u F 1 u 4 F F
PC-




5
1
C2-
G
N
D
5
TXD
1
1
1
4
RXD
2
6
1
1
T1IN
T1OUT
1
2
1
3
TXD
3
7
1
R1OUT
RXD
11.2.2 SCI的寄存器设置 (1)SCI波特率寄存器---SCIxBDH、SCIxBDL(共16位)
高8位SCIBDH 低8位SCIBDL
Bit7 \ Bit7 Bit6 \ Bit6 Bit5 \ Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 SBR8 Bit0 SBR0 SBR12 SBR11 SBR10 SBR9 Bit4 Bit3 Bit2 Bit1
重庆大学通信工程学院 任勇
5. RS-232C串行通信标准
采用负逻辑:逻辑“1”:-15V~-3V ;逻辑“0”:+3V~+15V 传输距离≤30m,通信速率≤20Kbps 接口:9芯;常用3线:地(GND)、发送数据(TXD)、接收数据(RXD)
6. SCI的电平转换电路(MCU与MCU之间无需)
第11章 S12串行通信模块
MCU与外设进行数据交换称为通信,方法: 并行---多位同时传输。速度快,距离近,占引脚多 串行---逐位顺序传输。速度慢,距离远,占引脚少 串行通信须遵守通信协议,S12集成:SPI、SCI、CAN、I2C等
11.1 SPI串行通信接口
SPI(Serial Peripheral Interface)---串行外设接口,一种同步串行 通信系统,即收、发双方共享同一个时钟信号。 SPI通信原理:
重庆大学通信工程学院 任勇
1 1 2 3 4 5 6 7 8
11.2 SCI串行通信接口 SCI串行通信---异步通信,最常用;SCI基本概念: 1、异步串行通信的格式(NRZ,8位或9位,异步通信:每一数据块的字符以起
始位“0”表示开始;停止位 “1”表示结束)
开始位 第0位 第1位 第2位 第3位 第4位 第5位 第6位 第7位 停止位
LED8
LED7
LED6
LED5
LED4
LED3
LED2
LED1
任勇
1 0 0
R
1
R
1
R
1
R
1
R
1
R
1
R
1
R
0
0
0
0
0
0
0
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
程序略…
MCU
Freescale
U
0
MOSI
MISO
TXD
RXD
SCK
S
S
VCC
9
7
74LS165
U
Q
Q
2
7
7
CLK1
CLK2
SER
P
P
P
P
P
P
P
重庆大学通信工程学院
任勇
SCI串行通信接口的应用程序 基本编制方法: 1、初始化:设置波特率、设置2个控制寄存器 2、发送数据:先判断是否可以发送数据,可以时再发送 3、接收数据:先判断是否可以接收数据,可以时再接收
【实例】查询方式的SCI串行口收发数据。(可连接PC机)
重庆大学通信工程学院
任勇
重庆大学通信工程学院 任勇
11.1.1 SPI工作模式 3种: 主机模式 从机模式 双工模式 11.1.2 SPI寄存器
地址
SPI0
$00D8 $00D9 $00DA $00DB $00CD
SPI1
寄存器名称与缩写
访问 权限
基本功能
$00F0 控制寄存器1(SPICR1) $00F1 控制寄存器2(SPICR2) $00F2 波特率寄存器(SPIBR) $00F3 状态寄存器(SPISR) $00F5 数据寄存器(SPIDR)
相关文档
最新文档