首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

AD7150调试笔记(1)

AD7150调试笔记(1)

根据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基本调试通过。
返回列表