首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   TMS320F241型DSP的SPI口EEPROM扩展      ★★★ 【字体: 】  
TMS320F241型DSP的SPI口EEPROM扩展
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:51:04   点击数:[]    

;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
BcomD RSDR_WIP,TC
;测试状态寄存器WIP位。如果WIP=1,正在进行内部写操作。
;等待内部写操作完成进行下一步操作
RET

    使用上述判断子程序能够保证X5043完成内部写操作。向X5043存储器阵列写入数据时后面将跟随一次非易失性写操作。可以读状态寄存器检查WIP位,若WIP为高则非易失性写正在进行。X5043存储器非易失性写周期为10mS,也可以在一个写操作完成后作一个大于10mS的延时,以保证X5043完成内部写操作。

    3.5.3向X5043 EEPROM存储器阵列中写数据

    如图4所示,向EEPROM存储器阵列写入任何数据之前,必须用WREN指令设置WEL位。首先将CS拉低,向器件输入WREN指令,然后拉高/CS。再次拉低/CS并输入WRITE指令,紧跟随8位地址,然后是要写入的数据。WRITE指令的位3是地址位A8,该位选择阵列的高半部分或是低半部分。如果/CS在WREN和WRITE之间不变为高,则WRITE指令将被忽略。为了完成写操作,在最后一个被写入的数据字节的位0完成后/CS必须被拉高。如果它在任何其它时间被拉高,写操作将不完成。

写1个字节数据的程序代码如下:
WRITE:
     KICK_DOG
     CALL RSDR_WIP
     ;读状态寄存器检查WIP位
     ;写WREN指令代码段
     SPISTE_LOW
;置低SPISTE引脚,从而选通X5043
     LDP   #0
     SPLK  #WREN,SPI_Xdata
     CALL XMIT_VALUE
     SPISTE_HIGH
;置高SPISTE引脚,禁止X5043
     CALL RSDR_WIP
     ;读状态寄存器检查WIP位
     ;写WRITE指令/地址/数据代码段
     SPISTE_LOW
;置低SPISTE引脚,从而选通X5043
     LDP   #0
     SPLK  #WRITEl(h),SPI_Xdata
     CALL XMIT_VALUE
   ;输入寄存器指令
     LDP   #0
     LACL  address1
     SACL  SPI_Xdata
     CALL  XMIT_VALUE
     ;输入寄存器地址
     LDP   #0
     LACL  data1
     SACL  SPI_Xdata
     CALL  XMIT_VALUE
     ;输入寄存器数据
     SPISTE_HIGH
     ;置高SPISTE引脚,禁止X5043
     CALL  RSDR_WIP
     ;读状态寄存器检查WIP位,X5043完成内部非易失性写
     RET

    3.5.4从X5043 EEPROM中读取数据

如图5所示,/CS只要拉低选中器件。8位READ指令送到器件,后面跟随8位地址,就可以读取指定地址下的EEPROM存储器阵列中的数据。READ指令的位3选择器件的高半部分或是低半部分。在READ指令码和地址送出后,在选定地址的存储在存储器中的数据即在SO线上移出。读操作由拉高/CS而终止。
读1个字节数据的程序代码如下:
  READ:
 KICK_DOG
 CALL  RSDR_WIP
    ;读状态寄存器检查WIP位
    SPISTE_LOW
;置低SPISTE引脚,从而选通X5043
    LDP   #0
    SPLK  #READl(h),SPI_Xdata
    CALL XMIT_VALUE
    ;输入寄存器指令
    LDP   #0
    LACL  address1
    SACL  SPI_Xdata
    CALL  XMIT_VALUE
   ;输入寄存器地址
    LDP   #0
    LACL  data1
    SACL  SPI_Xdata
    CALL  XMIT_VALUE
    ;此data1无意义,使SPI口连续提供时钟信号,使数据输出
    ;输出的数据存储在SPI_Xdata中
    SPISTE_HIGH
    ;置高SPISTE引脚,禁止X5043
    RET

    由于X5043是一个半双工器件,在WRITE子程序中从SPIRXBUF中读出来的数据是无效的,同时,在READ子程序中写向SPITXBUF的data1数据也是无效的,只起启动发送时钟的作用。

    4.结束语

    DSP可以连续的向EEPROM中写入多至16个字节的数据。唯一的限制是16个字节必须在同一页中。一页地址由[X XXXX 0000]开始,由[X XXXX 1111]结束。如果字节地址达到了页中的最后字节而时钟仍在继续,则计数器将返转至该页的第一个地址并重写前面已写过的数据。在连续地提供时钟脉冲的条件下储存在存储器地址处的数据可被连续地读出。在每个数据字节被移出后,器件即自动将地址增加至下一个更高的地址。当达到最高的地址时,地址计数器即翻转到地址00H,使读周期无限制地连续下去。上面只给出了X5043单个字节的读写程序代码,对于多个字节或一页16个字节的读写程序代码可根据单个字节的读写程序代码进行扩展给出。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:TMS320F240的IDE接口仿真器设计

  • 下一篇文章:DSP编程的几个关键问题
  • 返回上一页】【打 印】【关闭窗口
    中查找“TMS320F241型DSP的SPI口EEPROM扩展”更多相关内容 5VAR论文频道
    中查找“TMS320F241型DSP的SPI口EEPROM扩展”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››TMS320C2XX开发设计中应注意的问题...
  • ››TMS320C32DSP的中断编程方法及BOOT...
  • ››TMS320VC5402外部并行引导装载方法...
  • ››TMS320C6701在电离层垂直探测系统中...
  • ››TMS320C6711的FLASH引导装载系统研...
  • ››TMS320C6201在MPEG-4视频解码器中的...
  • ››TMS320C54x和ADSP218x性能比较
  • ››TMS320F206的中断技术及其实现
  • ››TMS320C55x的指令流水线及其效率的...
  • ››TMS320C32扩展异步串口的方法
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .