{"id":3175,"date":"2024-06-27T20:45:52","date_gmt":"2024-06-27T20:45:52","guid":{"rendered":"https:\/\/blog.rastersoft.com\/?p=3175"},"modified":"2024-07-08T21:30:05","modified_gmt":"2024-07-08T21:30:05","slug":"raspberry-pi-5-y-su-dsi","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=3175","title":{"rendered":"Raspberry Pi 5 y su DSI"},"content":{"rendered":"\n<p>La <a href=\"https:\/\/www.raspberrypi.com\/\">Raspberry Pi<\/a> lleva desde su primera versi\u00f3n un conector <a href=\"https:\/\/en.wikipedia.org\/wiki\/Display_Serial_Interface\">DSI<\/a> que permite conectar una pantalla t\u00e1ctil directamente, aliment\u00e1ndose desde la misma placa y todo a trav\u00e9s de un \u00fanico cable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/4.3inch-dsi-lcd-6_4-1.jpg\" rel=\"lightbox-0\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"492\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/4.3inch-dsi-lcd-6_4-1.jpg\" alt=\"\" class=\"wp-image-3187\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/4.3inch-dsi-lcd-6_4-1.jpg 653w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/4.3inch-dsi-lcd-6_4-1-300x226.jpg 300w\" sizes=\"auto, (max-width: 653px) 100vw, 653px\" \/><\/a><\/figure>\n\n\n\n<p>Por desgracia, este conector cambi\u00f3 en la versi\u00f3n 5, y ahora tiene dos (que valen tanto para pantallas como para c\u00e1maras), pero m\u00e1s peque\u00f1os que el original, con lo que los viejos cables no sirven y hay que comprar uno espec\u00edfico.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5.jpg\" rel=\"lightbox-1\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"779\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5-1024x779.jpg\" alt=\"\" class=\"wp-image-3177\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5-1024x779.jpg 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5-300x228.jpg 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5-768x584.jpg 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5-1536x1168.jpg 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/rpi5.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Eso hice, pero todos los que encontr\u00e9 tienen un problema: las pistas de ambos conectores est\u00e1n hacia el mismo lado, pero los nuevos conectores est\u00e1n \u00abal rev\u00e9s\u00bb, as\u00ed que me encontr\u00e9 con que la \u00fanica manera de conectar la pantalla implica, o retorcer 180 grados el cable&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-scaled.jpg\" rel=\"lightbox-2\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-768x1024.jpg\" alt=\"\" class=\"wp-image-3178\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-768x1024.jpg 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-225x300.jpg 225w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-1152x1536.jpg 1152w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-1536x2048.jpg 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-1-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/figure>\n\n\n\n<p>&#8230; o colocar la RPi5 boca abajo&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-scaled.jpg\" rel=\"lightbox-3\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-1024x768.jpg\" alt=\"\" class=\"wp-image-3179\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-1024x768.jpg 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-300x225.jpg 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-768x576.jpg 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-1536x1152.jpg 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-original-2-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Y por desgracia, tampoco serv\u00eda ponerla \u00abde delante hacia atr\u00e1s\u00bb, porque el conector de la pantalla quedaba justo debajo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-scaled.jpg\" rel=\"lightbox-4\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-1024x768.jpg\" alt=\"\" class=\"wp-image-3180\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-1024x768.jpg 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-300x225.jpg 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-768x576.jpg 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-1536x1152.jpg 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/del-reves-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Ante esto, decid\u00ed liarme la manta a la cabeza y dise\u00f1ar mi propio cable de conexi\u00f3n para la RPi5, as\u00ed que cog\u00ed <a href=\"https:\/\/www.kicad.org\/\">Kicad<\/a> y empec\u00e9 por dise\u00f1ar el esquem\u00e1tico que necesitaba:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37.png\" rel=\"lightbox-5\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-1024x563.png\" alt=\"\" class=\"wp-image-3183\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-1024x563.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-300x165.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-768x422.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-1536x845.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-48-37-2048x1126.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>B\u00e1sicamente hay que conectar alimentaci\u00f3n y las distintas masas, las dos se\u00f1ales (SCL y SDA) del bus I2C para la pantalla t\u00e1ctil, y los tres pares diferenciales de la se\u00f1al DSI (uno de reloj, DSI_C_x, y dos de datos, DSI_Dy_x). Las se\u00f1ales para el conector DSI de la pantalla las saqu\u00e9 a partir del conector de la <a href=\"https:\/\/www.raspberrypi.com\/documentation\/computers\/raspberry-pi.html#schematics-and-mechanical-drawings\">Raspberry Pi 4<\/a>. El <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=358433\">pinout del conector de la RPi5<\/a> fue un poco m\u00e1s complicado de encontrar, pero al final apareci\u00f3.<\/p>\n\n\n\n<p>Tras ello, me fui al editor de placas y dise\u00f1\u00e9 esto:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32.png\" rel=\"lightbox-6\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-1024x563.png\" alt=\"\" class=\"wp-image-3181\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-1024x563.png 1024w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-300x165.png 300w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-768x422.png 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-1536x845.png 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-26-23-45-32-2048x1126.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Un detalle importante fue asegurarse de que la longitud de los tres pares fuese la misma, para garantizar que las se\u00f1ales lleguen sincronizadas (no hay que olvidar que la se\u00f1al de reloj utiliza un par propio). Para ello, seleccionando una pista, Kicad no s\u00f3lo nos dice la longitud del segmento seleccionado, sino tambi\u00e9n la longitud total. Una vez encontrada la pista m\u00e1s larga, vamos al resto y utilizamos la herramienta de afinado de longitud, que tiene este icono:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-27-00-02-10.png\" rel=\"lightbox-7\"><img loading=\"lazy\" decoding=\"async\" width=\"62\" height=\"51\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/Captura-desde-2024-06-27-00-02-10.png\" alt=\"\" class=\"wp-image-3184\"\/><\/a><\/figure>\n<\/div>\n\n\n<p>para ir ajustando la longitud de cada una, de manera que midan lo mismo. Cabe recordar que una vez trazado el \u00abgusanito\u00bb, es posible ajustar el ancho, de manera que si no conseguimos a la primera la longitud correcta, debemos dejarlo m\u00e1s largo y luego reducir el ancho.<\/p>\n\n\n\n<p>Si nos fijamos, tambi\u00e9n lo hice con el I2C, aunque en este caso no era realmente necesario, pues la velocidad es muy baja.<\/p>\n\n\n\n<p>Idealmente, adem\u00e1s, deber\u00eda haber ajustado la separaci\u00f3n de los pares de pistas para mantener la impedancia correcta; por desgracia, DSI es una especificaci\u00f3n cerrada, por lo que no ten\u00eda acceso a esa informaci\u00f3n. Afortunadamente, todo funcion\u00f3 a la primera.<\/p>\n\n\n\n<p>A la hora de mandarlo fabricar, tuve que especificar que lo quer\u00eda como una placa flexible, y adem\u00e1s indicar que quiero que incluya <em>stiffeners<\/em> (las \u00abpegatinas\u00bb que se ponen en la cara opuesta de cada conector para darle rigidez y que no se rompan).<\/p>\n\n\n\n<p>Y este es el resultado: un cable que se adapta perfectamente a la RPi5 y la pantalla, sin dobleces ni cosas raras, y dejando completamente libre la zona superior del procesador y memoria para poder poner un disipador y ventilador.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-scaled.jpg\" rel=\"lightbox-8\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-768x1024.jpg\" alt=\"\" class=\"wp-image-3182\" srcset=\"https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-768x1024.jpg 768w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-225x300.jpg 225w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-1152x1536.jpg 1152w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-1536x2048.jpg 1536w, https:\/\/blog.rastersoft.com\/wp-content\/uploads\/2024\/06\/cable-final-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/figure>\n\n\n\n<p>Los esquem\u00e1ticos est\u00e1n disponibles bajo una licencia <a href=\"https:\/\/en.wikipedia.org\/wiki\/MIT_License\">MIT<\/a> (vamos, que puedes usarlo con libertad) <a href=\"https:\/\/gitlab.com\/rastersoft\/rpi5-screen-cable\">en mi repositorio de Gitlab<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La Raspberry Pi lleva desde su primera versi\u00f3n un conector DSI que permite conectar una pantalla t\u00e1ctil directamente, aliment\u00e1ndose desde la misma placa y todo a trav\u00e9s de un \u00fanico cable. Por desgracia, este conector cambi\u00f3 en la versi\u00f3n 5, y ahora tiene dos (que valen tanto para pantallas como para c\u00e1maras), pero m\u00e1s peque\u00f1os &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=3175\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Raspberry Pi 5 y su DSI<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-3175","post","type-post","status-publish","format-standard","hentry","category-cacharreo"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3175"}],"version-history":[{"count":9,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3175\/revisions"}],"predecessor-version":[{"id":3202,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/3175\/revisions\/3202"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}