Do tej pory nie korzystałem z układu DSP. Wiem tylko, że ich architektura jest taka, że mogą wykonywać obliczenia dość szybko, zwykle w ciągu cyklu zegarowego, mają instrukcje wielokrotnego gromadzenia w zestawie instrukcji i mają DMA, więc procesor nie musi tracić cennego czasu na przenoszenie danych na około. Myślę, że jest w tym coś więcej, ale to kilka podstawowych kwestii.
Widzę, że Microchip ma dsPIC, który jest ich linią układów DSP. Czy nie możemy po prostu użyć PIC18 lub PIC32, który również ma wbudowane multiplikatory do DSP? Czym różni się dsPIC od zwykłego PIC?
Moje główne pytanie brzmi: dlaczego potrzebujemy mieć coś osobnego i wyraźnego zwanego układem DSP i nie integrować możliwości obliczania jednostek zmiennoprzecinkowych o wysokiej precyzji na wszystkich mikrokontrolerach? Z pewnością dzięki technologiom procesowym, które mamy teraz, nie powinno to zajmować dużo miejsca.
Ponadto, skąd mam wiedzieć, że muszę używać układu DSP w moim projekcie zamiast normalnego mikrokontrolera>
Odpowiedzi:
Zasadniczo „DSP ...” oznacza „bardziej odpowiednią moc i / lub bardziej odpowiedni sprzęt w momencie wprowadzenia produktu ”.
Uogólnione procesory zwykle nadążają za starymi specjalistycznymi urządzeniami.
DSPIC ma co najmniej 10 lat - Olin będzie wiedział.
[Pozycje w nawiasach odnoszą się do niektórych przykładów DSPIC - nie są wyczerpujące].
W produktach DSP spodziewana jest pewna mieszanka:
oczekuj takich rzeczy, jak przesuwaki beczek,
szerokie szybkie rurociągi i szybkie czasy wykonywania pojedynczego cyklu,
szerokie instrukcje dla pojedynczego cyklu,
DMA [6 lub 8 kanałów, podwójny bufor RAM] duże zakresy adresowania pamięci liniowej [4 program Mword , Dane 64 kB] specjalistyczne funkcje zorientowane na arytmetykę
Może:
specjalistyczne urządzenia peryferyjne, takie jak sterowanie silnikiem,
sprzęt dla kilku różnych standardów komunikacyjnych [CAN, IIC, UART, IIS, AC97, ...] głębsze niż zwykle bufory com [4 bajty] szybciej i / lub szerszy niż zwykle ADC [2 Msp, 10 lub 12 bitów]
Większość z nich znajdziesz w rodzinie DSPIC - a coraz częściej w rodzinach procesorów gp.
W skrajnych przypadkach otrzymujesz mikrokodowanie użytkownika i nie tylko.
źródło
Niektóre zalety dsPIC w porównaniu do wcześniejszych architektur PIC, takich jak rodziny PIC 16 i 18:
Pozwala to również na lepszą architekturę oprogramowania. Procedura przerwania dla określonego urządzenia peryferyjnego może znajdować się w tym samym module, co inny kod obsługujący to urządzenie peryferyjne, zamiast konieczności posiadania jednej globalnej procedury przerwania.
źródło
Zazwyczaj kluczową cechą wyróżniającą DSP w porównaniu z procesorem ogólnego przeznaczenia jest to, że DSP może wykonywać pewne operacje przetwarzania sygnałów przy niewielkiej liczbie, jeśli w ogóle, cykli procesora zmarnowanych na instrukcjach, które nie obliczają wyników.
Jedną z najbardziej podstawowych operacji w wielu kluczowych algorytmach DSP jest operacja MAC (multiply-akumulate), która jest podstawowym krokiem stosowanym w macierzach punktowych i krzyżowych, filtrach FIR i IIR, a także FFT. DSP zazwyczaj ma organizację rejestru i / lub pamięci oraz ścieżkę danych, która pozwala mu wykonywać co najmniej 64 operacje MAC na unikalnych parach danych z rzędu bez marnowania zegarów na obciążenie pętli lub ruch danych. Procesory ogólnego przeznaczenia zwykle nie mają wystarczającej liczby rejestrów, aby to osiągnąć bez użycia dodatkowych instrukcji do przenoszenia danych między rejestrami a pamięcią.
źródło