【S5PV210
】 | GPIO
编程
时间:2024年3月17日22:02:32
目录
文章目录
- 【`S5PV210`】 | `GPIO`编程
-
- 目录
- 1.参考
- 2.`DataSheet`
- 3.实例
-
- 3-1.流水灯
-
- 电路原理图
- 寄存器设置
-
- `GPJ0`
- `GPD0` `DataSheet`
-
- 2.2.7 端口组`GPD0`控制寄存器
- **2.2.7.1 Port Group GPD0 Control Register (GPD0CON, R/W, Address = 0xE020_00A0)**
- **2.2.7.2 Port Group GPD0 Control Register (GPD0DAT, R/W, Address = 0xE020_00A4)**
- **2.2.7.4 Port Group GPD0 Control Register (GPD0DRV, R/W, Address = 0xE020_00AC)**
- **2.2.7.5 Port Group GPD0 Control Register (GPD0CONPDN, R/W, Address = 0xE020_00B0)**
- **2.2.7.6 Port Group GPD0 Control Register (GPD0PUDPDN, R/W, Address = 0xE020_00B4)**
- 程序编写
- 4.拓展
1.参考
1.s5pv210开发与学习:1.5之裸机汇编流水点灯_s5pv210汇编指令集-CSDN博客
2.s5pv210开发与学习:1.8之裸机蜂鸣器实验_pv210 蜂鸣器-CSDN博客
3.s5pv210开发与学习:1.9之裸机按键控制LED_s5pv210 按键控制led实验-CSDN博客
4.S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf-CSDN博客
5(2 封私信) GPIO是什么? - 知乎 (zhihu.com)
6.STM32中GPIO:
1.[12. GPIO输出—使用固件库点亮LED — 野火]STM32库开发实战指南——基于野火MINI开发板 文档 (embedfire.com)
2.[13. GPIO输入—按键检测 — 野火]STM32库开发实战指南——基于野火MINI开发板 文档 (embedfire.com)
3.[14. GPIO—位带操作 — 野火]STM32库开发实战指南——基于野火MINI开发板 文档 (embedfire.com)
2.DataSheet
本章描述了通用输入/输出(GPIO)。
2.1.概述
S5PV210
包含237个多功能输入/输出端口引脚和142个存储器端口引脚。它有34个通用端口组和2个存储器端口组,具体列表如下:• GPA0:8个输入/输出端口 - 2个带流量控制的UART
• GPA1:4个输入/输出端口 - 2个不带流量控制的UART或1个带流量控制的UART
• GPB:8个输入/输出端口 - 2个SPI
• GPC0:5个输入/输出端口 - I2S, PCM, AC97
• GPC1:5个输入/输出端口 - I2S, SPDIF, LCD_FRM
• GPD0:4个输入/输出端口 - PWM
• GPD1:6个输入/输出端口 - 3个I2C, PWM, IEM
• GPE0,1:13个输入/输出端口 - 摄像头接口
• GPF0,1,2,3:30个输入/输出端口 - LCD接口
• GPG0,1,2,3:28个输入/输出端口 - 4个MMC通道(通道0和2支持4位和8位模式,但通道1和通道3仅支持4位模式)
• GPH0,1,2,3:32个输入/输出端口 - 键盘,外部唤醒(最多32位)。(GPH*组位于Alive区域)
• GPI:低功耗I2S,PCM(输入/输出端口未使用),用于控制掉电的PDN配置由AUDIO_SS PDN寄存器控制。
• GPJ0,1,2,3,4:35个输入/输出端口 - Modem接口,CAMIF,CFCON,键盘,SROM地址[22:16]
• MP0_1,2,3:20个输入/输出端口 - EBI的控制信号(SROM,NF,OneNAND)
• MP0_4,5,6,7:32个输入/输出存储器端口 - EBI(有关EBI配置的更多信息,请参阅第5章和第6章)
• MP1_0~8:71个DRAM1端口(输入/输出端口未使用)
• MP2_0~8:71个DRAM2端口(输入/输出端口未使用)
• ETC0, ETC1, ETC2, ETC4:28个输入/输出ETC端口 - JTAG,操作模式,RESET,CLOCK(ETC3保留)
2.1.1.特色
GPIO
的主要特点包括:• 控制146个GPIO中断
• 控制32个外部中断
• 拥有237个多功能输入/输出端口
• 在睡眠模式下控制引脚状态(除GPH0
、GPH1
、GPH2
和GPH3
外,GPH*
引脚为活动垫)
2.1.2 输入/输出配置
可配置的输入/输出(I/O)分为A型和B型。
2.1.3 S5PV210
输入/输出类型
S5PV210
的输入/输出类型多种多样,这些类型主要根据其功能和应用场景进行划分。每种类型都有其特定的电气特性和控制机制,以满足不同硬件接口和数据传输的需求。了解这些输入/输出类型对于正确使用和配置S5PV210的GPIO端口至关重要。以下是一些常见的S5PV210输入/输出类型的概述:
- 推挽输出(Push-Pull Output):推挽输出是一种常用的输出类型,它可以产生高电平和低电平两种状态。当输出为高电平时,上拉晶体管导通,下拉晶体管截止;当输出为低电平时,情况相反。这种输出类型适用于需要快速切换电平状态的场景。
- 开漏输出(Open-Drain Output):开漏输出的特点是输出端不直接连接到电源或地线,而是通过一个N型晶体管控制。当晶体管导通时,输出为低电平;当晶体管截止时,输出为高阻态。这种输出类型常用于需要外部上拉电阻的场景,或者实现电平转换和线与(Wired-AND)逻辑功能。
- 复用功能输入/输出(Multiplexed Function Input/Output):S5PV210的许多GPIO端口都具有复用功能,这意味着它们可以根据需要配置为不同的功能,如UART、SPI、I2C等。复用功能输入/输出类型允许用户在运行时动态改变端口的功能,提高了硬件的灵活性和可扩展性。
- 中断输入(Interrupt Input):中断输入类型用于检测外部事件或信号,并在事件发生时产生中断请求。S5PV210支持多个GPIO中断和外部中断,这些中断可以与中断服务程序关联,以便在事件发生时执行相应的处理逻辑。
- 模拟输入(Analog Input):模拟输入类型用于接收模拟信号,如电压或电流。S5PV210的一些GPIO端口可以配置为模拟输入模式,以便与模拟传感器或其他模拟设备接口。
- 电源管理相关输入/输出(Power Management-Related Input/Output):这些类型的输入/输出与电源管理系统相关,用于控制或监测电源状态。例如,某些GPIO端口可能用于控制电源开关、监测电池电量等。
了解每种输入/输出类型的特性及其应用场景,有助于根据具体需求选择合适的配置,从而充分发挥S5PV210的性能和功能。
2.1.4 IO驱动强度
IO驱动强度指的是GPIO端口在输出模式下的驱动能力,即端口能够提供的电流大小。它决定了端口在驱动外部设备或传输信号时的效能和可靠性。对于S5PV210这样的处理器,IO驱动强度通常可以根据实际应用的需求进行配置。
IO驱动强度一般分为几个不同的等级,如低、中、高等。不同的驱动强度适用于不同的应用场景:
- 低驱动强度:适用于驱动低功耗或高阻抗的负载,比如连接一些微功耗传感器或逻辑电路。在低驱动强度下,处理器输出的电流较小,有助于节省功耗。
- 中驱动强度:适用于大多数常见的应用场景,如连接普通的外设、传感器或LED等。中驱动强度能够在保证驱动能力的同时,维持较低的功耗。
- 高驱动强度:适用于需要驱动重载或长距离传输的场合,如驱动电机、大型显示器或长线缆连接的设备等。在高驱动强度下,处理器能够输出更大的电流,确保信号能够稳定传输并有效驱动负载。
选择合适的IO驱动强度对于确保系统的稳定性和可靠性至关重要。如果驱动强度过低,可能无法有效驱动负载或导致信号失真;而驱动强度过高则可能浪费功耗,甚至损坏连接的设备。
因此,在设计电路和配置S5PV210的GPIO端口时,需要根据实际应用的需求选择合适的IO驱动强度。这通常涉及到对负载的特性、传输距离、功耗要求等因素的综合考虑。在实际应用中,可以通过查阅S5PV210的技术文档或参考设计指南来获取关于IO驱动强度的更多详细信息和配置建议。
2.1.4.1 类型A IO驱动强度
注意事项:
- Isink(灌电流)是在0.2倍VDD(电源电压)处测量的。
- Isource(拉电流)是在0.8倍VDD处测量的。
- 测量点与65nm IO驱动器的测量规范不同。
解释:
这些注意事项是关于S5PV210或类似处理器的IO驱动强度的测量方法的说明。IO驱动强度通常通过测量其灌电流(Isink)和