大家好,碰到一个很奇怪的问题:如上图,STM32F767的两上管脚配置成两个DAC的输出,现在一个DAC(P51)可以正常输出,另一个DAC(P50)输出异常,一直为低电平。将P50配置成IO口输出高电平,则又正常了。引脚后面的线路已经全部断开了,可以排除是后端电路的影响。且程序在另外4片板子上都没有问题,基本也可以排除程序的问题。VREF+,VDDA,VSSA都量过了,是正常的。芯片也换过两片。请教下大家,还有其他的什么原因吗?
本帖最后由 flyriz 于 2020-11-26 16:20 编辑芯片换过,显然芯片都恰好损坏的可能性极低。在别的板子上正常,仅在特定的板子上不正常,如果你说的“别的板子”与故障板的设计相同,那确实可以排除程序问题。在后端电路断开的情况下问题依旧,那么只剩下PCB问题了。仔细检查故障DAC通路的PCB局部,不过你前面又说配置成IO是正常的,不知你配置成什么模式,如果是推挽输出的高电平,那PCB有局部轻微短路问题确实可能维持得住。不过这种情况应该能测出仅仅是输出幅值降低,不该是为0才对。所以,基于存在矛盾,怀疑你说的“在别的4块板子上正常”的说法,板子确实一样么?程序确实一样么?
只是偶然现象还是必然现象,如果只是偶然现象那可能是芯片内部在某种情况下异常了。
引用: chunyang 发表于 2020-11-26 18:15 芯片换过,显然芯片都恰好损坏的可能性极低。在别的板子上正常,仅在特定的板子上不正常,如果你说的&ldquo ...
板子是相同的一批,程序也是一样的,不过程序的算法有加密,需要根据每一个芯片的ID生成一个密钥输入到代码里,算法才能运行。
引用: flyriz 发表于 2020-11-26 22:29 板子是相同的一批,程序也是一样的,不过程序的算法有加密,需要根据每一个芯片的ID生成一个密钥输入到代 ...
那建议你在故障板上先运行一个测试代码,仅包含DAC输出部分就可以,不如设置一个数值,然后令DAC输出该数值,再测DAC的输出电压。
引用: chunyang 发表于 2020-11-26 23:44 那建议你在故障板上先运行一个测试代码,仅包含DAC输出部分就可以,不如设置一个数值,然后令DAC输出该数 ...
试过了,也不行的。大佬还有什么建议吗?
引用: flyriz 发表于 2020-11-27 08:50 试过了,也不行的。大佬还有什么建议吗?
前面已说过,先仔细检查PCB,排除局部轻微短路问题,但你没有说清配置成IO输出正常的测试情况,故怀疑是代码问题。除此无它。
引用: huo_hu 发表于 2020-11-27 11:47 记得以前弄dac时候用万用表量电压不正常,后来加一级跟随就好了,你先换示波器测一下看看是不是输出阻抗大的 ...
不会是这个原因,因为楼主说了其他板子正常,另外一路DAC也正常,显然不会用不同的测量方式,故而可以排除。
引用: flyriz 发表于 2020-11-30 15:03 @数码小叶 @freebsder @chunyang 问题找到了,是挂在MCU上的一个EEPROM的问题,换掉之后就好 ...
那说明是存储器导致的程序问题,前面的判断不错。
引用: flyriz 发表于 2020-11-30 15:03 @数码小叶 @freebsder @chunyang 问题找到了,是挂在MCU上的一个EEPROM的问题,换掉之后就好 ...
eeprom怎么会影响dac输出?咋接的线?