{"id":446,"date":"2026-09-01T09:00:00","date_gmt":"2026-09-01T09:00:00","guid":{"rendered":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/"},"modified":"2026-10-15T20:43:59","modified_gmt":"2026-10-15T20:43:59","slug":"can-and-can-fd-how-ecus-share-two-wires","status":"publish","type":"post","link":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/","title":{"rendered":"CAN and CAN FD: how ECUs share two wires"},"content":{"rendered":"<p>Controller Area Network, or CAN, is the bus that powertrain, chassis and body ECUs use to exchange signals such as wheel speeds, torque requests and switch states. It has no master and no addresses, yet it never lets two transmitters collide. This post shows how, bit by bit, and what CAN FD changes.<\/p>\n<p>Bosch began developing CAN in 1983 and presented it at the SAE congress in Detroit in February 1986. In 1987 Intel delivered the first CAN controller chip, the 82526, with Philips following shortly after with the 82C200. ISO 11898 was published in November 1993, and Mercedes-Benz has used CAN in its upper-class passenger cars since 1991.<\/p>\n<h2>Two wires, two states<\/h2>\n<p>A high-speed CAN bus is a twisted pair, CAN_H and CAN_L, terminated with 120 &Omega; at both ends. When no node drives it, both lines sit at about 2.5 V. That is the recessive state, a logical 1. A node that sends a 0 pulls CAN_H up to about 3.5 V and CAN_L down to about 1.5 V, a differential of about 2 V. That is the dominant state. When one node sends dominant and the others recessive, the bus is dominant: a dominant bit always overwrites a recessive one. The rest of the protocol is built on that property.<\/p>\n<h2>Identifiers instead of addresses<\/h2>\n<p>A CAN frame does not name a destination. Its identifier, 11 bits in the base format or 29 bits in the extended format, says what the data is, and every node decides for itself whether it needs it. The identifier also sets the frame&#8217;s priority: the lower the number, the higher the priority.<\/p>\n<h2>Arbitration without collisions<\/h2>\n<p>Any node may start a frame when the bus is idle. If several start on the same bit, each sends its identifier most significant bit first and reads back what is on the bus. A node that sends a recessive 1 but reads a dominant 0 knows that a higher-priority frame is on the wire, so it stops transmitting and becomes a receiver. The node with the lowest identifier never sees a mismatch. Its frame continues without being damaged and without losing time, and the others try again once the bus is idle.<\/p>\n<figure class=\"viz\" data-viz=\"can-arbitration\">\n<div class=\"viz-stage\" role=\"img\" aria-label=\"Animation: three ECUs start a CAN frame on the same bit. Each sends its identifier and reads the bus back; the two with higher identifiers stop at the bit where they read a dominant 0, and the lowest identifier's frame continues to the end.\"><\/div><figcaption>Three ECUs start a classical base frame on the same bit. Each frame is encoded bit for bit: start of frame, 11-bit identifier, control bits, two data bytes, CRC-15, and a stuff bit after every five equal bits. A dominant 0 overrides a recessive 1, so the lowest identifier wins without a collision.<\/figcaption><\/figure>\n<h2>What a classical frame carries<\/h2>\n<p>After the identifier comes the RTR bit, dominant for a data frame, and the control field with the data length code. Up to 8 data bytes follow, then a 15-bit CRC. Every receiver checks the frame, and every receiver that got it intact writes a dominant bit into the ACK slot, which the sender transmits as recessive. Seven recessive bits end the frame.<\/p>\n<p>Two mechanisms keep the bus honest. After five equal bits the sender inserts one bit of the opposite value, so that receivers always have edges to stay synchronized to; receivers remove these stuff bits again. And a node that detects an error normally answers with an error flag of six dominant bits, which deliberately breaks the stuffing rule so that every node discards the frame. The sender then transmits it again.<\/p>\n<h2>CAN FD: more data, faster<\/h2>\n<p>Classical CAN carries at most 8 data bytes per frame and runs at up to 1 Mbit\/s. Bosch started work on CAN with flexible data rate, CAN FD, in 2011, and it was officially introduced at the 13th international CAN Conference in 2012. A CAN FD frame carries up to 64 data bytes and can switch to a second, faster bit rate for its data phase. The arbitration phase keeps the slower rate: there the bit rate depends on the network topology and is limited to 1 Mbit\/s, while the data-phase rate is limited by the transceivers.<\/p>\n<p>A few control bits make this work. A recessive FDF bit marks the frame as CAN FD, and a recessive BRS bit switches to the data-phase bit rate. The ESI bit tells receivers whether the sender is error active. The RRS bit, in the place where classical CAN has RTR, is always dominant, because CAN FD has no remote frames. Data length codes 9 to 15 stand for 12, 16, 20, 24, 32, 48 and 64 bytes. The longer payload gets a stronger checksum: a 17-bit CRC for up to 16 data bytes and a 21-bit CRC above that, with a stuff count in front of it and fixed stuff bits inside the CRC field.<\/p>\n<p>The gain is easy to put in numbers. Not counting stuff bits, a classical frame with 8 data bytes is 108 bits long, 216 &micro;s at 500 kbit\/s. A CAN FD frame with 64 data bytes is 576 bits long including its fixed stuff bits, but 549 of them are sent in the data phase. At 500 kbit\/s with a 2 Mbit\/s data phase, the whole frame takes about 330 &micro;s, for eight times the payload.<\/p>\n<figure class=\"viz\" data-viz=\"can-fd-frames\">\n<div class=\"viz-stage r-wide\" role=\"img\" aria-label=\"Animation: a classical CAN frame with 8 data bytes and a CAN FD frame with 64 data bytes are sent side by side on the same time scale. The classical frame ends at 216 microseconds; the CAN FD frame switches to a four times faster bit rate for its data phase and ends at about 330 microseconds.\"><\/div><figcaption>Classical CAN with 8 data bytes at 500 kbit\/s against CAN FD with 64 data bytes, which switches to 2 Mbit\/s after the BRS bit and back at the CRC delimiter. Field lengths and bit rates are to scale, without dynamic stuff bits; the bit values are illustrative. The magnifier follows the data-phase bits.<\/figcaption><\/figure>\n<p>The standard has kept growing. ISO 11898-1:2024 covers Classical CAN, CAN FD and CAN XL, a third generation with data fields of up to 2048 bytes.<\/p>\n<h2>CAN on a test rig<\/h2>\n<p>On a hardware-in-the-loop rig, the ECU under test sits on a real CAN bus, and the simulator has to stand in for every node that is not on the bench. It sends their frames at the right cycle times with plausible contents, reacts to the ECU&#8217;s frames, and keeps counters and checksums consistent wherever the ECU checks them. This is restbus simulation. The bus description comes from the vehicle&#8217;s network database, typically a DBC file or AUTOSAR ARXML, so the rig follows the real network rather than a hand-written copy of it.<\/p>\n<p>We build restbus simulation into real-time systems alongside the vehicle models, together with fault injection: frames that arrive late or not at all, wrong counters or checksums, and signals out of range, so you can see how the ECU copes. If you are bringing up a CAN or CAN FD rig, <a href=\"https:\/\/jellai.com\/index.php\/contact\/\">get in touch<\/a>.<\/p>\n<h2>Sources<\/h2>\n<ul>\n<li>CAN in Automation, <a href=\"https:\/\/www.can-cia.org\/can-knowledge\/history-of-can-technology\">History of CAN technology<\/a><\/li>\n<li>CAN in Automation, <a href=\"https:\/\/www.can-cia.org\/can-knowledge\/can-fd-the-basic-idea\">CAN FD: the basic idea<\/a><\/li>\n<li>Texas Instruments, <a href=\"https:\/\/www.ti.com\/lit\/an\/sloa101b\/sloa101b.pdf\">Introduction to the Controller Area Network (CAN)<\/a>, SLOA101B, revised May 2016<\/li>\n<li>ISO, <a href=\"https:\/\/www.iso.org\/standard\/86384.html\">ISO 11898-1:2024<\/a>, Road vehicles, Controller area network (CAN), Part 1: Data link layer and physical coding sublayer<\/li>\n<li>NI, <a href=\"https:\/\/www.ni.com\/docs\/en-US\/bundle\/ni-xnet\/page\/can-frames.html\">CAN Frames<\/a> (identifier bit order)<\/li>\n<li>Linux kernel, <a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/master\/include\/linux\/can\/length.h\">include\/linux\/can\/length.h<\/a>, frame field lengths used for the bit counts above<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-446","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CAN and CAN FD: how ECUs share two wires - Jell AI Corp<\/title>\n<meta name=\"description\" content=\"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CAN and CAN FD: how ECUs share two wires - Jell AI Corp\" \/>\n<meta property=\"og:description\" content=\"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/\" \/>\n<meta property=\"og:site_name\" content=\"Jell AI Corp\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-01T09:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-15T20:43:59+00:00\" \/>\n<meta name=\"author\" content=\"Ramesh Praveenkumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ramesh Praveenkumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/\"},\"author\":{\"name\":\"Ramesh Praveenkumar\",\"@id\":\"https:\\\/\\\/jellai.com\\\/#\\\/schema\\\/person\\\/928abdc22c899b66be118e9521ad6816\"},\"headline\":\"CAN and CAN FD: how ECUs share two wires\",\"datePublished\":\"2026-09-01T09:00:00+00:00\",\"dateModified\":\"2026-10-15T20:43:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/\"},\"wordCount\":1123,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/\",\"url\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/\",\"name\":\"CAN and CAN FD: how ECUs share two wires - Jell AI Corp\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/#website\"},\"datePublished\":\"2026-09-01T09:00:00+00:00\",\"dateModified\":\"2026-10-15T20:43:59+00:00\",\"description\":\"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/2026\\\/09\\\/01\\\/can-and-can-fd-how-ecus-share-two-wires\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jellai.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CAN and CAN FD: how ECUs share two wires\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jellai.com\\\/#website\",\"url\":\"https:\\\/\\\/jellai.com\\\/\",\"name\":\"Jell AI Corp\",\"description\":\"Dare to know\",\"publisher\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jellai.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jellai.com\\\/#organization\",\"name\":\"Jell AI Corp\",\"url\":\"https:\\\/\\\/jellai.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jellai.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jellai.com\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/logo_individual_notext_lowres.png\",\"contentUrl\":\"https:\\\/\\\/jellai.com\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/logo_individual_notext_lowres.png\",\"width\":512,\"height\":512,\"caption\":\"Jell AI Corp\"},\"image\":{\"@id\":\"https:\\\/\\\/jellai.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jellai.com\\\/#\\\/schema\\\/person\\\/928abdc22c899b66be118e9521ad6816\",\"name\":\"Ramesh Praveenkumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g\",\"caption\":\"Ramesh Praveenkumar\"},\"sameAs\":[\"https:\\\/\\\/jellai.com\"],\"url\":\"https:\\\/\\\/jellai.com\\\/index.php\\\/author\\\/praveen\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CAN and CAN FD: how ECUs share two wires - Jell AI Corp","description":"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/","og_locale":"en_US","og_type":"article","og_title":"CAN and CAN FD: how ECUs share two wires - Jell AI Corp","og_description":"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.","og_url":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/","og_site_name":"Jell AI Corp","article_published_time":"2026-09-01T09:00:00+00:00","article_modified_time":"2026-10-15T20:43:59+00:00","author":"Ramesh Praveenkumar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ramesh Praveenkumar","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/#article","isPartOf":{"@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/"},"author":{"name":"Ramesh Praveenkumar","@id":"https:\/\/jellai.com\/#\/schema\/person\/928abdc22c899b66be118e9521ad6816"},"headline":"CAN and CAN FD: how ECUs share two wires","datePublished":"2026-09-01T09:00:00+00:00","dateModified":"2026-10-15T20:43:59+00:00","mainEntityOfPage":{"@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/"},"wordCount":1123,"commentCount":0,"publisher":{"@id":"https:\/\/jellai.com\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/","url":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/","name":"CAN and CAN FD: how ECUs share two wires - Jell AI Corp","isPartOf":{"@id":"https:\/\/jellai.com\/#website"},"datePublished":"2026-09-01T09:00:00+00:00","dateModified":"2026-10-15T20:43:59+00:00","description":"A CAN bus has no master and no addresses, yet two transmitters never collide. How identifiers decide who sends, what a classical frame carries and what CAN FD changes, with one animation encoded bit for bit and one drawn to scale.","breadcrumb":{"@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jellai.com\/index.php\/2026\/09\/01\/can-and-can-fd-how-ecus-share-two-wires\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jellai.com\/"},{"@type":"ListItem","position":2,"name":"CAN and CAN FD: how ECUs share two wires"}]},{"@type":"WebSite","@id":"https:\/\/jellai.com\/#website","url":"https:\/\/jellai.com\/","name":"Jell AI Corp","description":"Dare to know","publisher":{"@id":"https:\/\/jellai.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jellai.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jellai.com\/#organization","name":"Jell AI Corp","url":"https:\/\/jellai.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jellai.com\/#\/schema\/logo\/image\/","url":"https:\/\/jellai.com\/wp-content\/uploads\/2020\/07\/logo_individual_notext_lowres.png","contentUrl":"https:\/\/jellai.com\/wp-content\/uploads\/2020\/07\/logo_individual_notext_lowres.png","width":512,"height":512,"caption":"Jell AI Corp"},"image":{"@id":"https:\/\/jellai.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jellai.com\/#\/schema\/person\/928abdc22c899b66be118e9521ad6816","name":"Ramesh Praveenkumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e23aa25047d919f0a3ae790f2c7aa3350cda605afb908cdf65c6d76346c2fa3?s=96&d=mm&r=g","caption":"Ramesh Praveenkumar"},"sameAs":["https:\/\/jellai.com"],"url":"https:\/\/jellai.com\/index.php\/author\/praveen\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/posts\/446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/comments?post=446"}],"version-history":[{"count":2,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/posts\/446\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/posts\/446\/revisions\/456"}],"wp:attachment":[{"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/media?parent=446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/categories?post=446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jellai.com\/index.php\/wp-json\/wp\/v2\/tags?post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}