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 vytří 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ý početní čas (řadu událos přerušení). Externí mikroprocesor bude mít mnohem více
nevyužitého času.
Sestavení programu se řídí mlenkou: 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 zmé funkce jako automatická regulace pohybu se nyní jeví jako skuteč hoda
master pouze přenáší krátké povely typu jeď dopředu na <parametry rychlosti> a e zbývající
se provede automaticky. Některé běžící úlohy se mohou samozřejmě zhroutit, například kd
snímače detekují překážky.
Zdrojo text programu obsahuje seznam ech platných příkazů a příslušných parametrů. Dále
zdrojo text programu obsahuje ostatní detaily potřeb 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.