版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 串行外设接口串行外设基本知识SPI的寄存器SPI的基本编程方法第七章 串行外设接口串行外设基本知识SPI的寄存器SPI的基本编程方法MC68HC90GP32串行外设接口同步串行外设接口(SPI):实现MCU与外围设备的串行通信,由同步时钟脉冲控制数据的传输,其速度一般比SCI方式快。利用SPI可以实现与具有SPI接口的芯片进行直接接口,即进行MCU的外设扩展。通信过程中,控制数据传输的设备称为主机(master),另外的设备称为从机(slave),完成传输过程。MCU必须工作在主机方式,外设处于从机方式。SS引脚: 从机选择(Slave Select)MISO引脚: 主出从入(Mast
2、er In Slave Out)MOSI引脚: 主入从出(Master Out Slave In)SPSCK引脚: SPI串行时钟(SPI Serial Clock)SPI接口VDDAD/VREFH(ADC)MC68HC908GP32 VDDA(PLL) VSSA(PLL)CGMXFC(PLL) OSC2 OSC1 RST PTC0 PTC1 PTC2 PTC3 PTC4 PTE0/TXD PTE1/RXD IRQ PTD0/SS PTD1/MISO PTD2/MOSI PTD3/SPSCK VSS VDDPTA7/KBD7PTA6/KBD6PTA5/KBD5PTA4/KBD4PTA3/KBD
3、3PTA2/KBD2PTA1/KBD1PTA0/KBD0VSSAD/VREFL(ADC)MC68HC908GP32 40 39 38 37 36 35 34 33 32 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21PTB7/AD7PTB6/AD6PTB5/AD5PTB4/AD4PTB3/AD3PTB2/AD2PTB1/AD1PTB0/AD0PTD5/T1CH1PTD4/T1CH0从机选择低电平有效SPI串行时钟、主机输出、从机输入主机选择高电平有效SPI工作原理SPI移位寄存器SPI移位寄存器数据寄存器数据寄存器SSSSVDDSPSC
4、KMOSIMISO主机从机7654321076543210CPU向发送移位寄存器写入数据时,如移位寄存器空,则该字节立即传送到移位寄存器,由串行时钟SPSCK控制从MOSI串行输出至从机,置位SPI空标志(SPTE)。同时从机来的数据从MISO引脚串行输入,接收完成后,置位接收器满标志(SPRF),并将数据从移位寄存器送接收数据寄存器。SPI工作原理将主、从机的8位移位寄存器看成一个16位环形移位寄存器SPI内部结构框图数据发送寄存器 内部总线来自SIM的CGMOUT2分频2移位寄存器时钟选择数据接收寄存器时钟逻辑引脚控制逻辑MS 保留 发送中断请求 保留 接收器出错中断请求SPI控制MISO
5、MOSISPSCKSS832128时钟分频器SPI内部结构框图第七章 串行外设接口串行外设基本知识SPI的寄存器SPI的基本编程方法SPI 的寄存器R7R6R5R4R3R2R1R0T7T6T5T4T3T2T1T0读:写:SPI数据寄存器 SPDR 地址:$0012复位: 不 受 影 响 7 6 5 4 3 2 1 0 R7/T7 - R0/T0 接收/发送数据位对SPDR读操作:读取只读接收数据位, R7:R0对SPDR写操作:写入数据是发送数据位, T7:T0SPDRSPCRSPSCR地址寄存器说明$0011SPSCRSPI 状态控制寄存器$0012SPDRSPI 数据寄存器$0010SPC
6、RSPI 控制寄存器SPI控制寄存器SPCRSPRIEDMASSPMSTRCPOLCPHASPWOMSPESPTIE读:写:SPI控制寄存器 SPCR 地址:$0010SPI接收中断允许位:1 =允许中断 0 =禁止DMA选择位:本CPU无DMA功能复位: 0 0 1 0 1 0 0 0 时钟相位位:控制串行时钟与数据间的时间关系时钟极性选择位:1 = SPSCK空闲为高电平 0 = 低电平发送中断允许位:1允许 0=禁止SPI允许位:1允许 0=禁止SPI“线或”模式位:1SPSCK、MOSI和MISO引脚无上拉电阻0=上拉方式SPI主机位:1 =主机 0 =从机SPCRSPSCRSPDRC
7、PHA/SS时序CPHA/SS 时序主机 SS从机 SSCPHA=0从机 SSCPHA=1MISO/MOSISPI状态控制寄存器SPSCRSPRFERRIEOVRFMODFSPTEMODFENSPR1SPR0读:写:SPI状态控制寄存器 SPSCR 地址:$0011SPI接收器满标志位:1 =接收数据寄存器满,读出数据后自动清零;0=寄存器空“出错中断”允许位:1 =允许MODF和OVRF出错中断 0 =禁止复位: 0 0 0 0 1 0 0 0 SPI“发送器”空标志位:1发送寄存器空 0=不空“方式错”标志位:1 = SS引脚发生不正常电平 0 =SS引脚电平正常SPI波特率选择位:“方式
8、错标志”允许位:溢出标志位:1 = 数据接收时发生溢出 0=未溢出SPCRSPSCRSPDRSPI状态控制寄存器SPSCRSPRFERRIEOVRFMODFSPTEMODFENSPR1SPR0读:写:SPI状态控制寄存器1 SPSCR 地址:$0011复位: 0 0 0 0 1 0 0 0 SPCRSPSCRSPDR7 6 5 4 3 2 1 0SPI发送结束标志位:处理器和外设间的数据传送过程中,数据从发送数据寄存器进入移位寄存器中,SPTE将置1以通知发送结束。SPTE=1后,只要向数据寄存器写入新数据,SPTE就自动清01=发送寄存器空0=发送寄存器未空溢出标志位:当接收数据寄存器中的数
9、据还未被读取时,如果有新的数据进入移位寄存器,OVRF被置1。OVRF=1后,程序里读一次SPSCR寄存器,再读一次数据接收器后,OVRF位自动清零。1=溢出 0=未溢出错误中断允许位:1=允许MODF和OVER产生CPU中断请求0=禁止MODF和OVER产生CPU中断请求SPRF接收器满标志:SPRF为SPI接收结束位。当处理器和外设之间的数据传送结束后,数据从移位寄存器进入接收数据寄存器钟,处理器置位SPRF=1,表示数据接收就绪可以取出。在SPRF=1时读出SPSCR,再读SPI数据寄存器SPDR(取数据),SPRF自动清0,表示此时SPDR数据不再可用SPRF=1时,如允许中断,可产生
10、SPI中断。模式设置错误标志位:当MODFEN=1,且SS引脚信号与SPI当前工作方式(主/从)不符时,即设为从机,SS却为1,或设为主机,SS却为低时,MODF将置1。这时程序里读一次SPSCR寄存器,再对SPCR作写操作,MODF自动清01=SS引脚逻辑电平错误0=SS引脚电平正确。模式设置错误检测允许位:MODFE用于允许或禁止MODF标志的置1。如MODF已被置1,将MODFEN清0并不会使MODF也被清零,对主机而言,如MODFEN位0,SS引脚就可以用作普通的I/O引脚1=允许MODF标志置10=禁止MODF标志置1波特率选择位:在主机模式下,SPR1和SPR0控制串行时钟SPSC
11、K频率。从机模式下这两位无意义。计算公式为 波特率= CGMOUT2BDSPR1 SPR0 BD 0 0 2 0 1 8 1 0 32 1 1 128 第七章 串行外设接口串行外设基本知识SPI的寄存器SPI的基本编程方法 初始化的基本编程方法(1)写控制字到SPCR LDA #%00100010 ;不产生接收/发送中断,主机方式,时 钟空闲低电平,时钟相位为0,SPI允许 STA SPCR(2)写控制字到SPSCR LDA #%00000001 ;8分频 STA SPSCR发送/接收数据STA SPDR;待发送的数据送入SPDRNOPNOPBRCLR 3, SPSCR, * ;等待发送完毕,
12、即位3为1 ;发送完毕BRCLR 7, SPSCR, * ;等待接收器满,即位7为1LDA SPDR发送/接收的基本编程方法 MOV #%00100010,SPCR ;不产生中断,主机方式 ;时钟极性:空闲低电平 ;时钟相位: ;各引脚普通输出 ;开放SPI MOV #%00000001,SPSCR ;8分频 STA SPDR BRCLR 3,SPSCR,* BRCLR 7,SPSCR,* LDA SPDR BRA *SPRIEDMASSPMSTRCPOLCPHASPWOMSPESPTIE00101000SPCR$0010SPRFERRIEOVRFMODESPTEMODFENSPR1SPR000001000SPSCR $0011SPR1SPR0分频系数002018103211128SCI与SPI的比较共同点:串行通信方式;寄存器控制;通过移位寄存器发送与接收数据;数据寄存器(物理上独立的两个8位寄存器, 共用一个地址);中断与查询方式发送与接收。 SCI异步、SPI同步; 通信速率不同:SCI一般不超过几十kbps,而SPI最高可达3Mbps; SPI可以不间断发送/接收数据,无开始位与停止位; SCI是一类异步串行通信接口,不是标准,常用的异步串行通信标准有:RS2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论