完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
尊敬的ADI工程师:
我的原理图: AD7988-1与SPI通讯时序: 我的问题: AD7988-1与stm8的SPI进行通信时spi的MISO引脚处于拉高状态,在cnv引脚加入脉冲来使能AD采集。spi使能之后接收的数据都是 FF,这是正确的。打开脉冲之后接收的数据发生了错位,正常应该接收到 FF FF FF FF 00 00 FF FF FF FF 00 00 FF FF FF FF 实际接收到的 FF FF FF FE 00 7F FF FF FF FE 00 7F FF FF FF 我认为是CNV下降沿的时候没办法与SPI时序同步造成的 |
|
相关推荐
9个回答
|
|
|
|
|
|
|
|
|
我的IN+和IN-是短接在一起的。CNV和MISO的波形如下图,其中通道1(黄色的)是MISO,通道2(绿色的)CNV
SCLK和MISO的波形如下图,其中通道1(黄色的)是MISO,通道2(绿色的)SCLK 我的SCK的时钟频率是62.5Khz,一个时钟周期是16us。 脉冲是384us触发一次,其中tcnvh的时间是4us,通过MISO上的波形可以看出,有效数据2个字节,无效一个字节。也就是 FF 00 00 FF 00 00 FF 00 00 FF 串口打印的数据是 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 80 00 7F 80 00 7F 80 00 7F 80 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FC 00 03 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F 80 00 7F C0 00 3F C0 00 3F C0 00 3F C0 00 3F C0 00 3F C0 00 3F C0 00 3F C0 00 3F C0 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FE 00 01 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF |
|
|
|
|
|
通道1(黄色的)是MISO上升沿时间太慢了,你看看这根信号线上是不是有容性负载。
|
|
|
|
|
|
这根线先上没有任何负载。帮我看下我的数据接收程序有没有问题,这段程序一直在接收中断里面运行
void SPI_Receive(void) { uint16_t i; uint8 *ptr ptr=SPI_RX_Buff; //指针指向30的数组 for(i=0;i<30;i++) { while(SPI_GetFLAGStatus(SPI2,SPI_FLAG_RXNE)==RESET){}; //等待接收非空标志 *ptr++=SPI_ReceiveData(SPI2); //接收数据 SPI_ClearFlag(SPI2,SPI_FLAG_RXNE); } ptr=SPI_RX_Buff; for(i=0;i<30;i++) { USART1_SendByte(*ptr++);//串口发出去 } } |
|
|
|
|
|
1. 可以把SPI改为CNV 下降沿之后再发出SCLK时钟,开始读MISO吗?就是ADC转换时SCLK常高或低。
2. 如果用SCLK上升沿读入MISO有问题,可以尝试用下降沿读入。 |
|
|
|
|
|
我试过了 还是不行 刚开始的数据没问题 第95个字节之后就开始错1位了 过183字节之后错2位 在过183个字节又错3位....一会又正常 如此反复 。
|
|
|
|
|
|
|
|
|
|
|
|
请问你对SPI配置的是什么工作方式?能否上传SPI的初始化程序?谢谢,我在遇见了采集数据不准确的问题 |
|
|
1 条评论
|
|
只有小组成员才能发言,加入小组>>
寻求ADF5355类似的微波源,在DC-15GHz内,锁频时间在1ms内
1815 浏览 0 评论
1668 浏览 0 评论
1031 浏览 0 评论
1129 浏览 0 评论
ADF5355失锁: 在用ADF5355进行多次扫频时,延时给了500ms还是经常会失锁
1217 浏览 0 评论
2125浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
2152浏览 2评论
1205浏览 2评论
使用ADI官方提供的no-OS來接收GPS L1(1575.42MHz)的資料
1430浏览 1评论
2008浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-15 13:56 , Processed in 1.855366 second(s), Total 110, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
421