【1. GPIO】
1. GPIO
- 1.GPIO (General-purpose input/output)
- 2.输入浮空
- 3.输入上拉、输入下拉
- 4.模拟输入
- 5.开漏输出、开漏复用输出
- 6.推挽输出、推挽复用输出
1.GPIO (General-purpose input/output)
- GPIO:通用输入输出功能。
- PIN:引脚
I/O端口指的是具有通用输入输出功能的PIN引脚。其基本结构为:
- 输入模式
- 输入浮空
- 输入上拉
- 输入下拉
- 模拟输入
- 输出模式
- 开漏输出
- 开漏复用输出
- 推挽输出
- 推挽复用输出
2.输入浮空
浮空:即逻辑器件与引脚间不接入高电平,也不接入低电平,由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平,呈现高阻态。浮空最大的特点是电压的不确定性,I/O端口有可能是0V,也有可能是Vcc,还可能是两者之间。这种设置在数据传输时使用较多。
浮空输入一般可以作为ADC输入时用,这样可以减少上、下拉电阻对ADC采集结果的影响。
3.输入上拉、输入下拉
上拉:将上拉电阻处开关合上,将不确定的信号通过一个电阻钳制在VDD。无信号输入时输入端的电平为高电平。信号输入为低电平是输入端的电平应该也为低电平。
下拉:将下拉电阻处开关合上,将不确定的信号通过一个电阻钳制在VSS。保证无信号输入时输入端的电平为低电平。信号输入为高电平是输入端的电平应该也为高电平。
4.模拟输入
当输入端口作为模拟量输入端口时,为了使外界的模拟量更加真实的读入到单片机中,我们既不能合上上、下拉电阻开关,也不能让信号经过TTL 施密特触发器。
5.开漏输出、开漏复用输出
开漏输出:
- 明显的优势就是可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。
- 可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。
开漏电路:
虽然我们可以看到开漏输出是没有办法在内部输出一个高电平,但是这一个看似是缺点。其实实际上是一种优点。我们可以得到,当给一个低电平的时候,MOS管没有导通,此时电压不确定导致无法输出高电平,但是一旦我们在外部(漏极D处)增加一个上拉,那么这一个缺点就会被有效避免。并且,因为是我们自己设计一个上拉,这个上拉的电压是由我们自己确定,这样我们就可以根据外部电路需要多少V的高电平来给这一个上拉的电压,可以更好的适应更多情况。
6.推挽输出、推挽复用输出
推挽输出的结构是由两个三极管或者MOS管受到互补信号的控制,两个管子始终保持一个处于截止,另一个处于导通的状态。
推挽输出的最大特点是可以能输出真正的高电平和低电平,在两种电平下都具有驱动能力。但推挽输出的一个缺点是,如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。
推挽电路:
推挽输出和开漏输出的比较: