System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于DSP的Mcbsp实现SPI接口的数据存储方法技术_技高网

基于DSP的Mcbsp实现SPI接口的数据存储方法技术

技术编号:40292286 阅读:4 留言:0更新日期:2024-02-07 20:42
本发明专利技术公开了一种基于DSP的Mcbsp实现SPI接口的数据存储方法,包含主控芯片DSP28335和数据存储芯片EEPROM。通过配置DSP28335的Mcbsp模块的各控制寄存器,使其实现SPI接口功能,Mcbsp为主设备,EEPROM为从设备,完成将伺服控制系统的控制参数存储到EEPROM中,并完成数据回读和校验。本发明专利技术将Mcbsp模块配置成SPI模式,完成对EEPROM的数据读写,Mcbsp模块可以实现SPI的基本功能且具有更大的灵活性,EEPROM数据存储安全可靠,通用性强。

【技术实现步骤摘要】

本专利技术属于伺服控制,特别是spi接口进行数据存储的,尤其涉及一种基于dsp的mcbsp实现spi接口的数据存储方法。


技术介绍

1、伺服控制系统作为现代工业自动化与运动控制的支撑技术之一,以其高精度的控制性能、高动态性能、应用范围广等优点,被广泛应用于机床、纺织、机械臂、机器人等工业领域和航空、航天、海洋等军事领域中。一方面,在伺服控制系统中,常需用到多个spi接口,诸如eeprom、flash、ad转换器、数字信号处理器等等。而常用于伺服控制的主控芯片dsp28335,仅有1个spi接口,此时就需要扩展spi接口。

2、另一方面,伺服控制系统需要频繁的更新控制参数,并将参数存储在存储芯片中。由于flash更适合存储音频数据、程序等不需要频繁更新、数据量大的场景,eeprom则更适合存储伺服控制系统的这种需要频繁更新数据、数据量小的场景。因此,亟需一种通用性强、安全可靠、数据存储方法。


技术实现思路

1、本专利技术的目的在于针对在数据存储时,常采用的如flash、eeprom、铁电存储器等,大都是采用spi数据传输协议进行读写,当dsp28335的spi功能模块已被使用亦或是spi引脚被复用为其他功能时,无法实现数据存储等问题,提供一种基于dsp的mcbsp实现spi接口的数据存储方法,能够在没有剩余的spi模块时,将mcbsp模块配置成spi接口,完成数据存储功能。本专利技术将mcbsp模块配置成spi模式,完成对eeprom的数据读写,mcbsp模块可以实现spi的基本功能且具有更大的灵活性,eeprom数据存储安全可靠,通用性强。

2、实现本专利技术目的的技术解决方案为:一种基于dsp的mcbsp实现spi接口的数据存储方法,该方法基于dsp28335的多通道缓冲串行口mcbsp以及带电可擦可编程只读存储器eeprom,所述方法包括将dsp的mcbsp模块配置成spi接口模式,通过spi通信对eeprom进行数据的读写。

3、进一步地,所述将dsp的mcbsp模块配置成spi接口模式,包括:定义硬件接口,将dsp28335部分引脚复用为mcbsp功能,设置mcbsp为spi的主设备,定义数据发送mdxa为主出从进mosi,数据接受mdra主进从出miso,发送时钟mclkxa为时钟信号sclk,发送帧同步mfsxa为从设备使能信号cs。

4、进一步地,所述将dsp的mcbsp模块配置成spi接口模式,还包括:配置mcbsp接口为spi接口,mcbsp为主设备,eeprom为从设备。

5、进一步地,所述配置具体包括以下步骤:

6、步骤1,串口控制寄存器spcr1与spcr2中,xrst=rrst=grst=0,清空发送控制器和接受控制器,复位采样速率发生器,完成mcbsp模块复位操作;

7、步骤2,spcr1寄存器中,dlb=0,禁止数字回环模式;

8、步骤3,spcr1寄存器与引脚控制寄存器pcr中,clkstp=11b、clkxp=0、clkrp=1,使能mcbsp时钟停止模式,同时配置spi模式为低无效有延时状态,mcbsp在先于clkx的上升沿1/2个周期发送数据,在clkr的下降沿接受数据;

