atmega i 8-16 UART-ow

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

Reply to
Jurek Szczesiul
Loading thread data ...

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.

Reply to
T.M.F.

Mi wychodzi 26 cykli.

TP.

Reply to
Tomasz Piasecki

A to sorry.

To może normalnie 2 uarty z procka (atmega128?) i demultiplexer TTL-owy i 17x max232?

TP.

Reply to
Tomasz Piasecki

74HC154

TP.

Reply to
Tomasz Piasecki

Ale to co kupisz bedzie znacznie lepsze,

I ma zajac 10 minut ? :-)

J.

Reply to
J.F.

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.

Reply to
Martin Lukasik

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

Reply to
Martin Lukasik

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

Reply to
Greg(G.Kasprowicz

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:

formatting link
Przy czym jest szansa ze znajdziesz cos innego jeszcze taniej.

J.

Reply to
J.F.

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.

Reply to
Martin Lukasik

uzyj lepiej CD4051/52/53 sa 2 kierunkowe w przeciwienstwie do tego hc154, wiec mozesz uzyc do RX jak i TX

Reply to
Greg(G.Kasprowicz

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.

Reply to
Martin Lukasik

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.

Reply to
J.F.

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

formatting link
CMMS Maszyna Golem OEE Produkt-Baza Wiedzy

Reply to
neuron

Oj, nie wiem czy nie taniej bedzie zrobic to na atmega 162 (po 2 uarty) spietych po spi :)

Andrzej

Reply to
Andrzej Augustynowicz

...albo ST711 - ze 4 uarty :)

Reply to
Andrzej Augustynowicz

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.

Reply to
Tomasz Piasecki

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

Reply to
marko012

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.