{"id":22000,"date":"2017-09-01T08:01:12","date_gmt":"2017-09-01T15:01:12","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=22000"},"modified":"2021-06-10T16:21:17","modified_gmt":"2021-06-10T23:21:17","slug":"new-product-announcement-pmod-can","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/new-product-announcement-pmod-can\/","title":{"rendered":"New Product Announcement- Pmod CAN"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" style=\"font-size: 14px; font-family: 'Open Sans', Arial, sans-serif;\" src=\"https:\/\/digilent.com\/reference\/_media\/reference\/pmod\/pmodcan\/pmodcan-0.png\" width=\"267\" height=\"210\" \/>Announcing the addition of the <a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a> to the Pmod communication family!<\/p>\n<p><strong>Description<\/strong><\/p>\n<p>Controller Area Network (CAN) is still a widely used communication protocol, especially in the automotive industry. Therefore, instructors must teach CAN to their students. After getting asked by many different instructors about whether or not we had a Controller Area Network Pmod, we went ahead and designed one.<\/p>\n<p>The <a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a> utilizes the\u00a0<a class=\"urlextern\" title=\"http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/20005282A.pdf\" href=\"http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/20005282A.pdf\" rel=\"nofollow\">Microchip MCP25625<\/a>\u00a0to enable CAN communication with a variety of external devices. A complete CAN solution with a controller and transceiver can be implemented on a system board by communicating with the host board via the\u00a0<a class=\"wikilink1\" title=\"pmod:communication_protocols:spi\" href=\"https:\/\/digilent.com\/reference\/pmod\/communication_protocols\/spi\">SPI protocol<\/a>\u00a0in SPI mode 0 or 3. The two differential lines on the transceiver (<span class=\"curid\"><a class=\"wikilink1\" title=\"reference:pmod:pmodcan:reference-manual\" href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcan\/reference-manual#pinout_table_diagram\">CANH and CANL<\/a><\/span>) enable balanced differential signaling to eliminate most of the electromagnetic field (EMF) and provide high noise immunity within the system.<\/p>\n<p><strong>How does is work?<\/strong><\/p>\n<p>CAN is a peer-to-peer networking protocol. This means there is no single master controlling the flow of data between nodes on the network, such as there is with something like the SPI protocol. Instead, any node can write a frame to the network anytime the bus is free. All nodes on the network will receive the transmitted frame and decide whether or not to accept it based on what is called an arbitration ID. If multiple nodes try to transmit frames simultaneously, the node with the highest priority (lowest arbitration ID) will get bus access. For more information on CAN protocol in general, see <a href=\"http:\/\/www.ni.com\/white-paper\/2732\/en\/\">this whitepaper<\/a> from National Instruments.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-22010 aligncenter\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround-1024x621.png\" alt=\"\" width=\"631\" height=\"383\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround-1024x621.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround-600x364.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround-768x466.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround-800x485.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround.png 1158w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/p>\n<p>As stated above, the <a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a> communicates with the host board via the\u00a0<a class=\"wikilink1\" title=\"learn:fundamentals:communication-protocols:spi:start\" href=\"https:\/\/digilent.com\/reference\/learn\/fundamentals\/communication-protocols\/spi\/start\">SPI protocol<\/a>. By driving and keeping the Chip Select line at a logic level low, users may communicate back and forth with the Pmod, depending on whether or not both sets of data lines are enabled. The embedded chip on the Pmod operates in SPI Mode 0 or 3, with data captured on the rising edge of the clock, data transferred on the falling edge of the clock, and a minimum clock cycle time of 100 nanoseconds.<\/p>\n<p>Nine SPI instructions are available to read the status of the receiver, load a transmit buffer, modify bits in a register and more.<\/p>\n<p><strong>Applications<\/strong><\/p>\n<p>As mentioned in the intro of this post, CAN is most well known for its use in the automotive industry, specifically for in-vehicle communication. However, it has also been adopted by other industries due to its benefits as a low-cost, lightweight, dependable and durable wired networking standard. This includes use in railway applications, aircraft, aerospace, medical, as well as elevator and escalator applications to name a handful.<\/p>\n<figure style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.ni.com\/cms\/images\/devzone\/tut\/c\/bd378304156.gif\" alt=\"\" width=\"500\" height=\"231\" \/><figcaption class=\"wp-caption-text\">Image from a National Instruments whitepaper on the CAN protocol, showing how a typical CAN network is set up and illustrating one of the benefits &#8211; fewer wires, resulting in a cheaper and more lightweight wired networking system.<\/figcaption><\/figure>\n<p>The\u00a0<a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a>\u00a0is designed to work with any Digilent FPGA, Zynq or MCU board. It can be plugged into any host port on a Digilent <a href=\"https:\/\/digilent.com\/shop\/fpga-programmable-logic\/\">FPGA <\/a>or Zynq system board. With Digilent microcontroller boards, a little more care needs to be taken to figure out which Pmod host port supports the SPI protocol. Once identified however, the <a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a> should be easy to get up and running with any Digilent MCU board. Just follow the Quick Start section of the\u00a0<a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcan\/reference-manual\">reference manual <\/a>to get started!<\/p>\n<p><strong>Getting Started<\/strong><\/p>\n<p>If you are an MCU user, we\u2019ve written some\u00a0<a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcan\/start\">libraries and example code<\/a>\u00a0to illustrate how to start communicating using the CAN protocol.\u00a0The example code was written in the Arduino IDE and should work smoothly with the Digilent core for Arduino. For download instructions, see our\u00a0<a href=\"https:\/\/digilent.com\/reference\/software\/digilent-core\/start\">tutorial<\/a>\u00a0on\u00a0how to get started with the Digilent core.<\/p>\n<p>If using the\u00a0<a href=\"https:\/\/digilent.com\/shop\/pmod-can-can-2-0b-controller-with-integrated-transceiver\/\">Pmod CAN<\/a>\u00a0with a Digilent FPGA board, see our wiki page titled\u00a0<a href=\"https:\/\/digilent.com\/reference\/internal\/formatting\/tutorial_new\">Using Pmod IPs<\/a>\u00a0for instructions on how to use our drag and drop Pmod CAN\u00a0IP Core\u00a0with MicroBlaze designs.<\/p>\n<p>Questions or comments? Use the comment section below or visit the\u00a0<a href=\"https:\/\/forum.digilent.com\/\">Digilent Forum<\/a>!<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-22000 jlk' data-task='like' data-post_id='22000' data-nonce='822831b204' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-22000 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-22000 jlk' data-task='unlike' data-post_id='22000' data-nonce='822831b204' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-22000 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-22000 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Meet the latest member of the Pmod family!<\/p>\n","protected":false},"author":26,"featured_media":22010,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[38,1554],"tags":[],"ppma_author":[4491],"class_list":["post-22000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-expansion-modules","category-news"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/pmod-CAN-walkaround.png","authors":[{"term_id":4491,"user_id":26,"is_guest":0,"slug":"talesab","display_name":"Talesa Bleything","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/4ebebd593afbf3d758e9127934708634ab09aeaa7fcfcf6151f4e9ceb9cf6d0e?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22000","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\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=22000"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22000\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/22010"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=22000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=22000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=22000"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=22000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}