PSM niebanalne Flashe

Podobne dokumenty
System on Chip na miarę S P R Z Ę T

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

ZL10PLD. Moduł dippld z układem XC3S200

Wstęp Architektura... 13

Opis przedmiotu zamówienia CZĘŚĆ 1

Opis przedmiotu zamówienia

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Temat: Pamięci. Programowalne struktury logiczne.

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

To nie huragan, to Cyclone II!

Układy FPGA w przykładach, część 1

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Systemy na Chipie. Robert Czerwiński

Układy programowalne. Wykład z ptc część 5

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

ZL19PRG. Programator USB dla układów PLD firmy Altera

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Programator procesorów rodziny AVR AVR-T910

Opracował: Jan Front

ARMputer, część 1 AVT 922

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

Sposób na pamięci Flash

NXP ma nowe ARM-y. BlueStreak: co i jak

Altera MAX10: nowa generacja FPGA i jej nowe możliwości

Popularne pamięci FLASH firmy GigaDevice

WebPack nadal bezpłatnie, ale z licencją

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

WPROWADZENIE Mikrosterownik mikrokontrolery

Układy programowalne. Wykład z ptc część 5

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Systemy wbudowane. Paweł Pełczyński

2. Architektura mikrokontrolerów PIC16F8x... 13

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

MIKROKONTROLERY I MIKROPROCESORY

Systemy wbudowane Mikrokontrolery

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

ZL8AVR. Płyta bazowa dla modułów dipavr

dokument DOK wersja 1.0

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Architektura komputerów

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Vinculum scalony host USB

Układy FPGA w przykładach, część 2

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Szkolenia specjalistyczne

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Programowalne Układy Cyfrowe Laboratorium

Siedmiomilowe buty Bezpłatne kompilatory C dla mikrokontrolerów firmy Renesas Do 64 kb za 0 zł!

Elementy cyfrowe i układy logiczne

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Elementy składoweµc - przypomnienie

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

LEKCJA TEMAT: Zasada działania komputera.

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Mikrokontrolery AVR techniczne aspekty programowania

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

MCAR Robot mobilny z procesorem AVR Atmega32

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

INSTYTUT TECHNOLOGII ELEKTRONOWEJ

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Wirtualizacja panelu HMI w systemie LOGO!

Projektowanie z użyciem procesora programowego Nios II

Technika Mikroprocesorowa

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

ICD Interfejs JTAG dla DSP56800E. Mariusz Janiak

2. PRZERZUTNIKI I REJESTRY

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

System mikroprocesorowy i peryferia. Dariusz Chaberski

Opis efektów kształcenia dla modułu zajęć

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Elektronika i techniki mikroprocesorowe

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Wykład Mikroprocesory i kontrolery

ARCHITEKTURA PROCESORA,

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Instytut Teleinformatyki

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Transkrypt:

PSM niebanalne Flashe Pamięci Flash bardzo spowszedniały, a ich niskie ceny i korzystne cechy funkcjonalne umożliwiły faktyczne zdominowanie rynku pamięci nieulotnych. Poważnym brakiem Flashy jest brak możliwości wygodnego modyfikowania ich zawartości po zainstalowaniu w systemie typowe rozwiązania tego problemu wymagają stosowania mikrokontrolera lub układu PLD. Nie jest to niestety rozwiązanie zbyt wygodne. Niezwykle logiczne a przy tym efektywne rozwiązanie tego problemu oferuje firma STMicroelectronics: pamięci PSM (Programmable in System Memories). Cóż to takiego? W największym skrócie są to pamięci Flash wyposażone w interfejs JTAG za pomocą którego można modyfikować ich zawartość po zainstalowaniu układu w systemie. Pomysł nadzwyczaj prosty, otwierający przed konstruktorami zupełnie nowe możliwości zwłaszcza, że możliwości JTAG-a producent wykorzystał w pełni. Zacznijmy od początku czyli co to jest JTAG? Wbrew popularnym ostatnio poglądom nie jest to interfejs wymyślony przez Atmela i przeznaczony do debugowania pracy mikrokontrolerów. Interfejs ten wymyślono głównie po to, aby móc wygodnie testować funkcjonalnie cyfrowe urządzenia elektroniczne po ich zmontowaniu (standard IEEE1149.1, rys. 1). Stąd zresztą pochodzi obiegowa nazwa interfejsu: JTAG jest akronimem od Joint Test Action Group. Budowa logiczna interfejsów zgodnych z JTAG-iem jest we wszystkich układach jednakowa, a niepisane zalecenie mówi, że linie wchodzące w jego skład powinny być przystosowane do pracy ze standardowymi sygnałami TTL, niezależnie od napięcia zasilającego układ. Jedną z istotniejszych idei przyświecającą twórcom standardu IEEE1149.1 było zapewnienie maksymalnej elastyczności systemu testującego, co zaowocowało możliwością łączenia praktycznie dowolnej liczby ukła- Nowość? Zdecydowanie nie! Tak twierdzą niektórzy producenci mikrokontrolerów, ale użytkownicy układów PLD mają do czynienia z JTAG iem, programowaniem i testowaniem w systemie od co najmniej 12 lat. Rys. 1. 81

