单片机原理及应用:第08章 SCI SPI串行通信_第1页
单片机原理及应用:第08章 SCI SPI串行通信_第2页
单片机原理及应用:第08章 SCI SPI串行通信_第3页
单片机原理及应用:第08章 SCI SPI串行通信_第4页
单片机原理及应用:第08章 SCI SPI串行通信_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆大学通信工程学院任勇第8章SCI/SPI串行通信模块

MCU与外设进行数据交换称为通信,方法:并行---多位同时传输。速度快,距离近,占引脚多,抗干扰弱串行---逐位顺序传输。速度慢,距离远,占引脚少,抗干扰强

串行通信须遵守通信协议嵌入式系统中,串行通信------一般特指SCI与RS232芯片连接的通信但还有众多串行通信方式

FreescaleMCU通常集成:

SCI---SerialCommunicationInterfaceSPI---SerialPeripheralInterface(Motorola推出)CAN---ControlAreaNetwork(Motorola推出)I2C---InterIntegratedCircuit(philips推出)LIN---LocalInterconnectNetwork

(Motorola推出)

USB---UniversalSerialBus

重庆大学通信工程学院任勇8.1.1SCI串行通信规范

SCI串行通信---异步通信,最常用、最经典;SCI基本概念:1、异步串行通信的格式(NRZ,8位或9位,异步通信:每一数据块的字符以起始位“0”表示开始;停止位“1”表示结束)2.串行通信的波特率定义:每秒内传送的位数单位:b/s或bps常用:1200bps、4800bps、9600bps、19200bps……3.奇偶校验奇校验:校验位为0或1,使得帧数据中1的数目是奇数偶校验:校验位为0或1,使得帧数据中1的数目是偶数4.串行通信的传输方式单工:1根数据线全双工:2根数据线(常用)半双工:1根数据线

TXDRXDMCUMCUTXDRXDGNDGND重庆大学通信工程学院任勇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串行通信接口的功能与设置

S12XS128集成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;2MHz/(16x13)=9600bpsBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0\\\SBR12SBR11SBR10SBR9SBR8高8位SCIBDHBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SBR7SBR6SBR5SBR4SBR3SBR2SBR1SBR0低8位SCIBDL重庆大学通信工程学院任勇(2)SCI控制寄存器---SCIxCR1、SCIxCR2(3)SCI状态寄存器---SCIxSR1Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LOOPSSCISWARSRCMWAKEILTPEPTSCICR1Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TIETCIERIEILIETERERWUSBKSCICR2举例:设置允许SCI、正常码输出、8位数据、无奇偶校验

SCI0CR1=0x00;举例:设置禁止中断、允许发送、允许接收,查询方式收发

SCI0CR2=0x0C;Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TDRETCRDRFIDLEORNFFEPF常用:TDRE:发送寄存器空标志。1=可以发送数据;0=不可以发送数据,需等待

RDRF:接收数据满标志。1=可以取出数据;0=不可以取出数据,需等待重庆大学通信工程学院任勇(4)SCI数据寄存器---SCIxDRH、SCIxDRLBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0R8T8\\\\\\高位SCIDRHBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0R7/T7R6/T6R5/T5R4/T4R3/T3R2/T2R1/T1R0/T0低位SCIDRLR8:接收位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机)思考:可能的问题?循环中检测,消耗CPU改造为中断方式接收重庆大学通信工程学院任勇【例8-2】MCU中断响应SCI接收,将接收到的数据依次存入内存中,当接收到一组数据后通过SCI发送回送应答码及所接收数据。fBus=8MHz。SCI双方通信约定:19200bps波特率、8位数据、无校验位。

重庆大学通信工程学院任勇连接信号线:

1个时钟(SCK)2个数据信号(MISO,MOSI)1个从机选择信号(SS)8.2SPI串行通信接口

SPI(SerialPeripheralInterface)---串行外设接口,一种同步串行通信系统,即收、发双方共享同一个时钟信号。SPI通信原理:SPI以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要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复用)MISO(MasterIn/SlaveOut):主机入/从机出。MOSI(MasterOut/SlaveIn):主机出/从机入。SCK(SerialClock):同步串行时钟。做从机时为输入,主机时输出SS(SlaveSelect):从机选择。做主机时须接高;做从机时低选通重庆大学通信工程学院任勇SPI工作模式

3种:主机模式从机模式双工模式SPI寄存器地址寄存器名称与缩写访问权限基本功能SPI0SPI1$00D8$00F0控制寄存器1(SPICR1)读/写设置SPI使能、中断、主从模式$00D9$00F1控制寄存器2(SPICR2)读/写设置工作模式$00DA$00F2波特率寄存器(SPIBR)读/写设置波特率$00DB$00F3状态寄存器(SPISR)只读各个状态、标志位$00CD$00F5数据寄存器(SPIDR)读/写收发的数据注:由于有两个串行外设接口(SPI0/SPI1),编程使用时,寄存器名称中SPI改为SPIx,x=0,1。重庆大学通信工程学院任勇

SPI寄存器具体定义见书,不确定时用默认;用时查对。编程基本方法:1、初始化

2、发送或接收1个字节

【例8-2】SPI输出控制的跑马灯。(74LS164:串入并出)重庆大学通信工程学院任勇

使用SPI,节省MCU的引脚,但须增加外接移位寄存器。【例8-3】SPI输入的开关检测。(74LS165:并入串出)程序略…重庆大学通信工程学院任勇

参考程序片段:SPI接口还方便于:对一些具有SPI接口能力的芯片可以直接连接通信,如D/A转换芯片TLC5615、语音芯片ISD1760等。重庆大学通信工程学院

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论