Synchronizace zpráv (rámců) z MEMs systémů na CAN sběrnici
Obsah Zadání... 3 Úvod... 3 MEMs... 3 Popis software pro USB2CAN... 3 Popis měřicích modulů (MEMs akcelerometrů)... 5 Popis MEMs systému (akcelerometru) MMA7456... 7 Popis SPI komunikace... 8 Popis komunikačních rámců pro MEMs moduly... 9 Kontrolní otázky... 11
Zadání 1. Seznamte se s prvky laboratorní úlohy demonstrující možnosti synchronizace měřicích modulů na CAN sběrnici. 2. Seznamte se s převodníkem USB2CAN a s možnosti softwarové podpory pro tento převodník, sestavte konfigurační rámce pro jednotlivé měřicí moduly. 3. Připojte minimálně 2 měřicí moduly na CAN sběrnici a proveďte základní měření (ověření) funkčnosti snímačů. 4. Proveďte současné měření na dvou snímačích. Vytvořte sled příkazových CAN rámců umožňující automatické čtení aktuálních zrychlení v jednotlivých MEMs modulech. Zohledněte vzorkovací periodu. 5. Vytvořte sled příkazových CAN rámců umožňující automatické čtení aktuálního zrychlení z vybraného MEMs systému pro různé vzorkovací frekvence. 6. Vyjádřete se k výsledkům měření. Úvod CAN je dvouvodičová sériová datová sběrnice vyvinutá firmou Bosch. Použitá přenosová cesta může být tvořena kroucenou dvojlinkou. Elektrické parametry fyzického přenosu jsou specifikované normou ISO 11898. CAN protokol odpovídá datovému přenosu vrstvy v ISO/OSI referenčním modelu. Síťový protokol detekuje a opravuje přenosové chyby vzniklé od okolních elektromagnetických polí. Dovoluje snadné nastavení (konfiguraci) systému a umožňuje centrální diagnostiku. Obsah zprávy je dán identifikátorem (ID), který je v celé síti jedinečný. Tento identifikátor definuje obsah přenášené zprávy a zároveň i prioritu zprávy při pokusu o její odeslání na sběrnici. Vyšší prioritu mají zprávy s nižší hodnotou identifikátoru. Příjem zpráv může být mnohonásobný (jedna zpráva může být přijata několika zařízeními). Maximální rychlost přenosu je na sběrnici 1Mbit/sec. Bližší informace viz specifikace CAN. MEMs Produkty MEMs vychází z možností MEMs technologie a jedná se především o pohybové senzory (akcelerometry, gyroskopy ), ale i mikročerpadla, mikropohony, mikrocívky aj. V souvislosti s těmito produkty se hovoří o systému na čipu nebo také o inteligentním snímači, jelikož je zde přítomen jak mechanický subsystém (nutný pro transformaci fyzikální podstaty na elektrickou veličinu), tak elektronický subsystém zajišťující následné zpracování, neboli postprocessing (zesílení, saturace, filtrace aj.). Popis software pro USB2CAN USB2CAN je adaptér pro připojení sběrnice CAN k PC prostřednictvím USB. Toto zařízení je inovovanou variantou CAN bus převodníku PP2CAN. Zařízení využívá pro komunikaci po USB obvodu firmy FTDI. Jako CAN bus controller je použit obvod SJA1000, který je dnes standardem pro CAN - PC interface. Mezi tyto dva obvody je vložen mikroprocesor PIC řady 18, který zajišťuje obsluhu obou obvodů, provádí transformaci dat a slouží jako další vrstva vyrovnávací paměti. Tento mikroprocesor obsahuje bootloader a dovoluje provádět update originálního firmware, případně zavádět specializovaný uživatelský firmware [ http://www.usb2can.wz.cz/].
Obr. 1 Modul USB2CAN Obr. 2 Hlavní okno aplikace Okno aplikace seznamu: USBCAN je rozděleno do několika částí. Nejdůležitější částí jsou v následujícím Menu programu, kde jsou k dispozici jednotlivé nástroje pro analýzu komunikace, nástroje pro generování dat apod. Okno logu přijatých zpráv Okno logu manuálně odeslaných zpráv Okno pro zobrazení hlášení programů Okno databáze předdefinovaných zpráv Pomocná lišta (ResetCAN, Reset Logu ) Okno pro nastavení a manuální odeslání zprávy na CAN Okno pro práci s databází předdefinovaných zpráv Okno pro práci s výběrem více předdefinovaných zpráv.
Obr. 3 Okno cyklického zasílání rámců na CAN sběrnici Obr. 4 Okno grafického zobrazení dílčích Bytů CAN rámce Bližší popis naleznete v manuálu pro jednotku nebo na adrese http://pp2can.wz.cz/pages/download/pp2can/diagnosticky%20sw%20pp2can%20cz.pdf. Pro nás důležitými záložkami jsou záložky Senders a Receivers. Pomocí těchto záložek lze cyklicky posílat např. zprávy, které obsahují 8 bytů datového rámce. Popis měřicích modulů (MEMs akcelerometrů) Celý měřicí systém je sestaven s MEMs akcelerometru firmy freescale. Blokové schéma celého systému je na obr. 5. Celý systém je složeny z několika měřicích modulů umístěných na specifických místech např. káry. Jednočipový procesor realizuje komunikační most mezi MEMs systémem a CAN sběrnici. Tento jednočipový procesor obsahuje, jak SPI komunikaci (komunikace ze strany MEMs systému), tak i modul pro CAN komunikaci (strana komunikace s nadřazeným systémem). Pro vyhodnocení naměřených dat je možno využít např. software USB2CAN. Základem komunikační jednotky je jednočipový procesor řady PIC (PIC16F258), jehož součástí je i modul určený pro CAN komunikaci. Pro unifikaci signálů pro fyzickou vrstvu je použit převodník MCP2551. Součástí tohoto jednočipového počítače je i modul podporující SPI a I2C komunikaci. S ohledem na požadovanou rychlost SPI komunikace je vytvořen softwarový komunikační modul, pracující na maximální rychlosti procesoru. Ta je dána 16 MHz krystalem. Schéma zapojení je na obr. 6.
Obr. 5 Schéma zapojení desky senzoru Obr. 6 Schéma zapojení komunikační desky na basi PIC Vývody desky tištěného spoje jsou vyvedeny na vnější okraje. Desky s MEMs systémy mají vývody umístěny také na okraj podle významu signálu. To umožňuje připojení různých typů těchto senzorů. Podle typu senzoru je třeba vložit patřičný firmware do jednočipového počítače, který umožňuje komunikaci s vybranými MEMs systémy.
CompactRIO NI 9853 USB2CAN DSP s PIC18F258 DSP s PIC18F258 SPI bus DSP s MMA7456L.. SPI bus DSP s MMA7456L USB Modul 1 Modul 2 TCP/IP Obr. 7 Blokové schéma úlohy Popis MEMs systému (akcelerometru) MMA7456 Použité MEMs systémy jsou tříosé akcelerometry firmy freescale komunikující meziobvodovou komunikaci SPI. Na následujícím obrázku je mapa registrů těchto akcelerometrů. Bližší popis lze najít v pdf souboru pro daný akcelerometr [http://www.freescale.com/files/sensors/doc/data_sheet/ MMA7456L.pdf]. Obr. 8 Mapa registrů MEMs senzoru
Obr. 9 Hodnoty registrů (měřicích) pro různé rozsahy Popis SPI komunikace SPI je meziobvodová komunikace využívána v tomto případě na přenos dat z MEMs systému do komunikačního modulu. Základem komunikace jsou signály CS\, SDI, SDO, SPC. Signál CS\ slouží k výběru obvodu, se kterým bude obvod komunikovat. Signál SPC jsou hodinové pulsy synchronizující sériový přenos jednotlivých bitů z MEMs systému do komunikačního modulu na basi PIC. Signály SDI a SDO jsou určeny pro přenos obsahu jednotlivých bitů (dat). Při třívodičovém spojení je SDI a SDO spojen do jednoho vodiče. V této konfiguraci je třeba zajistit přepínání směru toku dat na straně jednočipu (komunikačního modulu). Na následujícím obrázku je grafické znázornění přenosu dat po SPI. Obr. 10 Příklad SPI komunikace s reálnými průběhy
Obr. 11 Čtení 8-mi bitových registrů ve 4 vodičovém zapojení (MMA7456) Obr. 12 Čtení 8-mi bitových registrů v 3 vodičovém zapojení Popis komunikačních rámců pro MEMs moduly Všechny senzory s komunikačním modulem jsou připojeny na CAN sběrnici. Pomocí software USB2CAN můžeme konfigurovat a číst data z jednotlivých modulů. Lze přistupovat až k registrům jednotlivých MEMs systémů. Pokud chceme přečíst jen aktuální zrychlení všech senzorů připojených na sběrnici, musíme poslat rámec s ID 1, který obsahuje jako 1. Byte 255. Pokud chceme komunikovat jen s vybraným senzorem na sběrnici CAN, musíme nastavit v 1. Byte rámce s ID 1 hodnotu ID_modulu. Pak následuje selekce čtení/zápis apod. Následují hodnoty podle funkce. Všechny dotazy a odpovědi jsou popsáno v následujících tabulkách. Senzor odpoví jen jedním rámcem ze snímače. ID od modulu mastr (nadřazená úroveň) je vždy 1. Tab. 1 Popis rámců vysílaných z modulu mastr (dotaz) Byte B0 B1 B2 B3 B4 B5 B6 B7 C1 255 x x x x x x x čtení ze všech připojených C2 ID_m 128 x x x x x x čtení jen z jedné desky C3 ID_m 1 ms us x x x x nastaveni časových int. C4 ID_m 15 Adr Hod x x x x zápis do registrů senzorů C5 ID_m 240 Adr x x x x x čtení z registrů senzorů
Tab. 2 Popis rámců vysílaných z modulu slave (odpověď) Byte B0 B1 B2 B3 B4 B5 B6 B7 Po příkazu C5 adr hod x x x x x x čtení z registrů senzorů Po příkazu C1 a C2 XL XH YL YH ZL ZH POC DRDY vrací tento rámec při čtení Obr. 13 Umístění senzoru na vozidle
Obr. 14 Řídicí (koordinační) jednotka C Rio Obr. 14 Aplikace pro konfiguraci řídicího systému a záznam dat v prostředí LabView Kontrolní otázky 1. Z čeho je složený komunikační rámec na CANu? 2. Co je to SPI komunikace? Vysvětlete princip komunikace. 3. Jakým způsobem jsou prezentované záporná čísla v PC?
Literatura ANALOG DEVICES 2007. MEMS and Sensors - imems Gyroscopes, [online] available from web: http://www.analog.com. KIONIX 2007. Mems inertial sensors, product specification, [online] available from web: http://www.kionix.com. ŠKUTA, J., BABIUCH, M. 2007. Usage of serial interface for communication with MEMS components. In Proceedings of 8 th International Carpathian Control Conference ICCC 2007. Štrbské Pleso: TU Košice, May 24-27, 2007, pp. 705-708. ISBN 978-80-8073-805-1. CONTROL WEB 5. 2007. CW 5 Development system specification - Moravské přístroje, a.s., Available from www: <URL:http//www.mii.cz>. VACEK, V. 2007. Praktické použití procesoru PIC. Praha, BEN-technická literatura, ISBN 80-86056-56-7.