Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 sty 2025, o 20:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 21 lis 2012, o 00:50 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Witam

Otóż biorę się za dość duży projekt, który w swoich założeniach ma mieć wyjście cyfrowe (USB lub RS232). Pomyślałem że fajnie by było gdyby miał oba. No i teraz mam trzy pytania.

To że wyjście rs-232 będzie podpięte do nóżek Tx i Rx przez max232 to jest jasne, natomiast jaką opcję wybrać co do USB? Są dwie możliwości sprzętowa (FT232) oraz programowa (na podst. Igora Cesko).

-Sprzętowa wydaje mi się bardziej profesjonalna i umożliwia np. własny opis w "chmurce" windowsa, ale trochę bardziej komplikuje układ (chodzi mi tu o to, że jest wiele wersji połączenia i nie wiadomo która dobra), no i do tego (to jest właściwie drugie pytanie) nie wiem czy nie będzie to problemem, gdy do wejść Rx i Tx podpięte zostaną po dwa układy (max232 oraz ft232). Chodzi o to, czy gdy po nóżce odbiorczej coś pójdzie, to czy Atmega to odbierze poprawnie bez żadnej kolizji. Bo przy wysyłaniu problemem to nie jest, sygnał po prostu pójdzie na dwa układy na raz.

-Programowa jest mniej skomplikowana i ogólnie wydaje mi się lepsze no ale zabiera nam dodatkowo 2 porty z uC.

-Jest jeszcze trzecia wersja o której Mirek pisał na elce, no ale potrzeba dodatkowej Atmegi8 która też pobiera prąd.

Jak uważacie, które rozwiązanie jest najkorzystniejsze? Dodam tylko, że prędkości jakieś zawrotne nie będą, bo układ będzie musiał tylko wysyłać paczkę z wynikami pomiarów do PC (skrajne max to 18 bajtów) co około 10ms (czyli 14.4k bps ) . Rx będzie odbierało tylko START i STOP pomiaru przez użytkownika (1bajt co parę sekund).

Trzecie i ostatnie pytanie mam odnośnie wartości kwarcu która jest tak ważna w transmisji RS-232. W nocie Atmegi32 (końcówka działu USART) nie ma np. kwarcu 12MHz (którego chciałbym użyć). Jest jakiś sposób obejścia tego? Oczywiście trzecie pytanie jest dość hipotetyczne, bo już przetrawiłbym tę stratę szybkości i wstawiłbym kwarc najbliżej 12MHz ( czyli 11.0592MHz).

Uff, ale się rozpisałem :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2012, o 08:37 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