9、步骤4,pcr寄存器中,clkxm=1,配置mcbsp为主设备;

10、步骤5,pcr寄存器、采样率产生器寄存器srgr1和srgr2中,sclkme=0、clksm=1、clkgdv=20h,选择内部低速时钟经过32分频后作为clkg时钟,clksm采样率发生器输入时钟模式位;fsxm=1、fsgm=0、fsxp=1,配置fsx引脚是根据fsgm为驱动的输出引脚,每次数据有dxr1传输到xsr1,发送器与驱动fsx上的帧脉冲同步,引脚fsx低有效;

11、步骤6,接受控制寄存器rcr2和发送控制寄存器xcr2中,rdataly=xdataly=1;

12、步骤7,串口控制寄存器spcr1中,rjust=0,配置数据接受寄存器drr内数据右对齐且0填充高位;接受控制寄存器rcr1和发送控制寄存器xcr1中,rwdlen1=xwdlen1=0,配置数据位数为8bit;

13、步骤8,接受控制寄存器rcr1和发送控制寄存器xcr1中,grst=xrst=rrst=frst=1,使能发送器和接受器,使能采样率产生器的帧同步逻辑单元。

14、进一步地,所述eeprom采用hwd25cmw芯片,其可通过spi接口访问,存储空间为2mbits,单页大小256bytes,读写速度最高5mhz,18位地址位,8位数据位,支持字节写操作。

15、进一步地,所述通过spi通信对eeprom进行数据的读写中,写数据具体包括以下步骤:

16、步骤1,拉低发送帧同步mfsxa引脚,使能cs片选信号,选中芯片;

17、步骤2,发送使能写操作指令06h,给低位数据发送dxr1寄存器赋值0x0006;

18、步骤3,等待数据发送完成:检测到串口控制寄存器spcr1的接收器准备位rrdy置1,表示接收器准备从数据接受寄存器drr读取数据;并读取低位数据接受寄存器drr1中的值;

19、步骤4,发送写数据操作指令02h,给dxr1寄存器赋值0x0002,以实现写数据操作,并重复步骤3,等待数据发送完成;

20、步骤5,发送写数据的存放地址;

21、步骤6,发送写数据;

22、步骤7,拉高发送帧同步mfsxa引脚,取消片选,以便开始下一次数据的写入或读取;

23、步骤8,读状态寄存器,判断数据是否写入完成,若完成,重复执行步骤7。

24、进一步地,步骤5所述发送写数据的存放地址,具体包括:先通过dxr1寄存器发送地址的高2位,重复步骤3,等待数据发送完成;再分别依次发送地址的中间8位和低8位,重复步骤3,等待数据发送完成;

25、步骤6所述发送写数据,具体包括:先通过dxr1寄存器发送数据的低8位,重复步骤3,等待数据发送完成;再发送数据的高8位,重复步骤3,等待数据发送完成;完成写数据的操作。

26、进一步地,步骤8所述读状态寄存器,判断数据是否写入完成,具体包括:发送读状态寄存器操作指令05h,读取eeprom状态寄存器的最低位reday的状态,给dxr1寄存器赋值0x0005,重复步骤3,等待数据发送完成;再发送伪数据,通过dxr1寄存器发送伪数据0x0011,重复步骤3,等待数据发送完成;然后读取drr1寄存器的最低位,“0”表示空闲即数据写入完成,“1”表示正再执行操作。

27、进一步地,所述通过spi通信对eeprom进行数据的读写中,读数据具体包括以下步骤:

28、步骤1,拉低发送帧同步mfsxa引脚,使能cs片选信号,选中芯片;

29、步骤2,发送读数据操作指令03h,给dxr1寄存器赋值0x0本文档来自技高网...

【技术保护点】

1.一种基于DSP的Mcbsp实现SPI接口的数据存储方法,该方法基于DSP28335的多通道缓冲串行口Mcbsp以及带电可擦可编程只读存储器EEPROM,其特征在于,所述方法包括将DSP的Mcbsp模块配置成SPI接口模式,通过SPI通信对EEPROM进行数据的读写。

