正点原子手把手教你学ZYNQ之嵌入式开发-基于启明星V1/领航者V1【第二期】

P4-P7:

1、GPIO是一个外设,用来对器件的引脚做观测(input)以及控制(output)

2、MIO(Multiuse I/O),将来自PS外设和静态存储器接口的访问多路复用到PS的引脚上。

3、PS端只有54个可用PIN,其他为DDR引脚,如果要做扩展,可以实用EMIO做扩展。

 

 

 4、这些GPIO根据信号类型被分为四个BANKS,BANK0/BANK1通过MIO连接到PS的引脚,BANK2/BANK3通过EMIO连接到PL。

5、GPIO可以独立且动态地编程,作为输入输出以及中断模式

 

 

 6、软件通过一组存储映射(memory-mapped)的寄存器来控制GPIO。

7、寄存器组:

DATA_RO:反应输入的数据,即用来反映器件引脚的状态,当GPIO为输出时,也能反应输出的数据。

DATA:  当GPIO作为输出的时候,该寄存器控制输出的数值,以32b为单位;如果读该寄存器,反映的是前一个数据的值。

MASK_DATA_LSW:掩码,屏蔽32位的低16位的某些位,修改为被屏蔽的位,举例:DATA:1010_0101_1010_0101 MASK:1111_0000_1111_1111 DATA:0000_1010_0000_0000,想要修改数据中的0101,先将其他位屏蔽掉,然后对需要修改的位进行修改。

MASK_DATA_MSW:掩码,屏蔽高16位的某些位。

DIRM:  控制IO引脚作为输入还是输出,当DIRM【x】 == 0,关闭输出驱动;==1,使能输出驱动。

OEN:  输出使能,当IO引脚被配置成输出时,该寄存器被用于控制打开使能,使能关闭时,输出处于三态门;

 

 

 8、MIO也分为两个BANK,BANK0和BANK1,BANK0有0-15个PIN,BANK1有16-53PIN,BANK0电压为3.3V,BANK1为1.8V,Bnak0,Bits[8:7] 在系统复位过程中作为VMODE引脚,用于配置MIO Bnak的电压。复位后,Bnak0,Bits[8:7]只能作为输出信号;