No no - rozpisał się kolega - tylko, jak czytałem na początku to myślałem że kolega albo pisze o czymś czego nie rozumie do końca (tak chyba jednak też trochę jest) .... albo nie wie co to jest RS232 :(

No bo weźmy początek:

kiclaw napisał(a):
Otóż biorę się za dość duży projekt, który w swoich założeniach ma mieć wyjście cyfrowe (USB lub RS232). Pomyślałem że fajnie by było gdyby miał oba.


co to jest wg kolegi wyjście cyfrowe USB ?
co to jest wyjście RS232 ?
co to znaczy że są oba wyjścia czyli USB i RS232 ?

a po chwili mamy:

kiclaw napisał(a):
To że wyjście rs-232 będzie podpięte do nóżek Tx i Rx przez max232 to jest jasne, natomiast jaką opcję wybrać co do USB? Są dwie możliwości sprzętowa (FT232) oraz programowa (na podst. Igora Cesko).


tu już jest pomieszanie z poplątaniem :( .... już tłumaczę.

Po pierwsze Igor Cesko (w skrócie to tak nazwę) ... to nie jest żadne WYJŚCIE cyfrowe. To jest coś podobnego do implementacji V-USB i skąd w ogóle pomysł aby coś takiego nazywać WYJŚCIEM cyfrowym ? ale ok zostawiamy to na chwilę.

FT232 .... wie kolega co to jest ? To też nie jest żadne WYJŚCIE cyfrowe a tym bardziej nie jest to WYJŚCIE cyfrowe USB. Układ FT232 jest panie kolego najzwyklejszą w świecie przejściówką USB/RS232. Można powiedzieć, że jest to hmmm (tak w uproszczeniu oczywiście) odpowiednik układu MAX232 tyle że pozwala na komunikację - nadal przez RS232 procesora z komputerem właśnie przez port USB a nie stary port COM. Nijak nie można tego nazywać wyjściem cyfrowym ani FT232 ani MAX232. Można powiedzieć, że są to dla procesora porty komunikacyjne RS232. Obydwa z punktu widzenia procesora działają IDENTYCZNIE. Czyli wykorzystujemy piny procesora Rx i Tx a do komunikacji np moduł UART.

Dalej. Pisze kolega że chciałby mieć takie dwa porty (używamy już poprawnych nazw) ... i czy się nie pogryzą jak się je podłączy razem do procka. Nawet kolega przemyślał już sprawę wysyłania - no bo przecież jeśli coś procek wyśle na nóżkę Tx to odbiorą to dwa układy zarówno MAX232 jak i FT232. Ale co do Rx to już tylko jakieś przypuszczenia i zastanawia się kolega czy będą jakieś kolizje ? ...

no to sobie trzeba jednak najpierw jakby poczytać trochę o samym standardzie RS232 (to PODSTAWA) zamiast myśleć o chmurce w windows - bo to też jakaś abstrakcja, że FT232 może być w chmurce a zwykły port komunikacyjny nie może :( ... ale ok dajmy na razie spokój chmurkom. Więc niech sobie kolega teraz wyobrazi:

1. do pinu Rx procesora podłączyć chce kolega:
a.) pin Tx układu MAX232
b.) pin Tx układu FT232
2. w standardzie RS232 nieaktywny stan to stan WYSOKI (+5V)

i teraz załóżmy że kolega nadaje coś z PC do procka przez FT232, więc jego nóżka Tx co chwilę zmienia stan z niskiego na wysoki i odwrotnie prawda ? no prawda. A w tym samym momencie jest podłączona z nogą TX układu MAX232, która jest wciąż w stanie WYSOKIM. Czyli co ? czyli co chwilę będzie obrzydliwe zwarcie !!! To TYPOWY konflikt - gdy ktoś wpada na cudowny pomysł aby wprost podłączyć TRZY urządzenia do magistrali RS232.

Więc kolega musi znowu sięgnąć do podstaw RS232 i zapamiętać, że jest to MAGISTRALA - tylko JEDEN do JEDNEGO! i żadnych takich kombinacji się nie robi. (owszem są pewne możliwości, ale trzeba byłoby magistralę sprzętowo zamienić na typ wire-and jak w I2C - wystarczyłyby do tego dwie diody shottky i dwa rezystory - ale to rozwiązałoby tylko poprawne działanie części sprzętowej, za to w części programowej nadal trzeba byłoby rozważać jak uniknąć kolizji gdy nagle chcą gadać ze sobą więcej niż 2 urządzenia).....

dlatego jeśli kolega chce podłączyć do procka więcej niż jedno urządzenie RS232 to:

1. albo zastosować RS485 (proszę poczytać o tym) ... dzięki czemu można podłączyć wiele urządzeń naraz do pocka, który będzie używał TYLKO jednego UART'a

2. albo zastosować procka który ma dwa sprzętowe porty UART i do jednego z nich podłączyć FT232 a do drugiego MAX232

------------------------------------------

a teraz wracając do V-USB czy rozwiązania CDC, na które kolega powołał się w linku na elektrodzie do super starego tematu mojego o przejściówce USB/RS232 na procku ATmega8. (O Matko jak ja bym chciał ten temat skasować na elektrodzie) .... już tam się nawet nie odzywam bo mnie szlag trafia .... jak do czytających nic nie dociera. Przeczytają tylko pierwszy post tego wątku tasiemca bo reszty się nie chce poczytać - i nagle EUREKA - jaka super przejściówka. TFUU na psa urok - MASAKRA i MAKABRA. I pisałem o tym przez ileś ostatnich stron tego wątku żeby wszystkich ostrzec, ale psu na budę to moje pisanie, i tak nikomu nie chce się czytać - więc co i rusz jakiś kolejny pacjent nadziewa się na MINĘ i dobrze - może każdy musi się sam nauczyć na własnych błędach jak nie chce się poczytać troszkę więcej w tym temacie. Dlatego proponuję tylko w DUŻYM SKRÓCIE zapomnij o tym rozwiązaniu i trzymaj się FT232 albo podobnych układów. A jak chcesz poczytać o wadach - to cofnij się kilka stron w tym wątku tasiemcu i poczytaj moje wypowiedzi - nie będę tu ich po raz milionowy powtarzał OK? A zatem uznaję, że ten temat mamy z głowy.

---------------

ale teraz przejdę płynnie do V-USB i Igora Cesko - bo jak pisałem to podobne rozwiązania tyle że V-USB jest o wiele lepszy niż Igor Cesko chociażby dlatego że V-USB to projekt nadal rozwijany a ty nawet nie rzuciłeś okiem na daty tekstów które czytałeś na temat rozwiązania Igora Cesko i znowu byś się wkopał :(

Ale pomimo iż V-USB jest dużo lepsze niż CDC - to zdecydowanie odradzam ci próby i chęci wykorzystania tego jako przejściówki USB/RS232 bo:

1. poczytaj sobie jak się to wykorzystuje od strony PC - to ci przejdzie taka duża ochota
2. poczytaj jak się to obsługuje od strony procka - to się załamiesz - jeśli nie wiesz jak się buduje deskryptory HID
3. poczytaj jakie są ograniczenia transmisji RS232 za pomocą transmisji "bulk transfer" przez USB w trybie HID
4. zobacz sobie ile zasobów procka tracisz na implementację V-USB
5. zobacz sobie jak bardzo trzeba uważać i umieć pisać funkcje nieblokujące gdy korzystasz z V-USB bo inaczej to równie dobrze V-USB będzie działać jak zatkana rura od zlewozmywaka a nie jako RS232

chyba więc już widzisz, że jeśli chcesz bezproblemowo korzystać z komunikacji RS232 to trzymaj się albo MAX 232 albo układów FT232 lub podobnych bo są takie też innych firm. Choć FT232 jest wg mnie jednym z najlepszych.

-------------------------

ostatnia rzecz - dobór kwarca. Piszesz, że chciałbyś użyć kwarca 12MHz .... a spróbuj uzasadnić swój wybór takiej a nie innej jego częstotliwości ???? Bo mam nadzieję, że nie chodzi ci TYLKO o jakąś tam wydumaną "szybkość" ? pytam bo coś tam napisałeś że ew przetrawiłbyś stratę szybkości i zastosował w razie czego 11,0592MHz .... a to pokazuje właśnie że nie za bardzo kolega wie jak się dobiera kwarce i czy kolega w ogóle potrzebuje kwarca ? bo być może wystarczyłby koledze wewnętrzny oscylator 8MHz. Tylko proszę nie odpowiadaj na to jak 90% początkujących osób na forach że:

"muszę użyć kwarca ponieważ jest on bardziej stabilny niż wewn. oscylator, jest dokładniejszy i będzie mi dzięki temu lepiej zegarek chodził"

Lepiej przypatrz się tym tabelkom na ostatniej stronie UART'a do których już dotarłeś na szczęście. I super. Zobacz i porównaj sobie procenty błędów przy takim kwarcu 11,0592MHz jeśli chodzi o transmisję RS232.

A jak nie ma tabelki dla 12MHz to co za problem sobie WYLICZYĆ te procenty ???? przecież tuż nad tymi tabelkami masz dokładny wzór w nocie PDF na podstawie którego te wszystkie błędy w tabelkach są poobliczane.

Więc nie opowiadaj takich rzeczy, że 11,0592MHz to będzie dla ciebie za wolno a maksymalny kwarc jaki możesz zastosować to 12MHz, tylko popatrz na kolejne tabelki i zwróć sobie uwagę na takie kwarce jak np:

14,7456 MHz
18,432 MHz

i co ? nie da rady szybciej taktować procka przy zachowaniu 0% błędów dla dowolnie wybranej przez ciebie prędkości baudrate dla UART ????

więc jeśli już używasz RS232 i chcesz to zrobić na poważnie to zapomnij o kocim kwarcu 12 MHz bo jest w tym przypadku po prostu bez sensu. Masz do wyboru cały szereg innych lepszych częstotliwości i dostępnych kwarców.

--------------

kiclaw napisał(a):
Uff, ale się rozpisałem :)


ja też ;) .... ale mam nadzieję, że przynajmniej po tym sporo się rozjaśni na kilka ważnych tematów

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2012, o 21:51 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

