{"id":4778,"date":"2024-02-07T16:24:26","date_gmt":"2024-02-07T08:24:26","guid":{"rendered":"https:\/\/gcanbus.com\/?p=4778"},"modified":"2024-02-07T16:24:26","modified_gmt":"2024-02-07T08:24:26","slug":"the-specific-composition-of-can-messages","status":"publish","type":"post","link":"https:\/\/gcanbus.com\/es\/the-specific-composition-of-can-messages\/","title":{"rendered":"La composici\u00f3n espec\u00edfica de los mensajes CAN"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1123.2px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>Los mensajes CAN (Controller Area Network) son paquetes de datos que se transmiten por el bus CAN y se utilizan para la comunicaci\u00f3n entre autom\u00f3viles y otros dispositivos de hardware. Un mensaje CAN t\u00edpico consta de varias partes, y su composici\u00f3n espec\u00edfica puede variar en funci\u00f3n de las distintas versiones del protocolo CAN y de aplicaciones concretas. A continuaci\u00f3n se muestra un ejemplo de mensaje CAN y sus componentes basado en el protocolo est\u00e1ndar CAN 2.0:<\/p>\n<\/div><\/div><\/div><\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p>1. Inicio de la trama (SOF):<\/p>\n<p>Se trata de un patr\u00f3n de bits especial que marca el inicio de un nuevo mensaje. Suele ser un bit dominante (en CAN, el bit dominante suele ser un 0 l\u00f3gico y el bit recesivo un 1 l\u00f3gico, pero esto depende de la implementaci\u00f3n espec\u00edfica de la capa f\u00edsica).<\/p>\n<p>2. Campo de arbitraje:<\/p>\n<p>(1) Identificador: Es una de las partes m\u00e1s importantes del mensaje CAN y se utiliza para distinguir diferentes mensajes. En el formato est\u00e1ndar CAN 2.0, el identificador tiene una longitud de 11 bits; en el formato ampliado, tiene una longitud de 29 bits (formada por un identificador base de 11 bits y un identificador ampliado de 18 bits). El identificador determina la prioridad del mensaje y c\u00f3mo lo reconoce el receptor.<\/p>\n<p>(2) Bit de solicitud de transmisi\u00f3n remota (RTR, Remote Transmission Request): Este bit indica si el mensaje es una trama de datos o una trama remota. Las tramas de datos se utilizan para transmitir datos, mientras que las tramas remotas se utilizan para solicitar datos.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-2 fusion_builder_column_inner_1_3 1_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\"><p><span style=\"color: #ffffff;\">protocolo de comunicaci\u00f3n can bus<\/span><\/p>\n<\/div><div class=\"fusion-text fusion-text-4\"><p><span style=\"color: #ffffff;\">Herramienta de desarrollo de an\u00e1lisis de descodificaci\u00f3n de diagn\u00f3stico del autom\u00f3vil<\/span><\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"1024\" title=\"Analizador UABCAN\" src=\"https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer.webp\" data-orig-src=\"http:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer.webp\" alt class=\"lazyload img-responsive wp-image-4779\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271024%27%20height%3D%271024%27%20viewBox%3D%270%200%201024%201024%27%3E%3Crect%20width%3D%271024%27%20height%3D%271024%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-12x12.webp 12w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-66x66.webp 66w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-150x150.webp 150w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-200x200.webp 200w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-300x300.webp 300w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-400x400.webp 400w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-600x600.webp 600w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-768x768.webp 768w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer-800x800.webp 800w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/UABCAN-analyzer.webp 1024w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 400px\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"fusion-text fusion-text-5\"><p>3. Campo de control:<\/p>\n<p>(1) Bit de extensi\u00f3n del identificador (IDE, Identifier Extension): En CAN 2.0B, este bit se utiliza para indicar si el identificador est\u00e1 en formato est\u00e1ndar (11 bits) o extendido (29 bits).<\/p>\n<p>(2) Bit reservado: Este bit est\u00e1 reservado para futuras ampliaciones y actualmente no se utiliza en la mayor\u00eda de las aplicaciones.<\/p>\n<p>(3) C\u00f3digo de longitud de datos (DLC, Data Length Code): Este campo de 4 bits indica el n\u00famero de bytes del campo de datos, oscilando entre 0 y 8 bytes.<\/p>\n<p>4. Campo de datos: Es la parte de datos propiamente dicha del mensaje. La longitud viene determinada por el DLC y puede ser de hasta 8 bytes (64 bits).<\/p>\n<\/div><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-3 fusion_builder_column_inner_1_3 1_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:33.333333333333%;--awb-margin-top-large:0px;--awb-spacing-right-large:5.76%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:5.76%;--awb-width-medium:33.333333333333%;--awb-order-medium:0;--awb-spacing-right-medium:5.76%;--awb-spacing-left-medium:5.76%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"1024\" height=\"1024\" title=\"Tarjeta analizadora USBCAN\" src=\"https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card.webp\" data-orig-src=\"http:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card.webp\" alt class=\"lazyload img-responsive wp-image-4780\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271024%27%20height%3D%271024%27%20viewBox%3D%270%200%201024%201024%27%3E%3Crect%20width%3D%271024%27%20height%3D%271024%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-12x12.webp 12w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-66x66.webp 66w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-150x150.webp 150w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-200x200.webp 200w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-300x300.webp 300w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-400x400.webp 400w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-600x600.webp 600w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-768x768.webp 768w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card-800x800.webp 800w, https:\/\/gcanbus.com\/wp-content\/uploads\/2024\/02\/USBCAN-analyzer-card.webp 1024w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 400px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-4 fusion_builder_column_inner_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\"><p>5. Campo CRC (Cyclic Redundancy Check Field): CRC es un c\u00f3digo de comprobaci\u00f3n utilizado para detectar errores en la transmisi\u00f3n de mensajes. El nodo emisor calcula y a\u00f1ade un CRC a los datos, y el nodo receptor utiliza el mismo algoritmo para verificar la integridad de los datos.<\/p>\n<p>6. Campo ACK:<\/p>\n<p>(1) Espacio de respuesta (ACK Slot): Es un tiempo de bit utilizado por el nodo receptor para enviar una se\u00f1al de respuesta.<\/p>\n<p>(2) Delimitador de respuesta (ACK Delimiter): Se trata de un bit recesivo despu\u00e9s del campo de respuesta, que se utiliza para separar el campo de respuesta y el final posterior de la trama.<\/p>\n<\/div><\/div><\/div><\/div><div class=\"fusion-text fusion-text-7\"><p>7. Fin de trama (EOF): Se trata de uno o varios bits recesivos que marcan el final del mensaje.<\/p>\n<p>Un ejemplo concreto de mensaje CAN (expresado en hexadecimal) puede ser el siguiente:<\/p>\n<p>Inicio de trama: sin valor espec\u00edfico, detectado por hardware<\/p>\n<p>Campo de arbitraje: 123 (se supone un identificador de 11 bits, aqu\u00ed s\u00f3lo a modo de ejemplo, el valor real depende de la aplicaci\u00f3n)<\/p>\n<p>Campo de control: 80 (suponiendo formato extendido, la longitud de los datos es de 8 bytes)<\/p>\n<p>Campo de datos: 01 02 03 04 05 06 07 08 (8 bytes de datos)<\/p>\n<p>Campo CRC: Valor CRC (este valor se calcula a partir de los datos anteriores)<\/p>\n<p>Campo de respuesta: sin valor espec\u00edfico, procesado por hardware<\/p>\n<p>Fin de trama: sin valor espec\u00edfico, detectado por hardware<\/p>\n<p>Tenga en cuenta que el ejemplo de mensaje anterior no sigue exactamente la especificaci\u00f3n real del protocolo CAN, ya que los mensajes CAN se transmiten normalmente en forma binaria, no hexadecimal. Adem\u00e1s, los mensajes CAN reales tambi\u00e9n deben tener en cuenta factores como el relleno de bits y la sincronizaci\u00f3n de bits. Este ejemplo es s\u00f3lo para ilustrar los componentes b\u00e1sicos de los mensajes CAN.<\/p>\n<p>Si necesita un <strong><span style=\"color: #ff6600;\"><a style=\"color: #ff6600;\" href=\"https:\/\/gcanbus.com\/es\/can-bus-analyzer-series\/\">analizador<\/a><\/span><\/strong> que puede detectar el estado de comunicaci\u00f3n de datos CAN, puede ponerse en contacto con nosotros en cualquier momento.<\/p>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":4779,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[25],"tags":[89,55],"class_list":["post-4778","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-can","tag-canbus"],"_links":{"self":[{"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/posts\/4778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/comments?post=4778"}],"version-history":[{"count":0,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/posts\/4778\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/media\/4779"}],"wp:attachment":[{"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/media?parent=4778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/categories?post=4778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gcanbus.com\/es\/wp-json\/wp\/v2\/tags?post=4778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}