Part Number:TDA4VM
TI专家您好,根据芯片手册说明(如下图)我们将TDA4VM核心板上的OSPI端口没有用作闪存,而将此端口连接到SPI设备上,但是当用示波器测试
时钟和数据线时,时钟线的实际字节数始终比程序中设定的RX,TX的buffer个数多?
对此我有如下问题:
1、OSPI端口能直接当作普通SPI来使用吗?
2、若OSPI能当SPI来外接SPI的设备,那么OSPI的D0~D7这八根数据线是既能作为输入,又能作为输出使用,那假如只用一根线即D0,那么这一根线的传输类型是怎么确定的呢?那么这种一根线既读又写的功能应该是半双工模式,与四线spi的全双工模式还是有区别,那么在连接外部spi设备的时候需要用cs来拉低选中相应设备吗?
3、ospi用作spi时的八根数据线都用启用的话,是否可以直接同时连接八个spi的设备呢,如果可以的话,那么一个时钟周期下TX或RX时buffer的一个字节是分别对应八个设备的1bit 数值吗?
4、目前我是参考的pdk_jacinto_08_06_01_03平台开发组件下的packages/ti/drv/spi/test/ospi_flash/src/main_ospi_flash_test.c程序改写并在此平台下编译,然后拷贝到开发板上执行并测试的,目前是时钟线能监测到信号,但时钟信号至少会多发一个字节(是多发了命令字节的时钟吗?,数据线上发的数据也只能发送一个字节的内容,后面就全是零。但ospi的指令阶段应该是可以跳过的吧?
5、您这边有相关的参考用法吗?
期待您的回复,谢谢!
best wishes
Ling wang
Cherry Zhou:
您好,您的问题我们需要升级到英文论坛寻求帮助,链接如下:
e2e.ti.com/…/tda4vm-the-i-os-of-the-ospi-module-are-connected-to-an-external-spi-device-as-a-legacy-spi-mode
,
Cherry Zhou:
您好,请参阅以下答复:
请问您为什么要将 OSPI 用作常规的 SPI 控制器? OSPI 是用于连接闪存。
wang ling said:1、OSPI端口能直接当作普通SPI来使用吗?
可以,OSPI 可用作常规 SPI。但是之前没有用户这样做过,所以也没有案例可以提供。
wang ling said:2、若OSPI能当SPI来外接SPI的设备,那么OSPI的D0~D7这八根数据线是既能作为输入,又能作为输出使用,那假如只用一根线即D0,那么这一根线的传输类型是怎么确定的呢?那么这种一根线既读又写的功能应该是半双工模式,与四线spi的全双工模式还是有区别,那么在连接外部spi设备的时候需要用cs来拉低选中相应设备吗?
请参阅下图所附的 SPI legacy mode。 应该是它在操作允许范围内的最接近全双工的方法。 由于软件开销,仍最好在非传统模式下运行。
wang ling said:3、ospi用作spi时的八根数据线都用启用的话,是否可以直接同时连接八个spi的设备呢,如果可以的话,那么一个时钟周期下TX或RX时buffer的一个字节是分别对应八个设备的1bit 数值吗?
实际上之前没有任何人尝试过该功能,因此我们无法在该案例中给予更多支持,即使理论上是可行的。抱歉。
更多详细答复请查看英文论坛。
,
wang ling:
1、对于为什么要将 OSPI 用作常规的 SPI 控制器,是因为tda4vm上的spi资源不够,因为我们没有用ospi模块的闪存,但又不想浪费ospi模块的资源。另外ospi是八线,考虑到假如ospi用作spi,是否可以接八个spi读设备,而时钟复用。
2、我有尝试直接把OSPI_CONFIG_REG(47040000h)、OSPI_DEV_INSTR_RD_CONFIG_REG(47040004h)、OSPI_DEV_INSTR_WR_CONFIG_REG(47040008)这三个寄存器的值读出来分别是0x80783881、0x0、0x2;然后我尝试更改OSPI_CONFIG_REG的值为0x80783981即将第8为改为1,Legacy Mode enable,但是当我更改后发现时用示波器测试时钟线便没有信号输出啦。请问如果想直接操作寄存器的方式来控制ospi模块用于spi协议的来读取外部spi设备的数据,该如何配置ospi模块的寄存器呢?
3、Using SPI Legacy Mode这一节提到SPI legacy mode允许软件绕过直接、间接和STIG控制器,而直接访问内部的TX-FIFO和RX-FIFO,但是OSPI_DEV_INSTR_RD_CONFIG_REG_Register的设置又需要在控制器空闲时,那如果SPI Legacy mode都已经绕过控制器啦,又如何能在控制器为空闲时设置呢?还是说SPI Legcay 模式的启用后不需要再配置其他读写配置寄存器啦?
,
Cherry Zhou:
抱歉回复晚了。
正如我们在以上回复中提到的,即使 OSPI 可以作为legacy mode来使用(SPI),也未经过验证/不受支持。 您可以试下,但是很抱歉我们并没有可供用户参考的代码或输入,因此我们将无法支持该问题。给您带来的不便敬请谅解!