. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Software pro USB I/O a nové moduly
21. května 2012 - 8:00 | Pandatron | Software pro USB I/O a nové moduly | Komentářů: 1  

Software pro USB I/O a nové moduly

Příklad aplikace pro řízení našich USB I/O modulů - PUSBIO s obvody MCP2200 a první informace o chystaných USB I/O modulech s oddělenými vstupy a výkonovými relé.

Před nějakým časem jsme a trh uvedli jednoduché a snadno použitelné USB I/O moduly, určené pro vývoj i malosériovou výrobu. Moduly PUSBIO z naší produkce jsou založeny na obvodech MCP2200 společnosti Microchip, představující integrované USB – I/O převodníky s rozšířením o uživatelský UART. Moduly jsou jako novinku představili zhruba před rokem v článku MCP2200 a modul USB I/O a samotné obvody MCP2200 jsme představili článkem USB převodník od Microchipu. Díky jejich dobré dostupnosti a vysokému nabízenému potenciálu se v případě PUSBIO jedná o jedny z nejprodávanějších modulů ve své kategorii. Z toho důvodu jsme se rozhodli nabídku dále rozšířit a dopit ji o prakticky použitelné USB I/O moduly s oddělenými vstupy a relé výstupy. Nejprve si však přibližme alespoň základní vlastnosti obvodů MCP2200.

Obvody MCP2200
Obvody MCP2200 jsou ve skutečnosti naprogramovaným mikrokontrolérem PIC18F14K50 společnosti Microchip. Rozložení pinů i provozní vlastnosti jsou naprosto shodné, pouze na sobě obvody nesou jiné označení a na svém čipu připravený program.


Obr. 1: Blokové schéma obvodu MCP2200

Jak je vidět, blokové schéma obvodu je poměrně jednoduché a vychází z integrovaných periferií výchozího mikrokontroléru. Vstupem je integrovaný USB port a PHY, následovaný programovým USB kontrolérem. Na druhé straně obvodu je až osm libovolně konfigurovatelných I/O (vstupně/výstupních) pinů, případně šest, kdy se dva piny použijí pro konfigurovatelné indikační LED. Rovněž je k dispozici hardwarový sériový port UART, tedy RS232 v TTL úrovních, včetně řídicích pinů RTS a CTS.

Základní vlastnosti:

  • Podpora Full-Speed USB (12 Mb/s)
  • Implementace USB Protocol Composite Device CDC Device
  • 128 bytů vyrovnávací buffer je rozdělen na 64 B pro vysílání a 64 B pro příjem
  • Plně konfigurovatelné VID, PID a deskriptor
  • Možnost napájení z USB portu či zařízení
  • Dostupnost USB driverů typu VCP pro Windows XP(SP2 a lepší)/Vista/7
  • Konfigurační nástroje pro pohodlnou volbu vlastností sériového portu
  • Podpora přenosové rychlosti v rozmezí 300 baud až 1 M baud
  • Hardware flow kontrol
  • Indikační LED - TxLED a RxLED
  • Pracovní rozsah napětí od 3,0 do 5,5 V
  • ESD ochrana >4 kV HBM
  • Dostupný v průmyslovém teplotním rozsah: -40 °C až +85 °C

Obvody MCP2200 jsou výrobcem dodávány již naprogramované, takže je stačí pouze přes USB port připojit k PC a ihned použít. Spolu s těmito obvody jsou rovněž dostupné i příslušné ovladače, které v systému vytvoří nové USB zařízení pro přístup k I/O pinům a zároveň ovladače pro VCP, které vytvoří virtuální sériový port. Ten se v systému chová jako klasický sériový port, emulovaný přes USB a je dostupný z libovolné aplikace.

Modul USB I/O (PUSBIO)
Pro usnadnění vývoje, ale i pro použití v jednoduchých zařízeních, jsme s obvodem MCP2200 navrhli jednoduchý USB I/O modul. Modul PUSBIO přímo na své desce obsahuje Micro USB konektor a na dvou lištách (s rozestupem vhodným i pro použití v kontaktním poli) má vyvedeny všechny dostupné I/O a UART piny.

