单片机原理及应用系统设计第9章--同步通信课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机原理及应用系统设计第9章--同步通信课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 系统 设计 同步 通信 课件
- 资源描述:
-
1、第9章 同步通信1单片机原理及应用系统设计SPI接口I2C通信技术9.1 SPI9.1 SPI接口接口3 IAP15W4K58S4IAP15W4K58S4单片单片机集成了同步串行外设机集成了同步串行外设接口(接口(Serial Serial PeriphralPeriphral InterfaceInterface),),SPISPI)。)。SPISPI接口是一种接口是一种全双工、高全双工、高速、同步的通信总线速、同步的通信总线,有两种操作模式:有两种操作模式:主模主模式和从模式式和从模式。在主模式。在主模式中支持高达中支持高达3 Mbps3 Mbps的速的速度,还具有传输完成标度,还具有传输
2、完成标志和写冲突标志保护。志和写冲突标志保护。4 当前常用的单片机与外设之间进行数据传输的串行总当前常用的单片机与外设之间进行数据传输的串行总线主要有线主要有SPISPI和和I I2 2C C总线总线。SPISPI总线是以总线是以同步串行三线同步串行三线方式进行通信(一条串行时方式进行通信(一条串行时钟线钟线SCLKSCLK,一条主出从线,一条主出从线MOSIMOSI,一条主入从出线,一条主入从出线MISOMISO)I I2 2C C总线以总线以同步串行二线同步串行二线方式进行通信(一条时钟线方式进行通信(一条时钟线CLKCLK,一条数据线,一条数据线DATADATA)9.1 SPI9.1 S
3、PI接口接口5 IAP15W4K58S4IAP15W4K58S4单片机集成了同步串行外设接口(单片机集成了同步串行外设接口(Serial Serial PeriphralPeriphral Interface Interface),),SPISPI)。)。SPISPI接口接口是是 Motorola Motorola 公司推出的一公司推出的一 种同步串行接口技术,种同步串行接口技术,是一种是一种全双工、高速、同步的通信总线。全双工、高速、同步的通信总线。有两种操作模式:有两种操作模式:主模式和从模式主模式和从模式。在主模式中支持高。在主模式中支持高达达3 Mbps3 Mbps的速度,还具有传输完
4、成标志和写冲突标志保的速度,还具有传输完成标志和写冲突标志保护。护。9.1.1 SPI9.1.1 SPI的的结构结构69.1.1 SPI9.1.1 SPI的的结构结构7 SPISPI的核心是一个的核心是一个8 8位移位寄存器和数据缓冲器,数据可位移位寄存器和数据缓冲器,数据可以同时发送和接收以同时发送和接收。在在SPISPI数据的传输过程中,发送和接数据的传输过程中,发送和接收的数据都存储在数据缓冲器中。收的数据都存储在数据缓冲器中。对于对于主模式主模式,若要发送一字节数据,只需将这个数据写,若要发送一字节数据,只需将这个数据写到到SPDATSPDAT寄存器中。主模式下寄存器中。主模式下 信号
5、不是必需的信号不是必需的;但是在;但是在从模式从模式下,必须在下,必须在 信号变为信号变为有效并接收到合适时钟信号有效并接收到合适时钟信号后,方可进行数据传输后,方可进行数据传输。在从模式下,如果一个字节传。在从模式下,如果一个字节传输完成后,输完成后,信号变为高电平,这个字节立即被硬性逻辑信号变为高电平,这个字节立即被硬性逻辑标志为接收完成,标志为接收完成,SPISPI接口准备接收下一个数据。接口准备接收下一个数据。9.1.2 9.1.2 SPISPI接口的接口的引脚引脚8MOSIMOSI(Master Out Slave In(Master Out Slave In,主出从入主出从入):主
6、器件的输出和从:主器件的输出和从器件的输入,用于主器件到从器件的串行数据传输。当器件的输入,用于主器件到从器件的串行数据传输。当SPISPI作为主器件时,该信号是输出;当作为主器件时,该信号是输出;当SPISPI作为从器件时,该信作为从器件时,该信号是输入。数据传输时最高位在先,低位在后。根据号是输入。数据传输时最高位在先,低位在后。根据SPISPI规规范,多个从机共享一根范,多个从机共享一根MOSIMOSI信号线。在时钟边界的前半周信号线。在时钟边界的前半周期,主机将数据放在期,主机将数据放在MOSIMOSI信号线上,从机在该边界处获取信号线上,从机在该边界处获取该数据。该数据。MISOMI
7、SO(Master In Slave Out(Master In Slave Out,主入从出主入从出):从器件的输出和主:从器件的输出和主器件的输入,用于实现从器件到主器件的数据传输。器件的输入,用于实现从器件到主器件的数据传输。SPISPI规规范中,一个主机可连接多个从机,因此,主机的范中,一个主机可连接多个从机,因此,主机的MISOMISO信号信号线会连接到多个从机上,或者说,多个从机共享一根线会连接到多个从机上,或者说,多个从机共享一根MISOMISO信号线。当主机与一个从机通信时,其他从机应将其信号线。当主机与一个从机通信时,其他从机应将其MISOMISO引脚驱动置为高阻状态。引脚驱
8、动置为高阻状态。9.1.2 9.1.2 SPISPI接口的接口的引脚引脚9 SCLKSCLK(SPI ClockSPI Clock,串行时钟信号串行时钟信号):串行时钟信号是主):串行时钟信号是主器件的输出和从器件的输入,用于同步主器件和从器件之器件的输出和从器件的输入,用于同步主器件和从器件之间在间在MOSIMOSI和和MOSOMOSO线上的串行数据传输。当主器件启动线上的串行数据传输。当主器件启动一次数据传输时,自动产生一次数据传输时,自动产生8 8个个SCLKSCLK时钟周期信号给从机。时钟周期信号给从机。在在SCLKSCLK的每个跳变处(上升沿或下降沿)移出一位数据。的每个跳变处(上升
9、沿或下降沿)移出一位数据。所以,一次数据传输可以传输一个字节的数据。所以,一次数据传输可以传输一个字节的数据。SCLKSCLK、MOSIMOSI和和MISOMISO通常用于将两个或更多个通常用于将两个或更多个SPISPI器件连器件连接在一起。数据通过接在一起。数据通过MOSIMOSI由主机传送到从机,通过由主机传送到从机,通过MISOMISO由从机传送到主机。由从机传送到主机。SCLKSCLK信号在主模式时为输出,在从信号在主模式时为输出,在从模式时为输入。如果模式时为输入。如果SPISPI接口被禁止,则这些引脚都可作接口被禁止,则这些引脚都可作为为I/OI/O使用。使用。9.1.2 9.1.
10、2 SPISPI接口的接口的引脚引脚10 SS(Slave SelectSlave Select,从机选择信号):这是一个输入信号,主器件用,从机选择信号):这是一个输入信号,主器件用它来选择处于从模式的它来选择处于从模式的SPISPI模块。主模式和从模式下,模块。主模式和从模式下,的使用方法的使用方法不同。在主模式下,不同。在主模式下,SPISPI接口只能有一个主机,不存在主机选择问接口只能有一个主机,不存在主机选择问题。在该模式下题。在该模式下 不是必需的。主模式下通常将主机的不是必需的。主模式下通常将主机的 引脚通引脚通过过10k10k的电阻上拉高电平。每一个从机的的电阻上拉高电平。每一
11、个从机的 接主机的接主机的I/OI/O口,由主口,由主机控制电平高低,以便主机选择从机。在从模式下,不论发送还机控制电平高低,以便主机选择从机。在从模式下,不论发送还是接收,是接收,信号必须有效。因此,在一次数据传输开始之前必须将信号必须有效。因此,在一次数据传输开始之前必须将 下拉为低电平。下拉为低电平。SPISPI主机可以使用主机可以使用I/OI/O口选择一个口选择一个SPISPI器件作为当前器件作为当前的从机。的从机。SPISPI从器件通过其从器件通过其SSSS引脚确定是否被选择。如果满足下面的条件之引脚确定是否被选择。如果满足下面的条件之一,一,就被忽略:就被忽略:(1 1)如果)如果
12、SPISPI功能被禁止,即功能被禁止,即SPENSPEN位为位为0 0(复位值)。(复位值)。(2 2)如果)如果SPISPI配置为主机,即配置为主机,即MSTRMSTR位为位为1 1,并且,并且P1.2P1.2配置为输出配置为输出(P1M0.2=0,P1M1.2=1P1M0.2=0,P1M1.2=1)。)。(3 3)如果)如果 引脚被忽略,即引脚被忽略,即SSIGSSIG位为位为1 1,该引脚配置用于,该引脚配置用于I/OI/O端口功端口功能。能。SS9.1.3 SPI9.1.3 SPI接口的相关特殊功能寄存器接口的相关特殊功能寄存器11 与与SPISPI接口有关的特殊功能寄存器有接口有关的
13、特殊功能寄存器有SPISPI控制寄存器控制寄存器SPCTLSPCTL、SPISPI状态寄存器状态寄存器SPSTATSPSTAT和和SPISPI数据寄存器数据寄存器SPDATSPDAT。SS(1)SPISPI控制寄存器控制寄存器SPCTLSPCTL。SPISPI控制寄存器控制寄存器SPCTLSPCTL的每一位都有控制的每一位都有控制含义,地址为含义,地址为CEHCEH,复位值为,复位值为0000 0000B0000 0000B,各位定义如表各位定义如表9.19.1所示。所示。位号B7B6B5B4B3B2B1B0位名称SSIGSPENDORDMSTR CPOL CPHASPRISPRO表表9.1
14、SPI9.1 SPI控制寄存器控制寄存器SPCTLSPCTL各位定义各位定义9.1.3 SPI9.1.3 SPI接口的相关特殊功能寄存器接口的相关特殊功能寄存器12 SSIGSSIG:引脚忽略控制位。若(:引脚忽略控制位。若(SSIGSSIG)=1=1,由,由MSTRMSTR确定器件为主机还是从机,引确定器件为主机还是从机,引脚被忽略,并可配置为脚被忽略,并可配置为I/OI/O功能;若(功能;若(SSIGSSIG)功能)功能=0=0,由,由 引脚的输入信号确定器引脚的输入信号确定器件为主机还是从机。件为主机还是从机。SPEN SPEN:SPISPI使能位。若(使能位。若(SPENSPEN)=1
15、=1,SPISPI使能;若(使能;若(SPENSPEN)=0,SPI=0,SPI被禁止,所被禁止,所有有SPISPI信号引脚用作信号引脚用作I/OI/O功能。功能。DORD DORD:SPISPI数据发送与接收顺序的控制位。若(数据发送与接收顺序的控制位。若(DORDDORD)=1=1,SPISPI数据的传送顺数据的传送顺序为由低到高;若(序为由低到高;若(DORDDORD)=0=0,SPISPI数据的传送顺序为由高到低。数据的传送顺序为由高到低。MSTR MSTR:SPISPI主主/从模式位。若(从模式位。若(MSTRMSTR)=1=1,主机模式;若(,主机模式;若(MSTRMSTR)=0=
16、0,从机模,从机模式。式。SPISPI接口的工作状态还与其他控制位有关,具体选择方法见表接口的工作状态还与其他控制位有关,具体选择方法见表9.29.2所示。所示。CPOL CPOL:SPISPI时钟信号极性选择位。若时钟信号极性选择位。若CPOL=1CPOL=1,SPISPI空闲时空闲时SCLKSCLK为高电平,为高电平,SCLKSCLK的前跳变沿为下降沿,后跳变沿为上升沿;若的前跳变沿为下降沿,后跳变沿为上升沿;若CPOL=0CPOL=0,SPISPI空闲时空闲时SCLKSCLK为低电平,为低电平,SCLKSCLK的前跳变沿为上升沿,后跳变沿为下降沿。的前跳变沿为上升沿,后跳变沿为下降沿。C
17、PHA CPHA:SPISPI时钟信号相位选择位。若时钟信号相位选择位。若CPHA=1CPHA=1,SPISPI数据由前跳变沿驱动到口线,数据由前跳变沿驱动到口线,后跳变沿采样;若后跳变沿采样;若CPHA=0CPHA=0,当,当 引脚为低电平(且引脚为低电平(且SSIGSSIG为为0 0)时数据被驱动到口线,)时数据被驱动到口线,并在并在SCLKSCLK的后跳变沿被改变,在的后跳变沿被改变,在SCLKSCLK的前跳变沿被采样。注意:的前跳变沿被采样。注意:SSIGSSIG为为1 1时操作时操作未定义。未定义。SPR1 SPR1、SPR0SPR0:主模式时:主模式时SPISPI时钟速率选择位。时
18、钟速率选择位。0000表示表示fSYSfSYS/4/4;0101表示表示fSYSfSYS/16/16;1010表示表示fsysfsys/64/64,1111表示表示fsysfsys/128/128。9.1.3 SPI9.1.3 SPI接口的相关特殊功能寄存器接口的相关特殊功能寄存器13SPENSSIG/ssMSTRSPI模式MISOMOSISCLK备注0XP1.2X禁止P1.4P1.3P1.5SPI信号引脚作普通I/O使用1000从机输出输入输入选择为从机1010从机(未选中)高阻输入输入未被选中,MISO引脚处于高阻状态,以避免总线冲突10010从机输出输入输入配置为输入或准双向口,SSIG
19、为0,如果选择 为低电平,则被选择为从机;当 变为低电平时,会自动将MSTR控制位清0。1011主机(空闲)输入高阻高阻当主机空闲时,MOSI和SCLK为高阻状态以避免总线冲突。用户必须将SCLK上拉或下拉(根据CPOL确定)以避免SCLK出现悬浮状态从机(激活)输出输出主机激活时,MOSI和SCLK为强退挽输出11P1.20从机输出输入输入 1主机输入输出输出 SSSSSSSS表表9.2 SPI接口的主从工作模式选择接口的主从工作模式选择9.1.3 SPI接口的相关特殊功能寄存器接口的相关特殊功能寄存器14(2 2)SPISPI状态寄存器状态寄存器SPSTATSPSTAT。SPISPI状态寄
20、存器状态寄存器SPSTATSPSTAT记录了记录了SPISPI接口的接口的传输完成标志与写冲突标志,地址为传输完成标志与写冲突标志,地址为CDHCDH,复位值为,复位值为00 xx 00 xx xxxxBxxxxB,各位,各位定义如表定义如表9.39.3所示。所示。位号B7B6B5B4B3B2B1B0位名称SPIFWCOL-表表9.3 SPI9.3 SPI状态寄存器状态寄存器SPSTATSPSTAT各位定义各位定义 SPIF:SPISPIF:SPI传输完成标志。当一次传输完成时,传输完成标志。当一次传输完成时,SPIFSPIF置位。此时,如置位。此时,如果果SPISPI中断允许,则向中断允许,
21、则向CPUCPU申请中断。当申请中断。当SPISPI处于主模式且(处于主模式且(SSIGSSIG)=0=0时,如果时,如果 为输入且为低电平,则为输入且为低电平,则SPIFSPIF也将置位,表示也将置位,表示“模式改模式改变变”(由主机模式变为从机模式由主机模式变为从机模式)。SPIFSPIF标志通过软件向其写标志通过软件向其写“1”1”而清零。而清零。WCOLWCOL:SPISPI写冲突标志。当写冲突标志。当1 1个数据还在传输,又向数据寄存器个数据还在传输,又向数据寄存器SPDATSPDAT写入数据时,写入数据时,WCOLWCOL被置位以指示数据冲突。在这种情况被置位以指示数据冲突。在这种
22、情况下,当前发送的数据继续发送,而新写入的数据将丢失。下,当前发送的数据继续发送,而新写入的数据将丢失。WCOLWCOL标志通过软件向其写标志通过软件向其写“1”1”而清零而清零.。9.1.3 SPI9.1.3 SPI接口的相关特殊功能寄存器接口的相关特殊功能寄存器15(2 2)SPISPI状态寄存器状态寄存器SPSTATSPSTAT。SPISPI状态寄存器状态寄存器SPSTATSPSTAT记录了记录了SPISPI接口的接口的传输完成标志与写冲突标志,地址为传输完成标志与写冲突标志,地址为CDHCDH,复位值为,复位值为00 xx 00 xx xxxxBxxxxB,各位,各位定义如表定义如表9
23、.39.3所示。所示。位号B7B6B5B4B3B2B1B0位名称SPIFWCOL-表表9.3 SPI9.3 SPI状态寄存器状态寄存器SPSTATSPSTAT各位定义各位定义 SPIF:SPISPIF:SPI传输完成标志。当一次传输完成时,传输完成标志。当一次传输完成时,SPIFSPIF置位。此时,如果置位。此时,如果SPISPI中中断允许,则向断允许,则向CPUCPU申请中断。当申请中断。当SPISPI处于主模式且(处于主模式且(SSIGSSIG)=0=0时,如果时,如果 为为输入且为低电平,则输入且为低电平,则SPIFSPIF也将置位,表示也将置位,表示“模式改变模式改变”(由主机模式变为
24、从由主机模式变为从机模式机模式)。SPIFSPIF标志通过软件向其写标志通过软件向其写“1”1”而清零。而清零。WCOL WCOL:SPISPI写冲突标志。当写冲突标志。当1 1个数据还在传输,又向数据寄存器个数据还在传输,又向数据寄存器SPDATSPDAT写写入数据时,入数据时,WCOLWCOL被置位以指示数据冲突。在这种情况下,当前发送的数被置位以指示数据冲突。在这种情况下,当前发送的数据继续发送,而新写入的数据将丢失。据继续发送,而新写入的数据将丢失。WCOLWCOL标志通过软件向其写标志通过软件向其写“1”1”而清零而清零.。9.1.3 SPI9.1.3 SPI接口的相关特殊功能寄存器
25、接口的相关特殊功能寄存器16 SPISPI数据寄存器数据寄存器SPDATSPDAT。其地址是。其地址是CFHCFH,用于保存通信数据,用于保存通信数据字节。字节。与与SPI SPI 中断管理有关的控制位。中断管理有关的控制位。SPI SPI中断允许控制位中断允许控制位ESPIESPI:位于:位于IE2IE2寄存器寄存器的的B1B1位。(位。(ESPIESPI)=1=1,允许,允许SPISPI中断;(中断;(ESPIESPI)=0=0,禁止,禁止SPISPI中断。如果允许中断。如果允许 SPISPI中断,发生中断,发生SPISPI中断时,中断时,CPUCPU就会跳转到中断服务程序的就会跳转到中断
展开阅读全文