veiner.eu
ÚVOD
MCP2221
IR PŘIJÍMAČOVLÁDÁNÍ ZVUKUSCHÉMA ZAPOJENÍHARDWAREFIRMWARESOFTWARE

Dálkové ovládání PC - převodník MCP2221

25.11.2018

MCP2221 je převodník mezi sběrnicí USB a UART. Obsahuje též rozhraní I2C, které ale v tomto projektu nebudu využívat. Napájení je možné z externího zdroje nebo přímo z USB sběrnice. Převodník navíc poskytuje 4 piny s nastavitelnými funkcemi, mezi kterými je například AD/DA převodník, externí přerušení, výstup hodinového signálu a další.

Po připojení k hostitelskému USB zařízení - v mém případě PC s OS GNU/Linux - se převodník jeví jako zařízení typu CDC a HID. Na svých webových stránkách výrobce poskytuje software zejména pro práci v OS Windows, ale i dalších systémech.

CDC

CDC (Communication Device Class) slouží ke komunikaci přes UART rozhraní. V operačním systému "se vytvoří" virtuální seriový port pojmenovaný většinou ttyACM0, přes který je možné komunikovat. Převodník podporuje rychlosti 300 až 115200 Baud - v projektu mi bohatě stačí rychlost 9600.

HID

Prostřednictvím HID (Human Interface Device) se provádí jednak nastavení převodníku, ale taktéž se ovládájí 4 výše zmíněné piny. Tuto funkcionalitu pro svůj projekt nepotřebuju, protože výchozí tovární nastavení mi plně vyhovuje. Nicméně jsem přeci jen vyzkoušel knihovnu HIDAPI, která poskytuje testovací program. Na obrázku dole probíhá komunikace s převodníkem prostřednictvím HID protokolu. Hodnoty 0xB0 0x00 v poli "Data" značí příkaz k přečtení nastavení převodníku z flash paměti. V poli "Input" je potom odpověď, jejíž formát stejně jako seznam příkazů je možné najít v datasheetu.

remote