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.
我们正在将 TCAN4550集成到我们的系统中。
上电后直接初始化 SPI、然后执行读取操作。
SPI 通信正常。 但是 SDO 无法接收下表中的任何数据:
DTS 配置:
SPI2{
状态="正常";
Max-freq =<50000000>;
CS-GPIO =<&GPIO2 RK_PB4 GPIO_ACTIVE_LOW>;
tcan4x5x:tcan4x5x@0{
兼容="ti、tcan4x5x";
reg =<0>;
#address-cells =<1>;
大小单元格=<1>;
SPI-max-frequency =<10000000>;
时钟名称="cclk"、"hclk";
时钟=<&T 4x5x_cclk>、<&T 4x5x_hclk>;
Bosch、MRAM-cfg =<0x0 2 1 4 5 0 3 10>;
pinctrl-names ="default";
pinctrl-0 =<&pwr_en>、<&data_ready>;
PWR_en-GPIO =<&GPIO2 RK_PA2 GPIO_ACTIVE_HIGH>;/* GPIO2_A2 *
数据就绪型 GPIO =<&GPIO2 RK_PB0 GPIO_ACTIVE_LOW>;/* GPIO2_B0 */
状态="正常";
};
};
{.pinctrl}(&P)
tcan4x5x{
PWR_en:PWR-en{
Rockchip、引脚=<2 RK_PA2 RK_FUNC_GPIO &pcfg_PULL_UP>;
};
DATA_READY:数据就绪{
Rockchip、引脚=<2 RK_PB0 RK_FUNC_GPIO &pcfg_PULL_UP>;
};
};
};
Nick、
工程师已收到此帖子的通知、并将在 CST 2022年11月3日业务结束时作出响应。
此致、
Eric Hackett
您好、Nick、
看起来您的 SPI 字节序列在两个32位字内被反转。 "0x41"字节应为在芯片选择(使能)引脚转换为低电平以进行 SPI 读取事务之后发送的第一个字节。
根据分析器图、我认为传输的字节序列为:
0x01、0x00、0x10、0x41、0x00、 0x00、0x00、0x00
如果我反转两个字中的字节、我将得到:
0x41、0x10 0x00、0x01、0x00、0x00、 0x00
在我看来、您好像在尝试读取寄存器0x1000 (内核释放寄存器)。 是这样吗?
如果是这样、为单寄存器 SPI 读取寄存器0x1000而发送的正确字节序列为:
0x41、0x10 0x00、0x01、0x00、0x00、 0x00
请尝试调整 SPI 驱动器以首先传输 MSB。 希望这可以解决这个问题。
此致、
Jonathan
您好、Jonathan、
我们 调整了 SPI 驱动器以 首先发送 MSB、但 MISO 仍然为0xff
我还有另一个问题、是否需要控制 RST 引脚?
您好、Nick、
RST 引脚必须为低电平才能正常工作。 当 RST 引脚为高电平时、TCAN4550将保持在复位状态(上电复位)。
我看到线程状态已更改为已关闭。 您是否已解决问题并使其正常工作?
此致、
Jonathan
您好、Jonathan、
我们还没有解决问题。
我将在下周检查 RST 引脚的状态。
谢谢。
Nick
您好、Nick、
好的。 除了检查 RST 以确保它为低电平之外、您还可以验证 VIO 引脚上的电压是否正确以及 OSC1/2引脚上是否有有效的时钟?
我在原理图中注意到、连接到 VIO 引脚的网络有2个不同的网络名称。 布局工具必须选择要使用的网络名称之一、但我想确保它仍然连接到电路板上的3V3电源。 SPI 和时钟电路需要 VIO 才能正常工作。
数字内核还需要时钟来写入和读取寄存器值、因此只需验证您在 OSC1/2引脚上看到的是振荡时钟。 如果时钟不工作、SPI 将不会为大多数寄存器返回值。 寄存器0x0000至0x0010在逻辑中执行、不需要 OSC1/2时钟起作用、只需要 SPI 时钟返回一个值。 您还可以尝试读取器件 ID 寄存器0x0000和0x0004、以帮助检测可能的计时问题。
此致、
Jonathan
您好、Nick、
此问题是否已解决、我们能否关闭此主题?
此致、
Jonathan
您好、Jonathan、
是的、此问题已解决。
感谢你的帮助。
Nick。