4xUART

Jan 02, 2007 18 Replies

W tej chwili mam zrealizowane programowo (na atmedze) 4 uarty. Chodz± na



4800 bps. Chcia³bym odci±¿yæ procesor i przyspieszyæ transmisjê. Szukam w zwi±zku z tym poczwórnego UART-a w ma³ej obudowie na SPI lub I2C. Najlepiej je¶li mia³by 16 nó¿ek. Nie potrzebujê sygna³ów steruj±cych transmisj± jedynie Rx i Tx. FIFO na wej¶cu i wyj¶ciu mile widziane. Czy jest co¶ takiego?

U¿ytkownik "Bogdan Gutknecht" <usunto_b_gutknecht snipped-for-privacy@interia.pl napisa³ w wiadomo¶ci news:end3ou$sei$ snipped-for-privacy@nemesis.news.tpi.pl...

S± gotowe UART-y na SPI/I2C, ale 4-ch "go³ych" w jednej obudowie chyba nie widzia³em. Je¶li to przy¶pieszenie ma byæ rzêdu 2 - 4x (a przy najbardziej prymitywnym próbkowaniu Rx-a mo¿e i 8x), mo¿e po prostu oprogramowaæ dodatkowy ma³y procesor (np. jakiego¶ PIC-a) ?

pozdrawiam entrop3r

ARMy maj± 4 UARTy jak siê nie mylê. Koszt ich nie jest zbyt duzy, je¶li to nie produkcja seryjna. Dodatkowo zyskujesz niez³ego kopa w prêdko¶ci mikrokontrolera. Wiem, to rada typu "Szukam przyczepki - kup sobie ciê¿arówkê", ale to te¿ jakie¶ rozwi±zanie my¶lê.... Teraz sprawdzi³em ceny w seguro. Z 4 USARTami jest po 99z³, czyli jednak nie tak tanio jak my¶la³em. :/ Z 3 ju¿ po 59z³.

Pozdrawiam

w Kamami s± interfejsy SPI -> UART podwójne prod. NXP.

P.

4800 bps. Chcia³bym odci±¿yæ procesor i przyspieszyæ transmisjê. Szukam w zwi±zku z tym poczwórnego UART-a w ma³ej obudowie na SPI lub I2C. Najlepiej je¶li mia³by 16 nó¿ek. Nie potrzebujê sygna³ów steruj±cych transmisj± jedynie Rx i Tx. FIFO na wej¶cu i wyj¶ciu mile widziane. Czy jest co¶ takiego?

U¿ytkownik "Bogdan Gutknecht" <usunto_b_gutknecht snipped-for-privacy@interia.pl napisa³ w wiadomo¶ci news:end3ou$sei$ snipped-for-privacy@nemesis.news.tpi.pl...

ja sie podepne pod pytanie bo mam problem lekko podobny- jest sobie duzy procek (at89s53) i ma sie on komunikowaæ z 4 prockami at89c2051, wlasnie za pomoc± uarta (inna komunikacja odpada ze wzgledu na obciazenie tych ma³ych) poniewaz ilosc transmistowanych danych nie bedzie duza, i transmisja ma byc w zasadzie jednokierunkowa, zastanawialem sie czy po prostu nie uzyc poczwórnej bramki or jako prze³acznika transmisji. (czyli nózka tx nadawcy po³aczona z pierwszymi nózkami bramek, drugie nózki pod³aczone do tego¿ proca, i podanie stanu niskiego na jak±s nózkê umo¿liwia³oby przes³enie danych do odbiorców. Problem poleda na tym, czy jezeli nie bedzie wykorzystywane polaczenie zwrotne, to musze uzywaæ tej lini? co sie stanie jak nie po³acze nózki tx odbiocy i rx nadawcy? pytam bo tranzmisje przez ten standard znam jedynie od strony programowej, tzn wiem gdzie wpisac bajt zeby go dostaæ w innym urz±dzeniu, ale nie mam pojecia czy istnieje jakas transmisja zwrotna, np potwierdzajaca odbiór danych.

Bogdan Gutknecht napisał(a):

CPLD

nuclear napisał(a):

Zaleznie jaka jest odleglosc do tych c2051, ale mozesz polaczyc ich wszystkich RxD razem do TxD "mastera", albo zastosowac transceivery do RS485 (np 75176) i po prostu nadawac "ciurkiem" do wszystkich, rozrozniajac uklady przez wysylanie na poczatku "adresu" ukladu docelowego. c2051 odbiera bajt, generuje przerwanie, porownuje ze swoim adresem - jesli "to nie do mnie" to ignoruje kolejne transmisje (np X bajtow albo przez Y ms). I tyle. Jesli nie potrzebujesz kanalu zwrotnego potwierdzajacego (i go nie oprogramujesz) - to go po prostu nie uzywasz. Tyle.

dzieki , w takim razie olewam transmisje zwrotna i nawet tego nie lacze, ale jednak w tamta strone wole uzyc jakiegos przelacznika, bo dane beda wysylane róznie, raz do tego, raz do tamtego ;) bez jakiegokolwiek ladu, no i chcialbym minimalnie obciazac odbiorniki wiec baweinie sie w wysylanie adresu itp to za wiele ;) po prostu ma odbierac tylko wazne dane ;) a co do odleg³osci to bedzie kilkanascie cm, wiec w jakies nadajniki lini bawic sie nie musze - wystarczy pezposrednio podlaczyc.

