Hello, Vipin, your tutorials are very useful! I learned so much from you - and you are good to understand, even, when things get complicated. Today I worked with the tutorial "Data Transfer between PC and ZED Board", I use Realterm for Data Communication. It is a kind fussy to operate - but I got all data without losses, even without the waitstate. Joachim from Germany
Thank you so much from these lectures, I learned a lot from you and very detailed explanation. I have accidentally found the problem that I trust maybe can improve your system. Almost errors when you transfer data between Pc and Zedboard through UART, that comes from xil_printf, print, or any c command code line who uses UART between Send and Receive Uart. I have did and seen, my totally printf line inside "image file". Because xil_printf, get_char, scanf of Xilinx functions base on Uart protocol. I did commented all xil_printf and no error happends.
Thank you for this great video. Please can you tell me what are the different IP's that you use in your block diagram ? did you use only UARTPs, Axi and zynq or you added an customized IP for reading the grayscal image ? cause when I send the lena bmp 512x512 image from tera term nothing happens.
Great videos...! So you are using a zedboard for this application and hardware specification file is already there but if you use Z7-10 then how to get the hw spec file for this architecture. Is there a video that shows that implementation?
Hi vipin, it's a great tutorial... So in our project we are using an ultra96-v1 board, in it using jtag cable we can configure to print details in sdk terminal (when creating bsp, we configured uart1)... But we tried to use it with teraterm to transmit data as you have done in the video, but in teraterm terminal, it doesn't return data. So my question, is do we need to use another usb to uart confoguration to transmit data or can we use the uart1 port that comes with jtag cable?
This was a really great video. I am working on a similar project on FPGA using diligent Zedboard. I want to transmit a text file containing binary matrix values from PC to FPGA via UART and store the o/p from FPGA in a text file. Can I transfer text files in a similar way as shown in the video or is it not possible to do so?
Yes you can. While transferring the file, uncheck the binary option. Also remember through UART data will be coming in ASCII format. So when you send a data say '1', you will be receiving 49 (ASCII of 1). So in software you need to code to convert it to the original number. When sending from board to the PC, the other way. Another easy method is to store the input as a text file in the SD card and read from it and store the output back in the SD card (ruclips.net/video/nrEt1RJU5pQ/видео.html)
@@Vipinkmenon Thank you for your reply, sir. I will look into SD option as well. I am using C++ language in Vivado HLS. Do I need to modify for ASCII value in my HLS code and in SDK too or the code in SDK only? Currently, I have hardcoded my input, and running it in FPGA device is working. I am trying to transmit input data using MATLAB. Can you give some examples or links I can refer to?
Only SDK. From Matlab you will have to save it to a file and use it. For real time transfer will have to use Ethernet interface, which I might discuss later.
@@Vipinkmenon thank you. I am trying to do real-time transfer from MATLAB to FPGA via UART. Can you help/recommend some documents or video on this, please.
Hi Vipin, I am following your tutorial from the beginning. It has worked perfectly fine except this tutorial. I googled it and could not find solution. When I transfer lena.bmp to zedboard through UART interface (teraterm), it always send 16kB and stops. There is no progress no matter how many times I try again. However, zedboard is able to send data to my PC through same interface. I have generated random numbers of 100,000 bytes and saved it to ddr. Then I sent it to my PC through uart and there is no problem init. The only problem is when I try to send data to my zedboard through uart. It always sends first 16kB, and stops sending data. Now, I checked the heap size, and changed it to bigger number, checked baud rate, checked your code and compared with mine. By any chance, do you have any clue with my problem? I could not find solution in google as well. Since it only sends first 16kB, I think there is a problem within my software but cannot find out which is the problem. Also, the first 16kB data that I sent is correct. When I transfer them back to my PC, it is same data.
If uart is not working, you can send it through JTAG using the Dow command of xsct interface in SDK (or Vitis) dow -data nameOfYourFile AddressWhereYouWanToStore. In the playlist there is a video on xsct
Sir did the issue got resolved? I don't have much understanding about xsct so I am still following this video but then I don't understand what the issue is
Here initially while checking if data is received and print starting 10 bytes, the teraterm is closing after transferring around 94000(34%) bytes. Heap size is set as instructed. What might be the reason? Kindly help
That is not the issue of heap size. Should be something else. Can you check whether the first 10 bytes still reached the memory? You can reduce the fizesize used in the loop and make it to print it. Make sure the binary box is checked in teraterm
Sir I need to use ethernet for transferring very huge data from pc to FPGA, and do some processing and transfer the results back to FPGA, I want this to happen simultaneously. Any comments or resources pls help.
Hello, Vipin, your tutorials are very useful! I learned so much from you - and you are good to understand, even, when things get complicated. Today I worked with the tutorial "Data Transfer between PC and ZED Board", I use Realterm for Data Communication. It is a kind fussy to operate - but I got all data without losses, even without the waitstate.
Joachim from Germany
It is a very valuable tutorial about DMA engine and cache memory on Zynq processor. Easy to follow the implementation and very practical.
Thank you so much from these lectures, I learned a lot from you and very detailed explanation. I have accidentally found the problem that I trust maybe can improve your system. Almost errors when you transfer data between Pc and Zedboard through UART, that comes from xil_printf, print, or any c command code line who uses UART between Send and Receive Uart. I have did and seen, my totally printf line inside "image file". Because xil_printf, get_char, scanf of Xilinx functions base on Uart protocol. I did commented all xil_printf and no error happends.
wow, amazing video. I will check if youhave more videos like this.
Thanks Vipin❤
Thank you for this great video. Please can you tell me what are the different IP's that you use in your block diagram ? did you use only UARTPs, Axi and zynq or you added an customized IP for reading the grayscal image ? cause when I send the lena bmp 512x512 image from tera term nothing happens.
No other IP
Great videos...! So you are using a zedboard for this application and hardware specification file is already there but if you use Z7-10 then how to get the hw spec file for this architecture. Is there a video that shows that implementation?
I have the same doubt as well
I am using ZUboard, and I have the same doubt as well
What a great tutorial! However, could you make a tutorial to send a number from Matlab and display it in LED?
Hi vipin, it's a great tutorial... So in our project we are using an ultra96-v1 board, in it using jtag cable we can configure to print details in sdk terminal (when creating bsp, we configured uart1)... But we tried to use it with teraterm to transmit data as you have done in the video, but in teraterm terminal, it doesn't return data. So my question, is do we need to use another usb to uart confoguration to transmit data or can we use the uart1 port that comes with jtag cable?
at 38:26, I did the same thing with same code and image. But I could not see the first 10 values in the terminal. what might be the reason?
If anyone could help, please reply me thankyou
Hi,
After allocating the memory dynamically, don’t we need to free it in in the software?
Thanks in advance
Great explanation, thanks. Can you make a similar tutorial on transferring data using TCP/IP
I will
@@Vipinkmenon thanks
Pls try Xilinx lwIP tutorial. I tried it and is working
I am using ZUboard, and I am not able to add or find the pre-defined hardware for ZUboard 1cg
This was a really great video. I am working on a similar project on FPGA using diligent Zedboard. I want to transmit a text file containing binary matrix values from PC to FPGA via UART and store the o/p from FPGA in a text file. Can I transfer text files in a similar way as shown in the video or is it not possible to do so?
Yes you can. While transferring the file, uncheck the binary option. Also remember through UART data will be coming in ASCII format. So when you send a data say '1', you will be receiving 49 (ASCII of 1). So in software you need to code to convert it to the original number. When sending from board to the PC, the other way. Another easy method is to store the input as a text file in the SD card and read from it and store the output back in the SD card (ruclips.net/video/nrEt1RJU5pQ/видео.html)
@@Vipinkmenon Thank you for your reply, sir. I will look into SD option as well. I am using C++ language in Vivado HLS. Do I need to modify for ASCII value in my HLS code and in SDK too or the code in SDK only? Currently, I have hardcoded my input, and running it in FPGA device is working. I am trying to transmit input data using MATLAB. Can you give some examples or links I can refer to?
Only SDK. From Matlab you will have to save it to a file and use it. For real time transfer will have to use Ethernet interface, which I might discuss later.
@@Vipinkmenon thank you. I am trying to do real-time transfer from MATLAB to FPGA via UART. Can you help/recommend some documents or video on this, please.
@@Vipinkmenon Sir, can you share the code of this video?
Hi Vipin, I am following your tutorial from the beginning. It has worked perfectly fine except this tutorial. I googled it and could not find solution. When I transfer lena.bmp to zedboard through UART interface (teraterm), it always send 16kB and stops. There is no progress no matter how many times I try again. However, zedboard is able to send data to my PC through same interface. I have generated random numbers of 100,000 bytes and saved it to ddr. Then I sent it to my PC through uart and there is no problem init. The only problem is when I try to send data to my zedboard through uart. It always sends first 16kB, and stops sending data. Now, I checked the heap size, and changed it to bigger number, checked baud rate, checked your code and compared with mine.
By any chance, do you have any clue with my problem? I could not find solution in google as well. Since it only sends first 16kB, I think there is a problem within my software but cannot find out which is the problem. Also, the first 16kB data that I sent is correct. When I transfer them back to my PC, it is same data.
If uart is not working, you can send it through JTAG using the Dow command of xsct interface in SDK (or Vitis)
dow -data nameOfYourFile AddressWhereYouWanToStore. In the playlist there is a video on xsct
@@Vipinkmenon thanks for your advice. I will check on xsct video and try!!!
Sir did the issue got resolved? I don't have much understanding about xsct so I am still following this video but then I don't understand what the issue is
i used a separate python script to send the file through UART and it worked
sir i have artix 7 fpga board so all these program will run on it or not ?
specially image processing
hello professor, if we want to do the same thing with edge Artix-7 Fpga board what should we need to select as hardware platform
Can you ask me if this is you doing sending data from outside to PS right?
Kindly make this part in verilog vivado.
Why dont you make a video on sending data from pc to zynq soc using ethernet.
How do you enable interrupt mode instead of polled mode?
Here initially while checking if data is received and print starting 10 bytes, the teraterm is closing after transferring around 94000(34%) bytes. Heap size is set as instructed. What might be the reason? Kindly help
That is not the issue of heap size. Should be something else. Can you check whether the first 10 bytes still reached the memory? You can reduce the fizesize used in the loop and make it to print it. Make sure the binary box is checked in teraterm
I have the same problem, did you solve it and how ???
@@waleedjubeh5955 no.. I dint try further much
i used a separate python script to send the file through UART and it worked
do you have the block diagram in vivado ?
Sir I need to use ethernet for transferring very huge data from pc to FPGA, and do some processing and transfer the results back to FPGA, I want this to happen simultaneously. Any comments or resources pls help.
What is your target board? Zedboard?
@@Vipinkmenon sir i have the same question , my target board is zcu102 evaluation. What should i do? Thank you.
Check XAPP1305. I will try to make a ps Ethernet interface with standalone os later. All Xilinx Ethernet reference designs.are using Petalinux
Also check reference design for the Ethernet MAC IP. You may need to request for separate license to hardware evaluate this IP