1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用STM32和ad7193通讯,电路参考CN0287.
读取四路Pt100对应的电阻值。四路之间是轮流切换。 原来用IO口模拟SPI和ad7193通讯。 现在改为stm32的硬件SPI,结果读取第一路电阻值时,偶尔出现阻值被放大一倍的情况,其他三路则正常。 程序流程基本是这样的: 1通过SPI发送数据,控制ADG738的第一路导通; 2通过SPI读取AD7193配置寄存器数据, 清掉通道选择对应位的数据, 然后将对应位写入相应通道号, 通过SPI写入AD7193配置寄存器, 通过SPI写入AD7139模式寄存器,设置单次转换; 3等待MISO电平被拉低,然后通过SPI读取AD7193数据寄存器值; 开始下一个通道... 用示波器测量了SCLK和MOSI波形,对应的部分数据位: 010000000 01011000 读数据寄存器 |
|
相关推荐
10个回答
|
|
现在改成只读取第一路数据,问题依旧。
主循环里,SPI发送数据依次为: 1,通过SPI写ADG738寄存器,打开ADG738通道一; 2,通过SPI读AD7193配置寄存器,并修改读取的数据; 3,将修改后的数据通过SPI写AD7193配置急寄存器; 4,通过SPI写AD7193模式寄存器,开始单次转换; 5,等待MISO变低,然后通过SPI读AD7193数据寄存器; 依次循环... 按以上步骤的话,每次加电,读取的通道一的ADC值,可能是正常的,也可能是被放大了一倍,并且会一直保持下去。 偶然间将步骤1的写ADG738寄存器屏蔽掉,放在了初始化里,结果数据正常了。但我看不出问题所在。 |
|
|
|
以下为读取正常数据时的波形图。
因为显示宽度有限,只截取了后3个字节的波形,第一个字节为通讯命令,未显示。 1.读取AD7193配置寄存器时MISO引脚波形图: 2.写入AD7193配置寄存器时MOSI波形图: 3.写AD7193模式寄存器时MOSI引脚波形图: 4.读AD7193数据寄存器时MISO引脚波形图: |
|
|
|
查查时序吧,别是向前错了一位造成的。
|
|
|
|
对比读数据时MISO引脚波形, 错误时确实是向前错了一位。 但读取寄存器数据时,MISO引脚电平是AD7193控制的。 也看了对应的SCLK波形,确实是4组,没有多产生一个上升沿。 也许数据时序是对的,而是增益被写错了,本来应该是8倍增益,写成16倍增益。但我看配置寄存器波形,也发现不了错误。 正常时读取数据寄存器MISO波形图: 数据被放大时读取数据寄存器MISO波形图: |
|
|
|
以下为读取数据被放大一倍时的波形图。
因为显示宽度有限,只截取了后3个字节的波形,第一个字节为通讯命令,未显示。 1.读AD7193配置寄存器时MISO引脚波形图: 2.写AD7193配置寄存器时MOSI引脚波形图: 3.写AD7193模式寄存器时MOSI引脚波形图: 4.读AD7193数据寄存器时MISO引脚波形图: |
|
|
|
MOSI引脚波形图,依次为:
写ADG738,1个字节; 读AD7193配置寄存器,4个字节; 写AD7193配置寄存器,4个字节; 写AD7193模式寄存器,4个字节; 等待MISO被拉低... 写ADG738时MOSI引脚波形: |
|
|
|
又反复对比了下正常情况下和被放大情况下的MOSI波形,是一样的。
至于硬件SPI的速率,现在是36M再256分频,大约是140KHz左右,如果想再低的话,只能降低单片机主频了。 |
|
|
|
利用单片机串口,将通道1的adc值传出来,还有配置寄存器及模式寄存器值。
正常时: currentAdcValue[0]: 5047056 configres: 90011b moderes : 680005 被放大时: currentAdcValue[0]: 10084570 configres: 90011b moderes : 680005 |
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
990 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1384 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1938 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4269 浏览 2 评论
9060 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1520浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1692浏览 2评论
990浏览 2评论
1666浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1384浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:55 , Processed in 0.878968 second(s), Total 63, Slave 57 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号