保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TMS320F241型DSP的SPI口EEPROM扩展


    DSP中SPI有16位的发送和接收能力,且接收和发送均是双缓冲。所有数据寄存器都是16位宽的,而X5043的地址、数据寄存器均是8位的,将DSP中SPI传输字符长度设置成8位宽。要向X5043存储数据时,DSP将一个8位字节长度的数据写入SPIDAT或SPITXBUF的高8位上如图2所示,在时钟信号的作用下,以左对齐方式发送,先发送数据的最高位。DSP接收一个8位字节长度的数据,是以右对齐方式接收如图3所示,8位字节长度的数据写入SPIDAT或SPIRXBUF 的低8位上。

    3.4各控制寄存器设置

LDP   #SPICCR>>7
SPLK  #0007h,SPICCR
;复位SPI, 8个字符长度
S

PLK  #000Eh,SPICTL
;主模式,使能TALK,禁止SPI的中断
;上升沿发送,下降沿接收,有延时
SPLK  #000Fh,SPIBRR
;设置SPI的传输波特率
SPLK  #0087h,SPICCR
;SPI准备好发送或接收下一字符
3.5程序设计
RAM块中的变量定义:
.bss  SPI_Xdata,1
;SPI数据传输暂存器
.bss  address1,1
;EEPROM存储器地址暂存器
.bss  data1,1
;EEPROM存储器数据暂存器

X5043存储器地址:
WREN       .set  0600h
;设置写使能锁存指令地址
WRDI       .set  0400h
;复位写使能锁存指令地址
RSDR       .set  0500h
;读状态寄存器指令地址
WRSR       .set  0100h
;写状态寄存器指令地址
READh      .set  0B00h
READl      .set  0300h
;读存储器阵列数据指令地址
WRITEh     .set  0A00h
WRITEl     .set  0200h
;写存储器阵列数据指令地址

3.5.1 DSP的SPI数据发送、接收子程序代码
XMIT_VALUE:
LDP   #0
  LACC  SPI_Xdata
  LDP   #SPITXBUF>>7
  SACL  SPITXBUF
;写需发送的值到SPI传输缓冲器
XMIT_RDY:
  LDP   #SPISTS>>7
  BIT   SPISTS,BIT6
  BCND  XMIT_RDY,NTC
;测试SPI_INT位,如果SPI_INT=0,则重复循环
;等待数据发送完毕进行下一步操作
 LDP   #SPIRXBUF>>7
  LACL  SPIRXBUF
;读取数据清除SPI_INT标志位
 LDP #0
 SACL  SPI_Xdata
;将接收的值存入数据传输暂存器
RET

3.5.2 X5043内部非易失性写判断子程序代码
RSDR_WIP:
SPISTE_LOW
;置低SPISTE引脚,从而选通X5043
LDP  #0
SPLK #RSDR,SPI_Xdata
CALL XMIT_VALUE
;写读状态寄存器地址,高8位
SPISTE_HIGH
;置高SPISTE引脚,禁止X5043
LDP   #0
BIT  SPI_Xdata,BIT0
BCND RSDR_WIP,TC
;测试状态寄存器WIP位。如果WIP=1,正在进行内部写操作。
;等待内部写操作完成进行下一步操作
RET

    使用上述判断子程序能够保证X5043完成内部写操作。向X5043存储器阵列写入数据时后面将

《TMS320F241型DSP的SPI口EEPROM扩展(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/151494.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。