




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 SPI是一个高速同步串行输入/输出端口,传送速率可编程,应用:外部移位寄存器、D/A转换器、A/D转换器、串行EEPROM、LED显示驱动器等外部设备进行扩展。11.1 串行外设接口的结构 4个外部引脚,以下引脚都可用作数字I/O引脚。 SPISIMO,SPI从输入、主输出; SPISOMI,SPI主输入、从输出; SPICLK,SPI时钟; SPISTE*,SPI从发送使能。 SPI模块中有9个寄存器用于控制该模块的操作:(1)SPICCR:SPI配置控制寄存器。(2)SPICTL:SPI操作控制寄存器。(3)SPISTS:SPI状态寄存器。(4)SPIBRR:SPI波特率寄存器。(5)S
2、PIRXEMU:SPI仿真缓冲寄存器。(6)SPIRXBUF:SPI串行输入缓冲寄存器。(7)SPITXBUF:SPI串行发送缓冲寄存器。(8)SPIDAT:SPI串行数据寄存器。(9)SPIPRI:SPI优先级控制。11.1.1 SPI Physical Description11.1.2 Overview of SPI Module Registers11.2 SPI操作 下图为SPI用于两个控制器(一个主控制器和一个从控制器)通信的典型连接方式。SPI主/从控制器连接 由上图可知,SPI有两种工作模式:主模式和从模式,操作模式由SPICTL.2(MASTER/SLAVE位)决定。 主控制
3、器控制SPICLK信号,通过发出SPICLK信号启动数据发送,从控制器则通过检测SPICLK信号接收数据。 * 一个主控制器可以连接多个从控制器,但是一次只允许一个从控制器给主控制器发送数据SPI可工作于主模式或从模式。SPICTL.2位-MASTER/SLAVE用来选择操作模式和SPICLK的源。(1)主模式 将Master的数据传送给Slave,8位数据传送,传送完毕,申请中断。(2)从模式8位数据传送,传送完毕,申请中断。11.3 串行外设接口中断 有五个控制位用于初始化串行外设接口的中断: SPI中断使能位:SPI INT ENA (SPICTL.0); SPI中断标志位:SPI IN
4、T FLAG(SPISTS.6); SPI超限中断使能位:OVERRUN INT ENA(SPICTL.4); SPI接收器超限中断标志位:RECEIVER OVERRUNFLAG(SPISTS.7) SPI中断优先级选择位:SPI PRIORITY(SPIPRI.6)。11.4 数据格式 SPI通信时,要发送的数据从SPIDAT寄存器的MSB依次移出,接收的数据则从SPIDAT的LSB依次移入。 SPI数据字符位数(1-16位)由SPICCR.3-0指定。 当写入SPIDAT或SPITXBUF时,数据必须是左对齐的。 数据从SPIRXBUF读回时是右对齐的。11.5 SPI波特率和时钟模式
5、SPI模块支持125种不同的波特率和4种不同的时钟模式。SPI最大波特率为CLKOUT频率的四分之一。11.5.1 SPI波特率的确定SPI波特率取决于CLKOUT和SPIBRR的值。(1)对于SPIBRR=3-127 SPI波特率=CLKOUT/(SPIBRR+1)(2) 对于SPIBRR=0-2 SPI波特率=CLKOUT/4 SPI最大波特率=CLKOUT/4=10MHz11.5.2 SPI时钟模式 SPI有四种时钟模式,由CLOCK POLARITY 和CLOCK PHASE位控制。CLOCK POLARITY 位选择时钟的有效沿是上升沿还是下降沿, CLOCK PHASE位选择是否有
6、半个时钟周期的延时。(1)下降沿,无延时:SPI在时钟下降沿发送数据,在时钟的上升沿接收数据;(2)下降沿,有延时:SPI在时钟下降沿前半个周期发送数据,在时钟的下降沿接收数据;(3)上升沿,无延时:SPI在时钟上升沿发送数据,在时钟的下降沿接收数据;(4)上升沿,有延时:SPI在时钟上升沿前半个周期发送数据,在时钟的上升沿接收数据。11.6 SPI的复位和初始化 系统复位使SPI管脚功能被选定为通用输入,要对SPI的配置,需要做以下工作:(1)设置SPI SW RESET位(SPICCR.7)的值为0,强制SPI复位;(2)初始化SPI的配置、格式、波特率和管脚功能为期望值;(3)设置SPI
7、 SW RESET位为1,从复位状态释放SPI;(4)向SPIDAT或SPITXBUF写数据;(5)数据发送完成后(SPISTS.6=1),读取SPIRXBUF已确定接收的数据。11.7 SPI Module Registers11.7.1 SPI Configuration Control Register (SPICCR)11.7.2 SPI Operation Control Register (SPICTL)11.7.3 SPI Status Register (SPISTS) 11.7.4 SPI Baud Rate Register (SPIBRR)SPI Baud-Rate Ca
8、lculations11.7.5 SPI Emulation Buffer Register (SPIRXEMU) SPIRXEMU contains the received data. Reading SPIRXEMU does not clear the SPI INT FLAG bit (SPISTS.6). This is not a real register but a dummy address from which the contents of SPIRXBUF can be read by the emulator without clearing the SPI INT
9、 FLAG.11.7.6 SPI Serial Receive Buffer Register (SPIRXBUF) SPIRXBUF contains the received data. Reading SPIRXBUF clears the SPIINT FLAG bit (SPISTS.6).11.7.7 SPI Serial Transmit Buffer Register (SPITXBUF)11.7.8 SPI Serial Data Register (SPIDAT) SPIDAT is the transmit/receive shift register. Data wri
10、tten to SPIDAT is shiftedout (MSB) on subsequent SPICLK cycles. For every bit (MSB) shifted out ofthe SPI, a bit is shifted into the LSB end of the shift register.11.7.9 SPI Priority Control Register (SPIPRI) SPIPRI selects the interrupt priority level of the SPI interrupt and controls the SPI opera
11、tion on the XDS emulator during program suspends, such as hitting a breakpoint.11.8 SPI Example WaveformsCLOCK POLARITY = 0, CLOCK PHASE = 0 (All data transitions are duringthe rising edge, non-delayed clock. Inactive level is low.)SPI应用实例(控制串行D/A) DAC714是美国BB公司生产的16位具有串行接口的数模转换器,电压输出型,输出范围是-10V+10V
12、。 由控制时序图可知,SPI时钟模式应为下降沿,无延时。即SPI在时钟下降沿发送数据,在时钟的上升沿将数据锁存到DAC714。TMS320LF2407A,SPI与串行A/D接口应用实例 ADS7835 为B-B公司研制的采样频率为500kHz、12bit,单通道串行模数转换器件。TMS320LF2407ASPICLKSPISOMIT4CMPVref1+VCC8CLK7DATA6CONV5Ain2GND4GND3ADS7835C20.1UC40.1uC510U+5VC12.2UDB1 DB2 -3.3V+3.3VR31kC30.1uV_inDSP的SPICLK引脚控制整个串行通信的时钟频率,SP
13、ISOMI引脚接收转换完毕的采样值,T4CMP用于输出系统中设置的实际采样时钟信号。TMS320LF2407ASPICLKSPISOMIT4CMPVref1+VCC8CLK7DATA6CONV5Ain2GND4GND3ADS7835C20.1UC40.1uC510U+5VC12.2UDB1 DB2 -3.3V+3.3VR31kC30.1uV_in DSP的SPI与ADS7835接口典型的控制时序如下图所示,整个数据的采样过程是自动完成的。DSP发送SPICLK和采样时钟T4CMP给ADS7835,在CONV信号的下降沿之后12bit的采样值便出现在数据总线DATA上,向DSP发送中断请求,通知
14、DSP读取转换数据。; -SPI口初始化-SPI_INIT: ;采样率设置 LDP #DP_EVB ;point to 7500-7580H SPLK #48H,GPTCONB ;TCOMPOE=1 enable Timer4 compare_out, ;low-voltage in effect SPLK #1D4CH,T4PR ;采样周期=20/64/1000s SPLK #1D1CH,T4CMPR ;高电平持续时间(采样时间)=2us,ad保持时间= ;采样周期-采样时间,ADS7835要求至少350ns SPLK #00H,T4CNT ;begin with 0 SPLK #1002H
15、,T4CON ;连续增计数模式,TPS=000 预分频为1,disable ;T4,比较寄存器立即重装载 ;内部CPU时钟,enablT4_COMPARE,T4_self_clock SPLK #00FFH,EVBIFRB SPLK #0002H,EVBIMRB ;T4比较中断使能;上溢、下溢、周期均不使能 ;SPI初始化 LDP #0E1H LACL MCRB OR #011CH AND #011CH SACL MCRB ;配置SPI口引脚位特殊功:SPISOMI,SPICLK LACL MCRC OR #0800H ;配置IOPF3为基本功能T4PWM/T4CMP SACL MCRC ;a
16、ds7835控制信号CONV LDP #DP_PF1 SPLK #004fH,SPICCR ;SPI reset,12bit data input SPLK #0007H,SPICTL ;SPI_master,no delay down clock,INT_enable SPLK #0017H,SPIBRR ;SPI_baud_rate=6M SPLK #0040H,SPIPRI ;SPI high priority SPLK #00cfH,SPICCR ;initiation end,initiation_enable_bit closed RET 读取A/D转换结果程序举例:GISR3 LDP #0E0H ; 保护现场 LACC PIVR,1 ADD #PVECTORS BACC ; 跳转到相应服务子程序 ; 进行spi伪发送以读回ads7835的转换结果 -T4PINT_ISR: T4PINT_ISR: LDP #DP_PF1 SPLK #0000H,SPITXBUFXMIT_END: BIT SPISTS,BIT6 BCND XMIT_END,NTC LDP #DP_EVB ;point to 7500-7580
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创新创业教育与拔尖创新人才的关系
- 服装质押合同范本
- 修复窑洞合同范本
- rel-Cleroindicin-F-Rengyolone-生命科学试剂-MCE
- PF-06767832-生命科学试剂-MCE
- 2025晶益通(四川)半导体科技有限公司招聘166人笔试参考题库附带答案详解
- Mephetyl-tetrazole-生命科学试剂-MCE
- BIHC-生命科学试剂-MCE
- 班级团队目标设定与执行策略
- 农田收购合同范本
- 世界社会主义五百年
- 加氢裂化操作工题库(合并版)
- 正大集团大猪场开发流程
- 高中政治必修四知识体系每单元的总体框架
- 房地产金融创新与风险防范的理论演进
- GB/T 41255-2022智能工厂通用技术要求
- GB/T 41029-2021石油天然气钻井海洋弃井作业规程
- 深入推进依法行政
- GB/T 4026-1992电器设备接线端子和特定导线线端的识别及应用字母数字系统的通则
- 马工程教材《公共财政概论》PPT-第二章 公共财政职能
- GB/T 14643.5-2009工业循环冷却水中菌藻的测定方法第5部分:硫酸盐还原菌的测定MPN法
评论
0/150
提交评论