How to read whether the voltage of the analog input pin is high or low?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
apolecoco
Level 2
Level 2
25 sign-ins 10 replies posted 5 questions asked

我正在使用cypd4226芯片,其HPD配置为模拟输入。如何检查此引脚的电平是外部供电的高电平还是低电平?我可以直接使用 API 吗?但是返回值是优化的?不是逻辑 0 或 1.So 我该怎么办?image.png

0 Likes
1 Solution
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hello ,

 

CYPD4226 dock example code使用HPD引脚的HSIOM设置功能,这个部分可以查看CCG4 TRM的相关规范进行初始化中断,并且将中断的回调函数根据传递的情况进行分类,一般而言,HPD有三种情况,HIGH, LOW, IRQ。

CCG4的HPD可能定义如下,如果您的代码中已经做好,您可以尝试查找以下关键词。

#define HPD_P0_PORT_PIN (GPIO_PORT_2_PIN_3)
#define HPD_P1_PORT_PIN (GPIO_PORT_3_PIN_4)
#define HPD_P0_PORT (2)
#define HPD_P1_PORT (3)
#define HPD_P0_PIN (3)
#define HPD_P1_PIN (4)
#define HPD_HSIOM_SETTING (15u)

 

并且在这个函数进行中断初始化:

ccg_status_t hpd_receive_init(uint8_t port, hpd_event_cbk_t cbk) 

 

以及将HPD的信号enqueue到Alternate Mode的package中。 static void dp_snk_hpd_cbk(uint8_t port, hpd_event_type_t event) 

 

不需要手动的去获取HPD的高低电平。如果一定要当GPIO的INPUT使用,那么GPIO中断处理即可。

 

Best Regards,

Lisa

View solution in original post

0 Likes
3 Replies
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hello ,

 

CYPD4226 dock example code使用HPD引脚的HSIOM设置功能,这个部分可以查看CCG4 TRM的相关规范进行初始化中断,并且将中断的回调函数根据传递的情况进行分类,一般而言,HPD有三种情况,HIGH, LOW, IRQ。

CCG4的HPD可能定义如下,如果您的代码中已经做好,您可以尝试查找以下关键词。

#define HPD_P0_PORT_PIN (GPIO_PORT_2_PIN_3)
#define HPD_P1_PORT_PIN (GPIO_PORT_3_PIN_4)
#define HPD_P0_PORT (2)
#define HPD_P1_PORT (3)
#define HPD_P0_PIN (3)
#define HPD_P1_PIN (4)
#define HPD_HSIOM_SETTING (15u)

 

并且在这个函数进行中断初始化:

ccg_status_t hpd_receive_init(uint8_t port, hpd_event_cbk_t cbk) 

 

以及将HPD的信号enqueue到Alternate Mode的package中。 static void dp_snk_hpd_cbk(uint8_t port, hpd_event_type_t event) 

 

不需要手动的去获取HPD的高低电平。如果一定要当GPIO的INPUT使用,那么GPIO中断处理即可。

 

Best Regards,

Lisa

0 Likes
lock attach
Attachments are accessible only for community members.

谢谢你的回答。不知道你是否使用过tusb1064作为mux ctrl,他提到如果HPD如果低于2ms的话,就会让DP通道关闭,以及aux->sbu通道会关闭,所以我想是否可以通过检测到HPD信号来使CYPD4226对它进行重新初始化。

0 Likes
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hello  ,

“HPD如果低于2ms的话”,这个意思怎么理解呢?

HPD有三种状态,HIGH, LOW,IRQ。您说的是IRQ吗?

 

Best Regards,

Lisa

0 Likes