WOW! Bardzo dużo mi wyjaśniłeś :)

Tak dzisiaj po przeczytaniu Twojego postu się nad tym zastanowiłem, i jeśli już zrobię transmisje po USB i RS-232 to jednak wybiorę układ z dwoma wyjściami UART (chyba zaprzęgnę kombajn ATmega64). Tylko pytanko...bo z tego co tu zrozumiałem, to od strony procka transmisję po USB (przez FT232) obsługuje się identycznie jak po RS-232, po stronie komputera układ ten też jest widziany jako normalny port COM? Chodzi mi o to, że najprawdopodobniej napisze małą aplikację w Javie która będzie to wszystko obsługiwała po właśnie RS-232/USB.

No i tak gwoli ścisłości co do tego, dlaczego nazywam takie a nie inne rzeczy "wyjściami cyfrowymi".
Fakt, że użyłem tutaj zbyt daleko idących skrótów myślowych. Ale:

Generalnie wyjściem analogowym jest dla mnie np. Wyjście napięciowe,częstotliwościowe itd. Natomiast wyjściem cyfrowym nazywam obsługę właśnie przez RS-232/485, I2C,USB itd. Czyli kolokwialnie mówiąc tam gdzie hulają 1 i 0 (czyli tylko 0V i +5V) to właśnie wyjście cyfrowe.

