komunikace mezi CPU na 6 metrů po kabelu.

Petr Zapadlo zapik na email.cz
Neděle Duben 12 14:58:43 CEST 2020


Zdravím,

řeším jak propojit na jedné straně Atmegu328 a na druhé straně ESP8266.

Atmega bude na střeše a bude číst data z TLE5010 (viz minulé vlákno)  a 
ESP8266 bude pod střechou a posílat data dál.   ESP pod střechou už je 
(dělá ještě něco jiného), na střeše je signál wifi už dost mizerný  a 
navíc bych tam musel stejně táhnout napájení (UTP kabel už tam mám), 
takže proto chci komunikaci s podstřešní ESP.

Délka  UTP kabelu je cca 6 metrů.  U Atmegy budu mít na SPI pověšený 
převodník TLE5010,  USART bude sice volný, ale podstřešní ESP má USART 
obsazený a dále už je tem další SW serial, takže další SW serial tam už 
nechci, protože by se zvyšovala nespolehlivost.

Přenos bude pár desítek bajtů za minutu, pouze jedním směrem, takže 
opravdu není potřeba žádná divočina,  na střechu mi vede UTP kabel, 
takže vodičů více než dost.

SPI a I2C sběrnice (zvlášť ta I2C) mi přijdou jako dost lokální a co 
jsem našel na netu, tak pochopitelně co je nad metr je většinou problém. 
Na druhou stranu není třeba to dělat "idioten sichr, soldaten fest" - 
žádná život ohrožující data tam nepůjdou.

Napadají mě tyto varianty:

- SPI, jako další zařízení k TLE5010, bez dalšího - tohle mi přijde jako 
přímá jízdenka do potíží.

- I2C, výhoda, že na ESP ani na Atmega ji ještě nepoužívám, takže je 
volná, ale sběrnice typu OC mi nepřijde jako dobrý nápad posílat to na 
větší vzdálenost, zvlášť když to vede přímo na piny CPU.

- bastl komunikace, budič udělat ze schmitt 74HC14 (už tam beztak bude), 
nesymetrický synchronní  přenos dat a hodin, každý po jednom vodiči. Na 
přijímací straně vedení "zakončené" nějakým odporem na zem, oddělovač 
zase 74HC14, přes přerušení příjem dat. Výhoda, rychlost přenosu si můžu 
zvolit svou a i když to bude bit bang tak to může být tak pomalé že to 
nebude vadit.

- využít nějaké 422/485 budiče a přijímače a buď přes to posílat 
asynchronní  seriový přenos (problém na ESP, kde už jeden SW serial je) 
a nebo to použít jen jako budiče vedení a komunikaci viz předešlý bod.

Je ještě nějaká možnost?

Já se asi přikláním k variantě s 74HC14, protože nic speciálního to 
nepotřebuje a jsem schopen to spáchat na koleně. Na pár metrů kabelu by 
to snad mělo být OK.

Co si o tom myslíte?

Dík.

Petr






Další informace o konferenci Hw-list