Hello, I want to use Zedboard to catch the data from GPIO and save it into DDR3 memory. While the problem is that the DDR3 memory at the PS( Programmable System)part and GPIO at PL(Programmable Logic) part. The Zedboard has two processor, one for manage the ARM and another one manage the FPGA. So I use the AXI protocol IP to communicate them between PS and PL part. The whole designed system shows below.
It is successfully, but I want to do some process on GPIO data, because my project can't use the GPIO data directly, it needs to be collected at certain conditions.
For makes my question easier, I set one GPIO disconnect to the "design_1" module, using permanently value '1010' to inside it.
Here is my whole system block diagram, the GPIO data “gpio_2_tri_i[3:0]" is disconnect with "U1” module, it replace by '1010'
In the PS(ARM) part, I write the C code to catch 3 GPIO value, note that only the data "gpio_2_tri_i[3:0]" is replaced.
However, the strange problem is shown below, The console shows that the "gpio_2_tri_i[3:0]" is F , not the "1010".
I am strong believe that it has been disconnected and replaced by '1010', but why the PS part (ARM) can also catch the data directly from GPIO?
My question can be described below, so how could I add my data processor into the system? If I want to do the Inverted process at data, how could I do? It looks like the PS(ARM) can directly read the value from GPIO, not follow the block diagram.
For make my question short, just how could I add my own block design (like a not game) at there shown at the diagram below. thanks for your help,
Question
GreatGBL
Hello, I want to use Zedboard to catch the data from GPIO and save it into DDR3 memory. While the problem is that the DDR3 memory at the PS( Programmable System)part and GPIO at PL(Programmable Logic) part. The Zedboard has two processor, one for manage the ARM and another one manage the FPGA. So I use the AXI protocol IP to communicate them between PS and PL part. The whole designed system shows below.
It is successfully, but I want to do some process on GPIO data, because my project can't use the GPIO data directly, it needs to be collected at certain conditions.
For makes my question easier, I set one GPIO disconnect to the "design_1" module, using permanently value '1010' to inside it.
Here is my whole system block diagram, the GPIO data “gpio_2_tri_i[3:0]" is disconnect with "U1” module, it replace by '1010'
In the PS(ARM) part, I write the C code to catch 3 GPIO value, note that only the data "gpio_2_tri_i[3:0]" is replaced.
However, the strange problem is shown below, The console shows that the "gpio_2_tri_i[3:0]" is F , not the "1010".
I am strong believe that it has been disconnected and replaced by '1010', but why the PS part (ARM) can also catch the data directly from GPIO?
My question can be described below, so how could I add my data processor into the system? If I want to do the Inverted process at data, how could I do? It looks like the PS(ARM) can directly read the value from GPIO, not follow the block diagram.
For make my question short, just how could I add my own block design (like a not game) at there shown at the diagram below. thanks for your help,
Best Regards,
GreatGBL
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.