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.

[参考译文] TDA4VM:在 TDA4中使用 R5FMCU 来控制 OSPI 传统模式读写操作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1281413/tda4vm-using-r5fmcu-in-tda4-to-control-ospi-legacy-mode-read-and-write-operations

器件型号:TDA4VM

您想要实现的功能:

1.通过访问 OSPI 的 TX-FIFO 和 RX-FIFO 来发送和接收数据

2.通过8条线路接收或发送数据

当前配置为使用传统模式、8位地址、数据和命令模式。 发送时可测量 CLK 和 DQ[0-8]。 接收时没有 CLK 信号、无法读取该值。 具体的配置寄存器值如下所示。 请见下方。 什么原因?

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CONFIG_REG = 80783981
DEV_INSTR_RD_CONFIG_REG = 133300
DEV_INSTR_WR_CONFIG_REG = 1f033002
DEV_DELAY_REG = a0a0a0a
RD_DATA_CAPTURE_REG = 0
DEV_SIZE_CONFIG_REG = 81002
SRAM_PARTITION_CFG_REG = 3f
IND_AHB_ADDR_TRIGGER_REG = 4000000
DMA_PERIPH_CONFIG_REG = 0
REMAP_ADDR_REG = 0
MODE_BIT_CONFIG_REG = 200
SRAM_FILL_REG = 0
TX_THRESH_REG = 1
RX_THRESH_REG = 1
WRITE_COMPLETION_CTRL_REG = 10005
NO_OF_POLLS_BEF_EXP_REG = ffffffff
IRQ_STATUS_REG = 0
IRQ_MASK_REG = f7fff
LOWER_WR_PROT_REG = 0
UPPER_WR_PROT_REG = 0
WR_PROT_CTRL_REG = 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static int32_t xg_ospi_reg_read(OSPI_Handle handle)
{
OSPI_v0_HwAttrs const *hwAttrs = NULL;
int32_t regVal = 0;
CSL_ospi_flash_cfgRegs *pRegs;
int32_t val;
hwAttrs = (OSPI_v0_HwAttrs const *)handle->hwAttrs;
pRegs = (CSL_ospi_flash_cfgRegs *)(hwAttrs->baseAddr);
CSL_REG32_WR(hwAttrs->dataAddr, 0x555aa5aa);
wait_idle(handle);
//val = CSL_REG32_RD(&pRegs->CONFIG_REG);
//UART_printf("----------xiongg %s %d: config reg = %x\n",__FUNCTION__,__LINE__, val);
val = CSL_REG32_RD((char *)hwAttrs->dataAddr);
UART_printf("----------xiongg %s %d: val = %x\n",__FUNCTION__,__LINE__, val);
return 0;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

只有4个脉冲才能写入4个字节的数据

读取数据为0

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

    您好!

    请参阅上提供的 OSPI 驱动程序示例。 /packages/ti/drv/spi/test/ospi_flash src
    此 UT 包含传统 SPI 模式的测试用例。 这应该能为您实施用例提供良好的参考。

    此致、
    帕尔特

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

    您好:

    我参考了 pdk_jacinto_08_06_01_03中/packages/ti/drv/spi/test/ospi_flash src 中提供的 OSPI 驱动程序示例、
    未获得相应结果。 "spruil1c.pdf"中有以下说明:传统模式允许软件直接访问低电平发送和接收 FIFO、而绕过高层进程。

    "低级发送和接收 FIFO"的访问地址是什么? 我想直接访问发送和接收 FIFO、谢谢!

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

    您好!

    "低级发送和接收 FIFOs "的访问地址是什么? 我想直接访问发送和接收 FIFO,谢谢!

    我认为这不是对这里功能的正确解释。 我怀疑是否可以直接访问 FIFO。 我将再次检查并返回。

    此致、
    帕尔特

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

    您好:

    我需要跳过命令和地址、并开始直接从读取数据开始操作器件。

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

    由于假期、我们团队的一半成员目前不在办公室。 请预计回复会延迟1~2 μ s 天。

    很抱歉耽误了时间、感谢您的耐心等待。

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

    您好!

    这里的用例是什么? 我认为你不能跳过命令和地址阶段。 您打算如何在没有命令和地址的情况下访问闪存。  

    此致、
    帕尔特

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

    需要驱动的芯片是非标准闪存。 它是可提供一个时钟信号和8个数据信号端口的专用传感器芯片。 它只需要通过 CLK 和8个并行数据端口读取内部数据。 无需为芯片设置地址或写入命令。

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

    您好!

    我们从未测试过这样的用例、我不相信 H/W 也会测试到这种用例。 不过、我们仍在硬件专家中循环以供确认

    此致、
    帕尔特

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

    您好!

    期待您的回复、谢谢

    此致

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

    您好!

    需要驱动的芯片为非标准闪存。 它是可提供一个时钟信号和8个数据信号端口的专用传感器芯片。 它只需要通过 CLK 和8个并行数据端口读取内部数据。 无需为芯片设置地址或写入命令。

    遗憾的是、Parth 提到、没有对此类用例进行预先测试、从硬件角度来看、我们不支持此类测试。

    此致、

    马特