. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Implementace IrDA rozhraní
19. března 2010 - 9:17 | Pandatron | Implementace IrDA rozhraní | Komentářů: 0  

Implementace IrDA rozhraní

Přehled dostupných IrDA implementací jednotlivých výrobců i licencí. Článek je zaměřen na klasický IrDA SIR, neopomíjí však ani nové formáty.

Infračervená komunikace je levné řešení bezdrátové, poin-to-point komunikace mezi dvěma zařízeními. Obdobně jako jiné komunikační formáty, jako je USB, Bluetooth a ZigBee, může být implementována přímo v mikrokontroléru. Formát IrDA je dnes součástí řady softwarových balíků a i přesto že jsou dostupné mnohem modernější bezdrátové přenosy, je stále velmi často využíván.

Infrared Data Association (IrDA), vzniklá v roce 1997, vyvíjí standardní komunikační metody, určené pro infračervené přenosy na krátkou vzdálenost. Ty jsou rozšířeny v celé řadě zařízení, včetně počítačů, tiskáren, PDA, mobilních telefonů, hodinkách, DAQ a dalších nástrojích a aplikacích. Sdružení se přitom snaží o produkci řady nových profilů pro IrSimple, IrDC, IrFM a aktivní podporu nových infračervených aplikací, jako jsou kupříkladu moderní platební systémy a jejich jednodušší a rychlejší provoz.

Klasické IrDA podporuje provozní režimy SIR (115 kbps), MIR (1 Mbps), FIR (4 Mbps), VFIR (16 Mbps) a UFIR. Vzhledem k tomu, že SIR řešení spolupráci s linkou RS232/UART, je v současné době nejčastěji využívaným typem. Základním požadavkem IrPHY, tedy fyzické vrstvy pro IrDA SIR je UART, IrDA ENDEC a IrDA transceiver. IrDA ENDEC (kodér - dekodér) převádí signály NRZ UART na RZ IrDA a naopak. V řadě aplikací bývá IrDA ENDEC řešen jako nezávislý obvod, například TOIM4232 firmy Telefunken. Takové řešení je však není v nových aplikacích příliš vhodné a tak se stává trendem integrace bloku ENDEC přímo do jednotky UART nebo IrDA transceiveru. Kupříkladu obvody řady ARM nabízejí blok IrDA SIR ENDEC přímo pro jádro PrimeCell UART. Tím je stále více a více obvodů řady ARM již od výrobce připraveno na IrDA komunikaci bez dalších vynaložených nákladů. Stejným směrem se navíc ubírá i řada dalších producentů polovodičových prvků dodavatelů IP.

Následující krátký přehled uvádí IrDA (SIR) kompatibilní obvody, včetně samostatných UART IO a mikrokontrolérů s podporou IrDA.

  • Microchip: MCP2140 / MCP2155 / PIC24F / PIC24H / dsPIC33F
  • NXP: SC16C554 / SC16C850SV / LPC17XX (Cortex-M3) / LPC28XX (ARM7TDMI) / LPC32XX (ARM926)
  • STM: STM32F103 (Cortex-M3) / STR91x (ARM926)
  • Freescale: MC9S12E128 / ColdFire / PPC / i.MX
  • TI: MSP430F2274 / Stellaris (Cortex-M3)
  • EXAR: ST16C650A (UART with IrDA ENDEC)

Krom výše uvedených obvodů je dále k dispozici i řada referenčních návrhů, nabízejících dostupnost IrDA SIR komunikačních režimů pro jejich softwarovou implementaci.

IrDA stack
Dobrým zdrojem informací a zdrojových kódů, včetně TCP/IP, Bluetooth a IrDA, je již tradičně Linux. Je totiž dostupný pod licencí Open-Source a v současné době je dostupná celá řada modifikací a rozšíření o naprostou většinu známých a užívaných protokolů a specifikací. Bohužel většina zdrojových kódů je příliš rozsáhlá na to, aby je bylo možné použít v embedded zařízeních.

Jediná možnost je použití OS uClinux v projektech, pracujících na 32-bitových mikroprocesorech. Menší obvody, tedy 16-bitové a spodní řada 32-bitových mikrokontrolérů, jako je ColdFire v1, LPC2000, LPC2100, Cortex-M0 a MSP430, mohou podporovat spíše jen tradiční RTOS, než uClinux.

IrDA stack je obvykle komerční produkt od nezávislých dodavatelů software, jako je například Sybase a EMBEDnet. I tak však existuje několik Open-Source implementací IrDA pro embedded aplikace s RTOS. Nicméně, většina dodavatelů mikrokontrolérů, včetně Freescale, TI a NXP, nabízí své IP pouze pro použití s IrPHY, než kompletní řešení pro IrDA.

Další možností je poté samozřejmě šance získat IrDA stack přímo od dodavatelů infračervených prvků. Například Agilent infrared transceiver product line, nyní součást produktové řady Avago Technologies, nabízí svůj IrDA Lite stacks (HSDL-S100 až HSDL-S900) s jeho IrDA transceiverem. Firma Avago nabízí své referenční implementace pro systémy Windows, 8051 (bez OS) a uC/OS-II na ARM7TDMI. Stačí se obrátit na nejbližšího oficiálního zástupce.

Také firma Zilog nabízí obdobný referenční design, avšak typu low-level a pro jejich enkodéry typu XP Z8F0412 se zdrojovým kódem. Podobně ani firma Microchip nezůstává pozadu a nabízí zdarma dostupné IrDA stack v knihovním formátu (v ELF a COFF). Výsledkem je kompletní zázemí pro jednoduché řešení IrDA komunikace na 16-bitové platformě řad PIC24F, PIC24H a dsPIC33.

IrDA stack firmy Microchip
Nejnovější v1.02 IrDA stack firmy Microchip poskytuje podporu pro IrCOMM 3-wire raw, IrCOMM 9-wire cooked a IrOBEX přenosové protokoly. Protokoly IrCOMM jsou k dispozici v klientských a serverových konfiguracích, zatímco IrOBEX je k dispozici v klientských, serverových a vzájemných (peer) konfiguracích. Pro vytvoření vhodných knihoven je k dispozici konfigurační nástroj pro PC (MIST.exe: Microchip IrDA Stack Tool).

Minimální požadavky pro IrDA stack na obvodech Microchip hovoří o modulu UART, časovači s přerušením, RAM (od 1,1 KB do 3,6 KB) a FLASH (ROM) (od 16 KB do 54 KB).

Vlastní kódy jsou dodávány v knihovně MPLAB C30. Uživatel si zde může zobrazit zdrojový kód pro ovladač, UART a Timer, stejně jako kompletní ukázkovou aplikaci. Stačí tedy stáhnout vývojové prostředí MPLAB s kompilátorem jazyka C a začít pracovat.

Tyto zdrojové kódy mohou navíc posloužit i jako vzorkové příklady pro zcela odlišné architektury. Změnou hlavičkového souboru a definic je možné získat low-level základ například pro obvody Zilog případně i operační systém. Jde však o poměrně náročnou práci, neboť IrDA stack je do značné míry podobný protokolu TCP/IP. Jedinou výhodou může být velká podobnost programové struktury s TCP/IP, což může ušetřit nějaký čas.

Zájemcům jsou k dispozici i nějaké open-source implementace, zmíněné již v úvodu. Ty však mají často jen omezené možnosti. Například Pico IrDA je Yahoo skupina lidí se zájmem o IrDA. IrDA Lite je malá a omezená implementace pro mikrokontroléry řady AVR firmy Atmel a MicroLite IrDA je velmi omezené komerční řešení pro jednoduché aplikace. Všechny výše uvedené implementace však mohou posloužit i jen jako základ pro vlastní implementaci a bohatý zdroj informací.

V případě potřeby implementace některého z moderních formátů, jako je IrSimple, IrRC či IrFM je vhodným zdrojem informací internet, neboť zde mohou být značné odlišnosti od základního SIR/IrCOMM.

Řadu informací je možné získat na následujících odkazech...

Článek vznikl z informací allankliu a informací čerpaných ze specifikací bezdrátových rozhraní IrDA a implementací IrDA stack. Ilustrace je majetkem serveru Pandatron.cz/sk

Odkazy & Download:
Agilent IrDA stack
Vishy Telefunken IrDA transceiver
Implementing IrDA with the MSP430 (PDF)
Zilog Z8 Encode! XP Z8F0412 Source Code Section
Elan SC400 Windows 95/98 SIR IrDA CodeKit Software
IrDA Lite Protocol Stack pro Atmel AVR
MicroLite IrDA Protocol, komerční
Pico IrDA Yahoo Group, BlauLogic
iAnywhere, dříve Extended Systems, nyní součást Sybase
EMBEDnet







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře:
Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
Elektronické časové relé
Programovatelné časové relé - TIMREL přináší univerzální použití v oblasti časového a sekvenčního spínání.
Skladem od 420 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007