{"id":22504,"date":"2017-10-16T08:10:52","date_gmt":"2017-10-16T15:10:52","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=22504"},"modified":"2021-06-10T16:17:01","modified_gmt":"2021-06-10T23:17:01","slug":"zynq-soc-zynq-ultrascale-mpsoc-and-spi-oh-my","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/zynq-soc-zynq-ultrascale-mpsoc-and-spi-oh-my\/","title":{"rendered":"Zynq SoC, Zynq UltraScale+ MPSoC, and SPI&#8230; Oh My!"},"content":{"rendered":"<p>Recently the <a href=\"https:\/\/forums.xilinx.com\/t5\/Xcell-Daily-Blog\/bg-p\/Xcell\">Xcell blog<\/a> published a <a href=\"https:\/\/forums.xilinx.com\/t5\/Xcell-Daily-Blog\/Adam-Taylor-s-MicroZed-Chronicles-Part-217-SPI-for-the-Zynq-SoC\/ba-p\/796622\">helpful article <\/a>on the different uses of SPI, specifically regarding the use of SPI with the Zynq SoC and Zyincq UltraScale+ MPSoC.<\/p>\n<p>The author outlines the specific design choices one must make when using\u00a0a Zynq SoC or Zynq UltraScale+ MPSoC, as well as step-by-step examples on getting up and running with an<a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\"> Arty Z7\u00a0<\/a>used in the example. He provides troubleshooting along the way which pertains both the the specific design he is using as well as common problems users may face when working with SPI.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22485\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/digital-discovery-0.png\" alt=\"\" width=\"308\" height=\"273\" data-wp-pid=\"22485\" \/><\/p>\n<p>The author demonstrates his design by connecting the SPI master example to a <a href=\"https:\/\/digilent.com\/shop\/digital-discovery-portable-logic-analyzer-and-digital-pattern-generator\/\">Digital Discovery<\/a> to capture transmitted data. He then changes the data width on the fly from 8 to 16 bits using methods in the software. He outlines these methods so users can follow his steps and do try it out themselves!<\/p>\n<p>Additionally the article details when one would want to use these methods and relevant alternatives.<\/p>\n<blockquote><p>The alternative to implementing a SPI interface using the Zynq PS is to implement an AXI QSPI IP core within the Zynq PS. Doing this requires more options being set in the Vivado design, which will limit run-time flexibility.<\/p><\/blockquote>\n<p>After implementing the AXI QSPI core as a SPI Slave, he used the <a href=\"https:\/\/digilent.com\/shop\/digital-discovery-portable-logic-analyzer-and-digital-pattern-generator\/\">Digital Discovery<\/a> again to act as the SPI Master, allowing data to be easily transferred. His final design was\u00a0created in Vivado for both examples, and is currently uploaded to <a href=\"https:\/\/github.com\/ATaylorCEngFIET\/Part_217_SPI_Master_Salve\/tree\/master\/project_1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-22507\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/33-600x272.jpg\" alt=\"\" width=\"600\" height=\"272\" data-wp-pid=\"22507\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/33-600x272.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/33.jpg 602w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>If this material is of relevancy to you or your projects, make sure to head over to Xcell and check out the full <a href=\"https:\/\/forums.xilinx.com\/t5\/Xcell-Daily-Blog\/Adam-Taylor-s-MicroZed-Chronicles-Part-217-SPI-for-the-Zynq-SoC\/ba-p\/796622\">article!<\/a><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-22504 jlk' data-task='like' data-post_id='22504' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-22504 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-22504 jlk' data-task='unlike' data-post_id='22504' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-22504 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-22504 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Adam Taylor\u2019s MicroZed Chronicles continue with this exciting installment.<\/p>\n","protected":false},"author":36,"featured_media":22508,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,1563],"tags":[453,36],"ppma_author":[4485],"class_list":["post-22504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fpga","category-guide","tag-vivado","tag-xilinx"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/original-e1523900212292.jpg","authors":[{"term_id":4485,"user_id":36,"is_guest":0,"slug":"mirandamay7","display_name":"Miranda Hansen","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9bae943b615ddb1dedee72ccb219b464?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Hansen","last_name_2":"","first_name":"Miranda","first_name_2":"","job_title":"","description":"I enjoy creative writing, engineering, thinking, building, exploring and sharing with people.\r\nHuge aficionado of spending time thinking about things that \u201cdon\u2019t matter.\u201d \r\n I am very interested in unconstrained creativity. I love cross-discipline ideas and all of their integration into complete original systems.\r\n\r\nAnd I like things that do things."}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=22504"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/22508"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=22504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=22504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=22504"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=22504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}