Pozdrawiam :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2012, o 22:17 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

no tak ale nie dziw się później, że jeśli coś co ty uważasz za coś - a czego się nie stosuje w nazewnictwie to inni nie za bardzo zrozumieją. Próbujesz bowiem uprościć za mocno ale też przeinaczyć - RS232 to na pewno nie żadne WYjście, to dwukierunkowy port komunikacyjny i już ;) podobnie I2C itp (słowo WYjście oznacza tylko jednokierunkową komunikację rozumiesz ? tak samo WEjście ) ... A USB ? też port komunikacyjny ale o wiele bardziej skomplikowana obsługa. Więc lepiej od razu wejść w prawidłową nomenklaturę.

Za to oczywiście tak - przejściówka FT232 zapewnia ci od strony PC "rozmawianie" z prockiem przez RS232 zatem jak najbardziej możesz pisać sobie aplikację na PC w dowolnym języku jaki znasz. A znajomość języka i możliwość pisania własnych aplikacji na PC do komunikacji z prockami to OGROMNA hmmm przeogromna dodatkowa zaleta - uwierz mi ;)

Po co natomiast rzucać się na tak ogromny (mówię o obudowie procek jak zaraz ATmega64) ... możesz z powodzeniem zacząć pierwsze testy od mniejszych jak np ATmega644P (też ma 2 UART'y) a tylko 40 pinów i w obudowie DIP dostępna ;)

tak więc do dzieła - od razu procki bardziej zasmakują jak będzie można je namacać z własnej aplikacji na PC ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 09:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 paź 2011
Posty: 580
Lokalizacja: Warszawa
Pomógł: 0

pierwszy raz w mojej kadencji potrzebuje wykorzystać 2 uarty w procku z tym, że to rozbudowany projekt i szczekają między sobą 3 procki :> 1 master i 2 slave-y :D zdradź kolego po co Ci 2 usarty?? i czemu max232 i ft232??

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 13:16 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

A więc:

GwynBleidD napisał(a):
Pytanie też, czy jest sens aż w 2 UARTy się pakować? Czy potrzebna Ci jest transmisja poprzez MAX232 i FT232 NA RAZ?!


Wiesz, chciałbym żeby układ był jak najmniej skomplikowany dla użytkownika (dlatego brak zworek), ale też jak najbardziej uniwersalny (2 typy wyjść komunikacyjnych). Jednak chyba zdecyduje się na Twoją sugestię i dołączę do zestawu kabel RS232-USB, tylko nie na gold-pinach tylko osobny kabel (na szczęście powstanie tylko 1 urządzenie).

kierlan napisał(a):
zdradź kolego po co Ci 2 usarty?? i czemu max232 i ft232??


Dlaczego 2 usarty to jak wyżej. A czemu max232 i ft232? Bo to najprostsze i chyba najbardziej niezawodne układu do komunikacji z prockiem.

Co do samego projektu, to opiszę go tu na forum, ale to może jutro jak będę miał trochę wolnego czasu :)

