Richard

Richard

0个粉丝

8

问答

0

专栏

0

资料

Richard  发布于  2025-04-15 16:22:38
采纳率 75%
8个问答
269

OS08A20 sensor i2c 报错

悬赏金¥ 5
已结题
   


报错如上图所示,用示波器测试了一下,I2C_SCL I2C_SDA 复位 CLK 都没有输出,复位脚一直是低电平,检查了设备树,没看出什么问题,请问应该怎样排查,求大佬指点

我来回答
回答17个
时间排序
认可量排序

毛巾卷

47个粉丝

33

问答

17

专栏

79

资料

毛巾卷 2025-04-15 17:12:02
认可2

程序有没有选对i2c总线

Richard
Richard   回复   毛巾卷  2025-04-15 17:24:31
0

用的I2C-2,这个应该没有问题

Sunshine

8个粉丝

2

问答

0

专栏

0

资料

Sunshine 2025-04-15 19:04:30
认可2
易百纳技术社区该回答已被题主采纳为最佳答案
  1. 先确认sensor 接口对应的是不是i2c-2(3404 sdk默认使用i2c-2)
  2. 检查I2C_SCL I2C_SDA 引脚复用, 海思引脚复用sysconfig.ko (海思默认是复用的)
  3. 直接给sensor 复位引脚拉低再拉高,再输出sensor clk(直接控制寄存器0x11018440),使用i2cdetect -y -r 2 看能不能检测到i2c地址;sample_vio 里是有这些操作的,如果总线选对的话,是能够写进去的,也是能i2cdetect 探测到地址的
Richard
Richard   回复   Sunshine  2025-04-15 20:25:19
0
  1. 确认了
  2. 这个是加载了就可以吗,lsmod 显示加载了
  3. 试着控了一下复位脚,不能拉高,请问是什么原因
Richard
Richard   回复   Sunshine  2025-04-15 20:34:25
0

控制复位脚的步骤是:

  1. cd /sys/class/gpio
  2. echo 128 > export
  3. echo out > direction
  4. echo 1 > value
Sunshine
Sunshine   回复   Richard  2025-04-16 09:25:17
0
  1. 当作GPIO控制sensor复位再上电,需要先将SENSOR0_RSTN/GPIO16_0引脚复用成GPIO;
  2. GPIO命令控制,参考ReleaseDoc\zh\01.software\board\OSDRV\外围设备驱动 操作指南.pdf 中6.3.1 GPIO 操作命令示例, 你的3、4步有问题。
  3. 运行sample_vio SDK里会拉高SENSOR0_RSTN, SENSOR0_CLK时钟输出,看看这时候的sensor复位脚状态
Richard
Richard   回复   Sunshine  2025-04-17 10:14:25
0

文档也是这样操作的,没看出问题在哪

Sunshine
Sunshine   回复   Richard  2025-04-17 14:22:56
0

echo out > gpio128/direction
echo 1 > gpio128/value

Richard
Richard   回复   Sunshine  2025-04-17 21:12:57
0

不好意思,漏了一个指令,echo的时候我是cd到gpio128目录下执行的

Sunshine
Sunshine   回复   Richard  2025-04-18 10:41:13
0

那sensor 复位不能拉高,是不是电路有问题;正常复位拉高,海思SENSOR_CLK输出,使用i2cdetect -y -r 2 是能够检测到的

Richard
Richard   回复   Sunshine  2025-04-19 11:41:39
0

看着不像是电路问题,我试了一下控其他GPIO,也不能拉高,会不会和设备树或者.config有关系

Richard
Richard   回复   Sunshine  2025-04-24 17:00:14
0

你好,现在可以手动控制reset脚拉高了,i2cset 也可以输出一个字节,之前不能手动拉高是因为没用bspmm配置管脚复用。
但是官方的sample_vio还是不能控制reset脚和i2c管脚。报错还是这样

Richard

0个粉丝

8

问答

0

专栏

0

资料

Richard 2025-04-15 20:37:10
认可0

用的海思片子是Hi3403,SS928V100

ColdWind

0个粉丝

0

问答

0

专栏

0

资料

ColdWind 2025-04-16 16:53:10
认可0

可以试一下sample_common_vi.c把sample_comm_vi_get_default_sns_info改成i2c5

追月

10个粉丝

7

问答

0

专栏

1

资料

追月 2025-04-16 16:54:04
认可0

对应的复位引脚配置的寄存器不对吗,可以按照pinout手册操作一下寄存器

Richard

0个粉丝

8

问答

0

专栏

0

资料

Richard 2025-04-27 11:20:58
认可0

现在能测到I2C信号了,reset和clk也正常了,真是离谱啊,问题在于下图,把sample_vio.c文件511行改成#if 0就好了,易佰纳官方真是离谱啊,这代码风格。

但是HDMI还是没有输出图像,我再接着排查,如果有人遇到同样的问题,麻烦告诉我一下。

Richard

0个粉丝

8

问答

0

专栏

0

资料

Richard 2025-04-27 14:14:12
认可0

引用 @Richard “现在能测到I2C信号了,reset和cl”

好了,官方程序默认输出的是4K图像,即 3840 * 2160 分辨率,换个4K的显示器就可以显示图像了。

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区