Rys. 2. Rys. 3. Tab. 1. Zestawienie najważniejszych parametrów układów z serii PSD Pojemność Typ układu Obudowa [kb] pamięci Organizacja SRAM EEPROM Flash pamięci [kb] [kb] PSD4235G2/G2V TQFP 80 512 4Mb Flash PSD x16 PSD813F1A/1V ;TQFP 64 PSD813F2/2V ;TQFP 64 PSD833F2 PSD834F2/2V 2Mb Flash 256 PSD835G2/2V TQFP 80 256 4Mb Flash PSD853F2/2V PSD854F2/2V 256 2Mb Flash, 256kb SRAM x8 2Mb Flash, 256kb SRAM x8 Liczba makrokomórek PLD dów w tzw. łańcuchy, w których można łączyć dowolne układy różnych producentów i do tego zdalnie ustalać rodzaj ich aktywności (rys. 2). Zgodnie z normą IE- EE1149 każdy układ z interfejsem JTAG musi być wyposażony w 1 bitowy rejestr obejściowy (bypass), który zapewnia możliwość operowania przez użytkownika na układach dowolnie wybranych z całego łańcucha. Na rys. 2 tylko środkowy układ bierze udział w procesie określonym przez instrukcję wpisaną do jego rejestru poleceń (programowania, testowania itp.). Pozostałe dwa układy, wskutek wykorzystania ścieżki obejściowej, są wyłączone z łańucha JTAG. N a j w a ż n i e j s z y m e l e m e n t e m wszystkich interfejsów JTAG, zapewniającym ich zgodność ze standardem, jest 16 stanowy automat TAP (Test Access Point), który komunikuje się z otoczeniem za pomocą 3 linii wejściowych i jednej wyjściowej (rys. 3). Dwie linie wejściowe: TMS (Test Mode Select) i TCK (Test ClocK) bezpośrednio wpływają na cykl pracy automatu, powodując jego krążenie po grafie pokazanym na rys. 4. Podstawowym zadaniem TAP jest obsługa transferu danych z wejścia TDI do wewnętrznych rejestrów JTAG-a i sterowanie pracą dekodera instrukcji. Uniwersalność i elastyczność JTAG a zachęciła do zaadoptowania go na własne potrzeby najpierw producentów układów programowalnych (w których służy do programowania i konfigurowania wbudowanych pamięci konfi- Liczba dostępnych bramek przeliczeniowych Liczba linii I/O 16 3000 32 16 3000 27 16 3000 256 _ 16 3000 27 256 _ 16 3000 27 82

Rys. 4. guracji), a w ostatnich latach także producentów mikroprocesorów i mikrokontrolerów (w JTAG-a są wyposażone m.in. coraz bardziej popularne, wielokrotnie opisywane w EP mikrokontrolery ARM). Do rzeczy czyli przechodzimy do prezentacji pamięci nieulotnych z JTAG-iem. Producentem pamięci PSM jest firma STMicroelectronics, która przejęła tę linię wyrobów od amerykańskiej firmy Waferscale. W aktualnej ofercie firmy znajduje się wiele odmian tych pamięci, przeznaczonych do systemów 8 i 16 bitowych, a także wyspecjalizowanych pamięci przeznaczonych do stosowania w systemach DSP. Niezależnie od aplikacji docelowej interfejsy JTAG wbudowane w pamięci PSM służą do programowania wbudowanej pamięci nieulotnej (Flash), w tym także (uwaga!) pamięci konfigurującej wbudowaną matrycę PLD. Matryca ta (rys. 5) ma budowę charakterystyczną dla układów CPLD (architektura PAL) i może być wykorzystana do implementowania przez użytkownika własnych niezbyt rozbudowanych bloków logicznych, może być także stosowana (takie jest jej podstawowe przeznaczenie) do budowania dekoderów adresowych służących do lokowania dostępnych w układach PSM obszarów pamięci (tzw. glue logic). Takie rozwiązanie pozwala znacznie ograniczyć liczbę elementów stosowanych w urządzeniu, zwłaszcza w przypadku, gdy programista wykorzystuje wiele rozdzielnych obszarów pamięci. Wygodę korzystania ze zintegrowanego z pamięcią dekodera adresu docenią zwłaszcza Ci projektanci, którzy w jednym systemie korzystają z kilku obszarów SRAM (także dostępnej w układach PSM tab. 1) i Flash zapewnienie ich prawidłowego rozmieszczenia w przestrzeni adresowej procesora wymaga zazwyczaj zastosowania zewnętrznego układu PLD. Podobne problemy mają do rozwiązania konstruktorzy stosujący w swoich opracowaniach dodatkowe, zewnętrzne porty I/O im także rozwiązania dostępne w układach PSM znacznie ułatwią pracę. Przykładową aplikację pamięci PSD834 z mikrokontrolerem 8051 pokazano na rys. 6. Jak widać, w układzie PSD834 zintegrowano nie tylko pamięć programu Flash, lecz także rejestr podtrzymujący dane z multipleksowanej magistrali AD[7 0] oraz uniwersalne rejestry I/O. Pomimo relatywnie skromnych zasobów logiki konfigurowalnej, makrokomórki zastosowane w układach PSM charakteryzują się dużą elastycznością, co ułatwia ich stosowanie w zaawansowanych funkcjonalnie aplikacjach. W większości dostępnych układów PSM do dyspozycji użytkowników pozostają dwie rozdzielone części PLD (rys. 7): uniwersalna, w której można implementować własne funkcje logiczne służące do sterowania uniwersalnych wyjść lub wstępnie obrabiać sygnały podawane na wejścia, dekodująca, której funkcjonalność zorientowano na dekodowanie adresów i sterowanie poszczególnymi sektorami pamięci. Narzędzia Projektanci korzystający z układów PSM mają do dyspozycji bezpłatny program narzędziowy PSDexpress (rys. 8 i 9), za pomocą którego można skonfigurować układ do takiego trybu pracy, jaki jest dogodny dla konstruktora. Oprogramowanie jest wyposażone w kreatora projektów, za pomocą którego można bardzo wygodnie określić typ współpracującego procesora/mikrokontrolera (co znajduje odbicie w konfiguracji interfejsu), a także konfigurację pozostałych elementów układu PSM. Opis konfiguracji PLD można przeprowadzić przy pomocy kreatora lub samodzielnie opisać za pomocą równań języka ABEL jego kompilator jest wbudowany w PSDexpress. Interesującą możliwością tego narzędzia jest generator kodu konfigurującego (w języku C), 83

