T507使用mcp2515转CAN问题
-
T507使用mcp2515转CAN,出现初始化不正常的问题,打印信息如下:
飞凌嵌入式的那个模板我也参考了,该配置的都配置了,还是报[6.800547] mcp251x spi1.0: Cannot initialize MCP2515. Wrong wiring?
[ 6.807717] mcp251x spi1.0: Probe failed, err=19
这两个错误,
单独使用spidev_test测量SPI也有数据,但是在接mcp2515,开机上电测量有两个拉低的片选信号,没有时钟信号,时钟信号开机之后直接拉低了。
没有头绪了,还请各位大神给指点指点,谢谢!!! -
-
@whycan 您好大神,附件里是dts文件,请查收,谢谢!!!
另外,晶振配置写在了sun50iw9p1-clk里,如下:
Pin配置如下:
-
-
这里确认没问题吗?
-
@whycan mcp2515_int0这个文件也写在了board.dts里,如下所示:
这里配置的中断Pin脚是PG18,如果有什么问题还请大神给指出来,谢谢!!! -
spi_board1 { device_type = "spi_board1"; compatible = "rohm,dh2228fv"; spi-max-frequency = <0x5f5e100>; reg = <0x0>; spi-rx-bus-width = <0x1>; spi-tx-bus-width = <0x1>; status = "okay"; };
这个能检测到吗?
-
@whycan 可以的,使用spidev_test -D /dev/spidev1.0测试,有数据出来,如下所示:
-
mcp2515 和 dh2228fv 的 cs# 引脚是同一个吗?
-
@whycan 是,都是在Pinctrl里配置的:
这里测试的时候MI和MO短起来的,我使用示波器抓信号的时候,只抓到了时钟和数据信号,没有抓到片选信号。。。 -
@whycan 另外,大神,mcp251x.c的代码应该是跑到如下这个位置报的错:
然后根据ret = mcp251x_hw_probe(spi);,通过打印信息定位到了如下位置:
又根据ret = mcp251x_hw_reset(spi);通过打印信息定位到了如下位置:
-
-
@whycan 我试了一下,还是报那个错误;我这边现在没有逻辑分析仪,只有示波器......
-
@whycan 大神,设备树里要不要增加电源的设置:
我用的电源是3.3V,是不是跟电源也有关系呢? -
建议看下电源是不是应该3V3,有没有正常复位,最好去淘宝下单买个萝莉分析仪,过几天有钱都买不到了.
-
此回复已被删除! -
@whycan 你好大神,手册上说有硬件复位和SPI复位,这两种复位方式效果一样,上电后要采用其中一种方式复位器件,以确保逻辑和寄存器处于缺省状态,现在硬件上有一个RC外部复位电路如下
使用的是一个RC复位电路,我测试了一下,外部复位pin脚在下电后始终有一个大约0.8V的电平,即使拆掉C122这颗电容,这个0.8V的电平还是存在的,测一下mcp2515的VDD引脚,也有一个0.8V电平,又测了一下PMIC端,DCDC1的输出也有一个0.8V电源,但是DCDC2上就没有,这说明是从DCDC1的其他负载上耦合过来的。
但是现在SPI没有和mcp2515建立起正常的通讯,就必须依靠外部复位,手册上说Reset的低电平输入最大值VIL=0.15VDD=0.15*3.3V=0.495V,如果使用SPI复位,这个存在的0.8V电平对于器件是不是也是不正常的,或者说影响了器件的复位和正常工作呢? -
-
@whycan 好的,我稍后买一个试试,谢谢了大神!!!
-
-
@gawaine 在 T507使用mcp2515转CAN问题 中说:
外部复位pin脚在下电后始终有一个大约0.8V的电平,即使拆掉C122这颗电容,这个0.8V的电平还是存在的,测一下mcp2515的VDD引脚,也有一个0.8V电平,又测了一下PMIC端,DCDC1的输出也有一个0.8V电源,
你好,遇到同样的问题,请问您最终定位到问题点了吗?
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号