Intel MCS-51

<<   Intel 8051   >>
KL Intel P8051.jpg
Intel P8051
Produkcja: 1980 do 1990
Producenci:
Zegar procesora: 12 MHz
Zestaw instrukcji : 8 bitowy
Baza: 40-pinowy DIP

MCS-51 to nazwa 1980 przez Intel wprowadzonego rodzinę 8-bitowych - mikrokontrolerów . W przypadku mikrokontrolera wszystkie części systemu komputerowego ( procesor , pamięć programu, pamięć danych i jednostki wejścia / wyjścia) są idealnie połączone w jednym module. Rodzina MCS-51 jest następcą rodziny MCS-48 . Na początku miał tylko trzy elementy z oznaczeniami 8051, 8031 ​​i 8751. W 8031 ROM jest w komponencie zewnętrznym, podczas gdy w 8051 i 8751 jest w samym komponencie - w pamięci ROM zaprogramowanej przez maskę (8051) lub w EPROM (8751). W 1983 roku wprowadzono warianty 8052, 8032 i 8752, każdy z podwójną pamięcią ROM i RAM oraz dodatkowym zegarem. Rodzina była początkowo produkowana w technologii NMOS , a po kilku latach także w dzisiejszej standardowej technologii CMOS .

Intel udzielił licencji na rdzeń procesora MCS-51 wielu producentom półprzewodników, tworząc w ten sposób podstawę dla niezależnego od producenta przemysłowego standardu. Mikrokontrolery kompatybilne z MCS-51 są od dawna sprzedawane nie tylko przez firmę Intel, ale także przez Analog Devices , Atmel , Infineon , Maxim / Dallas, Oki , NXP Semiconductors ( Philips ), Silicon Laboratories , Texas Instruments i wiele innych. za. zrobiony fabrycznie.

SDK-51 był oferowany przez firmę Intel jako system rozwojowy.

Struktura

Image
Schemat blokowy i8051
Image
Przydzielenie pinu
Image
Mikrokontroler Intel P8031
Image
Mikrokontroler 87C51 z pamięcią EPROM
Image
SAB-C515-LN firmy Infineon jest częścią rodziny MCS-51.
Image
89V54RD2 firmy Silicon Storage Technology z pamięcią SuperFlash

Rodzina MCS-51 wyprodukowała bardzo dużą liczbę członków, w tym: Siemens 80C517 . Łączy je następujące cechy:

Ze względu na różne długości poleceń od jednego do trzech bajtów i różne czasy wykonania polecenia, jest to wyraźnie architektura CISC .

An cyklu instrukcja odpowiada pierwotnie opracowane przez struktury Intel jednego do trzech cykli maszynowych (mnożenie i dzielenie potrzebie 4). Jeden cykl maszyny odpowiada 12 cyklom zegara. Z drugiej strony, warianty MCS-51, które są dziś powszechne, zwykle mają tylko 2 cykle zegarowe na cykl maszyny. Oznacza to, że polecenia mogą być przetwarzane znacznie szybciej przy tej samej częstotliwości zegara.

Szczególną cechą tego procesora jest procesor bitowy, który umożliwia szybką i łatwą manipulację bitami w obszarze adresowalnym.

Ze względu na powszechne stosowanie tej rodziny procesorów i związanych z nią dużych bibliotek oprogramowania, istnieje również duża liczba syntezowalnych implementacji MCS-51. Są to tak zwane rdzenie IP w języku opisu sprzętu, takim jak VHDL- free i dostępny kod źródłowy . Są odpowiednie do stosowania w układach FPGA i układach scalonych specyficznych dla aplikacji (ASIC). Typowymi przykładami aplikacji są kontrolery USB, takie jak używane w drukarkach lub adapterach interfejsów. Mikrokontrolery MCS-51 są w nich zintegrowane w celu sterowania różnymi protokołami.

warianty

