TI中文支持网
TI专业的中文技术问题搜集分享网站

DS90UB948-Q1: ds90ub948 GPIO8 输出高电平

Part Number:DS90UB948-Q1

TI Team

      你们好

      我们有个项目有使用DS90UB948,在测试的时候发现,当0x21寄存器设置为0x00时,13PIN(I2S_CLK/GPIO8_REG)会输出高电平?麻烦帮我们看下有哪些情况会导致GPIO8输出高电平,还有Functional mode 是哪种模式?是I2S工作模式吗?

    

    

Kailyn Chen:

0x21[7:4] = 0x9时,GPIO8会输出高电平。

functional mode指的是GPIO的功能,比如这个引脚默认的是GPIO 输出引脚,它的功能作为GPIO 输入或者输出。

而输出高低电平则由0x21 bit7来决定的。

所以比如0x21[7:4] = 0x1时,bit7=0,bit4 enable GPIO, bit5=0, functional mode,即为引脚的功能output。 由于bit7=0,所以此时输出为低电平。

如果此引脚作为I2S 工作模式的话,那么需要0x21 bit4=0 ,disable GPIO。

,

user4653532:

Hi Kailyn

      感谢回复,我现在的问题是0X21的寄存器值为0X00,为什么GPIO8脚会输出高电平?947没有I2S输入,947和GPIO8有关的配置是默认值。

,

Kailyn Chen:

您配置的0x00,那0x21 bit4=0,disable了GPIO功能,那作为I2S Clock的输出引脚,但是目前I2S没有输入,是悬空的了吗?

另外,0X6Fbit0可以读取这个引脚的状态,您看下读取这bit是否也为1?

另外,0x21你这边配置为0x11试试,再读取GPIO8这个引脚看输出是否为低电平?

,

user4653532:

Hi Kailyn

    947d的I2S脚是悬空,将0x21寄存器配置为0x11,GPIO8输出为低电平,将0x21寄存器配置为0x91,GPIO8输出为高电平,但是0X6Fbit0读出来 还是低电平,也就是说0x21寄存器配置为0x91或者0x00,GPIO8都输出高电平,但是0X6Fbit0显示的读出来的值还是低电平,现在就是不明白寄存器0X21配置成0x00,GPIO8为什么会输出高电平?

,

Kailyn Chen:

GPIO_REG[8:5]首先这几个引脚都是通过寄存器来控制的,只是代表了local芯片的状态,这几个引脚不能透传。0x21=0x00,只能说明是948的输出状态,但是配置的local output为0,所以这里应该输出低电平才对。 

您看下Pin14 GPIO7输出什么电平?因为0x21 bit【3:0】代表的是GPIO7的状态,配置和GPIO8方法是一样的。

,

user4653532:

寄存器0x21=0x00时,GPIO7为低电平

,

Kailyn Chen:

user4653532 说:寄存器0x21=0x00时,GPIO7为低电平

GPIO7是正常的。GPIO_REG8 和GPIO_REG7都是只能寄存器配置,方法是一样的。

GPIO8没有接外围电路吧?

,

user4653532:

GPIO8和GPIO7都是通过1K的电阻下拉到地,没有接到其他网络

,

Kailyn Chen:

您好,对于0x21这个寄存器,bit[7:4]是针对GPIO8的,bit[3:0]针对GPIO7的。理论上来说,bit[7:4]和bitbit[3:0]的配置相同,这两个引脚输出是相同的。

但目前GPIO8输出高电平,这个引脚目前配置为0x00,比bit4=0,说明disable GPIO功能,那就是作为I2S_CLK输出引脚,而I2S没有接入,所以I2S_CLK的输出我怀疑耦合进入噪声导致输出高电平,输出大概多大的电压?波形稳定吗?您把GPIO8的高电平附上,我这边去确认下。

,

user4653532:

Hi Kailyn

     GPIO8输出为稳定的3.3V,见下图

,

user4653532:

,

Kailyn Chen:

您好,建议检查下上电时序。PDB引脚使用一个较大容值电容保证所有电压起来之后再将PDB拉高。

另外,就是如果PDB上拉10K到VDD33,至少大于10uF电容接地来 延迟它的上升时间。 所有的输入信号都不要给,直到所有的电压起来至稳定状态。

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB948-Q1: ds90ub948 GPIO8 输出高电平
分享到: 更多 (0)