- 主题:SPI时序的问题?
第一反应也是mode选择,但看图感觉是挺奇怪的,最后一个上升沿处按说不该有数据变化.
难道是ADC又开始了新的一轮采样而输出没有锁存?lz发个ADC型号看看
【 在 wjie 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的,把CS推迟一会再拉高也试过没用。
: ...................
--
FROM 123.123.41.*
波形图里面看不出时钟是30多M
【 在 diploma 的大作中提到: 】
: 赞同,30多M的时钟,有可能ADC支持不了
:
--
FROM 36.112.80.*
明显ADC输出的问题
【 在 lichen867 的大作中提到: 】
: adc没问题,检查MCU问题。
--
FROM 118.26.68.*
为啥要读7这种连续1的,常规不是都读5a5a这种吗?
【 在 wjie 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的,把CS推迟一会再拉高也试过没用。
: ...................
--
FROM 220.196.194.*
如果IO模拟没问题更像是MCU的问题吧,ADC在一开始输出的时候是下降沿输出的,没道理在最后切换成上升输出了呢
【 在 wjie 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的
: ..................
发自「今日水木 on ONEPLUS A6010」
--
FROM 223.104.38.*
这明显是cpol和cpha的问题
调一下就好了
【 在 wjie 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的,把CS推迟一会再拉高也试过没用。
: ...................
--
FROM 113.132.217.*
右下那个f看错了。
放大一下时钟,看看有没有毛刺。
【 在 hoiden 的大作中提到: 】
: 波形图里面看不出时钟是30多M
--
FROM 1.119.194.*
重新调一下,让采样时间跟上升沿对齐
--
FROM 102.23.81.*
Hold time近乎为负,能读出才奇怪了
【 在 wjie 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的,把CS推迟一会再拉高也试过没用。
: ...................
--
FROM 124.127.68.*