We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Adam Taylor’s MicroZed Chronicles, Part 120: The MicroZed Embedded Vision Kit 7-Inch Touch Screen

by Xilinx Employee ‎03-04-2016 10:56 AM - edited ‎03-06-2016 06:01 AM (144,268 Views)


By Adam Taylor



Many embedded vision systems interface with a compact display subsystem and not a traditional monitor. Often these display must be touch-screen capable. That’s the topic of today’s blog post. I will be developing an example system that displays its output on a 7-inch touch screen.


The display I will be using is the Avnet 7-inch Zed Touch Display Kit.


So far in the journey of developing our embedded-vision system, we have been focused on the output side of the process. We have achieved:


  • Generating a test pattern using the FPGA-based TPG (Test Pattern Generator)
  • Using the VDMA IP to buffer video frames between the input video stream and the output stream
  • Configured the AXI4 Stream-to-video output
  • Configured the Video Timing Generator for parallel video output


We have used this setup to successfully generate test patterns and display them on the VGA monitor at 800x600 pixels @ 60 Hz.


The next step is to get the above video system working on our chosen display, which displays 800x480 pixels @ 60 Hz with 24 bits of RGB per pixel. This video specification closely matches our previous configuration. In fact, what I intend to do over the next few blogs is to add a second video output for the 7-inch display so that we can see the same image displayed on both on the VGA and the 7-inch touch-screen display simultaneously. We will then transition this design to the Avnet Embedded Vision Kit and add the camera interface.


The Embedded Vision Kit’s display interfaces with the both the ZedBoard and the Embedded Vision Carrier Card over a DisplayPort connection. To provide the DisplayPort interface, we need to use two of the ZedBoard’s PMOD interfaces (C and D) at the hardware level using an Avnet-developed IP block that generates the appropriate timing and serialization required. We instantiate this block within the PL (programmable logic) of the Zynq-7000 SoC.





ZedBoard with Display Port Adaptor connected






Embedded Vision Carrier Card with Display Port Adaptor



The DisplayPort interface transmits video (and audio, if required audio) over 4 LVDS lanes. Each of these lanes are 8b/10b encoded using packetized transmissions. The DisplayPort interface also provides for an auxiliary channel, which in this instance is used for I2C communications between the ZedBoard and the 7-inch display. You can find an introduction to display port here.

Before jumping in and developing my own application, I quickly ran the Avnet demo to make sure I had connected everything correctly. You can download the demo application here. This demo provides a boot file we can use to ensure the system powers up OK. Supporting documentation available here. This supporting documentation will be useful when I want to develop my own application.


I powered all this up and ran through the simple examples to create the color bars and the control panel using the serial port interface to the touch screen to set the mode I desired.





ZedBoard running the Video Demo





Demo Control via Terminal





Colorbar example demo







Control panel example



Next week we will look at how we add this touch-screen subsystem into our Vivado design so we can display images.





The code is available on Github as always.


If you want E book or hardback versions of previous MicroZed chronicle blogs, you can get them below.




  • First Year E Book here
  • First Year Hardback here.




 MicroZed Chronicles hardcopy.jpg



  • Second Year E Book here
  • Second Year Hardback here




 MicroZed Chronicles Second Year.jpg



You also can find links to all the previous MicroZed Chronicles blogs on my own Web site, here.







by Scholar ronnywebers
on ‎06-06-2016 04:00 AM

Hello Adam, did you test / manage to use the touch functionality? When I ran the avnet demo project out of the box, the touch did not work correctly : the points where I touched color black, but they jumped around the screen, sometimes on the correct spot, sometimes in a completely wrong spot.

by Observer taylo_ap
on ‎06-06-2016 11:53 AM


It has been a few weeks but when I did the touch screen demo the black appeared to be in the positon that I had touched and did not appear to jump about.


I can try again if you like 



by Scholar ronnywebers
on ‎06-07-2016 12:55 AM

Hello Adam, if it's not too much asked that would be great.


I can more or less correct behaviour when I touch down & slide my finger, so I can draw horizontal or vertical bars on the screen. But when tapping from left to right, like every half inch, I can see strange 'jumps' / dots appear in other positions then where I touched. Tapping from top to bottom works better / fine. So the X coordinate seems to have issues, but the Y seems to be fine.


There's also a demo mode (one of the terminal menu options) that outputs info on each touch (x, y, strenght, ...) in this mode I could observe the same issues with X coordinates when tapping from left to right.


I've been mailng with Avnet about this issue, it might be that I have an older display unit, but we're not sure yet. So if it works fine on your side, there must be something wrong with the display unit that I have. Not sure if there is some serial nbr/version label on the backside, that might help too.

by Observer taylo_ap
on ‎06-07-2016 10:54 AM



Re running this I see a similar issue if I draw a line it is ok but points seem to cause an issue, I tried re callibrating the screen but it did not seem to make much difference



About the Author
  • Be sure to join the Xilinx LinkedIn group to get an update for every new Xcell Daily post! ******************** Steve Leibson is the Director of Strategic Marketing and Business Planning at Xilinx. He started as a system design engineer at HP in the early days of desktop computing, then switched to EDA at Cadnetix, and subsequently became a technical editor for EDN Magazine. He's served as Editor in Chief of EDN Magazine, Embedded Developers Journal, and Microprocessor Report. He has extensive experience in computing, microprocessors, microcontrollers, embedded systems design, design IP, EDA, and programmable logic.