Seria MCS-51 obejmuje następujące dobrze znane mikrokontrolery (wszystkie informacje o pamięci są w bajtach):

Warianty NMOS i CHMOS
Rodzaj ROM
wewnętrzny
Pamięć RAM
wewnętrzna
16-bitowy
zegar
UART wew.
Źródła IRQ
komentarz NMOS CHMOS
8031 - 128 2   1   2 x x
8032 - 256 3 x x
8051 4096 128 2 maska ​​programowalna ROM x x
8052 8192 256 3 maska ​​programowalna ROM x x
80C54 16384 256 3 maska ​​programowalna ROM - x
80C58 32768 256 3 maska ​​programowalna ROM - x
8751 4096 128 2 EPROM jako OTP lub z oknem UV x x
8752 8192 256 3 EPROM jako OTP lub z oknem UV x x
87C54 16384 256 3 EPROM jako OTP lub z oknem UV - x
87C58 32768 256 3 EPROM jako OTP lub z oknem UV - x
89C52 32768 256 3 Pamięć flash - x
8044 4096 192 2   ? RUPI ™ -44 (Remote Universal Peripheral Interface), programowalna pamięć ROM x -
8344 - 192 2 RUPI ™ -44 (Remote Universal Peripheral Interface) x -
8744 4096 192 2 RUPI ™ -44 (Remote Universal Peripheral Interface), EPROM jako OTP lub z oknem UV x -

Ponadto istnieją rozbudowane mikrokontrolery MCS-51 różnych firm, np. B. opracowany przez firmę Siemens (obecnie Infineon ) i wyprodukowany przy użyciu technologii NMOS :

Rodzaj ROM
wewnętrzny
Pamięć RAM
wewnętrzna
komentarz
SAB 80515 8192 256 Producent: SIEMENS, 3 × 16-bitowy timer, 1 UART, 2 zewnętrzne źródła przerwań, PWM ,
8-drożny przetwornik A / D, pamięć ROM programowalna za pomocą maski
SAB 80535 - 256 3 x 16-bitowy timer, 1 UART, 2 zewnętrzne źródła przerwań, PWM, 8-drożny przetwornik A / D

Warianty CMOS serii Siemens MCS-51 są funkcjonalnie identyczne, ale nie wszystkie warianty są kompatybilne z pinami.

Inne nowoczesne mikrokontrolery kompatybilne z MCS-51, które są produkowane w technologii CMOS z pamięcią flash i zwykle mają szybsze przetwarzanie poleceń, więcej pamięci lub specjalne interfejsy:

Producent Rodzaj Flash
wewnętrzny
Pamięć RAM
wewnętrzna
komentarz
ATMEL AT89C2051 2048 128 Tylko 20 pinów, brak zewnętrznej magistrali danych / adresowych, 2 x 16-bitowe timery, 1 UART,
1 komparator, pamięć flash
ATMEL AT89C4051 4096 128
ATMEL AT89C51ED2 16384 256 do 6 portów (w zależności od wielkości obudowy), 1792 bajty wewnętrznego MOVX-SRAM, program
ładujący RS232 w pamięci ROM, 2 KB pamięci wewnętrznej EEPROM, 3 x 16-bitowy zegar, 1 UART,
1 komparator, 2 wskaźniki danych, PWM , SPI, pamięć flash
MAXIM / DALLAS DS89C430 16384 256 1 cykl zegara / polecenie, maks. 33 MIPS przy 33 MHz, 1 KB wewnętrznego MOVX-SRAM, program
ładujący RS232 w pamięci ROM, 3 x 16-bitowy zegar, 1 UART, 1 komparator, 2 wskaźniki danych, pamięć flash
MAXIM / DALLAS DS89C450 65536 256

Organizacja przechowywania

Image
Rejestr funkcji specjalnych: biały: 8051, niebieski: dodatkowo z 8052
Image
Schemat adresowania wewnętrznego

