公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

你好社区,

关于 emFile 组件的限制,有几种不同的说法。 有人有最新的吗

最终答案当前 emFile 组件和库(从组件网站下载)的最大卡大小是多少?

第二个问题:最近有没有人成功地将 micro SD 分线 SPI COOLDIM_PRG_BOARD 与 emFile 或任何其他解决方案一起使用? 如果是,请向我发送您使用的产品的 6EDL_SPI_LINK 。 我尤其遇到了来自中国的爆发。

 

谢谢

斯特凡

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/td-p/680326

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

是的,您可以通过写入相应的端口控制寄存器,将 CMOS 转换为 LVTTL。 请注意,这一更改会影响整个端口,而不仅仅是该端口组上的一个端口引脚。

由于您的硬件连接在端口 0 上,因此我们先从端口 0 开始。

从 5LP 寄存器 TRM:
PRT0_CTL:0x40005109 地址
vtrip_sel = VTRIP_LVTTL 是我们要更改的位

因此,读取 PRT0_CTL 并将 vtrip_sel 中的位设置为 VTRIP_LVTTL。

如果使用调试器和当前代码读取该寄存器,会发现 LSB 已清零为 0,代表 CMOS 电平。 将 LSB 设置为 1(VTRIP_LVTTL 的值)时,它现在处于 LVTTL 电平。 您可以使用调试器设置该位并测试硬件。

在软件中,您需要在为 SPI 功能配置硬件后执行此操作。 如果过早更改,SPI 启动(emFile 内部)可能会将其设置回 CMOS。 老实说,我并不清楚端口是何时配置的。 我认为是在调用 SPI 时,但也可能是在 5LP 启动时更早的时候。

让我们知道进展如何。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689661

在原帖中查看解决方案

0 点赞
15 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

@brandiware

文件系统文档中提到:" 对于容量不超过 2 千兆字节的 SD 卡,应使用 FAT 16
库,在其他情况下应使用 FAT 32 库 "。

在这份提供的存储库 https://github.com/hackingchips/PSoC_FatFs 中,文件系统已测试到 4GB。

对于您的第二个查询,请检查以下 6EDL_SPI_LINK 并检查是否有帮助?
https://www.hackster.io/hima/psoc-4-sd-card-interface-3e2270

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/680669

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 Leo,谢谢你的回答。 我仍然被micro-sd困住了,我似乎无法成功地 MULTICH_CONNECT_PCB 到 PSoC™ 5LP。 我使用的分线器带有电平移位器,这样我就可以在 5V 的电压下运行它。难道是 emFile 组件配置为使用 3.3V 吗?
我确实用 psoc4 检查了示例 - 这似乎有点太远了,因为 PSoC™ 4 没有 emFile 组件。 但是它似乎使用的是SPI组件——因此,如果我的问题与I/O端口电压水平有关,那么这可能是一个选择。 你怎么看?
干杯 Stefan

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/685258

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好@brandiware

能否请您参考这个代码示例的实现?

https://github.com/holla2040/psoc5EmFileConsoleExample

这是一个使用 emFile 组件的 PSoC5 SD 读取示例项目。

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/688321

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好,我确实发现了错误。 我用于EVAL_100W_DRIVE_CFD2 SCLK 的 GPIO 引脚产生了降级信号。 不知道为什么。 我用示波器检查了其他空闲引脚,直到找到一个漂亮的时钟信号。 砰!我的 32GB Sandisk 闪存盘也能正常工作。 我现在使用的是 fatFs,但我也会重新尝试使用 emFile。 感谢 Leo 提供的6EDL_SPI_LINK我会看看。 顺便提一句。显示“降级”时钟信号的引脚为 0.2 0.3 0.4 - 我现在使用 0.1,如果我使用 SPI SCLK EVAL_100W_DRIVE_CFD2它会显示良好的信号。
也许这对正在使用 microSD 的朋友们有用。

 

干杯

斯特凡

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689037

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好。

很高兴听到你的 USD 卡能正常工作。

假设您使用的是KIT_A2G_TC387_MOTORCTR -059(您从未透露过是否使用KIT_A2G_TC387_MOTORCTR或定制 PCB),则端口 0.2、0.3、0.4、3.2 上连接有 1uF 电容器。 这些显示在KIT_A2G_TC387_MOTORCTR -059 原理图上。 因此,信号看起来质量很差。

