User Manual
120
Příklad 20: Rozhraní sběrnice I2C – režim Slave
Adresář: <RP6Examples>\RP6BaseExamples\Example_I2C_SLAVE\
Soubor: RP6Base_I2C_SLAVE.c
Na začátku program nebude předvádět žádnou viditelný výstup. K robotu musíte přidat
rozšiřující modul, který dokáže ovládat robot a chová se jako I
2
C master
Systém vytváří senzorický systém robotu pomocí několika přídavných mikroprocesorů. Ve
většině případů je to dobrým řešením ponechat jeden přídavný mikroprocesor na řízení celého
robotu. Nemusí to být větší a rychlejší mikroprocesor, ale stačí další MEGA32. Mikroprocesor
na hlavní desce již provádí několik úkolů jako ACS, regulace pohonu atd. a to jistě spotřebuje
určitý výpočetní čas (řadu událostí přerušení). Externí mikroprocesor bude mít mnohem více
nevyužitého času.
Sestavení programu se řídí myšlenkou: master řídí horní úroveň veškeré funkcionality robotu a
přes sběrnici I
2
C posílá příkazy do jednotky slave, která obsluhuje nízkou úroveň řízení.
Všechny známé funkce jako automatická regulace pohybu se nyní jeví jako skutečná výhoda –
master pouze přenáší krátké povely typu “jeď dopředu na <parametry rychlosti>” a vše zbývající
se provede automaticky. Některé běžící úlohy se mohou samozřejmě zhroutit, například když
snímače detekují překážky.
Zdrojový text programu obsahuje seznam všech platných příkazů a příslušných parametrů. Dále
zdrojový text programu obsahuje ostatní detaily potřebné pro regulaci.
Pokud je třeba, mikroprocesor ve slave automaticky inicializuje signál přerušení na první linku
externího přerušení (INT1). To se může Master využít k rychlé a snadné detekci stavu snímačů
nebo pohonu.
Hodnoty snímačů se mohou číst z řady registrů. Pokud se spustí událost přerušení, může
master začít číst některé stavové registry a kontrolovat, co způsobilo přerušení. Později může
číst další související registr.
Alternativně samozřejmě můžete kdykoliv jednoduše číst VŠECHNY registry snímačů
najednou.
Podrobné informace o této problematice a samozřejmě podrobnou specifikaci registrů lze najít
ve zdrojovém textu programu.
Další ukázkové programy řízení robotu budou publikovány současně s rozšiřujícími moduly.
Několik takových programů a příkladů pro jednotku RP6 CONTROL M32 je již přidáno na CD-
ROM.