2.根据权利要求1所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述将DSP的Mcbsp模块配置成SPI接口模式,包括:定义硬件接口,将DSP28335部分引脚复用为Mcbsp功能,设置Mcbsp为SPI的主设备,定义数据发送MDXA为主出从进MOSI,数据接受MDRA主进从出MISO,发送时钟MCLKXA为时钟信号SCLK,发送帧同步MFSXA为从设备使能信号CS。

3.根据权利要求1所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述将DSP的Mcbsp模块配置成SPI接口模式,还包括:配置Mcbsp接口为SPI接口,Mcbsp为主设备,EEPROM为从设备。

4.根据权利要求3所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述配置具体包括以下步骤:

5.根据权利要求4所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述EEPROM采用HWD25CMW芯片,其可通过SPI接口访问,存储空间为2Mbits,单页大小256Bytes,读写速度最高5MHz,18位地址位,8位数据位,支持字节写操作。

6.根据权利要求5所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述通过SPI通信对EEPROM进行数据的读写中,写数据具体包括以下步骤:

7.根据权利要求6所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,步骤5所述发送写数据的存放地址,具体包括:先通过DXR1寄存器发送地址的高2位,重复步骤3,等待数据发送完成;再分别依次发送地址的中间8位和低8位,重复步骤3,等待数据发送完成;

8.根据权利要求6所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,步骤8所述读状态寄存器,判断数据是否写入完成,具体包括:发送读状态寄存器操作指令05h,读取EEPROM状态寄存器的最低位REDAY的状态,给DXR1寄存器赋值0x0005,重复步骤3,等待数据发送完成;再发送伪数据,通过DXR1寄存器发送伪数据0x0011,重复步骤3,等待数据发送完成;然后读取DRR1寄存器的最低位,“0”表示空闲即数据写入完成,“1”表示正再执行操作。

9.根据权利要求6所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述通过SPI通信对EEPROM进行数据的读写中,读数据具体包括以下步骤:

10.根据权利要求1所述的基于DSP的Mcbsp实现SPI接口的数据存储方法,其特征在于,所述通过SPI通信对EEPROM进行数据的读写中,采用取反校验:在两个不同的地址写入数据和该数据取反后的值,在读取这两个地址上的数据后,进行数据校验。

...

【技术特征摘要】

1.一种基于dsp的mcbsp实现spi接口的数据存储方法,该方法基于dsp28335的多通道缓冲串行口mcbsp以及带电可擦可编程只读存储器eeprom,其特征在于,所述方法包括将dsp的mcbsp模块配置成spi接口模式,通过spi通信对eeprom进行数据的读写。

2.根据权利要求1所述的基于dsp的mcbsp实现spi接口的数据存储方法,其特征在于,所述将dsp的mcbsp模块配置成spi接口模式,包括:定义硬件接口,将dsp28335部分引脚复用为mcbsp功能,设置mcbsp为spi的主设备,定义数据发送mdxa为主出从进mosi,数据接受mdra主进从出miso,发送时钟mclkxa为时钟信号sclk,发送帧同步mfsxa为从设备使能信号cs。

3.根据权利要求1所述的基于dsp的mcbsp实现spi接口的数据存储方法,其特征在于,所述将dsp的mcbsp模块配置成spi接口模式,还包括:配置mcbsp接口为spi接口,mcbsp为主设备,eeprom为从设备。

4.根据权利要求3所述的基于dsp的mcbsp实现spi接口的数据存储方法,其特征在于,所述配置具体包括以下步骤:

5.根据权利要求4所述的基于dsp的mcbsp实现spi接口的数据存储方法,其特征在于,所述eeprom采用hwd25cmw芯片,其可通过spi接口访问,存储空间为2mbits,单页大小256bytes,读写速度最高5mhz,18位地址位,8位数据位,支持字节写操作。

6.根据...

【专利技术属性】
技术研发人员:葛宇宋宇宸吴文韬邱晨谭燕林刘海马路峻豪高祥
申请(专利权)人:连云港杰瑞电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1