祝你的项目好运。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689052

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

@bibi,这确实解释了信号的问题。 是的,我正在使用KIT_A2G_TC387_MOTORCTR 。

顺便说一句,我尝试使用 emFile 进行突破COOLDIM_PRG_BOARD 。 没有成功。 遗憾的是,我无法更改 MISO 的引脚电平。 我的分路器有 5V 电压,但 DO 没有电平转换。 因此,我相信从卡收到的 MISO 级别不足以达到EVAL_100W_DRIVE_CFD2 emFile MISO 级别。 在 fatFs 示例中,我必须将 MISO 引脚从 CMOS 设置为 LVTTL,以便使用板卡上的 3.3 V 电压。 我用 5V 电压运行 5LP。

有人知道如何将 emFile 中的 SPI MISO 改为 LVTTL 吗? 在输入 emFile 元件之前,能否将 3.3V TTL 输入转换为 5V TTL? 在 emFile 组件的某处,可能有将 MISO 设置为 LVTTL 的位置。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689056

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨。

您可以将 MISO 移到端口 12 的一个 SIO 引脚上。 端口 12 的 SIO 引脚具有可编程的输入和输出电压阈值。 有关 SIO 的大量详细信息,请参阅 AN60580。

初始化 emFile 后,可以重新编程 SIO 寄存器,以设置 uSD 接口的电压阈值。

也就是说,如果使用的 uSD 接口将 5V 信号适配为 3.3V 电平,那么它也应该在 MISO 上发送 5V 电压。 您检查过 MISO 的电压水平吗?

或者,您可以从KIT_A2G_TC387_MOTORCTR -059 移除 Vddio 零欧姆电阻,并向该 Vddio 焊盘施加 3.3V 电压。 有 4 个 Vddio(带零欧姆电阻)可供选择,取决于您要使用哪一组 GPIO。 当然,您还需要为 GPIO 端口的 Vddio 提供 3.3V 电压,并在 Creator 中调整 CYDWR 系统菜单(操作条件)中的设置以获得 3.3V 电压。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689087

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,BiBi,不幸的是,断路器只有输入引脚移位器,MISO 输出为 3.3V 电平。 使用带有 fatFS 的普通 SPI,我可以通过将 MISO 输入引脚设置为 LVTTL 来解决问题。 使用 emFile 时,针脚不可见。 但我看到了生成的代码。 是否也可以通过寄存器编程为 GPIO 设置 LVTTL? 否则,我将尝试使用 SIO 引脚。 感谢您的热心帮助。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689480

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

是的,您可以通过写入相应的端口控制寄存器,将 CMOS 转换为 LVTTL。 请注意,这一更改会影响整个端口,而不仅仅是该端口组上的一个端口引脚。

由于您的硬件连接在端口 0 上,因此我们先从端口 0 开始。

从 5LP 寄存器 TRM:
PRT0_CTL:0x40005109 地址
vtrip_sel = VTRIP_LVTTL 是我们要更改的位

因此,读取 PRT0_CTL 并将 vtrip_sel 中的位设置为 VTRIP_LVTTL。

如果使用调试器和当前代码读取该寄存器,会发现 LSB 已清零为 0,代表 CMOS 电平。 将 LSB 设置为 1(VTRIP_LVTTL 的值)时,它现在处于 LVTTL 电平。 您可以使用调试器设置该位并测试硬件。

在软件中,您需要在为 SPI 功能配置硬件后执行此操作。 如果过早更改,SPI 启动(emFile 内部)可能会将其设置回 CMOS。 老实说,我并不清楚端口是何时配置的。 我认为是在调用 SPI 时,但也可能是在 5LP 启动时更早的时候。

让我们知道进展如何。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689661

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

又见面了

我使用KIT_A2G_TC387_MOTORCTR -059 构建了一个测试负载,其中我将 LED 连接到原理图中的开关(内部 5LP 连接)。
开关配置为数字高阻抗。
在外部,我在 Vdd 和 GND 之间连接了一个电阻分压器。 电阻器接线连接到开关输入端。

在分压器中使用 1.8K 欧姆电阻时,结点测量电压为 2.4V(Vdd 为 4.8V)。 当端口设置为 CMOS 或 LVTTL 时,5LP LED 跟着开关按下。