Na následujícím obrázku je uvedeno schéma zapojení modulu PUSBIO.


Obr. 2: Schéma zapojení modulu PUSBIO

Schéma vychází s doporučeného zapojení obvodu MCP2200 (IO1), který je na něm rovněž jediným aktivním prvkem. Obvod je řízen krystalem X1 na frekvenci 12 MHz a napájen přímo z USB portu počítače. USB port se připojuje ke konektoru J1 typu Micro USB a napájecí napětí se k modulu vede přes ochranný rezistor R1. Obvod MCP2200 si pak přímo na svém čipu vytváří napájecí napětí 3,3 V, potřebné pro komunikační rozhraní. Výstup integrovaného regulátoru je na pinu VUSB zablokováno kondenzátorem C4 a rovněž vyveden na pinové lišty. Lišty J2 a J3 jsou standardní, s roztečí pinů 2,54 mm a vlastní vzdáleností 500 milů. Všechny I/O a datové UART piny mají výstupní úroveň 5 V, nízké napětí (3,3V) se používá pouze pro napájení interních obvodů USB rozhraní.

Aby bylo možné využít všech osm dostupných I/O pinů, nejsou použity alternativní funkce LED na pinech GP6 a GP7. Místo toho jsou dvě LED D1 a D2 připojeny přímo na datové piny rozhraní UART.


Obr. 3: Rozložení pinů PUSBIO

Více informací o konstrukci modulů PUSBIO, rovněž jako popis instalace ovladačů případně konfiguračního software, naleznete v článku MCP2200 a modul USB I/O.

Aplikace PUSBIO
Pro snadné použití a jako ukázka pro vývoj vlastních aplikací, jsme nyní k modulům připravili vlastní jednoduchý ovládací software PUSBIO v1.0. Ten je včetně kompletních zdrojových kódů pod licencí GNU/GPL v.3, uveden volně ke stažení na konci článku.


Obr. 4: Aplikace PUSBIO v1.0

Aplikace je napsána v jazyce C# s použitím volně dostupného vývojového prostředí Microsoft Visual C# 2010 Express (zdarma ke stažení na webu společnosti Microsoft). Pro svou činnost vyžaduje .NET Framework, který je již součástí většiny moderních operačních systémů.

Prostřednictvím jednoduchých tlačítek je v aplikaci k dispozici všech osm I/O pinů, konfigurovaných jako výstupy. Je tedy jasné, že v uvedená ukázková aplikace ani zdaleka nevyužívá plný potenciál modulů, jako jsou digitální vstupy nebo sériový port RS232 (TTL) s hardwarovým řízením toku dat. Pro přiblížení vlastností modulů a jako ukázka pro vývoj vlastních aplikací však plně postačuje.

Vývoj aplikace pro obvody MCP2200
Vývoj každé aplikace začíná samozřejmě stažením vhodného vývojového prostředí. V našem případě padla volba na prostředí Microsoft Visual C# 2010, které je dostupné zdarma, ke stažení na webových stánkách společnosti Microsoft. Po jeho instalaci můžeme ihned začít pracovat na nových projektech (případně si otevřít projekt PUSBIO, který je ke stažení pod článkem).


Obr. 5: Prostředí Microsoft Visual C# 2010 Express

Navázání spojení s modulem
Po přiřazení dynamické knihovny SimpleIO.dll můžeme ihned s modulem PUSBIO začít pracovat. Otevření příslušného portu se provede:

  InitializeComponent();
  SimpleIOClass.InitMCP2200(0x04D8, 0x00DF);
  SimpleIOClass.ConfigureIO(0x00);

  if (SimpleIOClass.IsConnected()) {
    /* podařilo se navázat spojení s modulem */
  } else {
    /* spojení s modulem se nepodařilo navázat */
  }

