GPIO输入电路的匹配、设计与计算

描述

1. 数字输入输出的定义

数字输入或输出(英语:Digital Input or Digital Input),又叫开关量输入或输出,只有通和断二种状态,离散状态。

常见的数字输入有GPIO,GTA等

本文主要说明GPIO

2. GPIO输入电路的匹配、设计与计算

2.1.控制器与TTL施密特触发器下的GPIO输入接口电路

以STM32F103ZET6举例,TTL肖特基触发器

GPIO

其中

1)R1,R2为内部弱上拉或弱下拉,阻值很大,一般为100k以上;

2)D1,D2为嵌位二极管,可以嵌位到-V(D2)到VCC+V(D1)之间,如果选择硅管二极管,可以嵌位到-0.7V~5.7V;

3)R3=100Kohm,R4=1000kohm

4)R11=10kohm,R12=R13=46.4kohm

5)UB=4.5~16V

2.2.控制器与TTL施密特触发器下的GPIO阈值计算

非门以74HCT1G04举例,此处不讨论R1,R2接入情况

GPIO

1)当PIN CN 悬空时,等效电路如下

GPIO

Uo=4.4V

(UB-Ui)/(R11+R13)+Uo/(R3+R4)=Ui/R12

解出Ui=(UB/(R11+R13)+Uo/(R3+R4)) R12 (R11+R13)/(R11+R12+R13)

a) 当UB=4.5V时,Ui=2.13V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2.33V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 4.5V 2.13V 2.33V 0.4V 4.4V

b) 当UB=9V时,Ui=4.16V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=4.18V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 9V 4.16V 4.18V 0.4V 4.4V

c)当UB=12.4V时,Ui=5.698V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.581V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 12.4V 5.6987V 5.581V 0.4V 4.4V

d) 当UB=14V时,Ui=6.421V

此时二极管D1将导通,Ui被钳位到5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.7+(4.4-5.7)*100/(100+1000)=5.582V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 14V 5.7V 5.582V 0.4V 4.4V

e) 当UB= 3.67371V时,Ui=1.76V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2V

UG1F等于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.67371V 1.76V 2V 0.4V 4.4V

f) 当UB= 3.3V时,Ui=1.59V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=1.84V

UG1F小于非门的VIH=2V,非门G1关闭,非门G2关闭

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.3V 1.59V 1.84V 4.4V 0.4V

Uo=0.4v时,解出Ui=(UB/(R11+R13)+Uo/(R3+R4))*R12*(R11+R13)/(R11+R12+R13)=1.4928V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=1.398V

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.3V 1.498V 1.398V 4.4V 0.4V

综合a)~f)得出如下结论

UB<3.67371V时,Uo将输出0.4V

UB>3.67371V时,Uo将输出4.4V

UB>12.4V时,Ui将被钳位到5.7V,UG1F将被固定到5.582V,Uo将输出4.4V

UB在3.67371V以上,都可以识别为H

2)当PIN CN 输入时,等效电路如下

GPIO

(UPIN-Ui)/R13+Uo/(R3+R4)=Ui/R12

解出Ui=(UPIN/R13+Uo/(R3+R4))R12R13/(R12+R13)

a) 当UPIN=4.5V时,Ui=2.34V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2.53V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 4.5V 2.34V 2.53V 0.4V 4.4V

b) 当UPIN=9V时,Ui=4.59V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=4.58V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 9V 4.59V 4.58V 0.4V 4.4V

c) 当UPIN=11.2144V时,Ui=5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.581V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 11.2144V 5.7V 5.581V 0.4V 4.4V

d) 当UPIN=14V时,Ui=7.09V

此时二极管D1将导通,Ui被钳位到5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.7+(4.4-5.7)*100/(100+1000)=5.582V

UG1F大于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 14V 5.7V 5.582V 0.4V 4.4V

e) 当UPIN= 3.334399V时,Ui=1.76V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2V

UG1F等于非门的VIH=2V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.334399V 1.76V 2V 0.4V 4.4V

f) 当UPIN= 3V时,Ui=1.59V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=1.85V

UG1F小于非门的VIH=2V,非门G1关闭,非门G2关闭

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3V 1.59V 1.85V 0.4V 4.4V

Uo=0.4v时,解出Ui=(UB/R13+Uo/(R3+R4))*R12*R13/(R12+R13)=1.51V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=1.41V

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 1 0
电压值 1. 3V 1. 51V 1. 41V 4.4V 0.4V

综合a)~f)得出如下结论

UPIN<3.334399V 时,Uo将输出0.4V

UPIN>3.334399V时,Uo将输出4.4V

UPIN>11.2144V时,Ui将被钳位到5.7V,UG1F将被固定到5.582V,Uo将输出4.4V

UPIN在3.334399V以上,都可以识别为H

3)应用物理电路可配置如下

GPIO

  1. 当开关SW打开时,等同于2.2中 1)当PIN CN 悬空,此时Uo为4.4V,为H.
  2. 当开关SW闭合时,Uo=0.4V, 为L.此时Ui=0.008V,UG1F=0.044V

综合a),b)得出如下结论

可以正确识别开关打开和闭合两种状态的

2.3.控制器与CMOS施密特触发器下的GPIO输入接口电路

GPIO

其中

1)R1,R2为内部弱上拉或弱下拉,阻值很大,一般为100k以上;

2)D1,D2为嵌位二极管,可以嵌位到-V(D2)到VCC+V(D1)之间,如果选择硅管二极管,可以嵌位到-0.7V~5.7V;

