• Dijital sinyal işleme işlemcileri. DSP - kişisel bilgisayar: olamaz

    Dijital sinyal işlemcileri (DSP), gerçek zamanlı olarak çalışmak üzere tasarlanmış özel bir mikroişlemci teknolojisi türüdür. DSP'nin uygulama alanları:

    Dijital filtreleme sinyaller,

    Optimum işleme, hesaplama korelasyon fonksiyonları,

    Spektral analiz sinyaller,

    Kodlama ve kod çözme bilgileri,

    Konuşma tanıma ve sentezi, müzik sentezi ve işlemesi,

    Görüntü işleme,

    Bilgisayar grafikleri, görüntü sentezi,

    Ölçüm teknolojisi.

    DSP'nin ana ayırt edici özelliği, gerçek zamanlı olarak gerçekleştirilen büyük miktarda hesaplamadır. Bu, DSP'nin aşağıdaki ayırt edici özelliklerini belirler:

    Genişletilmiş bir Harvard mimarisinin kullanımı - komutların alınmasına ve bunların kristalin dahili frekansının bir döngüsünde yürütülmesine izin veren bağımsız veri yollarına sahip ayrı komut ve veri belleği,

    Kısa komutlar, boru hattı cihazlarında uygulanan, DSP'nin RISC mimarisini belirler,

    Kristalin dahili frekansının bir döngüsünde çarpma komutlarını yürüten paralel bir donanım çarpanının zorunlu varlığı,

    Özel sinyal işleme komutlarının varlığı. Örneğin, Texas Instruments'ın TMS320 işlemci ailesinde, örneğe yeni bir sinyal örneği ekleyen, kalan örnekleri bir kez kuantum kaydıran, LTD komutu çarpan kaydına çarpanı yükleyen, sinyal örneklerini kaydıran ve akümülatörün içeriğiyle önceki çarpmanın sonucunu ekleyen bir dmov komutu vardır.

    Geçen yüzyılın 80'li yıllarının başından bu yana gelişme tarihi boyunca, birkaç nesil DSP değişti, ancak başarılı mimari sayesinde modern tasarımdaki önceki nesillerin bir dizi DSP'si üretilmeye devam ediyor. Birinci nesil DSP TMS32010, 1982'de Texas Instruments tarafından geliştirildi. Bu, saniyede 5 milyon talimat (MIPS) performansına sahip 16 bitlik bir mikroişlemcinin dahili RAM'i 144-256 kelime, ROM'u 1.5 - 4K kelime. ALU ve pil 32-bit, donanım çarpanı 16x16 - 32 bit sonucu giriş-çıkış portları vardı.



    İkinci nesil DSP'ler 1980'lerin ortalarında ortaya çıktı. Bu, bir TMS320C25 10 MIPS CMOS mikroişlemcisi olan TMS32020'dir. En ilginç olanı, sırasıyla 10 ve 25 MIPS performansa sahip DSP56000 ve DSP56001 DSP'lerdir. Motorola tarafından geliştirilmiştir. Bunlar yalnızca 24 bitlik DSP'lerdir. Bu mimarinin DSP modifikasyonları hala üretiliyor. DSP56001 mimarisi, Şek. 7.1. İşlemci, genişletilmiş bir Harvard mimarisine sahiptir. X ve Y veri RAM'leri ayrı adres yollarına YA, XA ve veri XD, YD'ye sahiptir. Ek olarak, ayrı bir veri yolu PD'sine sahip olan önyükleme ROM'unu ve program RAM'ini adreslemek için ayrı bir adres yolu PA kullanılır. GD veri yolu, programları ana bilgisayardan senkronize bir seri arabirim aracılığıyla indirmek için kullanılır. Ek olarak GD, programlanabilir bir kesme denetleyicisinden gelen kesintilere hizmet vermek için kullanılır. Anahtarlama üniteleri, bu veri yolları arasında veri ve adres aktarımı yapabilir ve harici veri yolu anahtarlama üniteleri, herhangi bir veri yolunun çipten çıkarılmasına izin verir. Kontrol sinyali üreteci, harici kontrol sinyalleri üretir. Saat üretecine harici bir kuvars bağlanır ve tüm devreyi ölçer.

    Pirinç. 7.1. DSP56001 mimarisi

    X ve Y ROM'ları, dörtlü alım ve işlemeye izin veren sinüs ve kosinüs okumaları içerir. Şu anda, böyle bir DSP en çok ses işleme ve sentezde kullanılmaktadır.

    Üçüncü nesil DSP'ler 80'lerin ve 90'ların başında ortaya çıktı. Bunlar TMS320C30 - TI, DSP96002 - Motorola, DSP32C AT&T Mikroelectronics'dir. Bu işlemcilerin özellikleri 32 bit olmaları, tek bir ALU'da tamsayı ve kayan nokta hesaplamaları yapabilmeleri, genişletilmiş bir Harvard mimarisine sahip olmaları, zamanlayıcıların ve giriş-çıkış portlarının varlığıdır. Bugüne kadar TMS320C30 DSP'nin bir modifikasyonu üretildi - bunlar TMS320VC33-120 ve -150. TMS320VC33-150 performansı Saniyede 150 milyon kayan nokta işlemi (MFLOPS).

    Ana parametreleri:

    İki paralel erişim veri yolu ile RAM 34K 32 bit sözcükler,

    Dahili frekansı çoğaltma imkanı olan saat üreteci,

    32 bit kayan nokta çekirdeği,

    4 harici cihaz örnekleme flaşı,

    kesme denetleyicisi,

    önyükleyici,

    8 adet 40 bitlik kayıt artan doğruluk,

    Bir seri port,

    iki zamanlayıcı,

    doğrudan bellek erişimi (DMA) yardımcı işlemcisi,

    144 pimli LQFP paketi.

    DSP dördüncü jenerasyon 90'larda geliştirildi. Burada, DSP'ler nispeten ucuz 16-bit sabit noktalı DSP'ler ve pahalı yüksek performanslı 32-40-bit kayan noktalı DSP'ler olarak ikiye ayrıldı. Sabit nokta DSP'ler iletişim ekipmanlarında, modemlerde, ses multimedya cihazlarında, sinyal işlemede kullanılmaya başlandı, bu tür DSP'leri geliştiren şirketler arasında Analog Cihazlar ADSP aileleri biliniyor. Kayan noktalı DSP - işleme için geniş bant sinyalleri, resimler, içinde bilgisayar grafikleri. Tipik bir kayan noktalı DSP, TMS320C40 - TI'dir. Bu DSP'nin mimarisi Şekil 1'de gösterilmiştir. 7.2. Bu işlemcinin performansı 275 MIPS'dir. Ana özellik mimarisi, bir yardımcı işlemci ile doğrudan bellek erişimi için bir giriş-çıkış veri yolunun varlığıdır. MIMD mimarisini oluşturan diğer işlemciler ile 0 - 5 iletişim portları üzerinden yüksek hızlı değişim için tasarlanmıştır. Her portta 8 veri biti ve 20 Mbps bant genişliğine sahip 4 eşlik eden sinyal bulunur.


    Pirinç. 7.2. Mimari TMS320C40

    Şek. 7.3, işlemci bağlantı topolojisinin bir varyantını gösterir.

    Pirinç. 7.3. DSP bağlantı topolojisi

    Beşinci ve altıncı nesil DSP'ler 21. yüzyılın başında geliştirildi. Burada, C5000 ve C6000 ailelerinin TI işlemcilerindeki gelişmeleri not etmeliyiz. C5000 ailesi, yüksek hıza ve 0,9 V'luk düşük tüketime sahip düşük maliyetli sabit noktalı DSP'ler ailesiyken, C6000 ailesi, 1200 MFLOPS'a kadar performansa sahip sabit ve kayan noktalı bir DSP'dir. TMS320C55x ailesinin bazı parametreleri:

    Tüketim 0,05 mV/MIPS,

    Performans Çarpma dahil 140 - 800 MIPS,

    Değişken komut uzunluğu 8 - 48 bit,

    2 çoğaltıcı, 2 ALU, 4 pil,

    4 veri kaydı,

    Çeşitli komutlar - her biri 32 bit.

    Şu anda, DSP'ler programlanabilir mantıkla birlikte kullanılmaktadır. DSP ve programlanabilir mantığa dayalı donanım hata ayıklama araçları iki kategoriye ayrılır:

    DSP'de (araçlar) sinyal işleme için makine kodu oluşturmak ve hata ayıklamak için yazılım desteği kod üretimi),

    DSP'yi geliştirilmekte olan cihazın hedef donanımıyla entegre etmek için donanım ve yazılım desteği ve işleme programında gerçek zamanlı olarak donanımla hata ayıklamak için bir araç.

    Bu iki tür hata ayıklama genellikle farklı geliştiriciler tarafından zaman içinde örtüşerek gerçekleştirilir ve bu da donanım tasarlama ve üretme sürecini hızlandırır. Şek. 7.4, DSP ve programlanabilir mantık ile hata ayıklama ekipmanı sürecinin yapısını gösterir.

    Pirinç. 7.4. DSP ve FPGA için ekipman geliştirme süreci

    Bir DSP programında hata ayıklama sürecinde, geri izleme ve program düzeltme meydana gelir, ancak donanımın programlanabilir mantığına gömülü mantığı değiştirmek için geri izleme de gerçekleşir. Böylece, DSP'leri ve FPGA'ları kullanırken hata ayıklama işlemi çok daha esnek hale gelir ve hem yazılımı hem de donanımı değiştirmenize olanak tanır.

    DSP ve programlanabilir mantığa dayalı ekipman geliştirmenin özellikleri nelerdir?

    1. Hem DSP'de hem de programlanabilir mantıkta çeşitli paralel işleme mimarilerinin geliştirilmesi.

    2. Emülatörlere, simülatörlere ve JTAG gibi test arayüzlerine dayalı uygun hata ayıklama araçlarının geliştirilmesi.

    3. Tek çipli DSP ve programlanabilir mantık içinde kombinasyon, örneğin TMS320C54x'te.

    4. C gibi üst düzey diller için derleyicileri optimize etme verimliliğinin, programlarda birleştirici ekleri gerektirmeyen bir düzeye geliştirilmesi.

    5. DSP'ler de dahil olmak üzere çeşitli mikroişlemciler de dahil olmak üzere tek bir çip üzerinde heterojen donanım sistemlerinin geliştirilmesi ve bunların paralel çok işlemcilerle donatılması işletim sistemleri gerçek zamanlı.


    Kaynakça

    1. Süper bilgisayar. Donanım ve yazılım organizasyonu / Ed. S. Fernbach: Per. İngilizceden. - M.: Radyo ve iletişim, 1991.

    2. Hockney R., Jessoup K. Paralel bilgisayarlar. Mimari, programlama ve algoritmalar: Per. English-M.'den: Radyo ve iletişim, 1986.

    3. Kougi PM Konveyör bilgisayarların mimarisi: Per. English-M.'den: Radyo ve iletişim, 1985.

    4. Paralel Hesaplama/ Ed. G. Rodriga: Başına. İngilizce-M'den: Nauka, 1986.

    5. Pukhalsky G.I., Novoseltseva T.Ya. Entegre Devrelerde Ayrık Cihazlar Tasarlamak: Bir El Kitabı. - M.: Radyo ve iletişim, 1990.

    6. Steshenko V.B. ALTERA FPGA: sinyal işleme cihazlarının tasarımı. - E: DODEKA, 2000.

    7. Knyshev D.A. FPGA şirketi " XILINX”: ana ailelerin yapısının açıklaması. - E: DODEKA-XXI, 2001.

    8. Sikarev A.A., Lebedev O.N. Karmaşık sinyallerin oluşumu ve işlenmesi için mikroelektronik cihazlar. - M.: Radyo ve iletişim, 1983.

    Bugün, seksenlerin ortalarında elektronik mühendisleri arasında popüler olan, Sovyet elektroniğinin Batılılardan geri kalma derecesi hakkında konuşmak çoktan unutuldu. Daha sonra elektroniğin gelişme derecesini işlemcilerin geliştirilmesiyle yargıladılar. kişisel bilgisayarlar. "Demir Perde" işini yapıyordu, o zamanlar Sovyet elektroniğinin Batılıların bir veya iki yıl değil, sonsuza kadar gerisinde kaldığını hayal bile edemezdik.

    Elektronik konusunda dünyanın en büyük profesyonel seminerlerine kabul edilmeyen ve KGB'nin keşfettiği sırları bilmeyen sıradan Sovyet mühendisleri, elektroniğin gelişimini on yıl önceki Vremya programına ve Hollywood filmlerine göre değerlendirebiliyorlardı. James Bond'un elektronik cihazlarıyla ilgili heyecandan sonra şu sonuca varıldı: tüm bunlar sinemanın özel efektleri; her şey özel mikroişlemciler üzerinde yaratılmıştır (hangileri üzerinde hiçbir zaman belirtilmemiştir); ve "biz, gerektiğinde ve kimin ihtiyaç duyduğu şeylere ve daha serine sahibiz." Bu tür düşünceli sonuçların ardından, araştırma enstitülerinde yeni bir yaratıcı dürtü ile Sovyet mühendisleri, 155 TTL mikro devrelerinde veya askeri-sanayi kompleksine en yakın 133. seride şaheserler yaratmaya devam ettiler.

    Doksanların ortalarına kadar, özel işlemcilerin tamamen karmaşık ve hayal edilemez bir şey olduğunu ima ettiğimi de itiraf etmeliyim. Ama neyse ki zaman değişti ve tanışma şansı bulduğum ilk özel işlemciler dijital sinyal işlemciler veya sinyal işlemcilerdi (DSP, DSP - Dijital Sinyal İşlemci).

    Sinyal işlemcileri, geleneksel "analog" uygulamalara giderek daha fazla dahil edilen dijital teknolojilerin gelişiminin bir sonucu olarak ortaya çıktı: radyo ve kablolu iletişim, video ve ses ekipmanı, ölçüm ve ev aletleri. Sinyal işleme için özel işlemcilerin yaratılması da tamamen dijital cihazlar gerektiriyordu: modemler, disk sürücüleri, veri işleme sistemleri vb. DSP'leri geleneksel mikroişlemcilerden ayıran temel özellik, dijital sinyal işleme problemlerini çözmek için maksimum uygunluklarıdır. Bunlar, uzmanlığı gerçek zamanlı olarak sinyal dönüştürme ve filtreleme işlemlerini en iyi şekilde gerçekleştirmeye izin verecek bir mimari ve komut sisteminde yatan "uzmanlaşmış" kontrolörlerdir. Sıradan mikrodenetleyicilerin bu tür işlemleri gerçekleştiren komutları vardır veya hiç sağlanmazlar veya çalışmaları çok yavaştır, bu da hız açısından kritik işlemlerde kullanılmalarını imkansız kılar. Bu nedenle, geleneksel mikroişlemcilerin kullanılması, bir yandan, cihazın devre tasarımının haksız bir şekilde karmaşıklaşmasına ve maliyetinin artmasına, diğer yandan, denetleyicinin yeteneklerinin verimsiz, tek taraflı kullanımına yol açmıştır. DSP'ler bu çelişkiyi çözmeye çağrıldılar ve işlerini takdire şayan bir şekilde yaptılar.

    Sinyal işlemciler 80'lerin başında ortaya çıktı. Yaygın olarak bilinen ilk sinyal işlemcisi, 1982'de Texas Instruments tarafından piyasaya sürülen ve 1.2 mikron teknolojisi kullanılarak oluşturulan birkaç MIPS (saniyede milyonlarca talimat) performansıyla piyasaya sürülen TMS32010 DSP idi. Texas Instruments'ın ardından diğer şirketler de DSP üretmeye başladı. Şu anda Texas Instruments, DSP'lerin üretiminde liderdir ve bu denetleyiciler için pazarın yaklaşık yarısına sahiptir. DSP'lerin en büyük ikinci üreticisi, bu cihazların yaklaşık üçte birini üreten Lucent Technologies'dir. İlk dördü tamamlayanlar, yaklaşık olarak eşit pazar payına sahip olan ve tüm DSP'lerin yaklaşık dörtte birini birlikte üreten Analog Devices ve Motorola'dır. Geri kalan üreticiler, aralarında Samsung, Zilog, Atmel ve diğerleri gibi tanınmış şirketler olmasına rağmen, sinyal işlemci pazarının kalan yüzde 5-6'sını oluşturuyor.

    Üreticiler arasında trend belirleyicilerin bu alanda lider şirketler ve her şeyden önce Texas Instruments olduğu açıktır. Sinyal işlemcilerin üretimi ve tanıtımında lider firmaların politikası önemli ölçüde değişmektedir.

    Texas Instruments, işlemcilerin olası tüm uygulamalarını artan performansla kapsayabilen, mümkün olan en geniş yelpazeyi üretmeyi amaçlamaktadır. Şu anda sinyal işlemcilerin performansları 8800 MIPS'e kadar ulaşıyor ve 0.65 mikrondan 0.1 mikrona kadar teknolojide üretiliyorlar. Saat frekansı 1,1 GHz'e ulaşır.

    Lucent Technologies, büyük son ekipman üreticilerine odaklanıyor ve ürünlerini geniş bir reklam kampanyasına başvurmadan bir dağıtım ağı aracılığıyla sunuyor. Şirket, özellikle hücresel iletişim istasyonlarının oluşturulması gibi umut verici bir yönde telekomünikasyon ekipmanı için DSP konusunda uzmanlaşmıştır.

    Analog Devices, aksine, en azından bu şirketin DSP'si SHARK ve Tiger SHARK (köpekbalığı ve kaplan köpekbalığı) adındaki kısaltmanın da gösterdiği gibi, aktif bir pazarlama ve reklam kampanyası yürütüyor. Teknik alanda, bu şirketin işlemcileri güç tüketimi ve çok işlemcili sistemler oluşturmak için optimize edilmiştir.

    Motorola, işlemcilerini geniş dağıtım ağı aracılığıyla dağıtır. DSP mimarisinde Motorola, aynı çip üzerinde hem bir sinyal işlemcisi hem de tek bir sistem olarak çalışan klasik bir mikrodenetleyici yaratma yolunu izleyen ilk kişi oldu, bu da ekipman geliştiricilerin hayatını büyük ölçüde basitleştirerek devre tasarımını basitleştiriyor.

    DSP'lerin mimarisi ve üretim teknolojileri zaten oldukça iyi geliştirilmiştir, ancak, operasyon kararlılığı ve DSP hesaplamalarının doğruluğu için gereklilikler, veri işleyen (özellikle kayan nokta formatında) işlevsel cihazların yüksek karmaşıklığından kurtulmanın mümkün olmamasına yol açar, bu da işlemci üretiminde maliyetleri önemli ölçüde düşürmeye izin vermez. DSP'nin maliyeti, birim başına 2 ila 180 dolar veya daha fazla arasında değişebilir.

    DSP işlemcilerin özellikleri

    Sinyal işlemcileri, yüksek hızlı aritmetik, gerçek zamanlı veri iletimi ve alımı ve çoklu erişimli bellek mimarisi özelliklerine sahiptir.

    Yürütme sürecindeki herhangi bir aritmetik işlem, aşağıdaki temel işlemleri gerektirir: işlenenlerin seçimi; toplama veya çarpma işlemi gerçekleştirin; sonucu kaydedin veya tekrarlayın. Ek olarak, hesaplama işlemi gecikmeler, ardışık bellek hücrelerinden değerlerin alınması ve verilerin bellekten belleğe kopyalanması gerektirir. Sinyal işlemcilerde, aşağıdakiler nedeniyle aritmetik işlemlerin hızında bir artış elde edilir: eylemlerin paralel yürütülmesi, çoklu bellek erişimi (iki işlenenin seçilmesi ve sonucun kaydedilmesi), geçici veri depolama için çok sayıda kaydın varlığı, donanım uygulaması ulaşılabilirlik: gecikmelerin, çarpanların, halka adreslemenin vb. uygulanması Sinyal işlemcileri ayrıca program döngüleri, halka arabellekleri için donanım desteği ve bir komut yürütme döngüsünde bellekten birkaç işleneni aynı anda alma yeteneği uygular.

    DSP'ler ile genel amaçlı mikroişlemciler arasındaki temel avantaj ve fark, işlemcinin gerçek dünyadaki birçok veri kaynağıyla etkileşime girmesidir. İşlemci, dahili matematiksel işlemlerin yürütülmesini kesintiye uğratmadan verileri gerçek zamanlı olarak alabilir ve iletebilir. Bu amaçlar için, analogdan dijitale ve dijitalden analoğa dönüştürücüler, jeneratörler, kod çözücüler ve dış dünya ile doğrudan "iletişim" için diğer cihazlar doğrudan çipin içine yerleştirilmiştir.

    Çoklu erişime sahip belleğin inşası, esas olarak Harvard mimarisi kullanılarak gerçekleştirilir. Harvard mimarisi, aynı anda iki bellek erişimine izin veren, fiziksel olarak ayrılmış iki veri yoluna sahip bir mimariyi ifade eder. Ancak DSP işlemlerini gerçekleştirmek için, özellikle bir komutta iki işlenen kullanılırken bu tek başına yeterli değildir. Bu nedenle, Harvard mimarisine, tekrar kullanılacak talimatları depolamak için bir önbellek eklenmiştir. Önbellek kullanılırken, adres yolu ve veri yolu boş kalır, bu da iki işlenenin getirilmesini mümkün kılar. Böyle bir uzantı - Harvard mimarisi artı önbellek - genişletilmiş Harvard mimarisi veya SHARC (Süper Harvard Mimarisi) olarak adlandırılır.

    DSP568xx ailesindeki DSP'nin belirli özelliklerini ele alacağız motorola, dijital sinyal işlemcilerinin ve evrensel mikro denetleyicilerin özelliklerini birleştiren.

    DSP56800 çekirdeği, gerçek zamanlı dijital sinyal işleme ve bilgi işlem görevleri için tasarlanmış programlanabilir bir 16 bit CMOS işlemcidir ve dört işlevsel birimden oluşur: kontrol, adres oluşturma, ALU, bit işleme. Performansı artırmak için cihazlardaki işlemler paralel olarak gerçekleştirilir. Cihazların her biri bağımsız olarak ve diğer üçü ile aynı anda çalışabilir, çünkü. kendi kayıt kümesine ve kontrol mantığına sahiptir. Çekirdek, birkaç eylemin aynı anda yürütülmesini gerçekleştirir: kontrol cihazı ilk komutu seçer, adres üreteci ikinci talimatın adreslerini üretir ve ALU üçüncü talimatın çarpımını gerçekleştirir. Kombine transferler ve işlemler yaygın olarak kullanılmaktadır.

    Yerleşik bellek şunları içerebilir (aile için):

    60K'ya kadar flash program belleği

    8K'ya kadar flaş verileri

    2K'ya kadar RAM programları

    4K'ya kadar veri RAM'i

    2K Önyükleme Programı Flaşı

    Ailenin mikroçiplerine uygulandı çok sayıdaçevre birimleri: PWM osilatörleri, 12-bit eşzamanlı örnekleme ADC'leri, dördün kod çözücüler, dört kanallı zamanlayıcılar, CAN arayüzü kontrolörleri, iki telli seri iletişim arayüzleri, seri arayüzler, DSP çekirdeğinin saat frekansını oluşturmak için PLL'li programlanabilir bir osilatör vb.

    Genel özellikleri

    80 MHz'de 40 MIPS performansı, 2,7:3,6 V besleme voltajı;

    Tek döngülü paralel 16x16 çarpan toplayıcı;

    Uzatma bitleri dahil olmak üzere iki adet 36 bitlik toplayıcı;

    Tek uçlu 16 bit döngüsel kaydırıcı;

    DO ve REP komutlarının donanım uygulaması;

    Üç dahili 16 bit veri yolu ve üç 16 bit adres yolu;

    Bir adet 16 bit harici arabirim veri yolu;

    Derinlik sınırı olmayan bir altyordamlar ve kesintiler yığını.

    DSP568xx ailesinin yongaları, düşük maliyet gerektiren ve ultra yüksek parametreler gerektirmeyen düşük maliyetli cihazlarda, ev aletlerinde kullanılmak üzere tasarlanmıştır: kablolu ve kablosuz modemler, sistemler kablosuz iletim dijital mesajlaşma, dijital telefon yanıtlama makineleri, dijital kameralar, özel ve çok amaçlı kontrolörler, servo ve AC motor kontrolörleri.

    Genel olarak, sinyal işlemciler, uzay istasyonlarından çocuk oyuncaklarına kadar çeşitli cihazlarda kullanılabilecek kadar gelişme aşamasına geldiler.

    Sinyal işlemcilerin kullanımı ne kadar beklenmedik olabilir, çok uzun zaman önce tam olarak bir oyuncak örneğinde emin olmak zorunda kaldım. Bir keresinde bir arkadaşım bana döndü ve Alman arkadaşlarının kızına verdiği konuşan bir oyuncak bebeği tamir etmemi istedi. Bir arkadaşına göre oyuncak bebek gerçekten harikaydı, elliye kadar cümleyi anladı ve sohbeti "bilinçli olarak" sürdürdü. Almanya'da yüz elli markaya mal oldu, bu da beni ebeveynlerin bir bebeğin kırılmasına çocuklarından daha çok pişman olduğunu düşünmeme neden oldu. Kızı bebeği çok sevdi, özellikle aptal olmadan önce Almanca konuştuğu için. Başarı ümidi olmadan bu bebeğin tamirini üstlendim. Bir dosya ile devrenin doldurulduğu epoksi reçinesini gördüm ve kalın, kalın bir epoksi tabakası altında yarım düzine mikro devre paketi buldum, bunların merkezi DSP56F için DSP idi ... son sayılar maalesef geri alınamaz bir şekilde silindi. Bebeği konuşturmak mümkün değildi ve ona ne kadar zeka kattı sinyal işlemcisi, Ben, ne yazık ki, belirlemedim. Daha sonra tanıdıklarımın en büyük oğlu bebeğin daha yüksek sesle çığlık atmasını sağlamak için önce ona 3 V, 4,5 volt yerine bir voltaj bağladı, bu henüz "öldürücü" değildi ve oyuncak hırıldamasına rağmen çığlık attı ama 220v'den sonra .... Dolayısıyla ilk sonuç yüksek teknoloji iyi, ama her zaman ve her yerde değil. İkinci sonuç da belki yakında mutfak gereçlerinde, ayakkabı ve kıyafetlerde DSP'yi görebileceğiz, en azından bunun önünde teknik bir engel yok.


    27 Haziran 2017, 12:27

    Çok çekirdekli DSP TMS320C6678. İşlemci Mimarisine Genel Bakış

    • Mikrodenetleyici programlama

    Bu makale, TMS320C6678 çok çekirdekli dijital sinyal işlemcilerine ayrılmış bir dizi yayının açılışını yapmaktadır. Makale, işlemci mimarisi hakkında genel bir fikir vermektedir. Makale, Ryazan Devlet Radyo Mühendisliği Üniversitesi'nde düzenlenen "Texas Instruments'tan çok çekirdekli dijital sinyal işlemcileri C66x" programı için ileri eğitim kurslarının bir parçası olarak öğrencilere sunulan dersi ve pratik materyali yansıtmaktadır.

    TMS320C66xx dijital sinyal işlemcileri, KeyStone mimarisine dayalıdır ve hem sabit hem de kayan noktada çalışan yüksek performanslı çok çekirdekli sinyal işlemcileridir. KeyStone mimarisi, Texas Instruments tarafından geliştirilen ve çok sayıda DSP ve RISC tipi çekirdeğin, hızlandırıcının ve çevresel aygıtların Bant genişliği donanım bileşenlerine dayanan dahili ve harici veri aktarım kanalları: Multicore Navigator (dahili arayüzler için veri değişim denetleyicisi), TeraNet (dahili veri aktarım yolu), Multicore Shared Memory Controller (erişim için denetleyici) paylaşılan hafıza) ve HyperLink (ile arayüz harici cihazlarçip içi hızda).

    TMS320C66xx ailesindeki en yüksek performanslı işlemci olan TMS320C6678 işlemcisinin mimarisi Şekil 1'de gösterilmektedir. Mimari aşağıdaki ana bileşenlere ayrılabilir:

    • işletim çekirdekleri seti (CorePack);
    • paylaşılan dahili ve harici bellekle çalışmak için alt sistem (Bellek Alt Sistemi);
    • çevre birimleri;
    • ağ yardımcı işlemcisi (Ağ Yardımcı İşlemcisi);
    • dahili yönlendirme denetleyicisi (Multicore Navigator);
    • servis donanım modülleri ve TeraNet dahili veri yolu.

    Resim 1. Genel mimari işlemci TMS320C6678

    TMS320C6678 işlemci, 1,25 GHz saat frekansında çalışır. İşlemci, sayısı ve bileşimi bağlı olan bir dizi C66x CorePack işletim çekirdeğini temel alır. belirli model işlemci. TMS320C6678 DSP, 8 DSP tipi çekirdek içerir. Çekirdek, temel bir bilgi işlem elemanıdır ve bilgi işlem birimlerini, kayıt kümelerini, bir program makinesini, programı ve veri belleğini içerir. Çekirdeğin parçası olan belleğe yerel bellek denir.

    Yerel belleğe ek olarak, tüm çekirdekler için ortak olan bir bellek vardır - paylaşılan bellek çok çekirdekli işlemci(Çok Çekirdekli Paylaşılan Bellek - MSM). Paylaşılan belleğe, bir arabirim de içeren Bellek Alt Sistemi aracılığıyla erişilir. harici bellekİşlemci ve harici bellek yongaları arasında veri alışverişi için EMIF.

    Ağ yardımcı işlemcisi, bu alan için donanıma özgü veri işleme görevlerini uygulayarak, çeşitli telekomünikasyon cihazlarının bir parçası olarak işlemcinin verimliliğini artırır. Yardımcı işlemci, Packet Accelerator ve Security Accelerator tabanlıdır. İşlemci belirtimi, bu hızlandırıcılar tarafından desteklenen protokol ve standartları listeler.

    Çevre birimleri şunları içerir:

    • Seri RapidIO (SRIO) sürüm 2.1 - hat sayısı (kanal) ile hat başına 5 GBaud'a kadar veri aktarım hızı sağlar - 4'e kadar;
    • PCI Ekspres (PCIe) Gen2 sürümleri - hat sayısı (kanal) ile hat başına 5 GBaud'a kadar veri aktarım hızı sağlar - 2'ye kadar;
    • Köprü Bağlantısı– KeyStone mimarisine göre oluşturulmuş işlemcilerin doğrudan birbirleriyle değiştirilmesine ve çip üzerinde hızda değiş tokuş edilmesine izin veren dahili bir veri yolu arabirimi; veri aktarım hızı - 50 Gbaud'a kadar;
    • Gigabit Ethernet (GbE) aktarım hızları sağlar: 10/100/1000 Mbps ve bir donanım ağ iletişim hızlandırıcısı (ağ yardımcı işlemcisi) tarafından desteklenir;
    • EMIF DDR3– DDR3 harici bellek arabirimi; 8 GB'a kadar adreslenebilir bellek alanı sağlayan 64 bit veri yolu genişliğine sahiptir;
    • EMIF– harici bellek arabirimi genel amaçlı; 16 bit veri yolu genişliğine sahiptir ve 256 MB'ı bağlamak için kullanılabilir NAND Flash veya 16MB NOR Flaş;
    • TSIP (Telekom Seri Portları)– telekomünikasyon seri bağlantı noktası; 8 hatta kadar hat başına 8 Mbps'ye kadar iletim hızları sağlar;
    • UART– evrensel eşzamansız seri bağlantı noktası;
    • I2C– dahili iletişim veri yolu;
    • GPIO– genel amaçlı G/Ç – 16 pin;
    • SPI– evrensel seri arayüz;
    • Zamanlayıcılar– periyodik olaylar oluşturmak için kullanılır.
    Servis donanım modülleri şunları içerir:
    • hata ayıklama ve izleme modülü (Debug and Trace)– hata ayıklama araçlarının çalışan bir işlemcinin dahili kaynaklarına erişmesine izin verir;
    • önyükleme ROM'u (önyükleme ROM'u) - önyükleme programını saklar;
    • donanım semaforu- kuruluşun donanım desteği için hizmet vermektedir paylaşım paralel süreçler paylaşılan kaynaklar işlemci;
    • güç yönetimi modülü- işlemcinin tam kapasiteyle çalışmadığı zamanlarda güç tüketimini en aza indirmek için işlemci bileşenlerinin güç modlarının dinamik kontrolünü uygular;
    • PLL– harici referans saat sinyalinden işlemcinin dahili saat frekanslarını oluşturur;
    • doğrudan bellek erişimi (EDMA) denetleyicisi– DSP'nin çalışan çekirdeklerini boşaltarak ve Multicore Navigator'a alternatif olarak veri aktarım sürecini yönetir.
    Dahili yönlendirme denetleyicisi (Multicore Navigator), güçlü ve verimli bir donanım modülü, çeşitli işlemci bileşenleri arasındaki veri aktarımlarını karara bağlamaktan sorumludur. Çip üzerinde çok çekirdekli sistemler TMS320C66xx çok karmaşık aygıtlardır ve böyle bir aygıtın tüm bileşenleri arasındaki bilgi alışverişini düzenlemek için özel bir donanım birimi gerekir. Multicore Navigator, çekirdeklerin, çevre birimlerinin, ana cihazların veri alışverişinin kontrolünü ele geçirmemesine izin verir. Bir işlemci bileşeninin başka bir bileşene bir dizi veri göndermesi gerektiğinde, denetleyiciye neyi nereye göndereceğini basitçe söyler. Transferin kendisi ve gönderici ile alıcının senkronizasyonu için tüm işlevler Multicore Navigator tarafından üstlenilir.

    Çok çekirdekli işlemci TMS320C66xx'in, işlemcinin tüm çok sayıda bileşeni arasında yüksek hızlı veri alışverişi konumundan ve aynı zamanda işleyişinin temeli harici modüller, dahili bir TeraNet veri yolu olarak hizmet verir.

    Bir sonraki makalede, C66x işletim çekirdeğinin mimarisi ayrıntılı olarak ele alınacaktır.

    1. Çok Çekirdekli Programlama Kılavuzu / SPRAB27B - Ağustos 2012;
    2. TMS320C6678 Çok Çekirdekli Sabit ve Kayan Noktalı Dijital Sinyal İşlemci Veri Kılavuzu / SPRS691C - Şubat 2012.

    Mikroişlemciler, bir programın kontrolü altındaki bir bilgi işlem biriminin çeşitli eylemleri gerçekleştirebildiği evrensel dijital mikro devrelerdir. Sonuç olarak, tüm mikroişlemciler, uygulanan algoritmanın karmaşıklığı için maksimum performanslarının değiştirilmesine izin verir. Mikroişlemcilerin sınıflandırmadaki yeri dijital cihazlarŞekil 1'de gösterilmiştir.


    Şekil 1. Mikroişlemcilerin sınıflandırılması

    Bununla birlikte, mikroişlemcilere dayalı dijital cihazlar oluşturulurken, çözülmekte olan sorunun özellikleri, belirli bir mikroişlemci sınıfının mimarisine eklenir. Sinyal işlemede çözülmesi gereken ana görevleri göz önünde bulundurun (devrenin analog veya dijital uygulamasından bağımsız olarak):

    1. birkaç sinyalin toplamı;
    2. sinyal spektrum transferi;
    3. sinyal filtreleme;
    4. sinyal spektrumu hesaplaması (hızlı Fourier dönüşümü);
    5. hata düzeltme kodlaması (analog iletişim sistemleri için gürültü bastırma);
    6. personel (sadece dijital sistemler bağlantılar)
    7. sinyal karıştırma (sıfırları ve birleri iletme olasılığının aynı olması)

    Listelenen dijital sinyal işleme türlerinin son üçü düşük bir frekansta gerçekleştirilir, bu nedenle bunların uygulanması genellikle işlemci performansının küçük bir bölümünü gerektirir. Yüksek frekanslı sinyalleri işlerken en yüksek performans gereklidir. Bu, bitişik sinyal örnekleri arasındaki kısa süreden kaynaklanmaktadır. Aynı süre için gereken süre büyük miktar basit işlemler.

    Şimdi ilk iki sorunu ele alalım. ile, işlemi gerçekleştirmek için bir ikili toplama talimatı gereklidir. Spektrum aktarım işlemi Giriş sinyali belirli bir frekansa çevirmek, çarpma işlemini ve sinüzoidal fonksiyonun bir sonraki okumasını oluşturma işlemini gerektirir. Bu demektir bu operasyonönceki sinyal işleme işleminden daha fazla işlemci performansı gerektirecektir. Şimdi toplama işlemi ile çarpma işlemini karşılaştıralım. İki sayıyı çarparken, birkaç kısmi ürünü hesaplamanız ve toplamanız gerekir. işlemcinin bir makine döngüsünde çarpma işlemini gerçekleştirmenize izin verir, bu nedenle Bir donanım çarpanının varlığı, sinyal işlemcilerinin ayrılmaz bir özelliğidir.

    Şimdi sinyal filtreleme işlemini inceleyelim. Zaman alanında frekans filtreleri uygularken, bir evrişim işlemi gerçekleştirmeniz gerekir. Tipik şema dijital filtreŞekil 2'de gösterilmiştir.



    Şekil 2. Tipik dijital filtre devresi

    Şekil, algoritmanın özdeş bölümlerinin bir dizisini açıkça göstermektedir. Dijital sinyal sayısını filtre katsayısı ile tekrar tekrar çarpmanız ve sonucu bir önceki toplamla toplamanız gerekir. Bu durumda, toplayıcının böyle bir özelliğinin büyük bir kapasite olarak not edilmesi gerekir. 16 bitlik bir sinyal işlemcisi için çarpanın çıkışındaki sayı kapasitesi otuz iki bit olacaktır. Birkaç sayı toplanırken, sonucun kelime uzunluğu da artar. 256 aynı sayıyı toplarken, sonucun değeri 256 kat artacaktır, bu da sayının kapasitesinde sekiz basamaklık bir artışa karşılık gelir (2 8 \u003d 256). Dolayısıyla 16 bitlik bir sinyal işlemcide toplayıcının kapasitesi kırk bit (32+8=40) olacaktır.

    Sonuç olarak, sinyal işlemci için bir gereksinim daha oluşturduk. Sinyal işlemcisi sadece bir donanım çarpanı değil, aynı zamanda bir veri çarpanı toplayıcı (MAC) içermelidir. Ayrıca çarpma-biriktirme işlemi mikroişlemcinin bir makine çevriminde gerçekleştirilmelidir. Çarpma-biriktirme işleminin ayrılmaz parça sadece bir filtreleme algoritması değil, aynı zamanda (temel "kelebek" algoritmasının yarısı)

    Şimdi sinyal işlemcisinin hızını arttırmanın başka bir yönteminden bahsedelim. İÇİNDE geleneksel işlemci işlemci işletim biriminin tek veri yolu yapısı kullanılır. Sinyal işlemcisi en az . Bu, bir aritmetik mantık biriminin veya bir çarpan toplayıcının girişine aynı anda iki işlenen uygulamanıza ve sonucu rastgele erişimli bir belleğe yazmanıza olanak tanır.

    Mikroişlemcilerin bir diğer önemli özelliği, programın döngüsel yürütülmesini düzenleme yöntemidir (bir dijital filtre uygularken MAC çarpma-biriktirme işlemi veya hızlı bir Fourier dönüşümü uygularken "kelebek" işlemi belirli sayıda tekrarlanmalıdır). Bir bilgi işlem mikroişlemcisinde, döngüyü düzenlemek için özel bir değişken kullanılır - döngü parametresi. Döngünün sonunda, bu değişken ile karşılaştırılır. set değeri(genellikle sıfır ile) ve döngünün başına atlayın. Sonuç olarak, filtreleme algoritması şöyle görünecektir:

    1. Filtre gecikme satırının bir sonraki hücresinin adresini oluştur
    2. Filtre gecikme satırından giriş sinyalinin bir sonraki örneğini okuyun
    3. Bir sonraki filtre katsayısının adresini oluştur
    4. Sonraki filtre katsayısını oku
    5. Gecikme hattından alınan giriş sinyali örneğini filtre faktörü ile çarpın (çoğunlukla birkaç makine döngüsünde)
    6. Halihazırda birikmiş toplamla sonucu toplayın (filtre çıkışında bir sonraki sinyal sayısını oluşturun)
    7. Döngü parametresi değişkeninin değerini değiştirin
    8. Alınan değeri verilen değerle karşılaştırın
    9. Döngünün başına gidin veya döngüden çıkın (genellikle bu, birkaç makine döngüsü gerektiren uzun bir prosedürdür)

    Sinyal işlemcilerde döngünün organizasyonu ve katsayı ve filtre sayımının bir sonraki adresinin oluşturulması donanımda gerçekleştirildiği için ek süre gerektirmez. Tüm bu özellikler, sinyal işlemcisinin hızını, saat frekansını artırmadan artırmayı mümkün kılar, sonuç olarak, sinyal işleme işlemlerini gerçekleştirirken sinyal işlemcisinin algoritmik hızı, bir bilgisayar mikroişlemcisinin hızından birçok kez daha fazladır. Sinyal işlemcinin ayırt edici özelliklerini listeliyoruz:

    1. 40 bitlik bir toplayıcı ve akümülatöre sahip bir MAC depolama pilinin kullanılabilirliği
    2. Bir donanım numarası değiştiricinin varlığı
    3. Döngünün bir donanım organizasyonunun varlığı
    4. İki adres üreticisinin varlığı
    5. Mikroişlemci işletim biriminin üç veriyolu yapısı

    Edebiyat:

    "Sinyal işlemcilerin özellikleri" makalesiyle birlikte şunları okurlar:

    başlangıca

    Dijital sinyal işlemcileri (Ders)

    DERS PLANI

    1. Dijital sinyal işlemenin genel yapısı

    2. Dijital sinyal işlemcilerin yapısı

    3. Dijital sinyal işlemcilerinin ana göstergeleri

    4. Sinyal işlemcilerinin ana üreticileri

    5. Donanım uygulaması

    1. Genel yapı dijital sinyal işleme

    Dijital sinyal işlemcileri (DSP) veya eşdeğer adları - dijital sinyal işlemcileri (DSP veya basitçe sinyal işlemcileri), İngilizce kısaltması - DSP (Dijital Sinyal İşlemcisi), dijital sinyal işleme algoritmalarını (DSP) ve gerçek zamanlı kontrol sistemlerini uygulamak için tasarlanmıştır.

    Analog sinyallerin dijital işlenmesi için şema.

    Kodlayıcı, işlenen analog sinyale karşılık gelen bir dizi sayı üretir.

    Alınan sinyaldeki kod çözücü üretir analog sinyal yani kodlayıcıda gerçekleşenlerin tersi olan dönüşümler gerçekleştirir.

    Sistemin girişi sınırlı süreli x (t) bir sinyal alır. Sinyalin sınırlı süresi nedeniyle, spektrumu sonsuzdur.

    Analogdan dijitale dönüştürme iki aşamada gerçekleştirilir: zaman örneklemesi ve seviye niceleme.

    Örnekleme x (t) sinyalinin anlık değerlerini düzenli aralıklarla T almak için bir prosedürdür. Anlık değerler x ( N T) numuneler olarak adlandırılır, T zamanı numune alma periyodunu ve n, seri numarası referans. Ne kadar sık ​​numune alırsanız, numune alma periyodu T o kadar kısa, numune dizisi x ( x) o kadar doğru olur N T) orijinal x(t) sinyalini temsil edecektir.

    Örnekleme periyodu T, örnekleme oranını belirler:

    f d=; T =

    Formüllerden, T ne kadar küçükse örnekleme frekansının o kadar yüksek olduğu görülebilir. F e ve örnekleme oranı ne kadar yüksek olursa, hesap makinesinin numuneler üzerinde işlenmek üzere alınma oranlarında çok sayıda işlem gerçekleştirmesi o kadar zor olur ve cihazın o kadar karmaşık olması gerekir. Bu nedenle, sinyal temsilinin doğruluğu, artan fd'yi gerektirir ve hesap makinesini mümkün olduğu kadar basit hale getirme arzusu, fd'yi düşürme arzusuna yol açar.

    Bununla birlikte, f d'nin minimum değerinde bir sınırlama vardır: x () örneklerinden sinyali tamamen geri yüklemek için N T) örnekleme frekansı fd'nin, iletilen sinyal x(t) spektrumundaki en yüksek F frekansının en az iki katı olması gerekir.

    f d 2F girişi; T ≤

    Sonsuz bir spektrum için, F → ∞ olduğunda ayrıklaştırmanın imkansız olduğu sonucu çıkar.

    Bununla birlikte, herhangi bir nihai sinyalin spektrumunda, bazılarından başlayarak, daha yüksek bileşenler vardır. üst frekans F c, küçük genliklere sahiptir ve bu nedenle, sinyalin kendisinde gözle görülür bir bozulma olmadan ihmal edilebilirler. Anlam F c, belirli sinyal türü ve çözülmekte olan problem tarafından belirlenir. Örneğin: standart bir telefon sinyali için f in = 3,4 kHz, asgari standartörnekleme frekansı f d = 8 kHz. Spektrumun frekansla sınırlandırılması F = F bir alçak geçiren filtre LPF tarafından gerçekleştirilir.

    Seviyelere göre örnek niceleme (niceleme)- bir sayı dizisi oluşturmak için gerçekleştirilir: numunelerin değerindeki tüm değişiklik aralığı, bir dizi ayrı seviyeye bölünür ve her numuneye, belirli bir kurala göre, bu numunenin aralarında bulunduğu en yakın iki niceleme seviyesinden birinin değeri atanır. Sonuç, bir sayı dizisidir x ( N T) \u003d x (n), ikili kodla temsil edilir. Seviye sayısı ADC'nin kapasitesine göre belirlenir. Örneğin: ADC bit derinliği = 3 ise, toplamda k = 2 · 3 = 8 niceleme düzeyine sahip olabilirsiniz ve minimum okuma değeri 0 (000) olur ve maksimum değer referans 7'dir (111). Kuantize edilmiş örneğin x örneğinden farklı olduğu açıktır ( N T). Bu fark niceleme hatası ile ifade edilir:

    ,

    ne kadar büyükse, ADC'nin bit derinliği o kadar küçüktür.

    ADC'den sonra x dizisi ( N T) \u003d x (n), belirli bir algoritmaya göre, her x (n) örneğinin çıktı örneğini y (n T) \u003d y (n) bire bir yazışmaya koyan sinyal işlemcisine (SP) gider.

    Bir örneği elde etmek için yapılan işlem sayısı (çarpma, ekleme, vb.) binlerce olabilir, bu nedenle sinyal işlemcinin, bir sonraki örnek x (n) gelmeden önce gerekli tüm eylemleri gerçekleştirmek için zamana sahip olması için daha yüksek bir F g frekansında çalışması gerekir, yani algoritma ne kadar karmaşık olursa olsun, işlem süresi T ln örnekleme periyodunu T geçmemelidir :

    t şeridi≤T

    Ancak bu, yalnızca saat frekansı f T hesap makinesi, örnekleme sıklığını önemli ölçüde aşıyor F D :

    f d << f T

    Bu koşullar altında, hesap makinesi gerçek zamanlı olarak, yani giriş örneklerinin alınma hızında çalışabilir.

    Sinyal işlemcisinden alınan çıkış örnekleri, DAC'a ve ardından bunları bir analog sürekli sinyale (y) dönüştüren bir düşük geçiş yumuşatma filtresine beslenir.

    Sinyal işlemcilerin ana görevleri (algoritmalar):

    1.)Dijital filtreleme

    Dijital filtreleme, frekans seçimidir, yani bazı frekanslar geçirilir, bazıları geçirilmez. Dijital filtrelemenin arkasında Z-dönüşümü, evrişim vardır.

    2.) spektroskopi

    Spektroskopi, sinyaldeki sinyalin tüm frekans bileşenlerini vurgulamadan veya bozmadan bulmanızı sağlayan bir dizi dijital sinyal işleme yöntemidir. Burada DFT (Ayrık Fourier Dönüşümü) ve FFT (Hızlı Fourier Dönüşümü) gerçekleştirilir.

    3.) Sinyal tanımlama

    Sinyal tanımlama, bunun bir sinyal olduğundan ve parazit olmadığından emin olmak için frekansların ve parazitlerin arka planından sinyallerin ayrılmasıdır. İşte bir korelasyon analizi.

    Korelasyon, iki özelliğin eşleşme derecesidir.

    4.) modülasyon ve demodülasyon.

    Modülasyon ve demodülasyonun arkasında bir donanımsal, matematiksel Hilbert dönüşümü vardır.

    Örnek: genlik modülasyonlu sinyalin yan bantlarından birinin çıkarılmasıyla elde edilen tek yan bantlı bir sinyalin demodülasyonu. Demodülasyonun sonucu düşük frekanslı bir sinyaldir. mektup dar bant sinyali demodüle edilmiş sinyal x (n) karmaşık bir biçimde temsil edilebilir:

    ;;, Nerede

    hayali sinyal;

    X ( n) gerçek bir sinyaldir;

    S( n ), x (n ) sinyalinin zarfıdır.

    Formüllerden x (n) 'nin birbirine göre karesel olduğu, yani fazlarının farklı olduğu görülebilir. π /2. Bu nedenle, bir faz değiştiriciye sahip olmak gereklidir. π /2. Bu tür sinyallere Hilbert eşleniği denir ve bir çift eşlenik sinyal üreten cihaza, x (n) sinyalinin s (n) zarfının hesaplanmasını düzenlemenizi sağlayan bir dijital Hilbert dönüştürücü (DCT) denir.

    5) Sıkıştırma, germe, spektrum transferi

    Spektrumun sıkıştırılması, gerilmesi, aktarılması aynı Hilbert dönüşümüdür. Modülasyon ve demodülasyonun modifikasyonlarından biri olarak kabul edilir.

    Dijital sinyal işleme algoritmalarının hesaplamaları forma indirgenmiştir gerçek zamanda, operasyonların yürütme süresi tamamen tahmin edilebilir olduğunda:

    , burada n = 0, 1, 2, … , N -1

    X ( n ) – etki okumaları;

    sen ( n) reaksiyon okumalarıdır;

    b için - dijital filtrelerin özelliklerini tamamen belirleyen gerçek katsayılar;

    X ( n -k) - k örnekleme periyodu T kadar gecikmeli maruz kalma okumaları .

    Bu ifadeyle açıklanan filtreye özyinelemesiz veya FIR filtresi (sonlu dürtü yanıtlı filtre) denir.

    Örnek : Hiç değil, belirli bir süre içinde numune alınması gerekir. Örnekleme frekansına izin verin F q = 48 kHz (50 kHz'e yuvarlanır). 20 mikrosaniye örnekleme yapmak gereklidir. N = 5 alalım ve formülü yazalım:

    y 0 = b 0 x ( 0 - 0) + b 1 x (0 - 1) + b 2 x (0 - 2) + b 3 x (0 - 3) + b 4 x (0 - 4) = b 0 x 0 + b 1 x - 1 + b 2 x - 2 + b 3 x - 3 + b 4 x - 4

    1 = b 0 x ( 1 - 0) + b 1 x (1 - 1) + b 2 x (1 - 2) + b 3 x (1 - 3) + b 4 x (1 - 4) = b 0 x 1 + b 1 x 0 + b 2 x - 1 + b 3 x - 2 + b 4 x - 3

    y2 = b 0 x ( 2 - 0) + b 1 x (2 - 1) + b 2 x (2 - 2) + b 3 x (2 - 3) + b 4 x (2 - 4) = b 0 x 2 + b 1 x 1 + b 2 x 0 + b 3 x - 1 + b 4 x - 2

    y3 = b 0 x ( 3 - 0) + b 1 x (3 - 1) + b 2 x (3 - 2) + b 3 x (3 - 3) + b 4 x (3 - 4) = b 0 x 3 + b 1 x 2 + b 2 x 1 + b 3 x 0 + b 4 x - 1

    4 = b 0 x ( 4 - 0) + b 1 x (4 - 1) + b 2 x (4 - 2) + b 3 x (4 - 3) + b 4 x (4 - 4) = b 0 x 4 + b 1 x 3 + b 2 x 2 + b 3 x 1 + b 4 x 0

    y 5 = y 0 olarak yazılır.

    Not: x 0, belirli bir zamanda ADC okumasının okunmasıdır. ADC okuma sayısının eksi işareti varsa, bu sayının bir önceki sayı olduğu anlamına gelir. y 0'ı hesaplamak için mevcut ADC okumasını ve önceki dört okumayı kullanmanız gerekir ve y 1'i hesaplamak için x 1'i ve önceki dört okumayı vb. kullanmanız gerekir.

    2. Dijital sinyal işlemcilerin yapısı

    Dijital sinyal işlemenin temel işlemi, çarpma işlemi ve çarpma sonucunun toplanmasıdır (toplanması). Kombine toplama ve çarpma aygıtına genellikle anımsatıcılar tarafından yapılan açıklamalarda atıfta bulunulur. MAC (Çarpan-Toplayıcı Kombinasyonu) Yüksek performans ile çalışabilmesi için işlemcinin MAC işlemini işlemcinin bir çevriminde (saatinde) gerçekleştirmesi gerekmektedir. Bu, yazılımda değil, donanımda yapılmalıdır. Sinyal örnekleri, filtre katsayıları ve program komutları hafızada saklanır. İşlemi gerçekleştirmek için, bellekten üç örnek yapılması gerekir - talimat ve iki faktör. Bu nedenle, yüksek performanslı çalışma için, bu üç numunenin bir işlemci döngüsünde alınması gerekir. Bu, işlemin sonucunun işlemi gerçekleştirmek için cihazda (merkezi işlem biriminde) kaldığı ve belleğe yerleştirilmediği anlamına gelir. Daha genel bir durumda, sonucu belleğe yazma işlemi de gereklidir, yani. döngü başına dört bellek erişimi gereklidir. Bu nedenle, işlemci performansı, öncelikle merkezi işlem birimi ile işlemci belleği arasındaki veri alışverişi olanakları ve bunların etkileşiminin organizasyonu tarafından belirlenir.

    Dijital sinyal işlemcileri sahip olmalıdır Harvard mimarisi ayrı veri ve komut veri yollarıyla. Bu sayede, çeşitli bellek cihazlarına, yani erişim işlemlerini aynı anda gerçekleştirmek mümkün olacaktır. eşzamanlı olarak program hafızasından bir komut ve veri hafızasından bir çarpan seçin. Veri belleği iki bölümden oluşmalıdır (geleneksel olarak bunlara x bellek ve y bellek denir). Örneğin, sinyal örneklerini saklamak için x hafızası kullanılır ve katsayıları saklamak için y hafızası kullanılır.


    Böylece Motorola işlemcilerde bir döngüde iki işlenen getirme işlemi yapabilmek için bağımsız bellek modüllerinin sayısı ve veri iletimi için veri yolu sayısı arttırılmıştır. İşlemciler, döngü başına üç örnek ve karşılık gelen veri yolu sayısı için üç bellek bankasına (modül) sahiptir. Yeterli dahili bellek yoksa performans sorunları oluşabilir. Harici veri yollarında saat başına yalnızca bir bellek erişimi gerçekleştirilebilir.

    Dijital sinyal işlemcileri özel kullanır adres üreten cihazlar (UGA), veri belleğinden alınan verilerin adreslerini oluşturur. UGA'lar diğer modüllerle paralel olarak çalışır ve ALU'da işlemlerin yürütülmesiyle eş zamanlı olarak bir sonraki komut için işlenenlerin adreslerinin hesaplanmasına izin verir.

    Döngüsel süreçler, yani tek komutların ve bunların bloklarının tekrarı sayısal sinyal işleme algoritmaları arasında önemli bir yer tutar. Döngülerin programlı bir şekilde olağan organizasyonu, döngülerin "gövdesinin" her geçişinde gerçekleştirilmesi gereken döngülerin sonu için koşulları oluşturmak ve kontrol etmek için komutların kullanılmasını gerektirir. Bu komutların yürütülmesi zaman alır. Bu nedenle olmalı donanım döngüsü sayacı. DSP, düzenleme (sonlandırma koşullarını kontrol etme) için "sıfır kayıp" zaman ile döngüleri düzenlemenize izin veren cihazlar kullanır.

    Motorola işlemcileri, döngü kayıtlarının (LC ve LA) başında ve sonunda çalışan DO döngü talimatını kullanır.

    Harvard mimarisi otomatik olarak çok aşamalı bir ardışık düzen açar (3 ila 11 ardışık düzen aşaması). Temel versiyonda: konveyörün üç aşaması.

    Temel varyant: Motorola DSP'si 56 000 = 560 = 56K, burada K = 000


    Sayı İşlemcisi

    dizi bu dizi


    3. Dijital sinyal işlemcilerinin ana göstergeleri

    1.) Verilerin sunulma şekli.

    Bu göstergeye göre, tüm dijital sinyal işlemcileri aşağıdakilere ayrılmıştır:

    1.1. Sabit Nokta İşlemcileri (FZ) veya Sabit Nokta İşlemcileri (FT).

    1.2. Kayan nokta işlemcileri (FP) veya kayan nokta işlemcileri (PT).

    Sabit nokta işlemcileri veya sabit nokta işlemcileri en yaygın olanlarıdır - tüm telefonlarda bulunurlar.

    Kayan noktalı işlemcilerde, veriler mantis veya üs olarak temsil edilir. Kayan noktalı işlemciler çok daha karmaşık ve en pahalıdır (birkaç yüz dolar).

    2.) Veri temsilinin bit derinliği.

    Sabit noktalı işlemciler için bit genişliği 16 (çoğu sinyal işlemcisi için) veya 24'tür (Motorola için).

    Kayan noktalı işlemciler için bit derinliği 32'dir (üs 8 bit, mantis 23 bit ve işaret 1 bit ile temsil edilir).

    Kayan noktalı işlemciler, işareti dikkate alarak geniş bir sayı temsil aralığına sahiptir (mantisi atıyoruz): 2 −128'den 2 127'ye.

    Menzil sayıların temsili, belirtilen format ve kodda temsil edilen minimum ve maksimum izin verilen değerler arasındaki sınırları belirler.

    Dinamik Aralık (DD):

    DD = |maks değer |/ |min değer ≠ 0 |

    Desibel cinsinden dinamik aralık:

    20 lg( DD) = 20 lg(| maksimum değer | / | min değer ≠ 0 |)

    İşlemcilerin bozulma olmadan çalışabilecekleri dinamik sinyal aralığı, sabit noktalı işlemciler için çok daha dardır (birkaç büyüklük sırasına göre). Nispeten basit işleme algoritmalarında bu önemli olmayabilir, çünkü Gerçek giriş sinyallerinin dinamik aralığı genellikle DSP'nin izin verdiğinden daha azdır, ancak bazı durumlarda program yürütme sırasında taşma hataları meydana gelebilir. Bu, analog devrelerdeki kırpmadan kaynaklanan bozulmaya benzer şekilde, çıkış sinyalinin temelde kaçınılmaz doğrusal olmayan bozulmasına yol açar.

    3) Performans

    En yaygın geliştirici hatalarından biri, çoğu durumda yanlış olan saat frekansı ve performansının belirlenmesidir. Çok sık olarak, DSP'nin hızı MIPS (saniyede milyonlarca talimat) cinsinden belirtilir. Bu en kolay ölçülen parametredir. Normal işlemcilerin performansı birkaç on MIPS'dir.

    Ancak, farklı DSP'lerin hızlarını karşılaştırma sorunu, işlemcilerin

    farklı komut sistemlerine sahiptir ve farklı işlemciler, aynı algoritmayı yürütmek için bu talimatların farklı sayılarını gerektirir. Ek olarak, bazen tek bir işlemci, farklı talimatları yürütmek için farklı sayıda saat döngüsü gerektirir. Sonuç olarak, 1000 MIPS hızına sahip bir işlemci, özellikle farklı bit derinliklerinde, 300 MIPS hızına sahip bir işlemciden birkaç kat daha yavaş olabilir.

    Bu sorunun bir çözümü, işlemcileri yürütme hızına göre karşılaştırmaktır.

    çarpma-biriktirme (MAC) işlemi gibi belirli işlemler. Hız

    bu tür işlemleri gerçekleştirmek, dijital kullanan algoritmalar için kritik öneme sahiptir.

    filtreleme, korelasyon ve Fourier dönüşümleri. Ne yazık ki, bu tahmin aynı zamanda

    işlemcinin gerçek hızı hakkında tam bilgi verir.

    En doğru olanı, belirli algoritmaların yürütme hızının tahminidir -

    örneğin FIR ve IIR filtreleme, ancak bu, uygun programların geliştirilmesini ve test sonuçlarının dikkatli bir şekilde analiz edilmesini gerektirir.

    Hız da dahil olmak üzere temel özellikler açısından işlemcilerin analizi ve karşılaştırılması ile ilgilenen şirketler var. Bu tür şirketler arasında lider BDTI'dir (Berkeley Design Technology, Inc).

    4. Sinyal işlemcilerinin ana üreticileri

    1.) Texas Instruments (TI ) DSP pazarının yaklaşık %48'ini kaplar. Serbest bırakan oydu 1982 . ticari olarak başarılı olan ilk DSP. TMS32010 DSP, Speak and Spell oyununda ve ayrıca Julie adlı konuşan bir oyuncak bebekte kullanıldı. Tüm Texas Instruments dijital sinyal işlemcileri şu markaya sahiptir: TMS3200xxx.

    2.) Firma Analog Cihazlar (AD). Tüm Analog Cihaz DSP'leri şu markaya sahiptir: ADSP21 xxx.

    3.) Motorola şirketi. Seri: DSP560xx

    DSP 561xx Sabit nokta işlemcileri.

    DSP563xx

    DSP566xx

    DSP568xx

    Firma Bilgisi eskiden sinyal işlemcilerinin ilk üç üreticisinden biriydi, ancak şimdi bir kenara itildi.

    Sinyal işlemciler de yabancı muadillerine göre biraz daha düşük olsalar da ülkemizde üretiliyor, ancak varlar. Örneğin: şu anda, Elektronik Teknolojisi Araştırma Enstitüsü (NIIET) 16 bit sabit noktalı DSP işlemcileri M1867VM'yi toplu olarak üretiyor. X 5 MIPS performansı ile.

    5. Donanım uygulaması


    Dijital sinyal işlemcisi iki kısma ayrılır: bir işletim birimi ve bir kontrol birimi.

    İşletim bloğu

    İşlem kontrol bloğu.

    kayıtları girmek için x0, x1, y0, y1 veriler bellekten alınır ve ayrı ayrı veya çiftler halinde kullanılabilen MAC veya ALU'ya iletilir. Çift uzunlukta veri kullanmak istiyorsanız, kural olarak 16 bit kullanın. Akümülatör A veya B'den yapılan işlemin sonucu, kaydırıcı çıkışı aracılığıyla veri belleğine aktarılır.

    MAC ve ALU arasında yük paylaşımı: Temel sürümde 62 komut, bunlardan 61 - ALU ve 1 - MAC.

    MAC, diğer tüm komutlardan 1000 kat daha sık yürütülür ve performansın hızını belirleyen odur.

    Pirinç. MAC Blok Şeması

    MAC bloğunda, çarpmadan sonra ilk toplama sıfır ile gerçekleşir ve ardından her çarpmadan sonra toplayıcının her değeri ile toplama gerçekleşir. Her zaman iki veya daha fazla pil vardır.

    Değiştirici, ek komutlar kullanmadan işlenenleri aktarırken ve yüklerken kaydırma yapmanızı sağlar.

    Motorola işlemcilerde (Motorola DSP 560xx'in temel sürümünde) kelime uzunluğu 24 ise, genişletilmiş kelimenin uzunluğu: 24 + 24 + 8 = 56 bit, burada 8 bit veri genişletme için ayrılmıştır.

    Motorola işlemcilerinde kelime uzunluğu 16 ise, genişletilmiş kelimenin uzunluğu: 16 + 16 + 8 = 40 bit, burada 8 bit veri genişletme için tahsis edilmiştir.

    Motorola'nın DSP560xx işlemcilerinde 56 bitlik biriktirici çift ve genişletilmiş sözcük biçimlerinde tamsayıları temsil etmenin bir örneği:


    Not:

    Şekilde, EXT uzantısı 47. işaret bitinin değeri olan sıfırlarla doldurulmuştur.

    FT tamsayılarının çift kelime ve geniş kelime formatlarında temsili, aşağıdaki işlevsel bit dağılımını varsayar:

    1.) MSP MSB'nin MSB MSB'si kullanılır:

    · Nasıl ikonik sunarken işaretli tamsayılar; MSB = 0 değeri pozitif bir işarete ve MSB = 1 negatif bir işarete karşılık gelir; sıfır pozitif kabul edilir; kalan bitler anlamlıdır;

    · sunarken en önemli olarak imzasız sayılar; işaretsiz tamsayılar, varsayılan olarak pozitif işareti olan tam sayılardır.

    2.) İşaret biti dışındaki tüm bitler dikkate alınır anlamlı; hizalanırlar Sağ biçimin kenarı, yani LSB'nin en önemsiz biti, ikili tamsayının en önemsiz bitine karşılık gelir.

    3.) Sunumda işaretli tamsayılar EXT uzantısında "genişletilmiş kelime" biçiminde oluşur imza uzantısı; bu, tüm EXT bitlerinin, MSP kelimesinin en önemli MSB işaret bitinin değeriyle otomatik olarak doldurulduğu anlamına gelir. : LSP

    4.) Sunumda işaretsiz tamsayılar Genişletilmiş sözcük biçiminde, tüm EXT bitleri sıfıra ayarlanır.