zhqm@msn.com 发表于 2025-2-11 23:36:20

请教:KT0937-D8的INT脚(pin7)是干啥用的?

手册里只是说了这个pin的配置方式,但没有提到这个pin有啥用,求大佬帮忙!

longshort 发表于 2025-2-12 16:25:06

zhqm@msn.com 发表于 2025-2-12 15:38
不好意思,我还是有点没明白。
KT0937是个被动设备,我给他个中断有啥用啊?如果是KT0937给MCU一个中断 ...

不是給他的中斷,是他給你的中斷。這類器件要物盡其用的話,是要向外部的單片機或相關部件輸出中斷來進行處理的。

nahaotian 发表于 2025-2-12 08:56:49

TUNE_INT_MODE=1,TUNE_INT_PL=0时,中断是一个下降沿;
TUNE_INT_MODE=1,TUNE_INT_PL=10时,中断是一个上升沿。
这样的配置是可以硬件自动清除的。我的理解是读取之后硬件自动清除。

TUNE_INT_MODE=0,TUNE_INT_PL=0时,中断是低电平;
TUNE_INT_MODE=0,TUNE_INT_PL=10时,中断高电平。
那么,也就是说,当发生中断的时候,对应的引脚一直保持低电平或者低电平,需要手动像芯片写入指令才能恢复。

我英语不好,这是我个人的理解不见得正确。

依依不舍 发表于 2025-2-12 09:20:36

第一句E文说是,外部中断输入脚

longshort 发表于 2025-2-12 09:27:53

設置中斷模式,是邊沿跳變中斷還是電平中斷。INT脚是外部中斷源輸入端。

补充内容 (2025-2-13 11:21):
更正一下,是芯片的中斷輸出端。

colorabc 发表于 2025-2-12 12:03:29

本帖最后由 colorabc 于 2025-2-12 12:17 编辑

KT0937-D8 调台完成后可输出中断,这样MCU可以及时读取对应的频率和信号质量。CH用电位器模式的情况如上,另外种模式没试过。

zhqm@msn.com 发表于 2025-2-12 14:41:47

colorabc 发表于 2025-2-12 12:03
KT0937-D8 调台完成后可输出中断,这样MCU可以及时读取对应的频率和信号质量。CH用电位器模式的情况如上, ...

我试了,无论怎么设置这2个寄存器,无论调台到准确的电台还是电台之间的噪声,好像这个INT都没有任何输出,无论是电平变化,还是上升下降。

第一个问题就是,这个INT脚到底是个输入还是输出?

zhqm@msn.com 发表于 2025-2-12 14:44:14

longshort 发表于 2025-2-12 09:27
設置中斷模式,是邊沿跳變中斷還是電平中斷。INT脚是外部中斷源輸入端。

你的意思是,如果我变更了寄存器的配置,需要触发一下这个INT以便生效?

longshort 发表于 2025-2-12 15:27:47

zhqm@msn.com 发表于 2025-2-12 14:44
你的意思是,如果我变更了寄存器的配置,需要触发一下这个INT以便生效?

不是的,這跟生不生效沒關係,這是用來處理中斷事物的,比如飛梭,比如時間,比如按鍵... ...

zhqm@msn.com 发表于 2025-2-12 15:38:37

longshort 发表于 2025-2-12 15:27
不是的,這跟生不生效沒關係,這是用來處理中斷事物的,比如飛梭,比如時間,比如按鍵... ...

不好意思,我还是有点没明白。
KT0937是个被动设备,我给他个中断有啥用啊?如果是KT0937给MCU一个中断,我还可以编程来识别和处理这个中断,但如果这个是个输入端,即使我通过寄存器配置了中断触发方式,但是这个中断触发后,KT0937应该干啥呢?

zhqm@msn.com 发表于 2025-2-12 15:52:53

我在Programming Guide里找到了,改天测试一下,尽管我试过了。
Register TUNE_INT_EN is used to enable the interrupt. When TUNE_INT_EN=1, the change of CH pin voltage will lead to the interrupt signal of INT pin. When TUNE_INT_EN=0, whether CH pin voltage changes or not, the INT pin will not output the interrupt signal.

这里明确说明了output the interrupt signal.

Tuner 发表于 2025-2-12 23:59:59

楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程规范又找不到没有设定调谐频率的寄存器,都不明白它是如何用程序调台的。

zhqm@msn.com 发表于 2025-2-13 09:28:11

Tuner 发表于 2025-2-12 23:59
楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程 ...

我不知道对不对,不过我好像没法用MCU调台。我可以用e4和e5寄存器设置一个频率,在启动后开始播放,但却没法在启动后通过MCU换台,不过通过按键或者电位器换台倒是很方便。

代码在家里电脑上,因为网上没有KT0937现成的软件,我打算发在github上,其实也没几行代码。

longshort 发表于 2025-2-13 11:26:29

Tuner 发表于 2025-2-12 23:59
楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程 ...

這個芯片設定頻率是通過電位器控制電壓,因此可由MCU通過DAC變化控制電壓的方式實現。

zhqm@msn.com 发表于 2025-2-13 11:54:32

longshort 发表于 2025-2-13 11:26
這個芯片設定頻率是通過電位器控制電壓,因此可由MCU通過DAC變化控制電壓的方式實現。

说的没错,不过这么做多少有点复杂,你要是通过一个旋转编码器通过调节MCU的GPIO模拟电压来设定频率,其实跟用电位器差不多,都是旋转选台。你要是想通过输入频率来设置,则可能因为电压的波动,选台不准,尽管可以通过读取寄存器在频率设定后读出一个准确的值。

用旋转编码器最大的好处是,当频率到108MHz的时候,继续向前旋转,可以通过编程来让频率回到87.5MHz,而用电位器,则需要费劲的再回去。
页: [1] 2
查看完整版本: 请教:KT0937-D8的INT脚(pin7)是干啥用的?