打印
[技术求助]

SPI口操作ADS1259

[复制链接]
1771|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2018-6-15 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
shimx| | 2018-6-15 16:03 | 只看该作者
然后呢?

使用特权

评论回复
板凳
lizye| | 2018-6-15 16:04 | 只看该作者
第二次发读命令时,才能读到数据。

使用特权

评论回复
地板
午夜粪车| | 2018-6-15 16:07 | 只看该作者

读取操作方法是否正确?如下
RREG: Read from Registers
Description: These opcode bytes read register data. The Register Read command is a two-byte opcode
followed by the output of the register data. The first byte contains the command opcode and the register address.
The second byte of the opcode specifies the number of registers to read – 1.
First opcode byte: 0010 rrrr, where rrrr is the starting register address.
Second opcode byte: 0000 nnnn, where nnnn is the number of registers to read.
The 17th SCLK rising edge of the operation clocks out the MSB of the first register

使用特权

评论回复
5
lizye| | 2018-6-15 16:10 | 只看该作者

是CPU的SPI的操作问题。

使用特权

评论回复
6
zhanghqi| | 2018-6-15 16:13 | 只看该作者
不知道用的什么单片机? 跟 SPI 全双工的操作也有关系.

使用特权

评论回复
7
zhenykun| | 2018-6-15 16:16 | 只看该作者
往往 SPI 读的过程, 要先写数据, 等数据发完, 同时数据才完成读取, 如果没有等待发送完成, 那么第一次就读不到数据了, 而第二次则可能读到了第一次的数据(这个过程不一定, 也有可能数据被冲掉).

使用特权

评论回复
8
jiajs| | 2018-6-15 16:18 | 只看该作者
不知道读不出来数据是指寄存器设置值还是ADC转换输出的数据

使用特权

评论回复
9
wyjie| | 2018-6-15 16:22 | 只看该作者

若是后者,需要判断DRDY low, 再去读。

使用特权

评论回复
10
lizye| | 2018-6-15 16:27 | 只看该作者
是指读不出AD转换结果,我已经判断了DRDY LOW,然后再去读的,我用示波器观察过,START命令,波形正确,DRDY也变化,但是在发送了RDATA命令后,DOUT一直是低电平.

使用特权

评论回复
11
jlyuan| | 2018-6-15 16:30 | 只看该作者


原理图贴上来看一下。要避免输入过载。当DRDY low, data read 必须在20 个fclk 循环内完成。

使用特权

评论回复
12
heweibig| | 2018-6-15 16:31 | 只看该作者
这个注意下时序的吧,还有启动电平信号的,停止电平信号的都需要注意的

使用特权

评论回复
13
lizye| | 2018-6-15 16:35 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
14
comeon201208| | 2018-6-18 21:43 | 只看该作者
这为什么从第三个寄存器开始读取的呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