使用 4.7k 欧姆电阻与连接到接地端的 1.8k 欧姆电阻并联,现在结点的电压为 2.0V。 当端口设置为 CMOS 时,LED 会亮起/熄灭。 我使用调试器将端口设置为 LVTTL,现在 LED 跟着开关按下,没有振荡。 我还做了同样的测试,在端口设置为 LVTTL 时构建负载,结果也正常。

因此,除非 uSD MISO 电平低于 2.4V,否则将端口设置为 CMOS 或 LVTTL 都不会有问题。 至少在我的设置中不是这样。 也许你的 5LP 就没那么宽容了。

总之,这证明了一点,即端口寄存器可以在 5LP 开始运行后编程为 LVTTL。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/689785

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

Hi BiBi、

这真的很酷。 我对控制寄存器编程还不够熟悉,但我发现为 emFile 组件生成的引脚代码暴露了 CTL 寄存器

reg8 test = SDCard_miso0_CTL;

但这不是针对整个端口的,所以可能是寄存器出错了。 我找不到 PRT0_CTL,也找不到 VTRIP_LVTTL。您提到的 LSB 究竟是如何设置的?

,我还发现了其他一些东西,也可以作为一种替代方法:

https://www.infineon.com/dgdl/Infineon-AN72382_Using_PSoC_3_and_PSoC_5LP_GPIO_Pins-ApplicationNotes-...

见 4.14 平移信号

与此同时,我已经完全运行了 fatFs 版本,包括长文件名支持。 与使用 emFile 相比,这让我对 SPI 通信的控制能力大大增强。 因此,我很可能会坚持走这条路。 我确实想从 SD 读取 wav 文件并播放EVAL_AUDIO_MA2304PNS可能使用 DMA 双缓冲。 因此,对 SPI 的良好控制可能是一个优势。

再次感谢您令人难以置信的称职协助!

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/690911

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好。

您可以在 main.c 中插入以下几行 锉刀

#define VTRIP_CMOS 0xFE
#define VTRIP_LVTTL 0x01

SDCard_miso0_CTL = SDCard_miso0_CTL | VTRIP_LVTTL; /* 将跳闸电平设置为 LVTTL */

如果您想将其恢复到 CMOS 水平:

SDCard_miso0_CTL = SDCard_miso0_CTL& VTRIP_CMOS; /* 将跳闸电平设置为 CMOS */

听起来你的进展不错。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/691076

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

非常感谢 BiBi - 我会试试的,你让我现在很好奇。 有了它,即使是 emFile 也能通过灵活的 GPIO 电平工作。 这很方便,因为有些人希望坚持使用 5V 供电的PSoC™ ,然后使用带或不带电平转换器的 microSD 分线器。 甚至像我使用的 adafruit 产品那样混合使用。
我将仅使用一个单独的端口(例如 15)连接到MULTICH_CONNECT_PCB MISO,并使用您的代码行将电平切换到 LVTTL。 我们会随时向您汇报。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/691174

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

如果您对我想在这里建造的东西感到好奇,请点击这里。 对于重度残疾的家庭成员乔纳斯,我将把一台老式索尼卡带机数字化。 其中一个是给小孩子用的大纽扣。 这是他能够用来收听他最喜欢的EVAL_AUDIO_MA2304PNS故事的唯一设备(Benjamin Blümchen)。 遗憾的是,包括二手市场在内的所有这些设备现在都已经坏了,而且没有备件。
因此,我将拆掉盒式磁带播放器和旧的EVAL_AUDIO_MA2304PNS盒式磁带,并使用 RFID 技术以及 microSD 和一些 DMA/DAC/OpAmp 链,根据插入播放器的盒式磁带向索尼“主板”提供完全正确的EVAL_AUDIO_MA2304PNS故事。 播放器的放大器仍然可以派上用场。
我还将在大按钮下面安装微型开关,以实现播放、倒带和快进功能。

因此,剩下的挑战现在“只是”双缓冲 DMA wav 文件读取并转换为EVAL_AUDIO_MA2304PNS 。 具有播放、快进和后退功能。 射频识别(RFID)部分和事件管理都是我在其他项目中积累的经验。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/691176

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

请导航至此6EDL_SPI_LINK了解更多详细信息。

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-5-3-1/emfile-current-version-does-it-support-FAT32-up-to-32GB-micro-SD-cards/m-p/692854

0 点赞