A TMS320 a Texas Instruments egyik digitális jelprocesszor- (DSP) sorozatának átfogó elnevezése. 1983. április 8-án volt bevezetve a TMS32010-es processzorral, ami akkoriban a leggyorsabb DSP volt a piacon.
A processzor különféle változatokban elérhető, fixpontos aritmetikával és lebegőpontos aritmetikával egyaránt. A TMS320 processzorok MOS integrált áramkörök formájában készültek, NMOS és CMOS változatokban is.
Ezt a processzorsorozatot digitális jelfeldolgozás társprocesszorként és néhány alkalmazásban a fő CPU szerepében használják. Az újabb megvalósítások támogatják a szabványos IEEE JTAG vezérlést a boundary scan teszteléshez és az áramkörön belüli hibakereséshez.
Az eredeti TMS32010 és annak későbbi változatai a módosított Harvard-architektúrájú CPU példái, amely külön címtartományt biztosít az utasítás- és adatmemória számára, de a képes adatértékek olvasására az utasításmemóriából. A TMS32010 architektúrájában van egy gyors szorzó-akkumuláló művelet, amely igen hasznos mind a DSP alkalmazásokban, mind az a számítógépes grafikában használt transzformációkban. Az 1985-ben kibocsátott Apollo Computer DN570 Munkaállomás grafikus vezérlőkártyája a TMS32010-en alapult és másodpercenként 2D vektort volt képes transzformálni.
Változatok
A TMS320 architektúra már több mint 40 éve létezik, így számos termékváltozat alakult ki. A Texas Instruments által használt termékkódok az első TMS32010 processzor után a processzorsorozat tagjainak jelölésére egy „TMS320Cabcd” szerkezetű kódot alkalmaztak, ahol az „a” a fő sorozat, a b a generáció és a cd pedig egy kisebb alváltozatot jelölő egyedi szám.
Emiatt a DSP-kkel foglalkozók gyakran „C5x”-ként rövidítenek egy processzort, mikor annak valódi neve például TMS320C5510, mivel minden termék neve „TMS320”-szal kezdődik, és minden processzor, amelynek a nevében szerepel a „C5” betűszó, kódkompatibilis és ugyanazokkal az alapvető jellemzőkkel rendelkezik. Hasonlóan, egy alcsoportra hivatkozhatunk például C55x-ként, mivel az azonos sorozatban és generációban lévő processzorok még jobban hasonlítanak egymásra.
A TMS320 processzorokat MOS integrált áramköri lapkák alakjában gyártják, NMOS és CMOS technológiájú változatokban is.
Jelölések A TMS előtag azt mutatja, hogy a processzor a gyártásra teljes mértékben készen álló, minősített „éles” eszköz. További lehetséges előtagok a TMX vagy a TMP, amiket a prototípus-változatokra használnak. A 320 után egyszerűen az eszközcsalád kódja következik, kiegészítve a TMS320 MCU családdal.
Legacy sorozat TMS320C1x, első generációs 16 bites fixpontos DSP-k. Minden processzor ezekben a sorozatokban kódkompatibilis a TMS32010-zel. TMS32010, az első külső memóriát használó processzor az 1983-ban bemutatott első sorozatban TMS320M10, ugyanaz a processzor, belső -os ROM-mal TMS320C10, TMS320C15, TMS320C25, stb. TMS320C2x, második generációs 16 bites fixpontos DSP-k. Minden processzor ezekben a sorozatokban objektumkód-kompatibilis a TMS32020-szal és forráskód-kompatibilis a TMS32010-zel. TMS32020, a második sorozat első processzora TMS320C25, -es CMOS verzió, jelentősen továbbfejlesztett funkciókészlettel TMS320C25-50, a TMS320C25 -es verziója TMS320C26, megegyezik a TMS320C25-tel, a 4 K-szavas ROM nélkül TMS320E25, megegyezik a TMS320C25-tel, a 4K szavas, csipen belüli programtárolója ROM helyett EPROM TMS320C3x, 32 bites lebegőpontos DSP, késleltetett elágazási logikát használ, akár három késleltetési réssel. TMS320C30, órajel, belső SRAM, 5 Volt TMS320C31, órajel, belső SRAM, 5 Volt, a TMS320C30 csökkentett változata a 2. soros port és a 2. memóriabusz eltávolításával, felhasználói ROM felváltva gyári ROM bootloaderrel TMS320LC31, , os verziójú TMS320C31 TMS320C32, , belső SRAM, 5 Volt, hozzáadott 2. DMA koprocesszor, megváltoztatja a külső memóriasínt 8/16/32 bit széles memóriahozzáférés lehetővé tételére, míg a többi C3x alkatrész csak 32 bites TMS320VC33, , belső SRAM, bemeneti/kimeneti feszültség, magfeszültség, a TMS320C31 kibővített változata belső SRAM bővítéssel TMS320C4x, 32 bites lebegőpontos. TMS320C40, , ciklusidő 50/40/33/25 ns, CMOS, három elágazási késleltetési réssel, támogat késleltetett és nem késleltetett elágazási utasításokat egyaránt. TMS320C44, a TMS320C40 csökkentett változata TMS320C8x, multiprocesszoros csip. TMS320C80 MVP (multimédiás videóprocesszor), benne egy 32 bit lebegőpontos „mester” processzor és négy 32 bites fixpontos „szolga” processzor.
C2000 sorozat A C2000 mikrovezérlő család 32 bites mikrovezérlőkből áll, integrált perifériákkal valós idejű vezérlő alkalmazásokhoz. A C2000 5 alcsaládból áll: az újabb C28x + ARM Cortex M3 sorozat, a C28x Delfino lebegőpontos sorozat, a C28x Piccolo sorozat, a C28x fixpontos sorozat, és a C240x, egy régebbi 16 bites vonal, amelyet új fejlesztésekhez már nem javasolnak. A C2000 sorozat nagy teljesítményű lapkára integrált vezérlőperifériái miatt jelentős, melyek között PWM, analóg-digitális átalakító (ADC), kvadratúra kódoló és adatrögzítési/mérési modulok találhatók. A sorozat támogatja az I²C, SPI, soros (SCI), CAN, watchdog, McBSP (Multichannel Buffered Serial Port), külső memóriainterfész és GPIO interfészeket. A C2000-es sorozat jól alkalmazható számos valós idejű vezérlőalkalmazáshoz, az olyan funkcióknak köszönhetően, mint a PWM hullámforma szinkronizálása az ADC egységgel. A C2000 családot motorhajtás és -vezérlés, ipari automatizálás, napenergia és egyéb megújuló energiaforrások, szerverfarmok, digitális energiaellátás, power-line communication és világítás területeken alkalmazzák. Speciális alkalmazásokhoz, mint a motorvezérlés, digitális energiaellátás, napenergia, és LED-es világítás, alacsony költségű készletek sorozatában is elérhető.
C5000 sorozat TMS320C54x 16 bites fixpontos DSP, benne 6 fokozatú sorrendi végrehajtású futószalag, párhuzamos betöltés/tárolás az aritmetikai műveletekhez, szorzó-összeadó művelettel rendelkezik és egyéb DSP fejlesztéseket tartalmaz. Belső többportos memória. Nincs gyorsítótár-egysége. Népszerű volt a 2G és GSM szoftveralapú mobiltelefonos rádiók körében; a C54x-et a korai okostelefonokban, többek között a Nokia és Ericsson készülékeiben használták az 1990-es évek vége felé, melyekben multimédiás feldolgozási feladatokat végzett. Annak idején a mobiltelefonok felhasználói felületének javítására irányuló törekvés vezetett az ARM7 általános célú processzorként elfogadásához a felhasználói felület és vezérlés kezelésére, a DSP-t tehermentesítve. Ez vezetett a kétmagos ARM7+C54x DSP létrehozásához, amely később az OMAP termékcsaláddá alakult. TMS320C55x generáció – fixpontos, C54x kódot futtat, de több a belső párhuzamosság (második ALU, kettős MAC, nagyobb memória-sávszélesség) és több regiszter, emellett sokkal alacsonyabb fogyasztású működést támogat. A legtöbb C55x DSP-t különálló csipként forgalmazzák. Az OMAP1 csipek egy ARM9 (ARMv5TEJ) processzort kombinálnak egy C55x sorozatú DSP-vel. Az OMAP2420 csipek egy ARM11 (ARMv6) processzort kombinálnak egy C55x sorozatú DSP-vel.
C6000 sorozat
A TMS320 C6000 sorozat, avagy TMS320C6x: VLIW-alapú DSP-k. TMS320C62x fixpontos – / TMS320C67x lebegőpontos – kódkompatibilis a TMS320C62x-szel TMS320C64x fixpontos – kódkompatibilis a TMS320C62x-szel TMS320C67x+ lebegőpontos – a TMS320C67x architekturális frissítése TMS320C64x+ fixpontos – a TMS320C64x nagyobb architekturális frissítése TMS320C674x fix- és lebegőpontos – a C64x+ és a C67x+ egyesítése TMS320C66x fix- és lebegőpontos – visszafelé kompatibilis a C674x-szel A C6000 sorozatú DSP-ket tartalmazó egyéb alkatrészek a következők: A DaVinci csipek egy vagy két ARM9 processzort és egy C64x+ vagy C674x DSP-t tartalmaznak Az OMAP-L13x csipek egy ARM9 (ARMv5TEJ) processzort és egy fix- és lebegőpontos DSP-t tartalmaznak Az OMAP243x csipek egy ARM11 (ARMv6) processzort kombinálnak egy C64x sorozatú DSP-vel Az OMAP3 csipek egy ARM Cortex-A8 (ARMv7) processzort tartalmaznak egy C64x+ DSP-vel Az OMAP4 és OMAP5 csipek egy ARM Cortex-A9-et vagy A15-öt (ARMv7) tartalmaznak egy egyedi, Tesla (vagy C64T) néven ismert C64x+ származékkal
C7000 sorozat A C7000 sorozat 2020 elején jelent meg, de a magok külön-külön nem kaphatók. 2023 augusztusától csak más SoC-okba csomagolva kaphatók, mint például a TDA4VM, amely egy C71x DSP-t tartalmaz.TDA4VM, TI
DaVinci sorozat A DaVinci sorozat egylapkás rendszerekkel indult, egy beágyazott C6000 sorozatú (C64x+) DSP-t, ARM9 alkalmazásprocesszorokat és digitális média perifériákat felhasználva. Léteznek ARM és DSP nélküli változatok is. A gyártó kifejezetten videófeldolgozási feladatokra ajánlja. Az eredeti csipek támogatták az NTSC és PAL formátumot, míg az újabbak a HDTV-t.
OMAP változatok
Az OMAP változatokban szintén ARM processzor található az eszközben, speciális társprocesszorokkal kiegészítve. Vannak OMAP processzorok egyéb másodlagos processzorokkal is, amelyek nem feltétlenül DSP-k.
DA változatok A DA változatok a „digitális audió”, azaz a digitális hangfeldolgozást célozzák. A DA25x egy ARM processzor és egy C55x mag. Rendelkezik beépített perifériával, például USB slave vezérlővel és biztonsági funkciókkal. A csip dokumentációja csak a Texas Instruments NDA aláírása után érhető el. Ezeket a változatokat kizárólag a Creative ZEN és Dell Digital Jukebox MP3 playerekben alkalmazzák, elsődleges CPU-ként és jelprocesszorként a teljes MP3 adatfolyam feldolgozásához. A TMS320DA7xx Aureus csipek C67x+ DSP-kre épülnek A DA830/DA828 Aureus csipek az OMAP-L137-en alapulnak, és tartalmaznak egy -es C674x DSP-t és egy -es ARM926ES-J magot. A DA828 változat csökkentett be-/kimeneti képességekkel rendelkezik és 176 tűs TQFP tokozásban kerül forgalomba, 256 golyós PBGA helyett. A DA610/601 egy C67x maggal rendelkező processzor. Lapkára integrált perifériákkal rendelkezik, amelyek az 5.1-es vagy 7.1-es rendszerű audiókodekekhez való csatlakozáshoz szükségesek. Ezt a csipet a YAMAHA csúcskategóriás készülékeiben használják (vevőkészülékek, AV-erősítők, házimozi-rendszerek): RX-V1400, RX-V2400, RX-V2500, RX-V1600, RX-V2600.
DM változatok
A DM változatok a digitális média feldolgozására szolgálnak. DM270 – egy ARM7TDMI mag és egy TMS320 C5409 DSP DM320 – egy ARM926 mag és egy TMS320 C5409 DSP DSC25 – egy ARM7TDMI mag és egy TMS320 DSP (MP3/AAC dekóder, mintavételi sebességkonverter, hangerőszabályzó, spektrumanalizátor, equalizer modulokkal) Texas Instruments DaVinci csipek
Egyéb szállítók
A General Instrument második forrásként (second source) gyártotta a TMS32010-et.
1991 körül a ZMD (Zentrum Mikroelektronik Dresden) gyártotta a TMS32020 egy CMOS-változatát, U320C20FC jelöléssel.
A TMS320 sorozat számos eszközét gyártja a voronyezsi NIIET 1867 sorozatnév alatt, beleértve a TMS320C25 egy sugárzástűrő változatát 1867VM7T () jelöléssel. 2009-ben kezdődött a TMS320C546 klónjainak gyártása a mikroáramköröket gyártó moszkvai PKK Milandrnál, 1967VC1T jelöléssel () és 2016-ban az MVC Nyizsnyij Novgorod üzemében, mint 1910VM1T (). A PKK Milandr gyártja még a TMS320C54x-t egy kiegészítő ARM-maggal, 1901VC1T jelöléssel ().
Szoftvertámogatás A TMS320 sorozat C, C++, és/vagy assembly nyelven programozható. A TMS320 processzorok programfejlesztését leginkább a Texas Instruments saját eszközláncával és Code Composer Studio integrált fejlesztői környezetével végzik, mivel ez utóbbi tartalmaz egy mini operációs rendszert is, a DSP/BIOS-t. Ezen kívül a Chemnitzi Műszaki Egyetem egy részlege előzetes támogatást fejlesztett a TMS320C6x sorozathoz a GNU Compiler Collectionben.
2007 novemberében a TI eszköztárának egy részét freewareként (ingyenesen) kiadta a nem kereskedelmi felhasználók számára, a csupasz fordítót, assemblert, optimalizálót és linkert kínálva, saját licenc alatt. Azonban ez sem az IDE-t, sem a hibakereső programot nem tartalmazza, így a hibakereséshez és a DSP-k JTAG-hozzáféréséhez a felhasználóknak továbbra is meg kell vásárolniuk a teljes eszközkészletet.