Stos jest zawsze dowolnie definiowane w wewnętrznej pamięci RAM. Kolejność bajtów jest pierwszym little endian. W swojej pierwotnej formie jest to architektura Harvardu , ale wiele nowszych płyt deweloperskich MCS-51 ma zmodyfikowaną architekturę Harvardu. W tej architekturze część pamięci XRAM (rozszerzona pamięć RAM) jest dublowana w pamięci programu za pomocą dekodera adresu . Umożliwia to oprogramowanie terminala działające głównie z pamięci ROM, np. B. załadowanie przychodzącego oprogramowania do pamięci programu poprzez interfejs szeregowy i wykonanie go po przesłaniu.

Przechowywanie danych

Image
Adresy przerwań

Każdy z 4 banków rejestrów zawiera 8 rejestrów, które mogą być adresowane jako rejestry lub poprzez ich adres. Przewagą rejestrów nad "RAM do ogólnego użytku" są krótsze polecenia. Rejestry 0 i 1 mogą być używane jako 8-bitowe wskaźniki danych w wewnętrznej i zewnętrznej pamięci RAM. Czas odpowiedzi na przerwanie można skrócić dzięki sprytnemu wykorzystaniu banków rejestrów, ponieważ dane nie muszą być przenoszone na stos.

Ponieważ górna pamięć RAM i rejestr funkcji specjalnych współdzielą adresy, do rozróżnienia używany jest typ adresowania. Górna pamięć RAM może być adresowana tylko pośrednio za pomocą rejestru 0 i rejestru 1, podczas gdy rejestry funkcji specjalnych można adresować za pomocą adresowania bezpośredniego.

Podczas programowania polecenie rozróżnia rozszerzoną pamięć RAM (rozszerzoną pamięć danych lub w skrócie XRAM) i normalną pamięć RAM. MOVodpowiada na wewnętrzną pamięć RAM, podczas MOVXgdy XRAM odpowiada. XRAM można adresować tylko pośrednio, ale liniowo. We wczesnych wersjach XRAM zawsze był zewnętrzny, w nowszych wersjach może być częściowo lub w pełni zintegrowany.

Ze względu na szerokość magistrali adresowej wynoszącą 16 bitów, możliwe jest do 65536 bajtów XRAM.

Rejestry funkcji specjalnych lub adresy pamięci XRAM są używane przez niektóre warianty kontrolerów lub płyt kontrolnych do wszelkiego rodzaju rozszerzeń. Jako przykład:

  • Dalsze wejścia i wyjścia
  • 16-bitowa jednostka obliczeniowa
  • Kontroler USB
  • ...

Jest to szczególnie przydatne w syntezowalnych implementacjach MCS-51, ponieważ zestaw instrukcji rodziny MCS-51 nie jest zmieniany, co oznacza, że ​​zachowana jest zgodność z ich narzędziami programistycznymi.

Pamięć programu

Ponieważ szyna adresowa ma szerokość 16 bitów, zewnętrzna pamięć programu może zawierać do 65536 bajtów. Można użyć wewnętrznej lub zewnętrznej pamięci programu. Jednoczesna praca nie jest możliwa.

Dzięki MOVCtemu program może czytać z pamięci programu, co jest pomocne przy implementacji tabel.

Porty

Image
Jeden bit z portu 1 lub portu 3

Wszystkie porty mogą działać jako wejścia lub wyjścia, przy czym porty od 1 do 3 mają wewnętrzny rezystor podciągający. Port 0 to prawdziwy port trójstanowy, który jest używany razem z portem 2 do dostępu do pamięci zewnętrznej. Port 0 jest używany w multipleksie z podziałem czasu do wyprowadzania niższego bajtu adresu lub wprowadzania i wyprowadzania danych. W tym samym czasie górny bajt adresu pojawia się na porcie 2.

Polecenia RMW odczytują wartość z pamięci, podczas gdy wszystkie inne polecenia pobierają wartości z pinu.