Mirku, a co do wyboru procka, to pobawiłem się konfiguratorem na stronie Atmela. I okazało się, że pasował by mi nawet ATtiny1634

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 14:20 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 72
Lokalizacja: Gdańsk
Pomógł: 2

A zastanawiałeś się nad atmega z usb (np. Atmega32u2)?
Nigdy się nimi jeszcze nie bawiłem, ale mnie zaciekawiły. Jeżeli konfiguracja i transmisja jest tak prosta jak z usart'em, to cud, miód i orzeszki:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 14:45 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

kiclaw napisał(a):
Mirku, a co do wyboru procka, to pobawiłem się konfiguratorem na stronie Atmela. I okazało się, że pasował by mi nawet ATtiny1634


No tak, wszystko ładnie pięknie tylko idź go kup ;) ... czasem też trzeba od tej strony spojrzeć.

------------------------ [ Dodano po: kilkunastu sekundach ]

bartool napisał(a):
A zastanawiałeś się nad atmega z usb (np. Atmega32u2)?
Nigdy się nimi jeszcze nie bawiłem, ale mnie zaciekawiły. Jeżeli konfiguracja i transmisja jest tak prosta jak z usart'em, to cud, miód i orzeszki:)


No no no, ciekawostka - transmisja USBE prosta jak USART ;) a szczególnie od strony PC ... to ciekawostka.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 15:13 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 72
Lokalizacja: Gdańsk
Pomógł: 2

mirekk36 napisał(a):
No no no, ciekawostka - transmisja USBE prosta jak USART ;) a szczególnie od strony PC ... to ciekawostka.

Nie napisałem, ze jest to łatwe, użyłem słówka JEŻELI.
Niedługo ukaże się Twoja trzecia książka, gdzie dokładnie i w przejrzysty sposób opisujesz jak ugryźc to całe usb, ok?:D Umowa stoi? :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 15:30 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

bartool napisał(a):
Nie napisałem, ze jest to łatwe, użyłem słówka JEŻELI.
Niedługo ukaże się Twoja trzecia książka, gdzie dokładnie i w przejrzysty sposób opisujesz jak ugryźc to całe usb, ok?:D Umowa stoi? :P


Hmm no chciałbym ;) ale sam się jeszcze nie dobrałem do tego tak na poważnie. Wiele razy sobie obiecywałem ale zawsze okazywało się że zaczynał czas gonić i jak zwykle szybko szybko poszło zawsze na RS232.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 23:21 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Mirku piszesz nową książkę? :>



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2012, o 23:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

Jeszcze niestety nie :( jesli jeszcze będę pisał to może w przyszłym roku dopiero

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2012, o 09:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 paź 2011
Posty: 580
Lokalizacja: Warszawa
Pomógł: 0

mirekk36 napisał(a):
Jeszcze niestety nie :( jesli jeszcze będę pisał to może w przyszłym roku dopiero


to istnieje opcja, że nie ??!!

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO