Note:本文纯技术探讨,不涉及商业机密,如有版权问题请联系处理。
目录
一、概述
1.1、简介
GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。GPIO 可提供输入、输出或中断三类功能,在微处理器上通常提供了一种“通用可编程I/O端口”。是嵌入式领域最常见,最基础的输入输出设备。
1.2、硬件特性
- 独立I/O口的输入输出控制
- 独立I/O口的极性控制
- 独立I/O的边沿/电平检测来产生中断
1.3、应用场景
GPIO作为输入可以检测按键,限位开关等的状态,作为输出可以控制LED,蜂鸣器,继电器等设备。GPIO 除了在应用层中使用外,其实更多的是在其他复杂驱动中调用。比如SD卡驱动中要使用一个GPIO来监测卡的插入与拔出,网卡驱动中需要使用一个GPIO来控制phy芯片硬复位,连接一个无线模块的中断输出脚,控制某个GPIO的高低时序来达到某种目的,某些情况需要用GPIO来模拟I2C总线等等。
二、MT7621 SOC GPIO
2.1、硬件结构图
图2-1 gpio硬件结构图
2.2、管脚功能
参照MT7621的Datasheet MT7621一共提供14组50个GPIO,其采用管脚复用的方式实现不同的功能,复用功能如下:
图2-2-1 GPIO pin mapping
GPIO默认脚的工作方式为function0。
2.2.1、GPIO
通用GPIO,MT7621默认提供1个GPIO功能即GPIO0
2.2.2、UART
Universal Asynchronous Receiver-Transmitter, 通用异步收发器, MT7621默认提供3组UART
2.2.3、I2C
Inter-Integrated Circuit(集成电路总线),这种总线类型是由菲利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上
2.2.4、JTAG
JTAG(Joint Test Action Group,