TMS320 es el nombre genérico de una serie de procesadores de señales digitales (DSP) de Texas Instruments . Se presentó el 8 de abril de 1983 a través del procesador TMS32010, que en ese momento era el DSP más rápido del mercado.
Esta serie de procesadores se utiliza como coprocesador de procesamiento de señales digitales y como CPU principal en algunas aplicaciones. Las implementaciones más nuevas admiten el control estándar IEEE JTAG para escaneo de límites y/o depuración en circuito.
El TMS32010 original y sus variantes posteriores son un ejemplo de una CPU con una arquitectura Harvard modificada , que presenta espacios de direcciones separados para la memoria de instrucciones y datos, pero la capacidad de leer valores de datos de la memoria de instrucciones. El TMS32010 presentaba una operación rápida de multiplicación y acumulación útil tanto en aplicaciones DSP como en transformaciones utilizadas en gráficos de computadora. La tarjeta controladora de gráficos para la estación de trabajo Apollo Computer DN570, lanzada en 1985, se basaba en el TMS32010 y podía transformar 20 000 vectores 2D por segundo. [ aclaración necesaria ]
Variantes
La arquitectura TMS320 existe desde hace tiempo, por lo que se han desarrollado varias variantes de producto. Los códigos de producto utilizados por Texas Instruments después del primer procesador TMS32010 han involucrado una serie de procesadores denominada "TMS320Cabcd", donde a es la serie principal, b la generación y cd es un número personalizado para una subvariante menor.
Por este motivo, quienes trabajan con procesadores DSP suelen abreviar un procesador como "C5x" cuando el nombre real es, por ejemplo, TMS320C5510, ya que todos los productos tienen el nombre "TMS320" y todos los procesadores con "C5" en el nombre son compatibles en cuanto a código y comparten las mismas características básicas. De manera similar, un subgrupo puede denominarse, por ejemplo, C55x, ya que los procesadores de la misma serie y generación son aún más similares.
TMS320C2x, procesadores digitales de punto fijo de 16 bits de segunda generación . Todos los procesadores de esta serie son compatibles en código objeto con el TMS32020 y en código fuente con el TMS32010.
TMS32020, primer procesador de la segunda serie
TMS320C25, versión CMOS de 40 MHz con un conjunto de funciones muy mejorado
TMS320C25-50, versión de 50 MHz del TMS320C25
TMS320E25, idéntico al TMS320C25, excepto que se utiliza EPROM para el almacenamiento de programas en chip de 4K palabras en lugar de ROM [3]
TMS320C3x, punto flotante de 32 bits
TMS320C30, 27 a 50 MHz, 8 KB de SRAM interna, 5 voltios
TMS320C31, 27 a 60 MHz, 8 KB de SRAM interna, 5 voltios, subconjunto de TMS320C30 eliminando el segundo puerto serial, eliminando el segundo bus de memoria, reemplazando la ROM de usuario con el cargador de arranque de ROM de fábrica
TMS320LC31, versión de 33 a 40 MHz y 3,3 voltios del TMS320C31
TMS320C32, 40 a 60 MHz, 2 KB de SRAM interna, 5 voltios, agrega un segundo coprocesador DMA, cambia el bus de memoria externa para permitir acceso a memoria de 8/16/32 bits de ancho mientras que otras partes C3x son solo de 32 bits
TMS320VC33, 60 a 75 MHz, 136 KB de SRAM interna, E/S de 3,3 voltios con núcleo de 1,8 voltios, superconjunto de TMS320C31 al agregar 128 KB de SRAM interna
TMS320C4x, punto flotante de 32 bits
TMS320C40, 40/50/60/80 MHz, tiempo de ciclo 50/40/33/25 ns, CMOS , [4] está equipado con tres ranuras de retardo de ramificación y admite instrucciones de ramificación tanto retrasadas como no retrasadas. [5]
TMS320C44, subconjunto de TMS320C40
TMS320C8x, chip multiprocesador [6]
El procesador de vídeo multimedia TMS320C80 MVP tiene un "procesador maestro" de punto flotante de 32 bits y cuatro "procesadores esclavos" de punto fijo de 32 bits. En muchos sentidos, el microprocesador Cell siguió este enfoque de diseño.
Serie C2000
La familia de microcontroladores C2000 consta de microcontroladores de 32 bits con periféricos integrados de alto rendimiento diseñados para aplicaciones de control en tiempo real. C2000 consta de 5 subfamilias: la serie más nueva C28x + ARM Cortex M3, la serie de punto flotante C28x Delfino, la serie C28x Piccolo, la serie de punto fijo C28x y C240x, una línea de 16 bits más antigua que ya no se recomienda para nuevos desarrollos. La serie C2000 se destaca por su conjunto de periféricos de control en chip de alto rendimiento que incluyen PWM , ADC , módulos de codificador de cuadratura y módulos de captura. La serie también contiene soporte para I²C , SPI , serie (SCI), CAN , watchdog , McBSP, interfaz de memoria externa y GPIO. Debido a características como la sincronización de forma de onda PWM con la unidad ADC, la línea C2000 es adecuada para muchas aplicaciones de control en tiempo real. La familia C2000 se utiliza para aplicaciones como control y accionamiento de motores, automatización industrial, energía solar y otras energías renovables, granjas de servidores, energía digital, comunicaciones por línea eléctrica e iluminación. También hay disponible una línea de kits de bajo costo para aplicaciones específicas, como control de motores, energía digital, energía solar e iluminación LED.
Serie C5000
Procesador de señal digital (DSP) de punto fijo TMS320C54x de 16 bits, canalización de 6 etapas con ejecución en orden de códigos de operación, carga/almacenamiento paralelo de operaciones aritméticas, multiplicación/acumulación y otras mejoras del DSP. Memoria interna multipuerto. Sin unidad de caché. [7]
Una opción popular para radios de teléfonos celulares definidos por software 2G , particularmente GSM , alrededor de fines de la década de 1990, cuando muchos teléfonos celulares Nokia y Ericsson usaban el C54x. [ cita requerida ]
En aquel momento, el deseo de mejorar la interfaz de usuario de los teléfonos móviles llevó a la adopción de ARM7 como procesador de uso general para la interfaz y el control del usuario, delegando esta función en el DSP. Esto finalmente llevó a la creación de un DSP ARM7+C54x de doble núcleo, que más tarde evolucionó hasta convertirse en la línea de productos OMAP.
Generación TMS320C55x: punto fijo, ejecuta código C54x pero agrega más paralelismo interno (otra ALU, MAC dual, más ancho de banda de memoria) y registros, al mismo tiempo que admite una operación con consumo de energía mucho menor.
Hoy en día, la mayoría de los DSP C55x se venden como chips discretos.
Los chips OMAP1 combinan un ARM9 (ARMv5TEJ) con un DSP de la serie C55x.
Los chips OMAP3 incluyen un ARM Cortex-A8 (ARMv7) con un DSP C64x+
Los chips OMAP4 y OMAP5 incluyen un ARM Cortex-A9 o A15 (ARMv7) con un derivado C64x+ personalizado conocido como Tesla (o C64T)
Serie C7000
La serie C7000 se lanzó a principios de 2020, pero los núcleos no están disponibles individualmente. A partir de agosto de 2023, solo estarán disponibles en paquetes dentro de otros SOC, como el TDA4VM, que cuenta con un DSP C71x.
Serie DaVinci
La serie DaVinci comenzó con sistemas en un chip que utilizaban un DSP de la serie C6000 (C64x+) integrado, procesadores de aplicaciones ARM9 y periféricos de medios digitales. Existen variantes sin ARM y sin DSP. Su marketing se centra en sus capacidades de procesamiento de vídeo. Los chips originales admitían NTSC y PAL, mientras que los más nuevos admiten HDTV.
Variantes de OMAP
Las variantes de OMAP también tienen un procesador ARM en el mismo chip; consulte el artículo principal sobre Texas Instruments OMAP . (También hay procesadores OMAP con otros procesadores secundarios, por lo que no son necesariamente DSP).
Variantes de DA
Variantes de DA (objetivo "audio digital")
DA25x es un procesador ARM y un núcleo C55x. Tiene algunos periféricos integrados, como un controlador esclavo USB y funciones de seguridad. La documentación de este chip solo está disponible después de firmar un acuerdo de confidencialidad con Texas Instruments . Estas variantes se utilizan exclusivamente en los reproductores de MP3 Creative ZEN y Dell Digital Jukebox , como CPU principal y procesador de señales para todo el procesamiento de flujos de datos MP3 .
Los chips Aureus TMS320DA7xx están construidos alrededor de DSP C67x+
Los chips Aureus DA830/DA828 se basan en el OMAP-L137 e incluyen un DSP C674x de 300 MHz y un núcleo ARM926ES-J de 300 MHz. [8] La variante DA828 tiene E/S reducida y viene en un paquete TQFP de 176 pines en lugar de un PBGA de 256 bolas .
El DA610/601 es un procesador con un núcleo C67x. Tiene en su chip los periféricos necesarios para conectarse a los códecs de audio para un sistema 5.1 o 7.1. Este chip se utiliza en los receptores de gama alta de YAMAHA: RX-V1400, RX-V2400, RX-V1600, RX-V2600, RX-V2500. [9]
Alrededor de 1991, ZMD fabricó una versión CMOS del TMS32020 con la designación U320C20FC. [10]
Varios dispositivos de la serie TMS320 se encuentran en producción en NIIET Voronezh como la serie 1867, [11] incluyendo una versión reforzada con radiación del TMS320C25 bajo la designación 1867VM7T ( en ruso : 1867ВМ7Т ). Los clones del TMS320C546 entraron en producción en PKK Milandr Moscú en 2009 bajo la designación 1967VC1T ( en ruso : 1967ВЦ1Т ) [12] y en 2016 en MVC Nizhny Novgorod como 1910VM1T ( en ruso : 1910ВМ1Т ). [13] PKK Milandr también fabrica un TMS320C54x con un núcleo ARM adicional como 1901VC1T ( en ruso : 1901ВЦ1Т ). [14]
En noviembre de 2007, TI lanzó parte de su cadena de herramientas como software gratuito para usuarios no comerciales, ofreciendo el compilador, ensamblador, optimizador y enlazador básicos bajo una licencia propietaria. [16] [17] Sin embargo, no se incluyeron ni el IDE ni un depurador, por lo que para la depuración y el acceso JTAG a los DSP, los usuarios aún necesitan comprar la cadena de herramientas completa.
En 2010, Texas Instruments contrató a CodeSourcery (la tarea luego fue transferida a Mentor Graphics como parte de su adquisición) para proporcionar una integración y soporte profundos para la serie C6x en GCC, como parte de su esfuerzo por trasladar el núcleo Linux a C6x. Esto culminó con la incorporación de C6x como arquitectura compatible en la versión 4.7 de GCC el 22 de marzo de 2012. [18]
^ "El procesador de señal digital de punto flotante TMS320C30" (PDF) . ti.com. pág. 14 . Consultado el 4 de noviembre de 2023 .
^ "TMS320C25". Texas Instruments . Consultado el 10 de diciembre de 2019 .
^ "TMS320 PROCESADORES DE SEÑALES DIGITALES DE SEGUNDA GENERACIÓN" (PDF) . Texas Instruments . Consultado el 7 de diciembre de 2023 .
^ "TMS320C40". Texas Instruments . Consultado el 10 de diciembre de 2019 .
^ "Guía del usuario de TMS320C4x" (PDF) . pág. 171(7-9) . Consultado el 23 de diciembre de 2023 .
^ Guttag, Karl; (Estados Unidos), Texas Instruments Inc. (7 de junio de 1996). Picone, Joseph (ed.). "Arquitectura de la familia TMS320C8x y hoja de ruta futura". Tecnología de procesamiento de señales digitales . 2750 : 2–11. Código Bibliográfico :1996SPIE.2750....2G. doi :10.1117/12.241977. S2CID 60536785 . Consultado el 7 de enero de 2017 .(se requiere suscripción)
^ "Conjunto de referencia de DSP TMS320C54x - Volumen 1: CPU y periféricos" (PDF) . www.ti.com . Consultado el 6 de agosto de 2024 .
^ Este artículo sobre LinuxDevices se archivó desde el original el 28 de enero de 2013.Incluye más información sobre esta plataforma.
^ Esta "Base de datos IC". Archivado desde el original el 28 de diciembre de 2009. Consultado el 22 de septiembre de 2009 .El sitio incluye más información
^ Heuer, Gert (1991). Digitaler Signalprozessor U320C20 [ Procesador de señal digital U320C20 ] (en alemán). Berlín: Verlag Technik. ISBN978-3341009987.
^ "DSP-процессоры" [Procesadores DSP]. niiet.ru (en ruso). Vorónezh: OAO "NIIET". Archivado desde el original el 26 de junio de 2018 . Consultado el 2 de diciembre de 2019 .
^ "1967ВЦ1Т (аналог TMS320C546)" [1967VC1T (correspondiente a TMS320C546)] (en ruso). Moscú: PKK Milandr. 20 de mayo de 2009. Consultado el 9 de enero de 2017 .
^ "Микропроцессоры и микроконтроллеры" [Microprocesadores y microcontroladores] (en ruso). Nizhni Nóvgorod: MVC. 2014. Archivado desde el original el 10 de mayo de 2017 . Consultado el 18 de abril de 2018 .
^ "Двухъядерный микроконтроллер компании" Миландр" для высоконадёжных применений" [Microcontrolador de doble núcleo de la empresa "Milandr" para aplicaciones de alta confiabilidad] (PDF) (en ruso). Moscú: PKK Milandr. Archivado desde el original (PDF) el 27 de abril de 2016 . Consultado el 18 de abril de 2018 .
^ Jan Parthey y Robert Baumgartl, Porting GCC to the TMS320-C6000 DSP Architecture , publicado en las Actas de GSPx'04, Santa Clara, septiembre de 2004, [1]
^ "TI libera su cadena de herramientas DSP". Archivado desde el original el 27 de enero de 2013.
^ Compilador DSP gratuito disponible Archivado el 30 de julio de 2012 en archive.today
^ Serie de versiones de GCC 4.7: cambios, nuevas funciones y correcciones
Enlaces externos
Árbol de productos DSP en Texas Instruments
Texas Instruments entra en el mercado de DSP artículo histórico de TI
Kits de experimentación de bajo costo C2000
Foro de discusión sobre c6000 en DSPRelated.com
Linux-C6x es una página destacada para los puertos GCC y Linux recientes (a partir de 2012) a C6x
[2] Memorias del director de TI sobre la creación del procesador de señales digitales TMS32010
Consulte Waves of Silence: Digisonix, control activo del ruido y la revolución digital Archivado el 4 de marzo de 2016 en Wayback Machine para obtener la descripción de una aplicación comercial temprana del TMS32010 para el control activo del ruido.