RE: komunikace mezi CPU na 6 metrů po kabelu.

radek.koutsky na gmail.com radek.koutsky na gmail.com
Neděle Duben 12 18:34:54 CEST 2020


Zdravím,

Pokud píšete, že přenos bude "pár desítek bajtů za minutu" pak bych se absolutně nebál použít SW serial.
Já mám aplikaci, kde používám na jednom PIC 4x UART v rychlosti 56k a stíhám tím obsluhovat vše potřebné bez sebemenších problémů.

Určitě bych využil RS485, tedy něco jako SN65176 pro 5V nebo ST3485EBD pro 3V3.


RK

-----Original Message-----
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Petr Zapadlo
Sent: Sunday, April 12, 2020 2:59 PM
To: HW-news <hw-list na list.hw.cz>
Subject: komunikace mezi CPU na 6 metrů po kabelu.

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




_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list