08部分SCI&ampamp;SPI串行通信12078

上传人:012****78 文档编号:127084054 上传时间:2020-03-30 格式:PPT 页数:15 大小:833.50KB
返回 下载 相关 举报
08部分SCI&ampamp;SPI串行通信12078_第1页
第1页 / 共15页
08部分SCI&ampamp;SPI串行通信12078_第2页
第2页 / 共15页
08部分SCI&ampamp;SPI串行通信12078_第3页
第3页 / 共15页
08部分SCI&ampamp;SPI串行通信12078_第4页
第4页 / 共15页
08部分SCI&ampamp;SPI串行通信12078_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《08部分SCI&ampamp;SPI串行通信12078》由会员分享,可在线阅读,更多相关《08部分SCI&ampamp;SPI串行通信12078(15页珍藏版)》请在金锄头文库上搜索。

1、 第8章SCI SPI串行通信模块 MCU与外设进行数据交换称为通信 方法 并行 多位同时传输 速度快 距离近 占引脚多 抗干扰弱串行 逐位顺序传输 速度慢 距离远 占引脚少 抗干扰强串行通信须遵守通信协议嵌入式系统中 串行通信 一般特指SCI与RS232芯片连接的通信但还有众多串行通信方式FreescaleMCU集成 SCI SerialCommunicationInterfaceSPI SerialPeripheralInterface Motorola推出 CAN ControlAreaNetwork Motorola推出 I2C InterIntegratedCircuit phili

2、ps推出 LIN LocalInterconnectNetwork Motorola推出 USB UniversalSerialBus等等 重庆大学通信工程学院任勇 8 1 1SCI串行通信规范SCI串行通信 异步通信 最常用 最经典 SCI基本概念 1 异步串行通信的格式 NRZ 8位或9位 异步通信 每一数据块的字符以起始位 0 表示开始 停止位 1 表示结束 2 串行通信的波特率定义 每秒内传送的位数单位 b s或bps常用 1200bps 4800bps 9600bps 3 奇偶校验奇校验 校验位为0或1 使得帧数据中1的数目是奇数偶校验 校验位为0或1 使得帧数据中1的数目是偶数4

3、串行通信的传输方式单工 1根数据线全双工 2根数据线 常用 半双工 1根数据线 重庆大学通信工程学院任勇 5 RS 232C串行通信标准采用负逻辑 逻辑 1 15V 3V 逻辑 0 3V 15V传输距离 30m 通信速率 20Kbps接口 9芯 常用3线 地 GND 发送数据 TXD 接收数据 RXD 6 SCI的电平转换电路 MCU与MCU之间无需 7 SCI通信的基本工作原理接收时 把外部单线输入的串行数据变成1个字节的并行数据送入MCU发送时 把需要发送的1个字节的并行数据转换为串行数据单线输出 MCU与PC机串行通信电路 重庆大学通信工程学院任勇 8 1 2S12 X SCI串行通信接

4、口的功能与设置S12集成了2个SCI串行通信模块 内部结构如图8 4 特点 双线全双工串行标准NRZ格式硬件自动生成奇偶校验位独立的波特率产生逻辑 13位波特率设置8位或9位数据格式独立的发送器和接收器允许控制位中断驱动机制 方便调试可监视发送器的输出 进行通信自诊断SCI模块引脚复用 SCI0 RXD TXD PS0 PS1SCI1 RXD TXD PS2 PS3 重庆大学通信工程学院任勇 SCI的寄存器设置 1 SCI波特率寄存器 SCIxBDH SCIxBDL 共16位 13位有效 波特率计算公式 波特率 总线频率 16xBR 编程时按16位送数 如 LDX 13STXSCI0BD 2M

5、Hz 16x13 9600bps 高8位SCIBDH 低8位SCIBDL 重庆大学通信工程学院任勇 2 SCI控制寄存器 SCIxCR1 SCIxCR2 3 SCI状态寄存器 SCIxSR1 SCICR1 SCICR2 举例 设置允许SCI 正常码输出 8位数据 无奇偶校验 SCI0CR1 0 x00 举例 设置禁止中断 允许发送 允许接收 查询方式收发 SCI0CR2 0 x0C 常用 TDRE 发送寄存器空标志 1 可以发送数据 0 不可以发送数据 需等待RDRF 接收数据满标志 1 可以取出数据 0 不可以取出数据 需等待 重庆大学通信工程学院任勇 4 SCI数据寄存器 SCIxDRH

6、SCIxDRL 高位SCIDRH 低位SCIDRL R8 接收位8 写无效 9位数据模式时 该位是从串行数据流中接收的第9位T8 发送位8 可读写 9位数据模式时 该位是送到串行数据流的第9位R7 R0 接收数据位7 0 T7 T0 发送数据位7 0 注 无校验位时 只使用低位SCIxDRL SCI0DRL或SCI1DRL 重庆大学通信工程学院任勇 SCI串行通信接口的应用程序基本编制方法 1 初始化 设置波特率 设置2个控制寄存器2 发送数据 先判断是否可以发送数据 可以时再发送3 接收数据 先判断是否可以接收数据 可以时再接收 实例 查询方式的SCI串行口收发数据 可连接PC机 思考 可能

7、的问题 改造为中断方式接收 重庆大学通信工程学院任勇 例8 2 MCU中断响应SCI接收 将接收到的数据依次存入内存中 当接收到一组数据后通过SCI发送回送应答码及所接收数据 fBus 8MHz SCI双方通信约定 19200bps波特率 8位数据 无校验位 重庆大学通信工程学院任勇 连接信号线 1个时钟 SCK 2个数据信号 MISO MOSI 1个从机选择信号 SS 8 2SPI串行通信接口SPI SerialPeripheralInterface 串行外设接口 一种同步串行通信系统 即收 发双方共享同一个时钟信号 SPI通信原理 SPI以主从方式工作 这种模式通常有一个主设备和一个或多个

8、从设备 需要4根线 事实上3根也可以 单向传输时 重庆大学通信工程学院任勇 S12 X SPI模块的内部组成如图8 5 主要包括 8位移位寄存器 时钟控制逻辑 引脚控制逻辑 SPI控制逻辑 分频器 波特率寄存器 状态寄存器 SPI控制寄存器 其中 总线时钟经波特率寄存器进行分频选择后作为SPI时钟源 核心是8位移位寄存器 在SCK的作用下 数据寄存器的数据从8位移位寄存器移出或移入 控制寄存器负责控制SPI工作方式 状态寄存器负责记录SPI工作状态 SPI模块的外部引脚当SPI模块使能时 S口的PS4 PS7变为SPI0的MISO MOSI SCK SS引脚 SPI1与PP0 PP3复用 MI

9、SO MasterIn SlaveOut 主机入 从机出 MOSI MasterOut SlaveIn 主机出 从机入 SCK SerialClock 同步串行时钟 做从机时为输入 主机时输出SS SlaveSelect 从机选择 做主机时须接高 做从机时低选通 重庆大学通信工程学院任勇 SPI工作模式3种 主机模式从机模式双工模式SPI寄存器 注 由于有两个串行外设接口 SPI0 SPI1 编程使用时 寄存器名称中SPI改为SPIx x 0 1 重庆大学通信工程学院任勇 SPI寄存器具体定义见书 不确定时用默认 用时查对 编程基本方法 1 初始化2 发送或接收1个字节 例8 2 SPI输出控

10、制的跑马灯 74LS164 串入并出 重庆大学通信工程学院任勇 使用SPI 节省MCU的引脚 但须增加外接移位寄存器 例8 3 SPI输入的开关检测 74LS165 并入串出 SPI接口还方便于 对一些具有SPI接口能力的芯片可以直接连接通信 如AD采集芯片TLC2543 语音芯片ISD1760等 程序略 重庆大学通信工程学院任勇 本章习题 SCI通信接口有哪些引脚 分别与哪个I O引脚复用 汇编语言编程 MCU在接受到命令字 01后 将起始地址在 2000的16个8位数据加奇校验位发送出去 波特率要求4800bps MCU总线频率为2MHz 汇编语言编程 中断引发接收的SCI接收与发送 波特率要求9600bps MCU总线频率为8MHz SPI通信接口有哪些引脚 分别是什么功用 试编程 MCU通过SPI连接74LS165 完成外接开关状态检测

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

当前位置:首页 > 医学/心理学 > 基础医学

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