原理图主要分为以下几个部分:
1.GPIO与门电路;
2.协议类接口(I2C 、UART、 SPI、NAND)
3.内存类接口(SDRAM 、网卡)
此篇先从比较简单的GPIO与门电路了解:
GPIO (General-purpose input/output),即通用输入输出口,一个GPIO由三部分组成:
1.控制寄存器:即设置GPIO为输入、输出或者其它(中断、保留);
2.数据寄存器:即写、读IO为0/1;
3.上拉寄存器: 即配置是否为内部上拉。
原理图中,GPIO很多情况下会接入上拉/下拉电阻实现相应功能,那么我们接着了解上拉/下拉电阻的作用,先看以下几个电路:
图1.上拉电阻
上图,电阻一端接入电源,另一端接入GPIO INT中断脚,当按键未按下,INT为高电平,按下按键,电路导通INT为低电平。
可知上拉电阻作用是让电阻另一端在未接通电路时始终处于高电平,避免GPIO悬空时高低电平的不确定性。
图2.下拉电阻
上图,电阻一端接地,另一端接入中断,当未按下按键,INT为低电平,按下按键电路导通,INT被拉高。
可知,下拉电阻作用是让电阻另一端在未接通电路时始终处于低电平,避免GPIO悬空时高低电平的不确定性。
以上是上拉/下拉电阻的最简单的方式,通常我们还常搭配三极管实现反向电路,看下图:
图3.上拉电阻与NPN三极管实现反向电路
上图是上拉电阻与NPN三极管实现的反向电路,配置GPIO1为输出,配置INT为中断脚。当GPIO1写1时,三极管导通,INT被拉低;当GPIO1写0时,三极管截断,INT被VCC拉高。
类似的,下拉电阻与PNP三极管实现也可实现反向电路,如下图:
图4.下拉电阻与PNP三极管实现实现反向电路
上图,配置GPIO1为输出,配置INT为中断脚。当GPIO1写1时,三极管截断,INT被GND拉低;当GPIO1写0时,三极管导通,INT被VCC拉高。
到此,就基本了解了GPIO 与上拉电阻、下拉电阻、三极管构成的基本电路,门电路的与非门比较简单就不再次了解了。下一篇幅会记录学习协议类接口嵌入式原理图入门-I2C总线