{"id":16080,"date":"2022-07-16T14:41:59","date_gmt":"2022-07-16T14:41:59","guid":{"rendered":"https:\/\/blogs.ugto.mx\/rea\/?p=16080"},"modified":"2022-08-25T14:33:25","modified_gmt":"2022-08-25T14:33:25","slug":"clase-digital-6-programacion-del-microcontrolador-comunicacion-serial-sincrona-y-asincrona","status":"publish","type":"post","link":"https:\/\/blogs.ugto.mx\/rea\/clase-digital-6-programacion-del-microcontrolador-comunicacion-serial-sincrona-y-asincrona\/","title":{"rendered":"Clase digital 6. Programaci\u00f3n del microcontrolador: Comunicaci\u00f3n serial s\u00edncrona y as\u00edncrona"},"content":{"rendered":"\n\n\n<div class=\"wp-block-cover is-light\" style=\"min-height:284px;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-40 has-background-dim\"><\/span><img decoding=\"async\" class=\"wp-block-cover__image-background wp-image-18356\" alt=\"Pins on Brown Board\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549.jpg\" style=\"object-position:63% 63%\" data-object-fit=\"cover\" data-object-position=\"63% 63%\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1067\" class=\"wp-block-cover__image-background wp-image-18356\" alt=\"Pins on Brown Board\" src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549.jpg\" style=\"object-position:63% 63%\" data-object-fit=\"cover\" data-object-position=\"63% 63%\" srcset=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549.jpg 1600w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549-300x200.jpg 300w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549-1024x683.jpg 1024w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549-768x512.jpg 768w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549-1536x1024.jpg 1536w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/270549-272x182.jpg 272w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/noscript><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-base-3-color has-text-color has-large-font-size wp-block-paragraph\">Programaci\u00f3n del microcontrolador: Comunicaci\u00f3n serial s\u00edncrona y as\u00edncrona<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introduccion\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1Hola!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qu\u00e9 gusto poder encontrarte en esta nueva sesi\u00f3n, espero que sigas descubriendo este curso de Microprocesadores y Microcontroladores, y lo sigas viendo fascinante. Por lo tanto, te doy la m\u00e1s cordial bienvenida a esta clase digital 6.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En esta clase terminamos con las pr\u00e1cticas 7 y 8. Ambas pr\u00e1cticas presentan la comunicaci\u00f3n serial. La pr\u00e1ctica 7 utiliza el m\u00f3dulo de comunicaci\u00f3n serial as\u00edncrona, esto es, sin una se\u00f1al de reloj que sincronice el env\u00edo o recepci\u00f3n de datos (de ah\u00ed su nombre, as\u00edncrona o, sin sincron\u00eda). Este tipo de comunicaci\u00f3n es muy utilizada, tanto para transmitir datos por cable mediante se\u00f1ales el\u00e9ctricas, como por medio de ondas electromagn\u00e9ticas para comunicaci\u00f3n inal\u00e1mbrica o, incluso, mediante se\u00f1ales \u00f3pticas infrarrojas o l\u00e1ser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00f3dulo de comunicaci\u00f3n serial as\u00edncrona del microcontrolador est\u00e1 basado en el est\u00e1ndar RS232 por lo que no trabaja a razones de transferencia muy altas, siendo la m\u00e1xima 115200 baudios por segundo. Y, aunque en las computadoras actuales este est\u00e1ndar ha sido sustituido por el est\u00e1ndar USB, el est\u00e1ndar RS232 sigue teniendo muchas aplicaciones, como la transferencia de informaci\u00f3n entre un microcontrolador y un m\u00f3dulo Bluetooth.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El microcontrolador maneja dos protocolos para la comunicaci\u00f3n serial s\u00edncrona, el protocolo I2C y el protocolo SPI. Estos protocolos tienen una gran cantidad de aplicaciones, pues siguen siendo utilizados para la transferencia de informaci\u00f3n dentro de aparatos electr\u00f3nicos como las televisiones digitales y permiten la comunicaci\u00f3n entre los microcontroladores y una gran cantidad de dispositivos electr\u00f3nicos como br\u00fajulas de estado s\u00f3lido, controladores de motores, pantallas LCD, transmisores de radiofrecuencia, controladores de LEDs, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin m\u00e1s pre\u00e1mbulo, \u00a1comencemos!&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1\u00c9xito!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"desarrollo-del-tema\">Desarrollo del tema <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00f3dulo de comunicaci\u00f3n serial s\u00edncrona\/as\u00edncrona es una versi\u00f3n mejorada, de ah\u00ed su nombre: ENHANCED UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER (EUSART). Se puede configurar como sistema as\u00edncrono \u201cfull-duplex\u201d para comunicarse con dispositivos perif\u00e9ricos como m\u00f3dulos de radiofrecuencia, equipos con puerto RS232, BlueTooth, etc. Tambi\u00e9n se puede configurar como sistema s\u00edncrono \u201chalf-duplex\u201d para comunicarse con dispositivos perif\u00e9ricos como circuitos A\/D y D\/A, EEPROMs seriales, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los registros que utiliza son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>TXSTA1<\/strong> \u2013 Configura el m\u00f3dulo y la transmisi\u00f3n.<\/li><li><strong>RCSTA1<\/strong> \u2013 Configura el m\u00f3dulo y la recepci\u00f3n<\/li><li><strong>TXREG1<\/strong> \u2013 Este registro guarda el byte a transmitir<\/li><li><strong>RCREG1<\/strong> \u2013 Este registro guarda el byte que se recibe<\/li><li><strong>BAUDCON1<\/strong> \u2013 Este registro configura el control de la raz\u00f3n de baudios.<\/li><li><strong>SPBRGH1<\/strong> \u2013 Es el registro alto para la definici\u00f3n de la raz\u00f3n de baudios.<\/li><li><strong>SPBRG1<\/strong> \u2013 Es el registro bajo para la definici\u00f3n de la raz\u00f3n de baudios<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se pueden generar interrupciones tanto para avisar cuando se termina de enviar un byte como para cuando llega un nuevo byte. Ambas interrupciones se pueden definir como de alta o baja prioridad (consulte los registros de interrupci\u00f3n INTCON, PIR1, PIE1, IPR1).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para determinar el modo de operaci\u00f3n y la raz\u00f3n de baudios se aplica la siguiente tabla, donde los modos de 8 y 16 bits se refieren al n\u00famero de bits a utilizar para definir la raz\u00f3n de baudios:<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23-1024x210.png\" alt=\"\" class=\"wp-image-18355\" width=\"768\" height=\"158\" \/><noscript><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23-1024x210.png\" alt=\"\" class=\"wp-image-18355\" width=\"768\" height=\"158\" srcset=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23-1024x210.png 1024w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23-300x61.png 300w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23-768x157.png 768w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/Captura-de-Pantalla-2022-08-19-a-las-13.51.23.png 1240w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/noscript><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Los bits SYNC y BRGH se encuentran dentro del registro TXSTA y el bit BRG16 en el registro BAUDCON.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los valores de raz\u00f3n de baudios ya est\u00e1n definidos y son, en miles de baudios por segundo: 0.3, 1.2, 2.4, 9.6, 19.2, 57.6 y 115.2. En las tablas de la hoja de especificaciones se indica el valor con que se deben cargar los registros SPBRG y SPBRGH para generar una raz\u00f3n de baudios determinada. Este valor depende de la frecuencia de operaci\u00f3n del microcontrolador. Tambi\u00e9n se presenta el error entre la raz\u00f3n de baudios ideal y la real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00f3dulo de comunicaci\u00f3n serial s\u00edncrona es una interfaz serial. Es \u00fatil para comunicarse con otros microcontroladores as\u00ed como dispositivos perif\u00e9ricos como circuitos A\/D y D\/A, EEPROMs seriales, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se puede configurar para trabajar en dos modos:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Interfaz serial perif\u00e9rica (Serial Peripheral Interface, SPI).<\/li><li>Circuito Inter-Integrado (Inter-Integrated Circuit, I2C).<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los registros que utiliza son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;<strong>SSPSTAT<\/strong> \u2013 Configura el m\u00f3dulo.&nbsp;<\/li><li>&nbsp;<strong>SSPCON1<\/strong> \u2013 Configura y controla el m\u00f3dulo.&nbsp;<\/li><li>&nbsp;<strong>SSPCON2<\/strong> \u2013 Configura y controla el m\u00f3dulo.&nbsp;<\/li><li>&nbsp;<strong>SSPBUF<\/strong> \u2013 Buffer de recepci\u00f3n\/Registro de transmisi\u00f3n.&nbsp;<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se pueden generar interrupciones tanto para avisar cuando se termina de enviar un byte como para cuando llega un nuevo byte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas interrupciones se pueden definir como de alta o baja prioridad (consulte los registros de interrupci\u00f3n INTCON, PIR1, PIE1, IPR1).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay dos modos de utilizaci\u00f3n: maestro y esclavo. El maestro es el que genera la se\u00f1al de reloj y hay 4 opciones de configuraci\u00f3n mediante los bits SSPM3:SSPM0 del registro SSPCON1:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Fosc\/64<\/li><li>Fosc\/16<\/li><li>Fosc\/4<\/li><li>Salida del TMR2\/2<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">De esta forma, si se utiliza una frecuencia de reloj de 4 MHz se tendr\u00eda una raz\u00f3n de transferencia m\u00e1xima de 1 Mbps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los pines que se utilizan para el modo SPI, que ser\u00e1 el implementado en esta pr\u00e1ctica son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>SDI<\/strong> \u2013 Se pondr\u00e1 a 1 el bit TRISB,0<\/li><li><strong>SDO<\/strong> \u2013 Se pondr\u00e1 en 0 el bit TRISC,7<\/li><li><strong>SCK<\/strong> \u2013 (modo maestro) Se pondr\u00e1 en 0 el bit TRISB,1<\/li><li><strong>SCK<\/strong> \u2013 (modo esclavo) Se pondr\u00e1 en 1 el bit TRISB,1<\/li><li><strong>SS<\/strong> \u2013 (modo esclavo) Si se utiliza debe ponerse en 1 el bit TRISA,5<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al concluir la pr\u00e1ctica 7 pudiste comprobar el env\u00edo de datos desde un microcontrolador hasta otro microcontrolador mediante un solo cable, aunque debes observar que ambos microcontroladores deben tener una tierra com\u00fan para que los valores de voltaje que representan un 1 l\u00f3gico (5V) y un 0 l\u00f3gico (0V) puedan ser transmitidos. Esto implica que si se quieren enviar y recibir datos entre dos microcontroladores separados y que no compartan una misma fuente, entonces debe haber tres cables, el de transmisi\u00f3n, el de recepci\u00f3n y la tierra. Tambi\u00e9n debes asegurarte que compartan el mismo nivel de tierra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con el desarrollo de la pr\u00e1ctica 8 has observado que, adem\u00e1s de los cables de datos (en el protocolo SPI hay un cable para transmisi\u00f3n y otro para recepci\u00f3n) y de tierra se tiene el cable de la se\u00f1al de reloj que genera el microcontrolador configurado como maestro. En cualquier dispositivo que est\u00e9 configurado para trabajar como esclavo hay una se\u00f1al de entrada que debe activarse en bajo (poner a 0V o 0 l\u00f3gico). Esto implica utilizar un pin del microcontrolador, configurado como salida digital, para cada dispositivo que est\u00e9 conectado mediante este protocolo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Te felicito por llegar hasta aqu\u00ed con ese \u00edmpetu tan incontrolable por saber cada d\u00eda un poco m\u00e1s, contin\u00faa as\u00ed y no dejes que ese \u00e1nimo decaiga. Revisa el material complementario y realiza las actividades correspondientes. Te encuentro pr\u00f3ximamente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n \u00a1Hola! Qu\u00e9 gusto poder encontrarte en esta nueva sesi\u00f3n, espero que sigas descubriendo este curso de Microprocesadores y Microcontroladores, y lo sigas viendo fascinante. Por lo tanto, te doy la m\u00e1s cordial bienvenida a esta clase digital 6. En esta clase terminamos con las pr\u00e1cticas 7 y 8. Ambas pr\u00e1cticas presentan la comunicaci\u00f3n serial. &#8230; <a title=\"Clase digital 6. Programaci\u00f3n del microcontrolador: Comunicaci\u00f3n serial s\u00edncrona y as\u00edncrona\" class=\"read-more\" href=\"https:\/\/blogs.ugto.mx\/rea\/clase-digital-6-programacion-del-microcontrolador-comunicacion-serial-sincrona-y-asincrona\/\" aria-label=\"Leer m\u00e1s sobre Clase digital 6. Programaci\u00f3n del microcontrolador: Comunicaci\u00f3n serial s\u00edncrona y as\u00edncrona\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":142,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","episode_type":"","audio_file":"","podmotor_file_id":"","podmotor_episode_id":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","footnotes":""},"categories":[6,467],"tags":[41,463,462],"class_list":["post-16080","post","type-post","status-publish","format-standard","hentry","category-ingenieria-mecatronica","category-uda-microprocesadores-y-microcontroladores-licenciatura-en-artes-digitales","tag-clase-digital","tag-gustavo-cerda-villafana","tag-iili06089"],"acf":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/comments?post=16080"}],"version-history":[{"count":5,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16080\/revisions"}],"predecessor-version":[{"id":18632,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16080\/revisions\/18632"}],"wp:attachment":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/media?parent=16080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/categories?post=16080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/tags?post=16080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}