This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DK-TM4C129X:串行存储器 MX66L51235F 四路访问 qssi

Guru**** 2445640 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/621333/dk-tm4c129x-serial-memory-mx66l51235f-quad-access-qssi

器件型号:DK-TM4C129X

您好!

我尝试开发串行存储器(MX66L51235F)的驱动程序.... 为此,我参考 http://www.ti.com/tool/TIDM-TM4C129SDRAMNVM 中的示例代码...."ektm4c129_qssi_example"。。

我有足够的空间在 SPI 模式下执行读取/擦除/写入...现在我必须使用四倍读取模式... 为此、在参考示例代码后、我尝试遵循代码片段

/******** //********* //
//********* //
      SSILibSendReadDataAdvBiQuad (SSI3_base、0x0、INS_Quad_Read_data);//配置为四路读取模式

         

         for (uint32_Index=0;uint32_Indexx <NUM_SSI_DATA-1;uint32_Index++)
         {
             SSIDataPut (SSI3_base、dummy_byte);//虚拟周期
             SSIDataGet (SSI3_base、&pui32DataRx[uint32_Index]);//读取
         }
         SSIAdvDataPutFrameEnd (SSI3_base、dummy_byte);//结束帧
         SSIDataGet (SSI3_base、&pui32DataRx[NUM_SSI_DATA-1]);

         for (uint32_Index=0;uint32_Indexx <NUM_SSI_DATA;uint32_Index++)
                   {

                       UARTprintf ("mem loc %d、其值为%x\n"、uint32_Index、pui32DataRx[uint32_Index]);

                   }

尽管为 QSSI (在范围内观察到)访问配置了 uC,但内存芯片组不响应四个读取周期..... 在"MX66L51235F"数据表中、标题为"四路读取模式(QREAD)"下的 PG 46

状态的 A 四路使能(QE)位
在发送 QREAD 指令之前、寄存器必须被设定为"1"。

函数中的位置

SSILibSendReadDataAdvBiQuad();

在发出 QREAD 命令之前、状态寄存器中的四路使能 QE 位被设置为"零"。。

正确吗、请确认...

您是否有任何处理 SSI 串行存储器接口的示例代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我尝试开发串行存储器(MX66L51235F)的驱动程序.... 为此,我参考 www.ti.com/.../TIDM-TM4C129SDRAMNVM 中的示例代码...."ektm4c129_qssi_example"。。

    我有足够的空间在 SPI 模式下执行读取/擦除/写入...现在我必须使用四倍读取模式... 为此、在参考示例代码后、我尝试遵循代码片段


    /******** //********* //
    //********* //
    SSILibSendReadDataAdvBiQuad (SSI3_base、0x0、INS_Quad_Read_data);//配置为四路读取模式



    for (uint32_Index=0;uint32_Indexx <NUM_SSI_DATA-1;uint32_Index++)

    SSIDataPut (SSI3_base、dummy_byte);//虚拟周期
    SSIDataGet (SSI3_base、&pui32DataRx[uint32_Index]);//读取

    SSIAdvDataPutFrameEnd (SSI3_base、dummy_byte);//结束帧
    SSIDataGet (SSI3_base、&pui32DataRx[NUM_SSI_DATA-1]);

    for (uint32_Index=0;uint32_Indexx <NUM_SSI_DATA;uint32_Index++)


    UARTprintf ("mem loc %d、其值为%x\n"、uint32_Index、pui32DataRx[uint32_Index]);





    尽管为 QSSI (在范围内观察到)访问配置了 uC,但内存芯片组不响应四个读取周期..... 在"MX66L51235F"数据表中、标题为"四路读取模式(QREAD)"下的 PG 46

    状态的 A 四路使能(QE)位
    在发送 QREAD 指令之前、寄存器必须被设定为"1"。


    函数中的位置

    SSILibSendReadDataAdvBiQuad();


    在发出 QREAD 命令之前、状态寄存器中的四路使能 QE 位被设置为"零"。。


    正确吗、请确认...


    您是否有任何处理 SSI 串行存储器接口的示例代码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Rakesh、

    我不熟悉本示例、也不熟悉 SSI 的四路模式、因此可能缺少相关行、但现在我对代码的回顾并未向我表明状态寄存器中的四路使能位设置为零、您能解释一下吗?

    此外、默认情况下、代码应包括 QSSI 读取、您是否可以在不进行修改的情况下尝试运行该代码以查看其是否正常工作?