




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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) 典型建立时间12s spi兼容串行外设接口 时钟频率可达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 = 0x000f; /spi引脚配置为外设模式 edis; spiaregs.spiccr.all = 0x0f; /软件复位,上升沿输出,字符长度16位 spiaregs.spictl.all = 0x0f; /时钟延迟半个周期,主模式,发送与中断使能 spiaregs.spibrr = 0x07; /波特率150/4/8=4.69mhz spiaregs.spiccr.all = 0x8f; /退出复位状态,准备接收、发送字符 piectrl.pieier6.bit.intx1 = 1; /使能spi接收中断 piectrl.pieier6.bit.intx2 = 1; /使能spi发送中断,(仅用于fifo模式) ier |= m_int6; /使能pie组6中断 clearspi0=0x01; /*clearspi=(volatile unsigned int *)0x80006; ,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 = 0x0000; ifr = 0x0000; initpiectrl(); /初始化pie控制寄存器 initpievecttable(); / 初始化pie参数表 initspi(); eint; / spi initialization; for(;) if(spi_txready() = 1) spiaregs.spitxbuf =0x1400; delay_loop(); if(spi_txready() = 1) spiaregs.spitxbuf =0x5800; delay_loop(); if(spi_txready() = 1) spiaregs.spitxbuf =0x9c00; delay_loop(); if(spi_txready() = 1) spiaregs.spitxbuf =0xdfff; delay_loop(); if(spi_txready() = 1) spiaregs.spitxbuf =0x4000; delay_loop(); ,查询方式实现四通道dac固定电压输出.,30,应用dac芯片产生周期性波形,以产生锯齿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同原件退回的退款协议
- 买卖汽车定金合同范本
- 与父亲上学协议书范本
- 公司借款给股东合同范本
- 合同转让合同协议书范本
- 光纤承揽合同协议书范本
- 多大年纪不能签协议合同
- 汽车肇事伤者赔偿协议书
- 人工费用拨付补充协议书
- 2025贵州黔东南州雷山县特聘农技员招募8人笔试备考试题及答案解析
- 《柴油机的维护保养》课件
- 4S店企业职业卫生培训
- 石油化工设备维护与检修手册
- 拆迁工程成本控制方案
- 原发性肝癌的CT表现和诊疗
- 竞选竞选大学心理委员参考课件
- 2.3.4运动图像与追及问题课件高一上学期物理人教版
- 项目化学习在跨学科教学中的实施
- 2022版义务教育艺术课程标准美术新课标学习解读课件
- 注射泵操作使用课件
- 【A公司轮胎出口业务的营销策略探究开题报告8000字(论文)】
评论
0/150
提交评论