根据ADI官方的驱动,移植到STM32F103上,使用软I2C,得到如下数据:
一次读取寄存器内所有数据:
00 0x54
01 0x00
02 0x00
03 0x00
04 0x00
05 0x00
06 0x00
07 0x00
08 0x00
09 0x00
10 0x00
11 0x00
12 0x00
13 0x00
14 0x00
15 0x00
16 0x00
17 0x00
18 0x00
19 0x00
20 0x00
21 0x00
22 0x00
23 0x00
每次读取一个寄存器值:
00 0x50
01 0x52
02 0x54
03 0x54
04 0x54
05 0x54
06 0x54
07 0x54
08 0x55
09 0x55
10 0x50
11 0x50
12 0x50
13 0x50
14 0x50
15 0x50
16 0x52
17 0x54
18 0x54
19 0x54
20 0x54
21 0x54
22 0x54
23 0x55
测试了两片样板,发现读的出SN和ID相同,且数据不稳定。可能是软I2C及AD7150驱动写的有问题,正在继续调试中……
----------------------------------------------
Board2:
00 0x50
01 0xff
02 0xff
03 0xff
04 0xff
05 0xff
06 0xff
07 0xff
08 0xff
09 0xff
10 0xff
11 0xff
12 0xff
13 0xff
14 0xff
15 0xff
16 0xff
17 0xff
18 0xff
19 0xff
20 0xff
21 0xff
22 0xff
23 0xff
------------------------------------
00 0x50
01 0x5f
02 0x40
03 0x30
04 0x20
05 0x5f
06 0x21
07 0x30
08 0x7e
09 0x08
10 0x86
11 0x0b
12 0x08
13 0x86
14 0x0b
15 0x19
16 0x00
17 0xc0
18 0xc0
19 0x22
20 0x2e
21 0xc7
22 0xfe
23 0x08
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
修改了软I2C时序后,得到上面的数据。单地址读取的数据应该是正确的,但连续地址读取结果有误。
修改软I2C的读字节子程序自后得到如下数据;
00 0x54
01 0x5f
02 0x30
03 0x30
04 0x90
05 0x5f
06 0x34
07 0x30
08 0x9a
09 0x08
10 0x86
11 0x0b
12 0x08
13 0x86
14 0x0b
15 0x19
16 0x00
17 0xc0
18 0xc0
19 0x22
20 0x2e
21 0xc7
22 0xfe
23 0x08
------------------------------------
00 0x50
01 0x5f
02 0x30
03 0x30
04 0x90
05 0x5f
06 0x34
07 0x30
08 0x9a
09 0x08
10 0x86
11 0x0b
12 0x08
13 0x86
14 0x0b
15 0x19
16 0x00
17 0xc0
18 0xc0
19 0x22
20 0x2e
21 0xc7
22 0xfe
23 0x08
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
运行官方参考代码,得到结果:
Read Serial Number and Chip ID.
SN=0x22-2E-C7-FE ID=0x08
Read out CAPDACs.
CAPDAC1=0xC0 CAPDAC2=0xC0
Write 0xAA to CAPDACs and read back.
CAPDAC1=0xAA CAPDAC2=0xAA
Reset AD7150 via reset command and read out CAPDACs.
CAPDAC1=0xC0 CAPDAC2=0xC0
Write 0x55 to CAPDACs and read back.
CAPDAC1=0x40 CAPDAC2=0x40
Reset AD7150 via general call and read out CAPDACs.
CAPDAC1=0xC0 CAPDAC2=0xC0
至此AD7150基本调试通过。
共1条
1/1 1 跳转至页
一直用的STM32F103ZET6,之前的工程都是可以用Keil的逻辑分析仪仿真,而且不会自动进入SystemInit()子程序。但这两天的工程都没有办法仿真,
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 |