Skocz do zawartości

[Inne] PSoC. Czyli gumowy procesor.


BlackJack

Pomocna odpowiedź

Któremu z nas nie marzył się układ scalony, który byłby jak szampon z odżywką w jednym, i zawierał w jednym scalaku, szybki procesor, wzmacniacze analogowe, filtry i uniwersalne bloki cyfrowe.

Te układy o nazwie roboczej PSoC, od Programmable System-on-Chip, czyli system programowany w jednym układzie istnieją, to nie tylko jakiś tam układ co cala ideologia, projektowania systemów zintegrowanych. Cechą zasadniczą układów PSoC jest to że nie posiadają one sztywnych peryferii jak klasyczne uC, wszystko jest programowane dynamicznie w struktrach PLD i Analogowych, co powoduje że nie mamy tutaj sztywno zdefiniowanych Timerów, przetworników ADC, PWMa itd.

Pokazuje to ten rysunek.

Potrzebne bloki wybieramy sobie po prostu z bibliotek dostarczonych przez producenta.

Obecnie to bardzo rozbudowana rodzina układów, opartych głownie o 3 rdzenie M8C (Cypress), MSC51 (jednotaktowy), oraz najnowsze o ARM Cortex-M3.

Nawet ATMEL próbował, swoich sił w tej dziedzinie łącząc rdzeń AVR z FPGA, ale niestety nie udało im się wypromować tych układów, i obecnie nie są już produkowane, a szkoda bo miały potencjał.

Obecnie coś tam w tym kierunku próbuje też majstrować Microchip z najnowszymi PICami, ale raczej na razie daleko temu do ideologi PSoC.

Krótki opis poszczególnych rdzeni.

Rodzina M8C

Zacznijmy od najprostszych układów opartych o rdzeń M8C. Jest to prosty 8-bitowy rdzeń, wspierany sprzętowym multiplikatorem (jednostka mnożąca). Procesory oparte o ten rdzeń mają następujące cechy:

Taktownie do 24MHz, 4 MIPS

Pamięć programu od 4kB do 32KB.

SRAM 256B to 2 KB (stronicowana powyżej 256B)

Praca od 1.7V do 5.25V

przetwornik ADC typu Delta-Sigma ADC (6 to 14-bit) z szybkością 131 ksps @ 8-bit

z precyzją Voltage Precision ±1.53%

Do 2 DACs (6- to 8-bit)

Active: 2 mA, Sleep: 3 μA

FS USB 2.0, I2C, SPI, UART, LIN

Requires ICE Cube and FlexPods

Up to 64 I/O

Nie ma tu jakiegoś szału ale są to najprostsze procesory, ich ceny zaczynają się od ok 10 zł dla 8 końcówkowego maleństwa. Rdzeń dodatkowo jest wspierany asynchronicznym multiplikatorem czyli jednostką mnożącą która wykonuje obliczenia w czasie od 7 do 10ns.

Samych układów jest dosyć sporo bo producent dzieli je w zależności od zastosowań, więc nie będę tu ich wymieniał.

Rodzina oparta o rdzeń 8051

Tutaj mamy już bardziej konkretne układy. Zasadniczo można wymienić dwie firmy produkujące je Cyprerss i Triscrend. Układy są oparte o udoskonalony 1 taktowy rdzeń 8051. który może być taktowany do 67MHz co pozwala uzyskać wydajność do 33MIPS. Układy te są bogato obudowane, strukturami PLD, ilość wyprowadzeń może sięgać nawet 316, a komórek logicznych PLD do 3200 bramek przeliczeniowych.

Cypress podaje następujące cechy tej rodziny.

High-performance 8-bit 8051 CPU(1CPI)

Up to 67 MHz, 33 MIPS

Flash 8 KB to 64 KB

SRAM 2 KB to 8 KB

Operation 0.5V to 5.5V

1 Delta-Sigma ADC (8 to 20-bit)

192 ksps @ 12-bit

Voltage Precision ±0.1%

Up to 4 dedicated DACs (8-bit)

Active: 0.8 mA, Sleep: 1 μA,
Hibernate: 200 nA

FS USB 2.0, I2C, SPI, UART, CAN, LIN, I2S

On-chip JTAG, Debug and Trace; SWD, SWV

Up to 72 I/O

Rodzina oparta o rdzeń ARM Cortex-M3

Najbardziej łakomy kąsek, niestety tez przeznaczony do najbardziej zaawansowanych aplikacji, co znacznie utrudniać może jego amatorskie wykorzystanie jak i zdobycie.

Cypress podaje następujące cechy tej rodziny:

High-performance 32-bit ARM Cortex- M3

Up to 67 MHz, 84 MIPS

Flash 32 KB to 256 KB

SRAM 16 KB to 64 KB

Operation 2.7V to 5.5V

1 Delta-Sigma ADC (8 to 20 bit); 192ksps @12-bit

2 SAR ADCs (8-12 bit); 700Ksps @12-bit

Voltage Precision ±1.0%

Up to 4 dedicated DACs (8-bit)

Active: 6 mA @ 6 MHz

Hibernate: 0.3 μA

FS USB 2.0, I2C, SPI, UART, LIN, I2S

On-chip Debug and Trace; SWD, SWV

Up to 70 I/O

A z czym to się tak właściwie je ?

Wszystko wygląda ładnie pięknie, no ale jak to wszystko właściwie ugryźć ? Zasadniczo Cypress twierdzi że cały program można narysować w ich środowisku programistycznym PSoC Disinger. Jest w tym sporo racji, bo program właściwie się rysuje, łącząc ze sobą odpowiednie bloki procesora, po czym generowany jest program konfiguracyjny. Niestety w praktyce nie jest tak różowo. O ile jakieś bardzo proste przykładowe projekty można tak sklecić, to poważniejsze programy i systemy już raczej nie. Dodatkowo sami producenci tych układów raczej nie rozpieszczają, amatorów i jest niewiele zestawów startowych, o kursach nie wspominając.

Poważna bolączka to języki programowania, bo mamy tylko ASM i C. Co gorsza C jest płatny, a wersja demo ma ograniczenie kodu do 2KB po upływie 45 dni próbnych.

Najtańszy najprostszy zestaw dla 8-bitowych PSoC to ok 180zł, w skład niego wchodzi programator USB, płytka z procesorem, instrukcja ANG, i oprogramowanie.

Mniej więcej tak wygląda programowanie. Postanowiłem wstawić filmik bo pokazuje on lepiej całą ideologię PSoC, niż jakikolwiek opis, którego byłoby notabene i tak kilometry.

[YouTube]

[/YouTube]

Czy warto sie tym zainteresować ?

Tak zdecydowanie tak, choć trzeba będzie odłożyć gdzieś na bok, klasyczne myślenie i podejście na temat mikroprocesorów, bo programowanie tych układów nie jest klasyczne. Początki na pewno będą trudne, ale w EP opisywano sporo projektów, więc można jakoś tam ruszyć. Książka też chyba jakaś jest w naszym ojczystym języku.

Zainteresowanych odsyłam do następujących artykułów z EP, w których nieco szerzej i dokładniej opisano układy PSOC:

http://ep.com.pl/files/4936.pdf

http://ep.com.pl/files/5228.pdf

562541507_IMG_5068004d3b2b015241.gif.d012e5732b204797b28e54d7c4e6edb8.gif

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.