Dziêkujê wszystkim za pomoc. Mia³em nadziejê, ¿e co¶ siê interesuj±cego znajdzie na zasadzie wstawiæ i za³atwione. Na razie jednak zostanê przy starym rozwi±zaniu - jak bêdzie potrzeba to przyspieszê zmniejszaj±c próbkowanie z 3 na 1, ale docelowo to chyba ARM, choæ jest to strzelanie z armaty do wróbla. A mo¿e jednak co¶ programowalnego... Chyba pora na kolejny awans technologiczny.

Może po prostu zwykła mała ATMega8 za 5PLN robiąca za programowy RS i wysyłająca szybko dane poprzez SPI z głównym prockiem ?

nuclear napisał(a):

Daj ramke z dziewiecioma bitami danych. Ustawiony dziewiaty bit bedzie oznaczal, ze jest dana ktora przywedrowala to adres, wyzerowany - dana wlasciwa. Odebranie i poprawne zdekodowanie adresu powoduje zezwolenie na odbior ramki z wyzerowanym dziewiatym bitem.

nuclear napisał(a):

Daj ramke z dziewiecioma bitami danych. Ustawiony dziewiaty bit bedzie oznaczal, ze jest dana ktora przywedrowala to adres, wyzerowany - dana wlasciwa. Odebranie i poprawne zdekodowanie adresu powoduje zezwolenie na odbior ramki z wyzerowanym dziewiatym bitem. O ile dobrze pamietam, '51 moze to robic z automatu bez specjalnych zabiegow software'owych.

No właśnie jest już Atmega8 i robi cztery programowe uarty po 4800 bps z trzykrotnym próbkowaniem. Zajmuje jej to ok. 50 - 70 % czasu. Główny program jest banalny - chyba prostszy od zorganizowania transmisji SPI.

U¿ytkownik "Bogdan Gutknecht" <usunto_b_gutknecht snipped-for-privacy@interia.pl napisa³ w wiadomo¶ci news:end3ou$sei$ snipped-for-privacy@nemesis.news.tpi.pl...

Prawie: TL 16C554A

Za du¿e. Ju¿ wola³bym ARM z czterema UART-ami.

U¿ytkownik "Kmail" <kmail@wpq_bez_q_.pl> napisa³ w wiadomo¶ci news:enieif$q39$ snipped-for-privacy@atlantis.news.tpi.pl...

Bardzo prawie, bo magistrala tylko równoleg³a 8-bit.

e.

Thus wrote Bogdan Gutknecht <usunto_b_gutknecht snipped-for-privacy@interia.pl:

Jak wolisz możesz wstawić ATmegę z 4 UART-ami. 5 typów jest do wyboru.

Paweł

Paweł Więcek napisał(a):

Oj chyba to nie będzie w mniejszej obudowie niż scalony poczwórny UART...

Thus wrote Adam Dybkowski snipped-for-privacy@45wp.pl:

Ale niż mniejsza ATmega + scalony 4xUART już być może tak.

Paweł

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required