Po těchto pár řádcích kódu máme již otevřeno spojení (InitMCP2200();) s PUSBIO modulem s VID a PID 0x04D8 & 0x00DF. Jedná se o defaultní nastavení od výrobce obvodů MCP2200 a v případě potřeby lze VID a PID změnit pomocí konfiguračního software MCP2200 Configuration Utility. Více informací o konfiguraci modulů naleznete v článku MCP2200 a modul USB I/O. Funkce ConfigureIO(); definuje, který piny na modulu budou nastaveny jako vstupní (1) a které budou výstupní (0). V případě uvedené hodnoty 0x00 jsou všechny dostupné I/O piny konfigurovány jako výstupní. Úpravou například na hodnotu 0x01 bychom získali sedm výstupů (GP1 až GP7) a jednoho vstupu (GP0).

Práce se vstupy/výstupy modulu
Pro práci s jednotlivými I/O piny jsou určeny funkce SetPin, ClearPin, ReadPin a samozřejmě řada dalších funkcí, které jsou uvedeny v následující tabulce. Význam funkce přesně odpovídá jejich názvu: SetPin – nastavení jednoho pinu do log. 1, ClearPin – nastavení jednoho pinu do log. 0, ReadPin – čtení hodnoty jednoho pinu a není je tedy třeba blíže popisovat. Pro nastavení kupříkladu pinu GP5 do stavu logické jedničky (+5V) v aplikaci tedy uvedeme:

  SimpleIOClass.InitMCP2200(0x04D8, 0x00DF);
  SimpleIOClass.SetPin(5);

V následující tabulce je uveden přehled všech dostupných funkcí obvodu. Jejich přesný popis, včetně doplňujících informací a ukázkových kódů, je uveden v datovém lisu obvodu MCP2200 ke stažení na webových stránkách společnosti Microchip.


Tab. 1: Přehled všech dostupných funkcí pro obvody MCP2200. Jejich podrobný popis je uveden v technické dokumentaci obvodů.

Uvedená aplikace je včetně kompletních zdrojových kódů volně ke stažení v odkazech pod článkem. Aby byl vývoj první aplikace maximálně usnadněn, je celá výkonná část vytvořena v jediném souboru – Form1.cs.

Nové USB I/O moduly
Jako úplnou novinku vám již nyní můžeme představit první dva USB I/O moduly s oddělenými vstupy a výstupy s relé. Moduly jsou opět založeny na obvodech MCP2200 a tvoří jednoduché a snadno použitelné řešení pro řízení libovolných procesů.

První modul obsahuje pouze jediné relé s přepínacím kontaktem, takže je určen pro řízení jediného stavu (například elektrického spotřebiče). Jeho výhodou je však velmi nízká cena, která vychází z minimálního počtu součástek a malé desky s plošnými spoji.


Obr. 6: Připravovaný modul PUSB1R

Druhý z modulů využívá všech osmi I/O a nabízí tak celkem čtyři izolované vstupy a čtyři výstupy s relé.


Obr. 7: Připravovaný modul PUSB8R

Oba uvedené moduly jsou vybaveny USB konektorem typu B a svorkovnicemi pro rychlé a snadné použití v cílové aplikaci. V současné době máme vyrobeny první prototypy modulů a předpokládáme, že v našem eshopu se moduly objeví v horizontu 1-2 týdnů.

V případě zájmu o více informací využijte prosím náš kontaktní formulář.

Dostupnost modulu
Uvedené moduly PUSBIO, samostatné desky s plošnými spoji i Micro-USB 2.0 kabely naleznete v našem elektronickém obchodě na adrese shop.pandatron.cz.

Odkazy & Download:
Domovská stránka firmy Microchip
Informace o obvodu MCP2200
Datasheet MCP2200
MCP2200 Drivers and Utilities

Zdrojové kódy a ukázková aplikace PUSBIO
USB I/O s MCP2200 v eShopu
USB převodník od Microchipu
MCP2200 a modul USB I/O







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

Komentáře (1):

Zobrazit starší 30 dnů (1)...

host
1. Dne 26. 05. 2014 v 10:24 zaslal host
Přání
MCP 2200 chodí na první zapnutí. Připravuje se něco podobného s více I/O? (tak 32)
Děkuji Zadražil


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:
PU232C - převodník USB-UART, modul
Modul s obvodem CP2102 od Silicon Labs - převodník USB-UART pro vývoj a malosériovou výrobu.
od 190 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