3.软件设计3.1工作模式的选择TMS320F241的SPI接口有可选择的四种不同的时钟模式,如何选择时钟模式是它与各种扩展SPI接口器件实现时钟同"> 3.软件设计3.1工作模式的选择TMS320F241的SPI接口有可选择的四种不同的时钟模式,如何选择时钟模式是它与各种扩展SPI接口器件实现时钟同" />
tms320f241型dsp的spi口eeprom扩展

tms320f241型dsp的spi口eeprom扩展

ID:22372671

大小:57.00 KB

页数:5页

时间:2018-10-28

tms320f241型dsp的spi口eeprom扩展_第1页
tms320f241型dsp的spi口eeprom扩展_第2页
tms320f241型dsp的spi口eeprom扩展_第3页
tms320f241型dsp的spi口eeprom扩展_第4页
tms320f241型dsp的spi口eeprom扩展_第5页
资源描述:

《tms320f241型dsp的spi口eeprom扩展》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、TMS320F241型DSP的SPI口EEPROM扩展

2、第1lunouseg(this)">3.软件设计3.1工作模式的选择TMS320F241的SPI接口有可选择的四种不同的时钟模式,如何选择时钟模式是它与各种扩展SPI接口器件实现时钟同步的关键。X5043的数据在时钟下降沿从SO引脚上输出并在时钟上升沿从SI引脚上锁存。读操作时,在其从SI引脚输入的最低位地址所对应的时钟下降沿,其SO引脚开始输出数据,如图5所示。作为主器件的DSP可以选择‘上升沿,无延时’和‘上升沿、有延时’两种时钟工作模式。‘上升沿,无延时’模式与X5043的工作模式一致,数

3、据在SPICLK信号的时钟上升边沿(从低电平到高电平)从移位寄存器移出在SI引脚上锁存,在时钟下降边沿(从高电平到低电平)从SO引脚上输出的数据锁存到移位寄存器中。‘上升沿,有延时’模式如图4所示,数据在SPICLK信号上升沿前半个周期从移位寄存器移出,在紧接着的上升边沿在SI引脚上锁存,在时钟下降边沿(从高电平到低电平)从SO引脚上输出的数据锁存到移位寄存器中。500)this.style.ouseg(this)">3.2波特率的选择SPI波特率可以由如下两种情况计算得出:(1)对于SPIBRR=3~127,波特率的计算公式为:SPI波特率=CLK

4、OUT/(SPIBRR+1)(2)对于SPIBRR=0~2,波特率的计算公式为:SPI波特率=CLKOUT/4式中,CLKOUT=器件的CPU时钟频率;SPIBRR=主SPI器件中的SPIBRR内容。</P>X5043最大的SPI波特率为3.3MHz,若DSP的CPU时钟频率CLKOUT=16MHz,则:<BR>最大的SPI波特率=16×106/(SPIBRR+1)≤3.3×106Hz<BR>SPIBRR≥4+93.3DSP的数据传输格式DSP中SPI有16位的发送和接收能力,且接收和发送均是双缓冲。所有数据寄存器

5、都是16位宽的,而X5043的地址、数据寄存器均是8位的,将DSP中SPI传输字符长度设置成8位宽。要向X5043存储数据时,DSP将一个8位字节长度的数据写入SPIDAT或SPITXBUF的高8位上如图2所示,在时钟信号的作用下,以左对齐方式发送,先发送数据的最高位。DSP接收一个8位字节长度的数据,是以右对齐方式接收如图3所示,8位字节长度的数据写入SPIDAT或SPIRXBUF的低8位上。3.4各控制寄存器设置<P>LDP#SPICCR>>7SPLK#0007h,SPICCR;复位SPI,8个字符长度SPLK#000Eh

6、,SPICTL;主模式,使能TALK,禁止SPI的中断<BR>;上升沿发送,下降沿接收,有延时SPLK#000Fh,SPIBRR;设置SPI的传输波特率SPLK#0087h,SPICCR<BR>;SPI准备好发送或接收下一字符500)this.style.ouseg(this)">3.5程序设计RAM块中的变量定义:.bssSPI_Xdata,1;SPI数据传输暂存器.bssaddress1,1;EEPROM存储器地址暂存器.bssdata1,1<BR>;EEPROM存储器数据暂存器X5043存储器IT_value

7、:LDP#0LACCSPI_XdataLDP#SPITXBUF>>7SACLSPITXBUF;写需发送的值到SPI传输缓冲器XMIT_RDY:LDP#SPISTS>>7BITSPISTS,BIT6BDXMIT_RDY,NTC;测试SPI_INT位,如果SPI_INT=0,则重复循环;等待数据发送完毕进行下一步操作LDP#SPIRXBUF>>7<BR>LACLSPIRXBUF;读取数据清除SPI_INT标志位LDP#0<BR>SACLSPI_Xdata;将接收的值存入数据传输暂存器RET3.5

8、.2X5043内部非易失性写判断子程序代码RSDR_IT_value;写读状态寄存器地址,高8位SPISTE_HIGH;置高SPISTE引脚,禁止X5043LDP#0BITSPI_Xdata,BIT0BDRSDR_存储器阵列中写数据如图4所示,向EEPROM存储器阵列写入任何数据之前,必须用WREN指令设置WEL位。首先将CS拉低,向器件输入WREN指令,然后拉高/CS。再次拉低/CS并输入WRITE指令,紧跟随8位地址,然后是要写入的数据。WRITE指令的位3是地址位A8,该位选择阵列的高半部分或是低半部分。如果/CS在WREN和WRITE之间不变

9、为高,则WRITE指令将被忽略。为了完成写操作,在最后一个被写入的数据字节的位0完成后/CS必须被拉高。如果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。