欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    串行外设接口教学课件PPT.ppt

    • 资源ID:2963577       资源大小:862.52KB        全文页数:33页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    串行外设接口教学课件PPT.ppt

    1,SCI串行通信接口,SCIA/SCIB,电平转换芯片,数据和握手信号,RS232/485,标准串行总线接口,2,F2812串行外设接口Serial Peripheral Interface(SPI),DSP原理及其应用技术,6.1 SPI模块概述,6.2 SPI的工作原理,6.3 通过SPI接口扩展外设,6.4 软件编程举例,3,6.1 SPI模块概述,SPI与SCI有什么区别?,通常用于DSP与扩展外设以及其它处理器间进行通信,如显示驱动器、ADC、DAC、EPROM、RTC以及主从模式的多处理器应用等。,F2812包含一个SPI接口,支持16级的接受和传输FIFO。,串行外设接口(SPI)是一种同步串行输入/输出接口,传输速率较高(LSPCLK/4),适于板级通信。串行通信接口(SCI)是一种异步串行接口,通常需经过收发器进行电平转换,通信速率较低,适于长距离通信。,SPI适于那些应用场合?,4,SPI与XINTF,SPI与XINTF有什么区别?,串行外设接口(SPI)是一种同步串行输入/输出接口传输速率最高可达37.5Mbps信号线少(24条)适于板级扩展的外设输入/输出接口适于板级微处理器间通信。外部扩展接口(XINTF)是一种并行输入/输出接口传输速率较很高,可达75M16=1200Mbps信号线多(DB16、AB19、CB11)限用于板级扩展外设的输入/输出接口。,5,SPI模块的特点与信号,数据长度:116位可编程,4个外部引脚,波特率:126种可编程,两种工作方式:主/从工作方式,4种时钟模式:由极性和相位控制,可同时进行发送和接收操作,接口方式:中断或查询,12个寄存器,6,SPI模块寄存器概述,共12个寄存器,FIFO寄存器,双缓冲结构,7,6.2 SPI的工作原理,SPI的引脚SPICLK为整个串行通信网络提供时钟;通过SPIBRR寄存器设定通信网络的数据传输速率;数据从SPISIMO输出,并锁存从SPISOMI输入的数据;/SPISTE通常作为片选信号,数据传输过程置低电平,传输完成后置高.,SPI有主/从两种工作模式,由Master/Slave位(SPICTL.2)选择.,主模式:Master/Slave1,发送数据:写数据到SPIDAT或SPITXBUF,启动SPISIMO引脚上的数据发送,首先发送最高有效位(MSB)(与SCI有所不同)。,接收数据:当指定数量的数据位已经通过SPIDAT移位后,SPIDAT中的数据发送到SPIRXBUF中,且SPI INF FLAG置1。,8,6.2 SPI的工作原理,从模式下,SPICLK时钟由主控制器提供,并决定了传输速率。,从模式:Master/Slave0,数据从SPISIMO引脚输入,从SPISOMI引脚输出。,当TALK位清零,数据发送被禁止,输出引脚(SPISOMI)处于高阻状态。若发送期间清零TALK位,SPI要继续完成当前的字符传输,以保证SPI设备正确接受数据。TALK位允许在一个网络上连接多个从SPI设备,但同一时刻只能有一个从设备允许驱动SPISOMI。这点与多机通信的RS485接口相似。,/SPISTE通常作为从设备的片选信号,数据传输过程置低电平,传输完成后置高.,TALK位(SPICTL.D1),9,SPI的典型接口,主从式微处理器间的SPI连接,主控制器通过SPICLK信号来启动数据传输;,通常在一个时钟的边沿发送数据,而在时钟的另一个边沿接收数据;,两个微处理器能够同时发送和接收数据或一侧接收一侧发送。,主处理器,从处理器,10,SPI的中断,SPI中断控制和状态位:,超时中断使能位(SPICTL.4):1使能中断,0禁止中断接受超时中断标志位(SPISTS.7):新的字符接受完成后,前一个字符还未读取,则置位中断标志。该标志位必须由软件清除。,提示:SPISTS.7和SPISTS.6共享一个中断向量SPIRXINT。,SPI中断使能位(SPICTL.0):1使能中断,0禁止中断 当中断使能置位,且满足中断条件时,产生相应的中断。SPI中断标志位(SPISTS.6):只读,由硬件设置。指示SPI接收器中已经存放字符可以被读取或已完成指定长度的数据发送。该位置位时已接收数据送入SPIRXBUF,当DSP读SPIRXBUF中的数据后自动清除中断标志。,11,数据格式,SPICCR.3SPICCR.0确定了字符的位数(116);当数据写入SPIDAT和SPITXBUF寄存器时必须左对齐;当数据从SPIRXBUF读取时,必须是右对齐;SPIRXBUF中包含最新接收的字符,以及上次接收且已移位到左边的位。,例1:发送数据长度为1,SPIDAT当前值为737BH,数据格式见下图。,7,3,7,B,12,波特率设置,波特率的计算方法:1)当SPIBRR3127时:SPI波特率LSPCLK/(SPIBRR1)2)当SPIBRR0、1、2时:SPI波特率LSPCLK/4,主模式下,SPICLK引脚为通信网络提供时钟,时钟频率LSPCLK/4。从模式下,SPICLK引脚接收外部时钟信号,时钟频率 LSPCLK/4。,例2:假定LSPCLK75MHz,试确定SPI的波特率范围。SPI波特率最大值:LSPCLK/418.75MHz SPI波特率最小值:LSPCLK/1280.586MHz,SCI的波特率范围?,LSPCLK/(265536)8,13,SPI的时钟模式,SPI支持4中不同的时钟模式:时钟极性选择位(SPICCR.6)选择时钟上升或下降沿有效;时钟相位选择位(SPICTL.3)选择是否有半个周期的时钟延迟。,SPI时钟控制方式选择,14,SPI的时钟模式波形,00,01,10,11,数据长度:8位,T,R,15,数据传输举例,给出的例子中SPI数据长度为8位,F2812的数据长度为16位;在主控制器将数据写入SPIDAT来启动传输前,从控制器必须处于使能状态,且将待发数据写入SPIDAT;当读取SPIRXBUF中数据时,自动清除中断标志位;只有一次完整的发送结束,SPIDAT中的数据才送入SPIRXBUF中;本例中设定字符长度为5位,共主/从控制器间共进行两个字符的传送。,数据传输过程说明:,16,数据传输举例,D0H,A、从控制器将D0H写入到SPIDAT,等待主控制器移出数据;,B、主控制器将从控制器的/SPISTE引脚拉低;,C、主控制器将58H写入SPIDAT来启动发送过程;,D、第一个字节发送完成,置中断标志;,E、从控制器从它的SPIRXBUF中读取0BH,清除中断标志;,F、从控制器将4CH写入SPIDAT中等待主控制器移出数据;,G、主控制器将6CH写入SPIDAT中来启动发送过程;,H、主控制器从SPIRXBUF中读取1AH,清中断标志;,I、第二个字节发送完成,置中断标志;,J、主从控制器分别从各自的SPIRXBUF中读取89H和8DH;,K、主控制器将从控制器的/SPISTE引脚置高电平。,58H,4CH,6CH,字符长度5位,从SPI,主SPI,17,MAX5253的主要特点:四个12-bit电压输出DACs单3.0-3.6V电源供电(0.82mA)典型建立时间12sSPI兼容串行外设接口时钟频率可达10MHz/CL、/PDL、UPO引脚,6.3 通过SPI接口扩展外设,串行数据格式,F2812与MAX5253间的SPI接口,DSP,18,多个SPI外设的扩展方法,菊花链式,共享总线式,16个SPICLK,16个SPICLK,16个SPICLK,19,DSP与MAX5253的接口电路,VOUTx=3.0VNB/4096,MAX5253配置为单极性输出方式,20,MAX5253的编程命令,MAX5253的编程命令,方法1,方法2,21,MAX5253接口时序,数据传送过程,/CS必须保持低电平;提示:SPICTL中的TALK位控制/SPISTE引脚电平;若TALK1,使能发送,且移位过程/SPISTE保持低电平。,MAX5253的时序图(仅输入部分),每个数据位在SCLK的上升沿采样并送入DAC的移位寄存器;,数据在/CS的上升沿被锁存到MAX5253的输入或DAC寄存器;,/CS保持高电平的脉冲宽度必须大于100ns,即两次发送的时间间隔要大于100ns;,MAX5253的最高时钟频率10MHz。,22,MAX6629SPI接口的数字温度传感器,MAX6629与F28的接口电路,23,MAX6629的接口时序和数据格式,MAX6629的接口时序图,/CS上升沿启动转换,高电平必须保持300ms以便完成转换;,/CS下降沿停止转换,并将转换结果锁存到移位寄存器,此时可以读取转换结果;,转换结果为16位(D0、D1未定义):D15位符号位 D14D3为数据 D2位验证位,24,采用XINTF扩展的DAC接口,DB:14,AB:3,CB:4,PQFP-44,SSOP-20,AD7835,MAX5253,XINFT:21,25,6.4 软件编程与实例,当系统复位后,SPI外设模块配置为如下的缺省状态:1)配置为从模式(Master/Slave0);2)禁止发送功能(TALK0);3)在SPICLK信号的下降沿输入的数据被锁存(00);4)字符长度为1位;5)禁止SPI中断;6)SPIDAT中的数据复位为0000H;7)SPI模块引脚 被配置为通用输入。,本节针对实验系统中通过SPI接口扩展的MAX5253芯片,介绍软件SPI的初始化和软件编程。,26,SPI的配置和操作,为配置SPI模块,应完成以下操作:1)清零SPI SW RESET位(SPICCR.7),软件复位SPI;2)设置SPI寄存器,如数据格式、波特率、工作与时钟模 式、引脚功能;3)置位SPI SW RESET位,使SPI退出复位状态,进入工 作状态;4)写数据到SPIDAT或SPITXBUF,(主模式下就启动通信过程);5)数据传输结束后(SPISTS.61),读取SPIRXBUF中 的数据。,提示:通信过程不要改变SPI的设置,以免产生不期望的事件.,27,SPI的初始化,void InitSpi(void)EALLOW;GpioMuxRegs.GPFMUX.all=0 x000F;/SPI引脚配置为外设模式 EDIS;SpiaRegs.SPICCR.all=0 x0F;/软件复位,上升沿输出,字符长度16位 SpiaRegs.SPICTL.all=0 x0F;/时钟延迟半个周期,主模式,发送与中断使能 SpiaRegs.SPIBRR=0 x07;/波特率150/4/8=4.69MHz SpiaRegs.SPICCR.all=0 x8F;/退出复位状态,准备接收、发送字符 PieCtrl.PIEIER6.bit.INTx1=1;/使能SPI接收中断 PieCtrl.PIEIER6.bit.INTx2=1;/使能SPI发送中断,(仅用于FIFO模式)IER|=M_INT6;/使能PIE组6中断 ClearSPI0=0 x01;/*ClearSPI=(volatile unsigned int*)0 x80006;,28,状态查询,unsigned int Spi_TxReady(void)unsigned int i;if(SpiaRegs.SPISTS.bit.BUFFULL_FLAG=1)i=0;else i=1;return(i);,unsigned int Spi_RxReady(void)unsigned int i;if(SpiaRegs.SPISTS.bit.INT_FLAG=1)i=1;else i=0;return(i);,当一个字符写入SPITXBUF时,该位置位。当字符全部位装入串行移位寄存器SPIDAT中后,该位被清除。,当整个字符移入或移出SPIDAT寄存器,该位置位,已接收的数据送SPIRXBUF。如果SPI中断使能,会引起一个外设中断。响应中断或读取SPIRXBUF会复位该位。,29,MAX5253测试程序,void main(void)InitSysCtrl();/初始化系统,使能SPI时钟DINT;IER=0 x0000;IFR=0 x0000;InitPieCtrl();/初始化PIE控制寄存器 InitPieVectTable();/初始化PIE参数表 InitSpi();EINT;/spi initialization;for(;)if(Spi_TxReady()=1)SpiaRegs.SPITXBUF=0 x1400;delay_loop();if(Spi_TxReady()=1)SpiaRegs.SPITXBUF=0 x5800;delay_loop();if(Spi_TxReady()=1)SpiaRegs.SPITXBUF=0 x9C00;delay_loop();if(Spi_TxReady()=1)SpiaRegs.SPITXBUF=0 xDFFF;delay_loop();if(Spi_TxReady()=1)SpiaRegs.SPITXBUF=0 x4000;delay_loop();,查询方式实现四通道DAC固定电压输出.,30,应用DAC芯片产生周期性波形,以产生锯齿波为例:通过定时器中断或软件延迟,使DAC的模拟输出线性递增,在一个波形周期后复位为零,重新开始下一个周期。,通过软件编程可以使DAC产生任意波形、幅度和频率的信号,如三角波、方波、锯齿波、三角函数及其它任意函数。如y(t)=2COS(200t)SIN(100t)。,T,t,T=nt,31,改变周期性波形的频率和幅值,如何改变幅值?,如何改变波形周期?,1)改变定时器时间间隔,2)改变每个周期合成波形的数字量数目,MAX5253的数字量范围:04095,输出模拟电压03V,将每一时刻的数字量乘,一个比例系数或直接改变前后时刻的数字增量。,正弦波形的产生,软件产生正弦波的方法主要有两种:1)直接使用SIN函数-double sin(double x)需要在头文件中include“math.h”,并且需要注意SIN函数的自变量应该是DOUBLE型的变量。2)使用查表方法:查表方法的计算量小,占用CPU的时间少。,实验中12位DAC的数字量范围为04095,因此一个正弦波周期最多包含4096个点。,实验中DAC芯片的输出电压范围为03V,因此输出的周期波形存在直流偏置。,33,思考题,与SCI接口相比,SPI接口有何特点?与外部扩展接口(XINF)相比,SPI接口有何特点?采用DAC芯片和微处理器产生周期信号波形的方法也称作直接数字合成(DDS),与采用振荡器产生的波形(如文氏电桥正弦波振荡器)相比,DDS方法有何优缺点?,

    注意事项

    本文(串行外设接口教学课件PPT.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开