主题中讨论的其他器件:HALCOGEN、 TMS570LS3137
大家好、
在定制板中配置 SPICS1而不是 SPICS0时、我需要帮助、是否要使用 PC3寄存器?
选择和取消选择的函数是、对于 CS[0]、芯片选择为 PC3 = 0x01
在本例中,我是否需要对 CS[1]- SD_mibspiREG->PC3使用 PC3 = 0x02
我不使用该 SPI 使能引脚"SPI2ENA"。
请确认。
提前感谢。
桑托什
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.
大家好、
在定制板中配置 SPICS1而不是 SPICS0时、我需要帮助、是否要使用 PC3寄存器?
选择和取消选择的函数是、对于 CS[0]、芯片选择为 PC3 = 0x01
在本例中,我是否需要对 CS[1]- SD_mibspiREG->PC3使用 PC3 = 0x02
我不使用该 SPI 使能引脚"SPI2ENA"。
请确认。
提前感谢。
桑托什
大家好、
我正在 处理 SD 卡的"TMS570LC43x_HDK_SDCard_mibspiDMA"项目。
在 HalCoGen 中、需要为 MIBSPI2和 DMA BTC 配置什么设置。
在此配置中使用了哪些 MIBSPI2传输组、在我的情况下、我需要将 CS_0更改为 CS_1芯片选择。
在以下配置中、第一个3传输组使用 CS_0芯片选择0。
代码中使用的是哪个传输组全部3更改为 CS_0?
如果我需要将 VCLK1从75MHz 更改为80MHz、自动预分频将发生变化。 在本例中,我们是否需要修改 API set_max_speed? FMT0和 FMT1 2<<8?
请确认在代码数据格式0、1或2中使用的数据格式都在配置中更改。
我是否需要修改代码的任何部分以删除 SPIENA SPI 使能引脚的实现、因为我使用了 SPICS_1、所以无法使用 SPIENA、它在 MCU 的同一引脚中?
提前感谢。
桑托什
在 SD 示例代码中、我们使用 SPI_NCS[x]引脚作为 GIO。
1.将 SPI_NCS[1]配置为 GIO 引脚:PC0 &= 0xFD;(b11111101)-->位1清零
2.将 SPI_NCS[1]配置为输出:PC1 |= 0x02; //输出
3.置位或清零 PC3寄存器的位1以使片选信号生效或失效
您好、QJ Wang、
对于 SPI_CS[1]的 SDCARD、此设置是否正确
1.将 SPI_NCS[1]配置为 GIO 引脚:PC0 &= 0xFD;(b11111101)-->位1清零
2.将 SPI_NCS[1]配置为输出:PC1 |= 0x02; //输出
DIR 被选中表示输出。
3.置位或清零 PC3寄存器的位1以使片选信号生效或失效
在此 SDCard spiDMA 示例中、它使用外部(IS42S16400F-7BL) SDRAM 来实现 DMA、而 SPI SDCard 连接板的定制板中不存在该 SDRAM。
我注意到 EMIF 驱动程序已配置为用于外部 SDRAM。
我只需要一个代码即可将内部 DMA 用于 SDCard 的 SPI 连接。
您是否有任何其他示例使用具有 DMA 或不具有 DMA 的 SPI 来实现 SDCard。
提前感谢。
桑托什
您好、QJ Wang、
如何仅在 源文件夹中的 hL_sys_link.cmd 文件中将外部 SDRAM 更改为内部 SRAM。
我是否还需要在代码中的任何位置更改它?
取消定义 MIBSPI_DMA_MODE 以删除 DMA
在我的定制板中、我们未使用连接的 MIBSPI2 ENA 和 MIBSPI2 SCS[0]。 相反、我们使用 MIBSPI2 SCS[1]仅用于芯片选择。
我是否需要更改配置器中的任何内容
引脚复用:
输入引脚复用:
我是否需要将前3个传输组0、1和2从 CS_0芯片选择更改为 CS_1
行号2325 (按 ff.c)
FRESULT f_open (
fil *fp、/*指向空白文件对象*/的指针
const TCAR *path、/*指向文件名的指针*/
字节模式/*访问模式和文件打开模式标志*/
)
RES = chk_mounted (&path、&dj.fs、(byte)(mode &~fa_read));行号2325、位于 ff.c 中
姓名:Res
默认值:FR_NOT 准备就绪
使用 SPI2和 CS_1端口而不是 CS_0检查上述 HalCoGen 和针对 SD 卡所做的代码更改并启用。
SCI 输出:
仍然是
请检查我所做的配置和编码更改、并告知我反馈。
提前感谢。
桑托什
您好、Santhosh、
附件是使用不带 DMA 的 SPI2的示例。 此示例用于 TMS570LC43x HDK。
TMS570LC43x_SDCard_Demo.zip:
您好、QJ Wang、
TMS570LC43x_SDCard_Demo.zip:
此构建在 TMS570LC43x HDK 电路板本身中存在问题、无法正常工作。
您能不能检查一下。 因为"TMS570LC43x_HDK_SDCard_mibspiDMA"构建在同一电路板中工作正常。
在我的定制板中、它与 SPI2_CS1相连、SPI2 ENA 与 SD 卡未相连。 SPI2。
让我知道在这种情况下、我的问题是什么。
提前感谢。
桑托什
您好、QJ Wang、
上面的波形来自使用项目"TMS570LC43x_SDCard_Demo"和正常 SPI2的定制板。
因此、我也尝试 使用 TMS570LC43x_HDK_SDCard_mibspiDMA - MIBSPI2处理 MIBSPI
在 HDK 中、它工作正常、但在我们的定制板中、我需要为 CS_1而不是 CS_0配置代码。
我来到了"TMS570LS3137:读取 SD 卡"论坛
SD 卡示例使用 MibSPI2、下面是 MibSPI 传输组的配置:
TG0用于传输命令、而 TG1用于从文件传输数据。
我看到了您的评论、在 SD 卡的 disk_write 和 disk_read 函数中从未看到过 TG1。
在 HDK 中、如果 (SEND_cmd (CMD0、0)=1) 为 true、则在 DISK_INVIND 函数内、 SEND_cmd 函数的返回值为1。
但是、如果(send_cmd (CMD0、0)= 1) 为 false、则从 send_cmd 函数返回的值为0xFF。 我找不到问题。
请帮助我解决此问题。
提前感谢。