完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛
nwyerwer 发表于 2019-5-21 15:41 感谢您对上述问题的解答! 还有两个问题想请教:1.对datasheet中关于bias voltage仍有困惑,请问什么情况下需要用到bias voltage?若用到时,是两个差分输入端都需要bias voltage偏置,还是其中一个通道使用? 2.在执行SYSOCAL和SYSGCAL校准指令前,是否对应的通道必须分别输入(或切换到)0V和满刻度电压值时才能正确的进行校准?在SPS=2000时,校准时间约为8.07ms,是否意味着每条校准指令均需要8.07ms的执行时间? |
|
|
|
|
|
|
|
毛毛lallala 发表于 2019-5-21 16:01 首先,确认数据在时钟下降沿捕获(或锁存),否则正常通讯无法建立。 在读写寄存器时,即便读写一个寄存器指令也不会少于3个8bit(字节),实测发现发送多个字节时cs应该一直拉低,发送完最后一个字节后再将cs拉高。采用mcu自带的SPI模块,在连续发送多个字节时,每个字节之间cs会被短暂拉高,影响了正常通讯,这也解释了为何网上好多帖子采用GPIO来模拟SPI通讯没有出现通讯异常的问题。 希望对你有帮助。 |
|
|
|
|
|
|
|
nwyerwer 发表于 2019-5-21 15:41 感谢您对上述问题的解答! 还有几个问题想请教:1.对datasheet中关于bias voltage仍有困惑,请问什么情况下需要用到bias voltage?若用到时,是两个差分输入端都需要bias voltage偏置,还是其中一个通道使用? 2.在执行SYSOCAL和SYSGCAL校准指令前,是否对应的通道必须分别输入(或切换到)0V和满刻度电压值时才能正确的进行校准?在SPS=2000时,校准时间约为8.07ms,是否意味着每条校准指令均需要8.07ms的执行时间? 3.ads1248内部自带的温度二极管输出电压与温度之间的关系式是什么? |
|
|
|
|
|
|
|
60user153 发表于 2019-5-21 16:35 1. 看上去,输入是个无极性(正负信号)信号,或者前级和1248之间做交流耦合的情况下,可以把这个bias voltage用起来。这样即可使1248内建直流工作点,不受外部影响。手册29页图11也指出了温度传感器的电容值和bias voltage建立时间的关系。这个关系可以这样理解,就是说bias voltage建立时,会通过那个开关电阻向前级的传感器隔直电容充电,如果容值越大,充电时间越长。当充到与bias voltage相等时,建立结束。 2. 手册54页,OCAL时切换到0,GCAL时切换到Full scale。校准时间应该是指每条指令的,见手册54页图82和手册32页表14。 3. 手册30页右下角,25°时对应115mV,温度系数405uV/°C,所以关系式应该是 V=115mV+405uV/°C*(T-25) |
|
|
|
|
|
|
|
|
您好,我MCU采用STM32,想用STM32的硬件SPI控制ADS1246,但是DEBUG模式下单步运行写入例如0X43,用示波器检测DIN只发现DIN有0跳变到1,然后就没有变化了,不知道为什么不能写入43,。我的CS脚一直是拉低的,START脚一直拉高,下图是SPI的配置,我采用IO模拟SPI的话就没有问题,郁闷呢
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M时钟速度 GPIO_Init(GPIOB, &GPIO_InitStructure); /*!< Configure ADS1246_SPI_SPI pins: MISO */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); /* SPI1 configuration */ SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI2, &SPI_InitStructure); /* Enable SPI1 */ SPI_Cmd(SPI2, ENABLE); ] uint8_t SPI_SendByte(uint8_t byte) [ /* Loop while DR register in not emplty */ while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); /* Send byte through the SPI1 peripheral */ SPI_I2S_SendData(SPI2, byte); /* Wait to receive a byte */ while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); /* Return the byte read from the SPI bus */ return SPI_I2S_ReceiveData(SPI2); ] 您能告知一下怎么回事么?拜谢 我现在发现: 我在3.0的库的环境下,配置SPI,然后调用它写入一个数据,可是SCK引脚始终都没有脉冲信号 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
600 浏览 0 评论
1653 浏览 0 评论
2095 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1542 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1385 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1794浏览 29评论
2820浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1748浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1666浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1680浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 09:12 , Processed in 1.375403 second(s), Total 88, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
503