Literatura i arkusze danych

  • J. Koch (opr.): Rodzina 8-bitowych mikrokontrolerów 8051, 1. Cechy . Philips / Valvo, 1984. ISBN 3-87095-260-1
  • J. Koch (arr.): Rodzina 8-bitowych mikrokontrolerów 8051, 2. zestaw instrukcji . Philips / Valvo, 1984. ISBN 3-87095-261-X
  • Lista poleceń mikrokomputera SAB 8051 . Wydane przez Siemens AG, Components Division, Balanstrasse 73, 8000 Monachium 80 (nr zamówienia B / 2591)
  • Andreas Roth: The Microcontroller Cookbook MCS51 , 6. wydanie, mitp Verlag, styczeń 2002, ISBN 978-3-8266-0722-6
  • R. Leicht: Wspaniała książka z 51 aplikacjami . Franzis Verlag 2005, ISBN 3-7723-5419-X
  • J. Walter: Technologia mikrokomputerowa z rodziną kontrolerów 8051 . Wydanie trzecie, Springer 2008, ISBN 978-3-540-66758-2
  • M. Baldischweiler: The Keil C51 Compiler , ISBN 3-9804331-8-8
  • Rodzina mikrokontrolerów jednoukładowych Intel MCS-51 ™, Podręcznik użytkownika , styczeń 1981
  • Podręcznik mikrokontrolera , Intel Corporation 1984, numer zamówienia 210918-002
  • 8-bitowe wbudowane kontrolery , Intel Corporation 1991, numer zamówienia 270645-003
  • Instrukcja obsługi rodziny mikrokontrolerów MCS ® 51 , luty 1994 Numer publikacji 121517, Intel Corporation; PDF (14,9 MB)
  • Instrukcja obsługi asemblera makr MCS-51 ™ , numer publikacji 9800937, Intel Corporation

Indywidualne dowody

  1. ^ John Wharton: Wprowadzenie do rodziny mikrokomputerów jednoukładowych Intel ® MCS-51 ™ , Nota aplikacyjna AP-69, maj 1980, numer publikacji 121518, Intel Corporation; PDF ( pamiątka z oryginałem od 24 lutego 2013 roku w Internet Archive ) Info: archiwum Link został wstawiony automatycznie i nie została jeszcze sprawdzona. Sprawdź oryginalny i archiwalny link zgodnie z instrukcjami, a następnie usuń to powiadomienie. . @ 1@ 2Szablon: Webachiv / IABot / www.eetasia.com
  2. ^ John Wharton: Using the Intel® MCS-51 ™ Boolean Processing Capabilities , Nota aplikacyjna AP-70, maj 1980, numer publikacji 203830-001, Intel Corporation; PDF .
  3. a b Drzewa genealogiczne procesorów Intela ( Memento z 14 marca 2011 w Internet Archive )
  4. Pełna implementacja mikrokontrolera MCS-51 w VHDL na licencji GNU Lesser General Public License .
  5. a b c d e f MCS ® 51 8-bitowy mikrokontroler zorientowany na sterowanie
  6. a b 8XC51FX CHMOS jednoukładowy 8-bitowy mikrokontroler
  7. a b c d e f 8XC52 / 54/58 CHMOS JEDNOPROBOWY 8-BITOWY MIKROKONTROLER
  8. a b c 8044AH / 8344AH / 8744H 8-bitowy mikrokontroler o wysokiej wydajności z wbudowanym kontrolerem komunikacji szeregowej
  9. M8744H RUPI ™ -44: Zdalny uniwersalny interfejs peryferyjny
  10. J.Koch: Rodzina 8-bitowych mikrokontrolerów 8051 , tom 1 (właściwości), Valvo / Boysen + Maasch, październik 1984, str. 21ff , ISBN 3-87095-260-1

linki internetowe

Commons : MCS-51  - zbiór zdjęć, filmów i plików audio