Uživatelské nástroje

Nástroje pro tento web


cs:i2chub

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
cs:i2chub [Unknown date] (aktuální) – upraveno mimo DokuWiki (Unknown date) 127.0.0.1
Řádek 1: Řádek 1:
 +====== I²C rozbočovač I2Chub02B ======
 +[[http://www.mlab.cz/Modules/CommSerial/I2CHUB02A/DOC/I2CHUB02A.cs.pdf|Dokumentace k modulu]]
 +[[http://www.ust.cz/shop/product_info.php?cPath=22_27&products_id=230|E-shop UST]]
  
 +Modul určený k rozvětvení dvouvodičové sběrnice. Zapojení konektoru je zároveň uzpůsobeno k rozvodu napájení. A modul je tedy velice výhodné použít na robotech pro zasíťování čidel ve hvězdicové topologii.
 +===== Používání modulu =====
 +
 +<WRAP WARNING>Před použitím modulu a připojením napájení se ujistěte, zda všechna připojená čidla mohou být provozována na zvoleném napájecím napětí. Neboť připojením +5V napájení na 3,3V čidlo dojde k jeho poškození, nebo zničení.</WRAP>
 +
 +Modul má na standardy MLAB poměrně nezvyklé uspořádání výstupních konektorů, kdy konektory na I²C nejsou paralelně zdvojeny, ale naopak každá hřebínková řada je připojena k jednomu výstupnímu kanálu obvodu TCA9548A a číslována číslicemi 0 až 7. 
 +
 +==== Python ====
 +
 +Ovládání modulu je  implementováno v balíku [[cs:pymlab|pymlab]] v [[cs:i2c|I²C  subsystému stavebnice MLAB]].
 +
 +==== Linux ====
 +
 +V jádře Linuxu existuje modul pca954x, který slouží k ovládání integrovaných obvodů řady pca9541-8, které jsou však programátorsky kompatibilní s obvodem TCA9548A, použitým v modulu I2HUB02A. Protože I2C není plug-and-play  sběrnice.  Musíme tento modul nahrát do jádra ručně:
 +
 +  sudo modprobe pca954x
 +
 +Následně je možné modul přiřadit ke konkrétní I²C adrese na konkrétní sběrnici
 +
 +  root@OpenWrt:/# echo pca9548 0x70 > /sys/bus/i2c/devices/i2c-1/new_device 
 +  root@OpenWrt:/# dmesg | tail
 +  i2c i2c-1: Added multiplexed i2c bus 2
 +  i2c i2c-1: Added multiplexed i2c bus 3
 +  i2c i2c-1: Added multiplexed i2c bus 4
 +  i2c i2c-1: Added multiplexed i2c bus 5
 +  i2c i2c-1: Added multiplexed i2c bus 6
 +  i2c i2c-1: Added multiplexed i2c bus 7
 +  i2c i2c-1: Added multiplexed i2c bus 8
 +  i2c i2c-1: Added multiplexed i2c bus 9
 +  pca954x 1-0070: registered 8 multiplexed busses for I2C switch pca9548
 +  i2c i2c-1: new_device: Instantiated device pca9548 at 0x70
 +
 +Tento postup způsobí rozdělení hlavní zběrnice na několik segmentů, kdy ke každému segmentu I²C zběrnice lze z jádra přistupovat zvlášť. 
 +
 +Alternativně je však možné výstupy modulu přepínat ručně použitím přímého zápisu do routovacího registru. Například tento příkaz aktivuje všechny jeho porty (Pozor, pokud budeme v takovém případě na dva různé porty připojena zařízení se stejnými adresami, tak dojde velmi pravděpodobně k zablokování sběrnice.)
 +
 +  sudo i2cset -y -r  1 0x70 0xff
 +
 +
 +===== Související stránky =====
 +
 +  * [[cs:i2c|MLAB a sběrnice I²C]]
 +
 +
 +===== Reference =====
 +
 +  * [[https://forum.openwrt.org/viewtopic.php?id=30224|I2Chub02A v OpenWRT]]
 +
 +===== Problémy =====
 +
 +U verze I2CHUB02A se vyskytla výrobní vada a některé PCB měly nevodivé některé prokovy. Závada se projevovala tak, že nebyly připojeny některé pull-up odpory na napájení.
cs/i2chub.txt · Poslední úprava: 2015/08/03 16:03 (upraveno mimo DokuWiki)