Mütevazi PIC mikrodenetleyicisinin yapamadığı dsPIC ne yapabilir?


10

Henüz bir DSP çipi kullanmadım. Tek bildiğim, mimarilerinin hesaplamaları oldukça hızlı, genellikle bir saat döngüsü içinde gerçekleştirebilecekleri, talimat setlerinde çok sayıda birikimli talimatlara sahip oldukları ve DMA'ları olduğu için CPU'nun değerli zaman taşıma verilerini harcaması gerekmediği etrafında. Bence daha fazlası var, ama bunlar birkaç temel nokta.

Microchip'in DSP çip hattı olan dsPIC'e sahip olduğunu görebiliyorum. Sadece DSP yapmak için de çoğaltıcılar içeren bir PIC18 veya PIC32 kullanamaz mıyız? DsPIC'in normal PIC'den farkı nedir?

Asıl sorum şudur: Neden DSP yongası olarak adlandırılan ayrı ve farklı bir şeye sahip olmalıyız ve tüm mikrodenetleyicilere yüksek hassasiyetli kayan nokta birimi hesaplama yeteneğini entegre etmemeliyiz? Şüphesiz şu an sahip olduğumuz süreç teknolojileri ile bu çok fazla yer kaplamamalıdır.

Ayrıca, projemde normal bir mikrodenetleyici yerine bir DSP yongası kullanmam gerektiğini nasıl bilebilirim>


1
Burada benzer soruya iyi cevaplar var: electronics.stackexchange.com/questions/3067/…
David

Yanıtlar:


3

Genel olarak "DSP ...", " ürünün piyasaya sürüldüğü sırada daha alakalı beygir gücü ve / veya daha alakalı donanım" anlamına gelir .
Genelleştirilmiş işlemciler olde uzman cihazlarını yakalama eğilimindedir.
DSPIC p [10 yaşından büyük) - Olin bilecek.

[Parantez içindeki öğeler bazı DSPIC örnekleri ile ilgilidir - ayrıntılı değildir].

DSP ürünlerinde aşağıdakilerin bir karışımını bekliyoruz:
Namlu değiştiricileri,
geniş hızlı boru hatları ve hızlı tek döngü yürütme süreleri,
geniş tek döngü talimatları,
DMA [6 veya 8 kanal, çift bağlantı noktalı RAM tamponları] büyük doğrusal bellek adresleme aralıkları [4 Mword programı] , 64 kB veri] uzman aritmetik odaklı özellikler
Belki:
motor kontrolü,
birkaç farklı coms standardı için donanım [CAN, IIC, UART, IIS, AC97, ...] gibi uzman çevre birimleri normal 4'ten daha hızlı ve [4 bayt] daha hızlı ve / veya normal ADC'lerden daha geniş [2 Msps, 10 veya 12 bit]

Bunların çoğunu DSPIC ailesinde ve giderek gp işlemci ailelerinde bulabilirsiniz.
Aşırı durumlarda kullanıcı mikro kodlaması ve daha fazlasını elde edersiniz.


1
Doğru hatırlıyorsam, ilk olarak 1999'da dsPIC tasarım çabasını duydum, ilk numuneler 2002'nin başında 2002'nin sonlarında veya 2003'ün başında üretim parçalarıyla verildi. Hala bir yerlerde 28 pinli seramik DIP paketinde elle tutulan 30F2010'um var yanlışlıkla 30F6010 olarak etiketlendi. Nihai tam hızın sadece 1 / 3'ünde koştu ve # 55 veya başka bir şey olarak işaretlendi.
Olin Lathrop

1
PIC hattı sadece 4 ila 20MHz'i desteklerken, 200 veya 260MHz'e kadar da ayarlanabilir. 10+ kat daha hızlı olmak kesinlikle dikkate alınması gereken bir noktadır.
Havenard

1
@Havenard - Bunun 2014 yılında bir Soru ve Cevap olduğunu belirterek: PIC32'den DSPIC'ye olası bir alternatif olarak bahsetti. 2007 PIC32MX, 80 MHz Cmax (maks. Saat frekansı) değerine sahiptir. 2013 PIC32MZ, 252 MHz Cmax değerine sahiptir. || Burada eksik olsa da faydalıdır {Wikipedia}.
Russell McMahon

11

