forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
MCP23008 - komunikuje jen chvili

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory
 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 27 prosinec 2017, 1:21    Předmět: MCP23008 - komunikuje jen chvili Citovat

Ahojte,
mám trošku problém rozkomunikovat MCP23008. Mám to připojený k dsPIC33EP a na I2C sběrnici mám 2ks toho MCP. Jeden má adresu 1 a druhej 5. I2C mi bhá po plochým kabelu o délce cca 30 cm.
Nedaří se mi je pořádně rozmluvit, resp. první ch pár zpráv seberou a posílají ACK, pak už ne.

Po inicializaci dsPIC pošlu do každýho MCP nastavení I/O a výchozí stav portu, tj. celkem 6B pro oba brouky. Tohle je jediný, kdy mi to komunikuje a pak už nekomunikují.
Na I2C mám pull-up 2k2 proti 5V, na 3,3V mi to nechodilo vůbec a s 5V napájením to jede aspoň po připojení napájení do celé hlavní desky. Připojení a odpojení plochého kabelu nemá vliv na funkčnost komunikace. Na log. analyzátoru a ani na oscáku nevidím, že by tam pak bylo něco jinak.
Díky

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 954

PříspěvekZaslal: 27 prosinec 2017, 14:42    Předmět: Citovat

Rychlost komunikacie? V datashete som videl aj 1k odpory.
Reset pin pripojeny cez odpor na vcc a zablokovany proti zemi keramikou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 27 prosinec 2017, 17:13    Předmět: Citovat

Na rychlost jsem zapomněl. Zkouším 400kHz, ale na 100k to funguje stejně blbě. Jeden MCP ma reset přímo na vcc 5V a druhej je přes 10k na vcc a 100n proti zemi. Napajeni je samozřejmě blokováno 100n, 2n2 a 22u keramikou. Všude jinak používám low-esr kondiky. Přinejhorším to nahradim nějakým levným PICem a komunikaci po uartu.
_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 954

PříspěvekZaslal: 27 prosinec 2017, 19:18    Předmět: Citovat

Skus to ovladat s inym pickom. Mas to v cecku?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 28 prosinec 2017, 0:40    Předmět: Citovat

Jiný PIC teď použít nemůžu. Mám tam ještě EEPROM M24C04 a ta komunikuje bez jediného problému.
Celý to mám napsaný v C. Hodím sem screeny z analyzátoru jak to vypadá. I2C knihovnu používám nějakou upravenou od Microchipu z pic 16 akorát jsem ji přepsal aby to šlapalo na dsPIC.

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 28 prosinec 2017, 15:08    Předmět: Citovat

Přihodil jsem pár obrázků z komunikace.
Na sběrnici je ještě EEPROM M24C04 a ta komunikuje bez jediného problému. Jediný co nechodí jsou ty zmíněný MCP.



i2C_ok_paket.jpg
 Komentář:
Tohle je jediná část která mi funguje - další pakety běhají po I2C až za 800 ms a tam už MCP nekomunikují

Stáhnout
 Soubor:  i2C_ok_paket.jpg
 Velikost:  77.52 kB
 Staženo:  48 krát


I2C_bad.jpg
 Komentář:
Tady je zblízka komunikace s MCP, nepřichází ACK

Stáhnout
 Soubor:  I2C_bad.jpg
 Velikost:  74.25 kB
 Staženo:  51 krát


I2C_ok.jpg
 Komentář:
Komunikace s MCP23008 - tady jsou z blízka 2 komunikující brouci

Stáhnout
 Soubor:  I2C_ok.jpg
 Velikost:  80.04 kB
 Staženo:  46 krát


_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 28 prosinec 2017, 15:37    Předmět: Citovat

Asi už tuším odkud vítr vane. Napětí na I2C sběrnici mám jen 3V3 i když mám pullupy pověšený na 5V. MCP potřebuje mít aspoň 4V aby bralo logickou úroveň. Takže 5V tolerantní vstupy na dsPIC neznamenají že nemají diody na VCC. Akorát nechápu proč to zezačátku funguje pár stovek ms a pak už ne.
_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 954

PříspěvekZaslal: 28 prosinec 2017, 23:00    Předmět: Citovat

A ked vlozis diody do data a clk a vypnes pullup na uP to nestaci? Alebo odporovy delic tj namiesto diod odpory.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 759

PříspěvekZaslal: 29 prosinec 2017, 1:56    Předmět: Citovat

V jedom projektu jsem použil MCP23S17 (SPI verze obvodu) a komunikace mezi MCP (5V) a Raspberry (3,3V) v provedení odporový dělič z 5V na 3,3V a odpor v serii z 3,3V na 5V nefungoval. Spolehlivě to začlo chodit až když jsem použil napěťový převodník pomocí BSS138 a dvou pull-up odporů na každém signálu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 29 prosinec 2017, 2:45    Předmět: Citovat

Problém vyřešen, do napájení MCP jsem dal do serie 2 diody a stáhnul jim napájení na 4V. Pak už se s 3V v IDLE na sběrnici vlezu a krásně to chodí až do 1,33 MHz.
Časem tam lupnu stabilizátor z 5V na 3,3 ať je po problému. Anebo ten BSS oddělovač.
Každopádně musím říct, že tento problém se mnou po dlouhé době zas vyjebal Very Happy

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 954

PříspěvekZaslal: 29 prosinec 2017, 15:36    Předmět: Citovat

Vidim ze si to zmakol. A pwriferiam nevadi ze maju len 4v?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 309
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 29 prosinec 2017, 15:54    Předmět: Citovat

No zmákl jsem to. Ale mám 20 ks tišťáků, který bez jednoho přeškrabu nefungují Sad
4V jsou asi jedno, MCP má fungovat od 1,8 - 5V, akorát teda to striktní sledování úrovně mě dostalo, bral jsem, že to má na vstupu CMOS tolerance.

_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1495

PříspěvekZaslal: 01 leden 2018, 4:00    Předmět: Citovat

No veď to práve to CMOS toleranciu má (log.H > 0.7*Ucc = 3.5V pre 5V Ucc.).
No memá to TTL toleranciu (log.H >2.4V).
Preto veľa krát používam HCT (nie HC) logiku pre prevod úrovní s dostatočnou rýchlosťou.
BSS138 s dvoma pullup-mi je fajn, no ak chceš vyššie rýchlosti, treba nízke hodnoty odporov pre rýchlejšie nabíjanie parazitných kapacít, čo následne spôsobuje vyššiu spotrebu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)