3)R3=100Kohm,R4=3000kohm

4)R11=10kohm,R13=46.4kohm

5)UB=4.5~16V

2.4.控制器与CMOS施密特触发器下的GPIO阈值计算

非门以74HC1G04举例,此处不讨论R1,R2接入情况

假设供电VCC=5V,那么UIH=3.5V,UIL=1.5V,VOH=4.5V,VOL=0.5V.

GPIO

  1. 当PIN CN 悬空时,等效电路如下

GPIO

Uo=4.5V

Ui=Uo+(UB-Uo)*(R3+R4)/(R11+R13+R3+R4)

a) 当UB=4.5V时,Ui=4.5V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=4.5V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 4.5V 4.5V 4.5V 0.5V 4.5V

b) 当UB=5.72183V时,Ui=5.699998V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.65998V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 5.72183V 5.699998V 5.65998V 0.5V 4.5V

c) 当UB=12V时,Ui=11.866V

此时二极管D1将导通,Ui被钳位到5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.7+(4.5-5.7)*100/(100+3000)=5.696V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 12V 5.7V 5.696V 0.5V 4.5V

d) 当UB= 3.446696V时,Ui=3.464417V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=3.5V

UG1F等于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.446696V 3.464417V 3.5V 0.5V 4.5V

e) 当UB= 3V时,Ui=3.03V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=3.08V

UG1F小于非门的VIH=3.5V,非门G1关闭,非门G2关闭

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3V 3.03V 3.08V 0.5V 4.5V

Uo=0.5v时,解出Ui=Uo+(UB-Uo)*(R3+R4)/(R11+R13+R3+R4)=2.96V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2.87V

真值表如下

信号 UB Ui UG1F UG12 Uo
逻辑值 - - 1 1 0
电压值 3V 2.96V 2.87V 4.5V 0.5V

综合a)~e)得出如下结论

UB<3.464417V时,Uo将输出0.5V

UB>3.464417V时,Uo将输出4.5V

UB>5.72183V时,Ui将被钳位到5.7V,UG1F将被固定到5.582V,Uo将输出4.4V

UB在3.464417V以上,都可以识别为H

  1. 当PIN CN 输入时,等效电路如下

GPIO

Ui=UPIN+(Uo-UPIN)*R13/(R13+R3+R4)

a) 当UPIN=4.5V时,Ui=4.5V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=4.5V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 4.5V 4.5V 4.5V 0.5V 4.5V

b) 当UPIN=5.717961V时,Ui=5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.66V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 5.717961V 5.7V 5.66V 0.5V 4.5V

c) 当UB=12V时,Ui=11.8894V

此时二极管D1将导通,Ui被钳位到5.7V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=5.7+(4.5-5.7)*100/(100+3000)=5.696V

UG1F大于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 12V 5.7V 5.696V 0.5V 4.5V

d) 当UB= 3.450033V时,Ui=3.464417V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=3.5V

UG1F等于非门的VIH=3.5V,非门G1打开,非门G2打开

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3.446696V 3.465517V 3.5V 0.5V 4.5V

e) 当UB= 3V时,Ui=3.02V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=3.07V

UG1F小于非门的VIH=3.5V,非门G1关闭,非门G2关闭

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 0 1
电压值 3V 3.02V 3.07V 0.5V 4.5V

Uo=0.5v时,解出Ui=Uo+(UB-Uo)*(R3+R4)/(R11+R13+R3+R4)=2.96V

UG1F=Ui+(Uo-Ui)*R3/(R3+R4)=2.88V

真值表如下

信号 UPIN Ui UG1F UG12 Uo
逻辑值 - - 1 1 0
电压值 3V 2.96V 2.88V 4.5V 0.5V

综合a)~e)得出如下结论

UPIN<3.450033V 时,Uo将输出0.4V

UPIN>3.450033V时,Uo将输出4.4V

UPIN>5.717961V时,Ui将被钳位到5.7V,UG1F将被固定到5.582V,Uo将输出4.4V

UPIN在3.450033V以上,都可以识别为H

  1. 应用物理电路可配置如下

GPIO

a) 当开关SW打开时,等同于2.4中 1)当PIN CN 悬空,此时Uo为4.5V,为H.

b)开关SW闭合时,Uo=0.5V,为L.此时Ui=0.007V,UG1F=0.023V

综合a),b)得出如下结论

可以正确识别开关打开和闭合两种状态

2.5.控制器与运放比较器施密特触发器下的GPIO主要电路结构

GPIO

其中

1)R1,R2为内部弱上拉或弱下拉,阻值很大,一般为100k以上;

2)D1,D2为嵌位二极管,可以嵌位到-V(D2)到VCC+V(D1)之间,如果选择硅管二极管,可以嵌位到-0.7V~5.7V;

3)R3=R4=R5=10Kohm

2.6.控制器与运放比较器施密特触发器下的GPIO阈值计算

因为运放的书输入阻抗很大,故在A1-和A2+的电压约等于输入电压,即UPIN=V(A1-)=V(A2-)

根据GPIO输入(上)说明,VDIH=3.33V,VDIL=1.67V.那么设计时,保证输入电压V(H)>3.33V为H,V(L)<1.67V为L.

3. TLL触发器、CMOS触发器、运放触发器比较

1)运放触发器对输入的阻抗要求不高,影响很小,阈值很稳定

2)TLL触发器、CMOS触发器对输入阻抗要求较高,外部电阻容易对阈值范围有一定影响

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分