Zynq AXI-GPIO

4 篇文章 0 订阅
4 篇文章 0 订阅

硬件:Xilinx Zynq-7000 SoC ZC706

版本:vivado2015.4

Zynq上有三种GPIO方式,AXI-GPIO是其中一种,需要创建一个AXI-GPIO核,AXI总线连接至ZYNQ。

然后配置GPIO的宽度和初始状态。

All Outputs:设置成输出,根据需要配置。

GPIO Width为GPIO的数量,这边配置成2

Default Output Value为GPIO初始状态,这边为了让2路GPIO都为高状态设置成0x00000003(0‘b 11)

重新Create HDL Wrapper,找到引脚 ,生成一个两个位宽的引脚output [1:0]gpio_rtl_tri_o,然后再对这两个引脚约束。

set_property PACKAGE_PIN J15 [get_ports gpio_rtl_tri_o[0]]
set_property IOSTANDARD LVCMOS15 [get_ports gpio_rtl_tri_o[0]]
set_property PULLUP true [get_ports gpio_rtl_tri_o[0]]

set_property PACKAGE_PIN H14 [get_ports gpio_rtl_tri_o[1]]
set_property IOSTANDARD LVCMOS15 [get_ports gpio_rtl_tri_o[1]]
set_property PULLUP true [get_ports gpio_rtl_tri_o[1]]

 

至此FPGA部分设计完成,生成镜像。

下面是PS部分的设计。

找到AXI设备,设置方向,配置电平

//获取设别
int status = XGpio_Initialize(&gps,XPAR_AXI_GPIO_0_DEVICE_ID);
//设置方向,channel 1,所有方向都为输出
XGpio_SetDataDirection(&gps, 1,0x00);
//设置电平,channel 1,所有输出都为0
XGpio_DiscreteWrite(&gps, 1,0);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值