Rys. 5. PSM dla DSP W ofercie firmy STMicroelectronics znajdują się także pamięci o nieco zmodyfikowanej budowie, przeznaczone specjalnie do stosowania w systemach DSP. Różnią się one głównie budową interfejsu systemowego, ale ich najważniejsze cektóry można wykorzystać we własnym programie i dzięki temu konfigurować układy bez konieczności stosowania programatora JTAG. Jest to o tyle istotne, że producent zaleca stosowanie specjalnego programatora FlashLink, którego cena wynosi ok. 59 USD netto. Rys. 6. chy funkcjonalne są takie same, jak układów wcześniej prezentowanych. PSD więcej niż PSM Inżynierowie firmy STMicroelectronics rozwinęli pomysł PSM i opracowali mikrokontrolery 80 zintegrowane z układami PSM. W ten sposób powstały układy µpsd (Programmable In System Devices), czyli rodzaj układu System on Chip. Rodzina tych układów jest nieustannie rozwijana i w jej skład wchodzą obecnie trzy grupy układów: µpsd3200, µpsd3300 Turbo i µpsd3400 TurboPlus. Przedstawimy je w jednym z najbliższych numerów EP. Podsumowanie Pamięci PSM doskonale nadają się do stosowania w systemach cyfrowych, w których istotna jest możliwość szybkiej i wygodnej wymiany zawartości pamięci nie- Dodatkowe informacje są dostępne pod adresem http://psmdev.st.com. 84

Rys. 7. Rys. 8. ulotnej. Szczególnie są przydatne w systemach konfigurowanych lub testowanych za pomocą interfejsu JTAG, co pozwala uprościć budowę logiczną urządzenia i zminimalizować nakłady na wyposażenie Rys. 9. urządzenia w interfejs ISP. Dodatkowym atutem tych pamięci jest wbudowana logika konfigurowalna, która zapobiega rozbudowie zewnętrznych dekoderów adresowych, a w większości przypadków pozwala z nich w ogóle zrezygnować. W redakcji EP przeprowadziliśmy testy układu PSD835G2, który spełniał rolę pamięci programu mikrokontrolera 8051 zaimplementowanego w układzie FPGA Cyclone (opisany w EP2 i 3/2005). Układ ten pracował w łańcuchu JTAG, połączony szeregowo z układem FPGA (EP1C3). Testy wykazały, że taka konfiguracja zapewnia poprawną pracę obydwu układów i jednocześnie dużą wygodę dla projektanta prowadzącego próby. Piotr Zbysiński, EP piotr.zbysinski@ep.com.pl Wszystkie walizki mają zabezbieczone rogi, przegródki z możliwością dowolnej konfiguracji, zasobnik na wkrętaki, szczypce itp., zamknięcia na klucz. WALIZKA01-100zł czarna 460x330x150 mm WALIZKA02-80zł srebrna 460x330x165 mm WALIZKA03-120zł srebrna 455x330x160 mm plastikowe narożniki pasek DETALICZNA SPRZEDAŻ WYSYŁKOWA - Zamówienia przyjmuje Dział Handlowy AVT 01-939 Warszawa, ul. Burleska 9, tel. (22) 568 99 50, fax (22) 568 99 55, e-mail: handlowy@avt.com.pl www.sklep.avt.com.pl 85