Thu, 2 Nov 2006 10:24:15 -0000, na pl.misc.elektronika, Martin Lukasik napisał(a):
Np. zwyczajne analogowe 4051 z powodzeniem wystarczą. Tylko wtedy dołóż słaby pullup do wejść nadajników max232 żeby nieakywna linia nie wysyłała jakichś śmieci
Thu, 2 Nov 2006 10:24:15 -0000, na pl.misc.elektronika, Martin Lukasik napisał(a):
Np. zwyczajne analogowe 4051 z powodzeniem wystarczą. Tylko wtedy dołóż słaby pullup do wejść nadajników max232 żeby nieakywna linia nie wysyłała jakichś śmieci
Dobre podejscie:) Prosto - zrob tak jak pisal Greg. Albo siadz nad softem. Moj pomysl jest taki - programujesz timer na predkosc 2-4x taka jak baudrate. W obsludze przerwania timera wystawiasz dane co 2-4 przerwanie na Tx - mozesz od razu na 8 UARTow, co przyspieszy operacje. Jednoczesnie samplujesz dane z Rx i zapisujesz. Jak to dobrze napiszesz to z obsluga 16 Uartow powinienes sie wyrobic.
To jest proste. Problemem jest tylko taka implementacja, zeby sie zmiescic w czasie.
Mi wychodzi 26 cykli.
TP.
A to sorry.
To może normalnie 2 uarty z procka (atmega128?) i demultiplexer TTL-owy i 17x max232?
TP.
74HC154
TP.
Bo liczysz 8e6/19.2e3/16, czyli, ¿e ka¿dy obs³ugujesz osobno. Ja zak³adam, ¿e wezmê sobie wszystkie 16 uartów bêdzie nadawa³o razem, wiêc w przerwaniu biorê wszystkie 16 bitów do wys³ania i pcham na ca³e dwa porty.
Ale to co kupisz bedzie znacznie lepsze,
I ma zajac 10 minut ? :-)
J.
Skad wiesz? Tak jak pisalem. Jak bedzie dzialac, to bedzie wystarczajaco dobre. Pokaz mi link gdzie to moge kupic...
No, moze troche wiecej. Ale 9 MAX232, atmega i multiplexer raczej duzo czasu nie zajma. Juz nawet plytke uniwersalna idealna do tego zadania dorwalem :-)
m.
Przepraszam za glupie pytanie, ale czy moge przelaczac tym zasilanie MAX-ow? Ew. przez jakis tranzystor; bo nie widze jak mialbym przelaczac linie RX i TX przy pomocy w/w.
Dziekuje wszystkim za odpowiedzi, Marcin
nie, i wogole bez sensu.. MAX potrzebuje sporo czasu na wstanie by uruchomic przetwornice DC/DC po co przelaczac im zasilanie? wtedy nie beda mogly masluchiwac
Bo bedziesz mial mozliwosc wszystkich naraz. I lacznosc przez ethernet. A nawet TCP/IP. I nie bedziesz musial szukac peceta z RS232
Prawdopodobnie cos takiego:
J.
Niech rozswietle idee:
1) Loguje sie przez "COM0" -- ten glowny UART. (Pozostale to COM1-COM8). 2) Pisze przez COM0 "uzyj COM3". I wtedy wszystko co przychodzi/wychodzi z COM3 przechodzi przez COM0. Wiec jest to taki sobie "mostek". Nie potrzebuje sluchac/wysylac na wszystkich na raz.Wiec wydawalo mi sie, ze prosciej jest przelaczyc zasilanie. Mam dzis ciezki dzien i nie moge sie skupic, ale przegladajac PDFa nie wymyslilem jak mam tym 74HC154 przelaczac linie RX/TX...
m.
uzyj lepiej CD4051/52/53 sa 2 kierunkowe w przeciwienstwie do tego hc154, wiec mozesz uzyc do RX jak i TX
A jesli tego nie potrzebuje? Dla mnie to oznacza, ze nie jest lepszy :]
300zl? 9 maxow, multiplekser i atmega kosztuja "troche" mniej.Szczerze nie jest problemem te 300zl, ale dlaczego tak bardzo nie chcesz, zeby sprobowal to zrobic samemu? Nie chodzi mi o oszczednosc...
m.
Chcesz sobie robic to rob, ale masz gotowe urzadzenie ktore robi dokladnie to co chcesz [trzeba sprawdzic, ale Console Server to chyba jednak to], sprawdzone przez tysiace uzytkownikow, wyprzedawane za ulamek swojej pierwotnej ceny, po cenie smiesznej w porownaniu do sumy tych serwerow zapewne .. czego chciec wiecej ?
J.
mozesz tez inaczej :)
zrob multiplekser 1 do 8 a procesorkiem go przelaczaj. Niech procesor nasluchuje na wejsciu multipleksera a jak dostanie kombinacje
<CRLF> ATERATOJACIESLICZNIEPROSZEPRZENIESMIPOLACZENIEDO04PORTU <CRLF>to niech przelaczy - proste jak drut i do zrobienia w 10 minut :)
wojtek
Oj, nie wiem czy nie taniej bedzie zrobic to na atmega 162 (po 2 uarty) spietych po spi :)
Andrzej
...albo ST711 - ze 4 uarty :)
Tym akurat przełączysz TX. Wyjście TX z procka zapodajesz na E0, na E1 dajesz H (chyba, albo L :) ). I teraz w zależności od adresu na A0..3 TX wychodzi na jedno z 16 wyjść.
W drugą stronę robisz przełączanie na 74HC150.
TP.
Martin Lukasik napisał(a):
Moja propozycja to: skoro maja byc AVRy to np. Atmega8 + max232 dopasowujacy RxD, TxD oraz DTR. Gdy DTR jest rowne np.: 1 to AVR uaktywnia sprzetowy USART z okreslona predkoscia. Budujesz protokol, najprostrzy to bajt wyslany to numer aktualnego kanalu. Teraz DTR na 0 i wylaczasz sprzetowy USART i wchodzisz w petle:
while (DTR == 0) { // odpowiednie przepisanie RxD i TxD na odpowiadajace im piny RxDchanel-n i TxD chanel-n }
Do tego max232 w zaleznosci od ilosci kanalow. Nie potrzebujesz zadnych multiplekserow (petla jest softwaerowym multiplekserem) i tym bardziej (o zgrozo - w tym zastosowniu) dodatkowych mikrokontrolerow.
Powodzenia MS
Have something to add? Share your thoughts — no account required.
Ask the community — no account required