Bir dsPIC'in PIC 16 ve 18 aileleri gibi önceki mimari PIC'lere göre avantajlarından bazıları:

  1. 8'e göre 16 bit genişliğinde veri yolları ve ALU.

  2. Doğrudan adresleme yeteneği (her iki mimarinin daha sonraki sürümleri bunu çeşitli kludgy yollarıyla genişletti) daha fazla veri belleği. Temel bir PIC 16 128 bayta doğrudan, 512 bankacılığa hitap edebilir. Daha yeni PIC 16F1xxx, daha fazla veri belleğinin adreslenmesini sağlamak için bankacılığı genişletti. PIC 18 mimarisi 4k bayt ile sınırlıdır. DsPIC mimarisi 64k bayt veya 32k 16-bit kelimeleri doğrudan ele alabilir, ancak bunun çeşitli nedenleri temel mimarideki RAM için sadece yarısı kullanılabilir. Daha sonraki bazı modellerde bir bankacılık planı bunu genişletmiştir.

  3. Daha hızlı. Orijinal 30F, 30 MIP'de çalışabiliyordu, şimdi 40 MIPs normu parçalardı. Yeni E serisi 70 MIP'e kadar çalışabilir, ancak önceki yavaş modellerden daha fazla beklemek için daha fazla neden olabilir. Ortalama olarak hala önemli ölçüde daha hızlıdırlar.

  4. DSP özelliği. DSP motorunda iki adet 40-bit akümülatör ve diziler üzerinde bir komut döngüsü başına bir MAC işlemi gerçekleştirmek için olağan donanıma sahiptir (bkz. Dave Tweed'in cevabı). MAC ve ilgili talimatlar, gerçek çoklu çarpma ile dizi indeksleme ve döngü sonlandırma ile çakışır.

  5. 8 bit PIC mimarilerinin tek 8 bit W kaydı yerine 15 yazılımla kullanılabilen 16 bit "çalışma kayıtları".

  6. Namlu değiştirici.

  7. Tek çevrim 16x16 -> 32 bit çarpma.

  8. Donanım bölme. 32 div 16 -> 16 bit işlem 18 döngü sürer.

  9. Birçok 3-işlenen talimat. Örneğin, iki çalışma kaydının içeriğini ekleyebilir ve sonucu üçüncüye tek bir döngüde koyabilirsiniz. Bu çoğu matematik, mantık ve kaydırma işlemi için geçerlidir.

  10. Genel olarak daha düzenli ve simetrik komut seti.

  11. Vektörlü kesmeler. PIC 16 tek bir kesme vektörüne sahiptir ve PIC 18 iki tane içerir. 16 bitlik kısımlarda (PIC 24, dsPIC 30 ve 33), her kesme kaynağının kendi vektörü vardır. Bu, kesme rutinindeki gecikmeyi azaltır, çünkü hangi kesintinin servise gönderileceğini bulmak için döngü yapmak zorunda kalmaz.

    Bu aynı zamanda daha iyi yazılım mimarisi sağlar. Belirli bir çevre birimi için kesme rutini, bir global kesme rutine sahip olmak yerine, çevre birimini işleyen diğer kodla aynı modülde olabilir.

  12. Daha geniş mimariden kaynaklanan çeşitli diğer avantajlar.


8

Genel olarak, bir DSP'nin genel amaçlı bir CPU ile karşılaştırıldığında en önemli ayırt edici özelliği, DSP'nin, sonuç hesaplamayan talimatlarda CPU döngüleri varsa, çok az CPU döngüsü ile belirli sinyal işleme işlemlerini gerçekleştirebilmesidir.

Birçok anahtar DSP algoritmasındaki en temel işlemlerden biri, matris nokta ve çapraz ürünler, FIR ve IIR filtrelerin yanı sıra FFT'lerde kullanılan temel adım olan MAC (çarpma biriktirme) işlemidir. Bir DSP tipik olarak bir kayıt ve / veya bellek organizasyonuna ve döngü tepesinde veya veri hareketinde herhangi bir saat boşa harcanmadan bir satırdaki benzersiz veri çiftlerinde en az 64 MAC işlemi yapmasına izin veren bir veri yoluna sahip olacaktır. Genel amaçlı CPU'larda, veriyi kayıtlar ve bellek arasında taşımak için ek talimatlar kullanmadan genellikle bunu yapmak için yeterli kayıt yoktur.


1
MAC işlemlerine vurgu için +1. Bunlar şüphesiz çoğu DSP operasyonunun çekirdeğidir.
Matt Young
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.