{"id":42289,"date":"2015-07-13T15:20:36","date_gmt":"2015-07-13T14:20:36","guid":{"rendered":"https:\/\/www.xjtag.com\/what-is-jtag\/"},"modified":"2025-03-19T09:56:37","modified_gmt":"2025-03-19T09:56:37","slug":"what-is-jtag","status":"publish","type":"page","link":"https:\/\/www.xjtag.com\/es\/what-is-jtag\/","title":{"rendered":"\u00bfQu\u00e9 es JTAG y c\u00f3mo puedo usarlo?"},"content":{"rendered":"<p><a class=\"yellow-button\" href=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/xjtag-ebook_what-is-jtag-es.pdf\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"unbold\">Descargar en formato PDF<\/span><\/a><\/p>\n<h2>JTAG es m\u00e1s que depuraci\u00f3n y programaci\u00f3n<\/h2>\n<p><img decoding=\"async\" class=\"insert-right\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/bst_debug-emulation_programming.gif\" alt=\"JTAG is NOT JUST a technology for debugging and programming\" width=\"213\" height=\"204\" \/><\/p>\n<p>Puede que est\u00e9 familiarizado con JTAG porque ha usado herramientas con interfaz JTAG. Los procesadores usan a menudo JTAG para acceder a sus funciones de depuraci\u00f3n\/emulaci\u00f3n y todas las FPGAs y CPLDs usan JTAG para dar acceso a sus funciones de programaci\u00f3n.<\/p>\n<p><strong><span class=\"caps\">JTAG no es solamente<\/span> una tecnolog\u00eda para la depuraci\u00f3n\/emulaci\u00f3n de procesadores. <span class=\"caps\">JTAG no es solamente<\/span> una tecnolog\u00eda para la programaci\u00f3n de FPGAs\/CPLDs.<\/strong><\/p>\n<p>Las herramientas de depuraci\u00f3n y programaci\u00f3n com\u00fanmente asociadas a JTAG solo hacen uso de un aspecto de tecnolog\u00eda JTAG \u2013 el protocolo de comunicaci\u00f3n de cuatro hilos.<\/p>\n<p><a href=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/jtag-registers.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"insert-left\" style=\"margin-top: 15px;\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/jtag-registers.jpg\" alt=\"Boundary Scan Register (BSR) for JTAG testing\" width=\"327\" height=\"332\" \/><\/a><\/p>\n<p>Estas cuatro se\u00f1ales, conocidas colectivamente como Test Access Port o TAP, forman parte del est\u00e1ndar IEEE 1149.1. Este est\u00e1ndar fue desarrollado como una tecnolog\u00eda para facilitar y automatizar el test de circuitos impresos (PCBA, del ingl\u00e9s Printed Circuit Board Assemblies) sin la necesidad del nivel de acceso f\u00edsico requerido por los tests de cama de pinchos (bed-of-nails) o la complejidad y personalizaci\u00f3n necesaria del desarrollo de pruebas funcionales. El puerto TAP fue dise\u00f1ado para interactuar con nuevos registros que fueron a\u00f1adidos a componentes para implementar este m\u00e9todo de testeo.<\/p>\n<p>Sin embargo, los fabricantes de silicio r\u00e1pidamente vieron los beneficios de usar el TAP para acceder a estos registros, ofreciendo otras funcionalidades como la depuraci\u00f3n y la programaci\u00f3n.<\/p>\n<p>El registro principal espec\u00edfico a\u00f1adido a un componente para el testeo JTAG se llama Boundary Scan Register (BSR). Como su propio nombre indica, los bits (o c\u00e9lulas) individuales de este registro est\u00e1n en el borde del componente, entre su n\u00facleo funcional y los pines o bolas mediante el cual est\u00e1 conectado a la placa \u2013 muy a menudo el testeo JTAG es referido como boundary scan.<\/p>\n<h2>Como XJTAG usa JTAG \/ Boundary Scan para testear una tarjeta<\/h2>\n<p>Las celdas de boundary scan (ver la figura anterior) pueden funcionar en dos modos. En modo &#8220;funcional&#8221; estas celdas no tienen ning\u00fan efecto sobre el funcionamiento del componente; las celdas se colocan en este modo cuando la placa funciona normalmente. En el modo &#8220;test&#8221;, por el contrario, las c\u00e9lulas a\u00edslan el n\u00facleo funcional del componente de los pines externos. Al poner las celdas de boundary scan en modo test, estas se pueden utilizar para verificar los valores enviados desde un componente compatible con JTAG a un conjunto de conexiones, as\u00ed como para monitorear el estado de dichas conexiones.<\/p>\n<p>La posibilidad de aislar el control de los pines con respecto de la funcionalidad del componente hace que el desarrollo de los tests boundary scan sea mucho m\u00e1s sencillo que un test funcional tradicional, ya que el componente no necesita ser configurado o iniciado para habilitar dichos pines. Al proporcionar un mecanismo para controlar y monitorear todas las se\u00f1ales habilitadas en un componente desde un controlador TAP de cuatro pines, los tests JTAG reducen significativamente el acceso f\u00edsico requerido para testear una placa.<\/p>\n<p>Hay dos formas principales de utilizar esta funcionalidad boundary scan para testear una tarjeta electr\u00f3nica. La primera de ellas, el test de conexiones (consulte el siguiente apartado), proporciona una buena cobertura de test, especialmente para la detecci\u00f3n de cortocircuitos. Se basa espec\u00edficamente en las capacidades de los componentes JTAG, las conexiones y nets en la placa y, en el caso de XJTAG, tambi\u00e9n en el funcionamiento de los dispositivos l\u00f3gicos existentes (por ejemplo, puertas l\u00f3gicas). La segunda ampl\u00eda la cobertura del test mediante el uso de componentes JTAG para comunicarse con otros componentes perif\u00e9ricos que no est\u00e1n habilitados para JTAG, como DDR RAM o memorias flash.<\/p>\n<h2>\u00bfQu\u00e9 es el test avanzado de conexi\u00f3n de XJTAG?<img decoding=\"async\" class=\"insert-right\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/connectiontest.gif\" alt=\"Example of faults tested for by the XJTAG connection test\" \/><\/h2>\n<p>El test de conexi\u00f3n JTAG verifica que las conexiones alrededor de los componentes JTAG respetan las especificadas en el dise\u00f1o.<\/p>\n<p>Cuando dos pines habilitados para JTAG deben estar conectados, el test comprueba que cada pin puede ser controlado por el otro. Por el contrario, si los pines controlados por JTAG no se van a conectar, se testean para detectar cortocircuitos activando un pin y verificando que estos valores forzados no se leen en los otros pines. Tambi\u00e9n se puede detectar la falta de resistencias pull-up\/down y fallos de \u2018stuck-at\u2019.<\/p>\n<p>El test de conexi\u00f3n avanzado de XJTAG tambi\u00e9n identifica autom\u00e1ticamente otros posibles problemas, como cortocircuitos en resistencias en serie o fallos en componentes l\u00f3gicos cuyo comportamiento puede ser descrito en una tabla de la verdad.<\/p>\n<h2>\u00bfQu\u00e9 pasa con los componentes no habilitados para JTAG?<\/h2>\n<p>Mientras que los componentes principales, tales como procesadores y FPGA, est\u00e1n normalmente habilitados para JTAG, habr\u00e1 muchos otros componentes en cada dise\u00f1o que no lo est\u00e9n. DDR, SDRAM, SRAM, Flash, MDIO controlando la capa f\u00edsica Ethernet (PHY), sensores de temperatura SPI e I2C, clocks en tiempo real (RTC), ADCs y DACs son s\u00f3lo algunos ejemplos de tales componentes.<\/p>\n<p>El test de conexi\u00f3n proporcionar\u00e1 una excelente cobertura para la detecci\u00f3n de cortocircuitos en las nets que conectan estos componentes no JTAG a componentes habilitados para JTAG. Sin embargo, este test no puede detectar si hay pistas abiertas en los componentes JTAG y no JTAG.<\/p>\n<p>Para extender la cobertura de test a circuitos abiertos, es necesario comunicarse con el dispositivo perif\u00e9rico no JTAG desde las celdas Boundary Scan en el componente JTAG. Si se puede verificar la comunicaci\u00f3n entre los dos, entonces no hay circuito abierto. Este tipo de prueba puede ser muy sencilla (por ejemplo, encender un LED y pedirle a un operador que confirme si se ha activado) o m\u00e1s compleja (por ejemplo, escribir datos en el array de una memoria RAM y leerlos de vuelta).<\/p>\n<h2>\u00bfRequiere mucho trabajo crear un sistema de test JTAG?<\/h2>\n<p>Usando la biblioteca instalada con el software XJTAG para componentes est\u00e1ndar no JTAG, est\u00e1n disponibles un conjunto de tests que funcionan inmediatamente en su placa, sin necesidad de escribir ning\u00fan c\u00f3digo. La biblioteca XJTAG contiene modelos para todo tipo de componentes no JTAG, desde simples resistencias y buffers hasta componentes m\u00e1s complejos como memorias DDR3. Dado que Boundary Scan desconecta el control de pines en los componentes JTAG de su funcionalidad real, se puede usar el mismo modelo independientemente del componente JTAG que controla un perif\u00e9rico en particular.<\/p>\n<p>La mayor\u00eda de las tarjetas ya contienen headers JTAG para programar o depurar, de modo que no hay requisitos de dise\u00f1o adicionales.<\/p>\n<h2>\u00bfD\u00f3nde puedo obtener informaci\u00f3n sobre la implementaci\u00f3n de JTAG en mis componentes?<\/h2>\n<p>Para ejecutar cualquier test basado en Boundary Scan, es necesario tener cierta informaci\u00f3n sobre la implementaci\u00f3n de JTAG en los componentes habilitados de la placa. Esta informaci\u00f3n est\u00e1 contenida en los archivos BSDL (Boundary Scan Description Language) de estos componentes. El proveedor de silicio debe hacer que los <a href=\"https:\/\/www.xjtag.com\/about-jtag\/bsdl-files\/\">archivos BSDL<\/a> est\u00e9n disponibles para garantizar que un componente cumple el est\u00e1ndar IEEE 1149.1.<\/p>\n<h2>\u00bfLos tests JTAG se utilizan exclusivamente en producci\u00f3n?<\/h2>\n<p>\u00a1Para nada! Una de las principales ventajas de los tests boundary scan es que el \u00fanico hardware necesario es un controlador JTAG. Otras tecnolog\u00edas de test utilizadas en producci\u00f3n, como los sistemas Flying Probe, la Inspecci\u00f3n \u00d3ptica Autom\u00e1tica (AOI) \/ Rayos-X (AXI), o las Camas de Pinchos, requieren de equipos de test especializados que no estar\u00e1n disponibles en el escritorio de un ingeniero.<\/p>\n<p>El uso del boundary scan durante la fase de prototipado puede eliminar incertidumbres. De hecho, los ingenieros de hardware pueden testear prototipos para detectar defectos de fabricaci\u00f3n antes de testear el sistema, e incluso antes de que el firmware est\u00e9 disponible. Los sistemas de test JTAG desarrollados en esta fase temprana del ciclo de vida del producto pueden reutilizarse f\u00e1cilmente y posteriormente ser usados para la producci\u00f3n.<\/p>\n<h1>Ocho razones por las que deber\u00eda usar XJTAG para testear sus placas<\/h1>\n<h2>Tres simples letras \u2013 BGA<\/h2>\n<p>Cada vez m\u00e1s componentes se suministran en paquetes BGA (Ball Grid Array). Cada componente BGA en una placa impone severas restricciones respecto de los tests que se pueden realizar con los equipos tradicionales, como las Camas de Pinchos o las m\u00e1quinas autom\u00e1ticas Flying Probe.<\/p>\n<p>Usando una interfaz simple de cuatro pines, el test JTAG \/ boundary scan permite controlar y monitorear se\u00f1ales en componentes habilitados para JTAG sin ning\u00fan acceso f\u00edsico directo.<\/p>\n<h2>Tres letras m\u00e1s \u2013 NRE<\/h2>\n<p>Los costes de ingenier\u00eda no recurrentes (NRE) asociados al desarrollo de bancos de test pueden ser prohibitivamente altos. En muchos casos, el uso de JTAG \/ Boundary scan puede eliminar la necesidad de tales equipos, mientras que en otros casos, el banco de test se puede simplificar en gran medida, lo que conlleva ahorros significativos.<\/p>\n<h2>Tiempos de testeo m\u00e1s cortos<\/h2>\n<p>Para tarjetas con bajos volumenes de producci\u00f3n, siempre ha sido dif\u00edcil justificar el coste de desarrollar bancos de prueba. En estos casos, los testers flying probe ofrecen una alternativa viable; sin embargo con esta tecnolog\u00eda el tiempo de ejecuci\u00f3n del ciclo de test tiende a ser muy elevado. El test JTAG \/ Boundary Scan ofrece tiempos de ejecuci\u00f3n de test reducidos sin la necesidad de un costoso banco de pruebas .<\/p>\n<h2>Menores costes de desarrollo de tests<\/h2>\n<p>Debido a que los diferentes procesadores y FPGA interact\u00faan con los perif\u00e9ricos de diferentes modos, el test funcional tradicional requiere un costoso desarrollo personalizado para cada placa. El test JTAG \/ Boundary Scan reduce significativamente estos costes de desarrollo, ya que proporciona una interfaz simplificada para controlar los pines de I\/O utilizados para interactuar con los diversos componentes.<\/p>\n<p>Esta interfaz est\u00e1ndar, que es com\u00fan para todos los componentes de la cadena JTAG, implica que al desarrollar sistemas de test se puede utilizar y reutilizar conjuntos gen\u00e9ricos de modelos de test.<\/p>\n<h2>Una herramienta para testear y programar<\/h2>\n<p>El puerto JTAG a menudo ya se utiliza para un paso en la producci\u00f3n: la programaci\u00f3n. Utilizar tambi\u00e9n JTAG para el test Boundary Scan permite reducir el n\u00famero de pasos y operaciones de manipulaci\u00f3n en el proceso de producci\u00f3n.<\/p>\n<h2>Tests del nivel de producci\u00f3n al alcance de ingenieros para la fase de prototipado<\/h2>\n<p>Las tecnolog\u00edas de test tradicionales requieren equipos muy grandes y costosos. El \u00fanico equipo necesario para el test JTAG \/ Boundary Scan es un controlador JTAG; el controlador <a href=\"https:\/\/www.xjtag.com\/products\/test-controllers\/xjlink-xjlink2-controller\/\">XJLink2<\/a> de XJTAG es de tama\u00f1o similar a un rat\u00f3n de PC.<\/p>\n<h2>Excelente diagn\u00f3stico de fallos<img decoding=\"async\" class=\"alignright\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/xjrunner-error-in-viewer-sm2.jpg\" alt=\"Short-circuit diagnosed with XJRunner\" width=\"171\" height=\"237\" \/><\/h2>\n<p>A diferencia de los Tests Funcionales, el test JTAG \/ Boundary Scan proporciona informaci\u00f3n muy precisa sobre los fallos detectados en la placa, lo que facilita una r\u00e1pida reparaci\u00f3n. XJTAG tambi\u00e9n permite ver tanto <a href=\"https:\/\/www.xjtag.com\/products\/capabilities\/layout-viewer\/\">la ubicaci\u00f3n f\u00edsica de un fallo en el layout<\/a> de la placa como <a href=\"https:\/\/www.xjtag.com\/products\/capabilities\/schematic-viewer\/\">el dise\u00f1o l\u00f3gico<\/a> de la zona del circuito donde se encuentra el fallo en el esquem\u00e1tico.<\/p>\n<h2>Recuperaci\u00f3n de tarjetas defectuosas en las que los tests funcionales no funcionar\u00edan<\/h2>\n<p>Los tests Boundary Scan de XJTAG se pueden ejecutar en cualquier tarjeta con interfaz JTAG. Los tests funcionales tradicionales no se pueden ejecutar si el firmware de la placa no es capaz de inicializarse. Fallos simples en los perif\u00e9ricos, tales como la RAM o los clocks, evitar\u00edan que los tests funcionales proporcionaran informaci\u00f3n de diagn\u00f3stico, mientras que a trav\u00e9s de JTAG se detectar\u00edan f\u00e1cilmente.<\/p>\n<p style=\"padding-top: 16px;\"><a href=\"https:\/\/www.xjtag.com\/free-trial\/\"><img decoding=\"async\" class=\"minishadow alignnone\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/banner-evaluate-xjtag.jpg\" alt=\"Interested? Evaluate JTAG boundary scan tools from XJTAG and get free test development for your first project. Start your trial now.\" width=\"750\" height=\"141\" border=\"0\" \/><\/a><\/p>\n<h3>Otros recursos<\/h3>\n<p><a href=\"https:\/\/www.xjtag.com\/about-jtag\/jtag-high-level-guide\/\"><img decoding=\"async\" class=\"insert-left alignnone\" title=\"JTAG Introduction, Background, JTAG Connection Testing, In-system Programming...\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/resource-hileveljtag-thumb.gif\" alt=\"JTAG Introduction, Background, JTAG Connection Testing, In-system Programming\" width=\"65\" height=\"65\" border=\"0\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/www.xjtag.com\/about-jtag\/jtag-high-level-guide\/\">Gu\u00eda de alto nivel para JTAG<\/a><\/h3>\n<p>Ver lo que JTAG puede hacer<\/p>\n<hr \/>\n<p><a href=\"https:\/\/www.xjtag.com\/about-jtag\/jtag-a-technical-overview\/\"><img decoding=\"async\" class=\"insert-left alignnone\" title=\"JTAG Technical Overview, TAP signals, Boundary Scan Instructions...\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/resource-lowleveljtag-thumb.gif\" alt=\"JTAG Technical Overview, TAP signals, Boundary Scan Instructions\" width=\"65\" height=\"65\" border=\"0\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/www.xjtag.com\/about-jtag\/jtag-a-technical-overview\/\">Gu\u00eda t\u00e9cnica de JTAG<\/a><\/h3>\n<p>Una mirada de bajo nivel en c\u00f3mo se implementa JTAG<\/p>\n<hr \/>\n<p><a href=\"https:\/\/www.xjtag.com\/about-jtag\/design-for-test-guidelines\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"insert-left alignnone\" title=\"Design for Test techniques\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/resource-dft-thumb.gif\" alt=\"Design for Test techniques\" width=\"65\" height=\"65\" border=\"0\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/www.xjtag.com\/about-jtag\/design-for-test-guidelines\/\">Directrices para el dise\u00f1o para las pruebas (DFT)<\/a><\/h3>\n<p>Sugerencias para mejorar el test de placas PCB<\/p>\n<hr \/>\n<p><a href=\"https:\/\/www.xjtag.com\/about-jtag\/testing-with-xjtag\/\"><img decoding=\"async\" class=\"insert-left alignnone\" title=\"Testing throughout the product lifecycle: from design and development to manufacturing and service\" src=\"https:\/\/www.xjtag.com\/wp-content\/uploads\/resource-xjtagtest-thumb.gif\" alt=\"circuit design, development, manufacturing, service\" width=\"65\" height=\"65\" border=\"0\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/www.xjtag.com\/about-jtag\/testing-with-xjtag\/\">Tests JTAG usando XJTAG<\/a><\/h3>\n<p>C\u00f3mo XJTAG ampl\u00eda las posibilidades de JTAG<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descargar en formato PDF JTAG es m\u00e1s que depuraci\u00f3n y programaci\u00f3n Puede que est\u00e9 familiarizado con JTAG porque ha usado herramientas con interfaz JTAG. Los procesadores usan a menudo JTAG para acceder a sus funciones de depuraci\u00f3n\/emulaci\u00f3n y todas las FPGAs y CPLDs usan JTAG para dar acceso a sus funciones de programaci\u00f3n. JTAG no [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":0,"parent":0,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","footnotes":""},"pagecategory":[117],"class_list":["post-42289","page","type-page","status-publish","hentry","pagecategory-about-jtag"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/pages\/42289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/comments?post=42289"}],"version-history":[{"count":0,"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/pages\/42289\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/media?parent=42289"}],"wp:term":[{"taxonomy":"pagecategory","embeddable":true,"href":"https:\/\/www.xjtag.com\/es\/wp-json\/wp\/v2\/pagecategory?post=42289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}