RD2 je x51 kompatibilní procesor s 64 kB FLASH, 1kB RAM, sériovým programováním, podporou bootloaderu atd.. Na tomto procesoru jsme postavili výukový KIT který vám pomůže zorientovat se v problematice programování aplikací pro jednořipy v jazyku C. S kitem by se měl spřátelit houževnatější začátečník, ale hlavně je určen pro vývojáře, kteří již mají zkušenosti ve vývoji aplikací v ASM a chtějí přejít na vyšší programovací jazyky.
Umíte ASM – začněte programovat i v C
Pro vývoj aplikací v C lze použít řadu platforem, vývojových kitů
atd.. Vzhledem ke specifické situaci v ČR, kde je stále ještě většina běžných
vývojářů používá ASM a cca 50% lidí programuje x51 kompatibilní
procesory jsme připravili dále popsaný vývojový kit, který je cílen
především na usnadnění migrace od assembleru k jazyku C pro x51 procesory.
Čím je zajímavý RD2 Kit :
- Jednoduchý HW, snadno lze libovolně modifikovat..
- x51 CPU T89C51RD2 - jednočipové řešení C programu.
- Cca 40 příkladů, které demonstrují základní funkce a rychle Vás vtáhnou do problematiky.
- Všechny příklady jsou k dispozici pro Keil C i SDCC které je k dispozici zdarma.
- Aplikace nejsou omezeny pouze na jedno C konkrétního výrobce.
- Součástí dokumentace je i popis rozdílů jednotlivých kompilerů C.
Popis HW řešení RD2 Kitu
Pouzdro DIL u Jednočipového Mikroprocesoru bylo zvoleno pro možnost náhrady za jiný pinově kompatibilní CPU a pro snadné programování obvodů v pouzdře DIL 40. Celý RD2-kit byl od počátku koncipován jako prostředek určený pro výuku a vývoj nových aplikací. Pokud vystane nutnost naprogramovat MCU v klasickém programátoru není třeba speciálních konvertorů pouzder.
Podrobné schéma zapojení RD2 Kitu najdete ve specializovaném článku RD2 Kit - popis HW řešení kitu
K práci s RD2 Kitem nepotřebujete žádný programátor
RD2 Kit je jednoduchý a levný vývojový prostředek pro rychlý vývoj nových aplikací a výuku programování v jazyce C. Kit je osazen jednočipovým mikropočítačem T89c51RD2 a základními periferiemi. Programování interní paměti FLASH a EEPROM v procesoru je řešeno ISP programováním. U procesorů RD2 je programování v aplikaci (In Systém Programming) řešeno malým programem (loader) který je umístěn na posledním 1 kB kódu programu. takže na aplikace zbývá 63 kB (0000h – FC00h). Loader je spuštěn skokem na nastavenou adresu FC00h, pokud je při resetu nastavena určitá kombinace na pinech MOVC, ALE a hlavně PSEN=0V. V RD2 Kitu je tak procesor RD2 programován prostým přizemněním pinu PSEN a následným resetem. V CPU spuštěný program loader se po sériové lince RS232 dohodne s programovacím programem v PC „Flasher“, ten mu pošle program pro jednočipový procesor v HEX formátu a loader tento program naprogramuje do spodních 63 kB interní FLASH procesoru RD2. Námi dodávaný loader a flasher je kompatibilní s originální a navíc umí i obsluhovat interní EEPROM procesoru.
Pro práci s RD2 Kitem tak nepotřebujete žádný programátor, ani spoustu kabelů na
stole. Stačí vám PC se sériovým portem RS232, editor a jeden z popsaných C
kompilerů, napáječ a RD2 Kit.
Základní parametry CPU
- 80C51 CPU jádro
- FLASH paměť na čipu je programovatelná programem vlastního procesoru.
- ISP (In-System Programming) a IAP (In-Application Programming) kompatibilní
- Při dodávce obsahuje FLASH již LOADER pro naprogramování obvodu procesoru z UARTu.
- Parallelní programování je kompatibilní s 87C51 programátory
- 6 hodinových taktů cyklu, místo standardních 12 - Vnitřní násobička dvěmi se přepíná softwarově v systémovém registru.
- Rychlost CPU do 20 MHz (6 taktů/ cyklus) nebo 40 MHz - úměrné výkonu 33 MHz standardní x51.
- Plně statické operace
- 1kb interní RAM v MOVX navíc ke standardním 256 bytům. RAM je rozšiřitelná na 64 kB.
- 7 zdrojů přerušení ve 4 úrovních priority.
- Čtyři 8-bit I/O porty, duplexní rozšířený UART.
Existuje i verze v PLCC 68 se dvěma 8. bitovým porty navíc. - Podpora úporných režimů, CLOCK lze zastavit a zase spustit..
- Programovatelný výstup hodin
- druhý DPTR registr
- Možno dealtivovat pulsy na ALE (Low EMI )
- PCA čítač (Programmable Counter Array)
- 2 kB EEPROM pro 100 K zápisových cyklů (pouze T89C51RD2)
- Watchdog v procesoru
Naučíme vás pracovat s prostředím kompilátoru C
V dokumentaci je velmi podrobně popsáno, jak se naučit zkompilovat svůj první projekt v KEILU ale i SDCC. Nemusíte tedy zbytečně dlouho procházet desítky stran manuálů... Projekt BLIK si zkompilijete během pár minut, ostatní máte připraveny ve spustitelné i zkompilovatelné podobě a pak již stačí upravovat stávající příklady...
Něco málo o C kompilerech a jejich porovnání najdete na HW serveru
- Jak by měl vypadat nástroj pro vývoj aplikací v C
Pokud hodláme investovat nemalé peníze do nákupu vývojového prostředí měli-by jsem si uvědomit co od daného produktu chceme a k čemu ho budeme používat.. Článek porovnává jednotlivé existující C kompilátory na x51 a upozorňuje na přehlížené ale důležité vlastnosti jednotlivých kompilátorů..
- Překladače jazyka C pro mikroprocesory řady x51
K vývoji aplikací pro jednočipové mikropočítače lze použít celou řadu programovacích jazyků (jazyk symbolických instrukcí, C, Pascal, java, Basic, atd.). Dominantní postavení si stále udržuje jazyk symbolických instrukcí s více než 50 %. Současný trend však stále více směřuje, k použití vyšších programovacích jazyků, jmenovitě jazyka C..
2x 40 řešených příkladů
To nejcenější na tomto kitu jsou odladěné a zdokumentované příklady, které vás vtáhnou do světa programování v C
Pro studijní účely a pochopení základních principů návrhu jednočipových aplikací s procesory řady 8051 je RD2-kit vybaven sadou příkladů v jazyce C. Ukázkové příklady jsou určeny pro vývojové nástroje Keil C51 evaluation version a SDCC. Porovnáním těchto dvou nástrojů máme možnost si vytvořit konkrétní náhled na problematiku vývoje jednočipových aplikací ve vyšším programovacím jazyce. Naprogramování vytvořené aplikace do JM z PC se provádí metodou ISP přes sériové rozhraní. Tato metoda nevyžaduje žádný další podpůrný hardware a zcela eliminuje použití klasického programátoru.
Kromě zdrojových kódů najdete na CD také .HEX soubory, které lze pomocí Flasheru nebo programu FLIP rovnou nahrát do aplikace a spustit.
Jednotlivé příklady jsou členěny do několika tématických skupin
Úvodní program v C na T89c51RD2
- popis překladu a sestavení jednoduchého programu v jazyce C, naprogramování JM metodou ISP.Sériový kanál
- nastavení 8-bitové sériové komunikace, vlastní funkce pro čtení a zápis dat přes sériový kanál,
- použití standardních funkcí jazyka C pro formátovaný vstup/výstup dat přes sériový kanál,
- celočíselný kalkulátor.LCD displej 2 x 16 znaků v 4-bitovém režimu komunikace
- nastavení 4-bitového režimu komunikace, funkce pro čtení a zápis dat na LCD displej,
- uživatelská znaková sada, posuvy textu a animace,
- zasílání příkazů LCD displeji přes sériový kanál,
- přesměrování standardního výstupu funkce printf na LCD a sériový kanál.Maticová klávesnice 4 x 3
- funkce pro čtení klávesnice, diagnostika klávesnice s výstupem na sériový kanál,
- sdílení datové sběrnice LCD displeje s klávesnicí, výstup dat na LCD.Systém přerušení
- časovač T2 s obvodovým 16-bitovým přednastavením, obsluha led diody v rutině přerušení,
- hodiny reálného času s časovačem T2,
- obsluha vnějšího přerušení INT0.Časovač watchdog
- ovládání časovače watchdog a jeho použití při kontrole běhu aplikace,
- řízené nulování JM časovačem watchdog.Čítačem podporované programovatelné pole PCA, časovač T2
- 8-bitová pulsně šířkové modulace,
- měření délky pulsu,
- programovatelný generátor pulsů.Paměť programu FLASH
- ověření integrity kódu programu na základě výpočtu kontrolního součtu souvislého bloku paměti FLASH,
- volání API funkcí uživatelského zavaděče pro práci s pamětí FLASH,
- přístup do paměti XAF (eXtra Array Flash).Paměť EEPROM
- obsluha paměti EEPROM, čtení, zápis a výpis obsahu paměti přes sériový kanál.Vnější paměť dat XRAM
- nastavení dostupné velikosti vnější paměti dat XRAM,
- test paměťových buněk a výpis obsahu paměti přes sériový kanál.Speciální funkce procesoru
- vypnutí generování signálu ALE,
- režimy se sníženou spotřebou (Idle Mode, Power-Down Mode),
- programové přepínání násobičky hodin (X2 - Mode).Diagnostika JM
- ověření funkčnosti jednotlivých bloků JM a připojených periferií.Pokročilé použití vývojových nástrojů
- vkládání instrukcí jazyka symbolických adres do zdrojového kódu jazyka C,
- sestavení výsledného programu na uživatelem definovaných adresách.
Stáhněte si podrobnější popis těchto příkladů : rd2kit_40examples.pdf
Co najdete na RD2Kit CD
V dodávce RS2 Kitu jsou přiloženy 2 CD. Jedno obsahuje demoverzi KEIL s řadou dalších
zajímavých utilit a aplikací.
Na druhém CD najdete dále popsané utility a užitečné příklady
související s RD2 Kitem.
V rootu našeho RD2 Kit CD najdete podrobnou dokumentaci k celému Kitu a 4. stránkový
manuál "RD2 Kit - rychlý start" v .PDF formátu.
Adresář Datasheets
Obsahuje katalogové listy a Errata reports k procesorům RD2 od Atmelu a PhilipsuAdresář Examples
2x 40 řešených příkladů se dále dělí na rd2.src.keil a rd2.src.sdcc kde najdete zdrojové kódy příkladů a jejich zkompilované podoby pro Keil a SDCC.Adresář Flasher
Vše co souvisí s nahráváním aplikací do RD2 CPU. instalace FLIPu od Atmelu, WinISP od Philipsu a našeho RD2 Flasheru. Stejně jako .HEX kód upravaného loaderu pro obsluhu EEPROM..Adresář sdcc
Instalace kompileru sdcc.2.3.2.win32 a include soubor 89c51rd2.hAdresář Sw
Veškeré potřebné utility a rutiny (Acrobat Reader, šikovný RS232 terminál, SourceEdit12 a Teraterm)
Až si budete instalovat demoverzi KEILu projděte si podrobně celé CD. Kromě řady velmi zdařilých presentací použití prostředí mVision obsahuje i spoustu dokumentací, cca stovku příkladů řešení různých algoritmů a omsluhy periférií atd.. Najdete zde také řadu hlavičkovýh souborů pro různé verze x51 procesorů, databázy nejčastějších dotazů a odpovědí a podobně...