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



Teraz jest 30 lis 2024, o 01:13


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 48 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 8 cze 2014, o 00:46 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Zabieram się właśnie za projekt bramki, która pośredniczyłaby w komunikacji pomiędzy lokalną siecią komputerową i co najmniej dwiema magistralami. Układ ma zawierać następujące interfejsy:
1) Ethernet na ENC28J60.
2) CAN na MCP2515.
3) Radiowy transceiver RFM69HW
4) Izolowany transceiver RS485 (opcjonalnie, jeszcze nie podjąłem co do niego decyzji).

Każdy z tych układów wymaga taktowania. RFM-a można pominąć, bo on ma własny kwarc. Pozostaje ENC, MCP, no i oczywiście sama ATmega.
Budując układy korzystające z Ethernetu, zwykle taktowałem MCP zegarem 12,5 MHz z pinu CLKOUT ENC28J60. Tutaj jednak sprawa się komplikuje, bo mamy kilka układów. ENC28J60 i MCP2515 potrzebują 25MHz, ATmega przy zasilaniu 3,3V coś około 13MHz.

Jak to powinienem zrealizować? Mam kilka pomysłów:
1) Tak jak we wcześniejszych projektach, MCU taktowany zegarem 12,5 MHz z ENC28J60, MCP2515 wyposażony we własny kwarc.
2) ENC28J60 taktuje MCP2515 sygnałem 25 MHz, ten z kolei wystawia na własnym pinie CLKOUT 12,5 MHz. Zastanawia się tylko jak układ zachowa się na samym początku, kiedy MCP i ATmega będą otrzymywały mniejszy, kilkukrotnie podzielony sygnał zegarowy. Ktoś może orientuje się też dlaczego w nocie katalogowej MCP umieszono bufor odwracający przed wejściem sygnału taktującego?

Jakie rozwiązanie będzie najbardziej odpowiednie?

I tak przy okazji: wszystkie układy powinienem raczej podpiąć do sprzętowej magistrali SPI, czy może (jeśli będzie na tyle wolnych pinów) stworzyć im osobne, sprzętowe magistrale?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2014, o 05:27 
Offline
Moderator
Avatar użytkownika

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

Tak z ciekawości zapytam .... co tobą kieruje, że chcesz podjąć aż tak drastyczną i jak dla mnie nieobliczalną decyzję, że chcesz hmmm co? np z jednego CENTRALNEGO kwarca taktować wszystkie układy ? ..... oszczędność ? - że taniej ma być ? Bo w nie mogę sobie wyobrazić żadnego innego mniej czy bardziej racjonalnego powodu ?

A tak przy okazji , taktowanie procka AVR z wyjścia CLKOUT (12,5MHz) z układu ENC to (delikatnie mówiąc) bardzo chybiony pomysł :(

_________________
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: 8 cze 2014, o 07:50 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

mirekk36 napisał(a):
Tak z ciekawości zapytam .... co tobą kieruje, że chcesz podjąć aż tak drastyczną i jak dla mnie nieobliczalną decyzję, że chcesz hmmm co? np z jednego CENTRALNEGO kwarca taktować wszystkie układy ? ..... oszczędność ? - że taniej ma być ? Bo w nie mogę sobie wyobrazić żadnego innego mniej czy bardziej racjonalnego powodu ?


Głównie oszczędność miejsca na płytce. ;)
Dochodzi do tego także synchroniczna praca wszystkich układów podłączonych do jednej linii taktującej.

Cytuj:
A tak przy okazji , taktowanie procka AVR z wyjścia CLKOUT (12,5MHz) z układu ENC to (delikatnie mówiąc) bardzo chybiony pomysł :(


Dlaczego? Takie rozwiązanie stosowałem we wszystkich moich układach i nigdy nie miałem żadnego problemu. Wszystko działa stabilnie, a zbudowałem już kilka układów wykorzystujących EN28J60. Czy chodzi o wydajność? Jak dotąd nie czułem potrzeby taktowania MCU z prędkością 16MHz. Poza tym wówczas musiałbym zasilać go 5V, a to tylko komplikuje projekt PCB ze względu na konieczność stosowania buforów dopasowujących poziomy napięć.

BTW czy przypadkiem taktowanie MCU z pinu CLKOUT ENC28J60 nie jest wskazane ze względu na synchroniczną pracę obydwu układów? Czy to jednak jakiś mit?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2014, o 09:06 
Offline
Moderator
Avatar użytkownika

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

Atlantis napisał(a):
BTW czy przypadkiem taktowanie MCU z pinu CLKOUT ENC28J60 nie jest wskazane ze względu na synchroniczną pracę obydwu układów? Czy to jednak jakiś mit?


Mit i to obalony poniekąd przez samych twórców tego pomysłu z tuxgraphics.com ... bo to stamtąd pochodzi ten pomysł taktowania procka AVR z wyjścia CLKOUT układu ENC28J60....

Pewnie nawet nie dotarłeś do opisu (genezy) powstania tego pomysłu... A opisują go również autorzy na swoich stronach. W telegraficznym skrócie przypomnę, że początkowo chcieli zasilać procki w swoich projektach właśnie 5V, no ale że ENC jest na 3,3V i nie chciało im się robić konwersji - to wymyślili że skoro AVR może być też zasilany 3,3V to tak zrobili. Tylko że ....

... tylko że na początku próbowali taktować procka AVR z wewn. oscylatora RC 8MHz .... no i były niestety problemy, układ potrafił się zawieszać dość często ... No to pomyśleli że może lepiej będzie z kwarcem i szybszym taktowaniem - no ale ... hmmm no procka zasilanego 3,3V nie powinno się taktować więcej jak 8-10MHz .... pomimo to kombinowali z kwarcem 12MHz ale nadal były problemy. Tyle nie takie jak myślisz - że od razu hlast i nie działa - tu chodziło u długotrwałe testy ...

Więc napisali maila do firmy Microchip z prośbą o poradę co zrobić że im to z prockiem AVR nie śmiga .... Na co Microchip odpisał im, że jak chcą żeby nie było problemów to:

1. niech użyją procków Microchipa a nie AVR - wtedy będą mogli (chcieli hehehe) pomóc
2. Microchip podpowiedział że ważne jest aby komunikacja po SPI odbywała się z jak najszybszym taktowaniem SCK na SPI !!! bo inaczej mogą być problemy.

No to wtedy panowie z tuxgraphics po wkurzeniu się na Microchipa że im figę pokazał - wpadli na sławny pomysł aby taktować procka AVR z wyjścia CLKOUT układu ENC bo .... bo pomyśleli że:

1. pomimo że AVR'ek będzie nieco przetaktowany przy zasilaniu 3,3V (12,5MHz) to jednak będzie lepsza jak im się wydawało synchronizacja pomiędzy oboma układami i dzięki temu będzie mniej problemów

2. a do tego wszystko będzie ładnie śmigać na 3,3V

... i tak zrobili, po czym się ucieszyli że dało to efekt i testy wykazały że, do zawieszeń .... aha! ... no niestety dochodzi ale dużo dużo rzadziej ... w sumie to ich zadowoliło bo przecież w procku jest jeszcze watchdog i zawsze w razie czego można przywrócić go do życia i zresetować też programowo ENC żeby wszystko od nowa wystartowało .... i tak to zostało panie na tuxgraphics

generalnie działa ... ale ... ale jest to właśnie jedno małe ale ...

i to , że ty mówisz - że tobie się nie zawieszało i działało dobrze może tylko świadczyć o tym, że troszkę patrzysz na problem tylko przez tzw "swoje okienko" ....

Ja już chyba ze 3-4 lata temu męczyłem ten temat - bo gdy zainteresowałem się ENC i ethernetem to też wpadło mi do głowy kilka pomysłów na fajne sterowniki .... I dość szybko trafiłem na tuxgraphics ... szybko też okazało się że na dłuższą metę przy dość sporej pracy zadanej tej komunikacji niestety dochodzi do paskudnych zwiech ... i to bez dwóch zdań ...

Dopiero jak wyrwałem sobie połowę włosów z głowy - znalazłem właśnie te opisy (GENEZĘ) problemów na tuxgraphics - no i zacząłem sam poszukiwać rozwiązania ...

Dość szybko okazało się, że wystarczy kilka w sumie prostych zabiegów aby mieć 100% działający moduł ethernet i nie zawieszający się sterownik:

1. od strony sprzętowej - spójrz na nasz moduł ATB-Ethernet http://atnel.pl/karta-sieciowa-ethernet.html
2. jak widzisz pełna rezygnacja z taktowania przez CLKOUT (w związku z tym nawet w bibliotekach do ENC wyłączyłem to ustawianie)
3. taki drobiazg jak buforowanie sygnałów (o dziwo) wyjściowych szczególnie MISO ale też INT jeśli się używa
4. wejściowych sygnałów nie trzeba buforować bo są już 5V tolerant

5. DZIĘKI tym kilku punktom wyżej - mogłem już spokojnie wrócić do zasilania procka +5V, i popędzaniem go na maxa 20MHz a minimum 16MHz ..... Z kolei dzięki temu można ustawić maksymalny zegar SCK do komunikacji po SPI

i wyobraź sobie pan - że teraz to sterowniki śmigają panie kochany już grubo ponad dwa lata i to w firmowych poważnych zastosowaniach ... wprawdzie odpaliłem watchdoga "na wszelki" no bo to zawsze trzeba ale zrobiłem sobie logowanie sytuacji gdyby miało dojść do jego zadziałania ... i co ciekawe watchdog ani razu nie był potrzebny ...

zobacz sobie tutaj:

http://mirekk36.blogspot.com/2013/07/et ... i-itp.html

na dole strony masz też zajawkę jednego z takich projektów i gdzie i jak taki np moduł działa ;)

------------------------ [ Dodano po: 1 minucie ]

Atlantis napisał(a):
Głównie oszczędność miejsca na płytce


To z ciekawości powiedz jakie rozmiary mają być tej płytki i jakiej rozmiarówki SMD używasz ?

_________________
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: 8 cze 2014, o 10:21 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

mirekk36 napisał(a):
1. pomimo że AVR'ek będzie nieco przetaktowany przy zasilaniu 3,3V (12,5MHz) to jednak będzie lepsza jak im się wydawało synchronizacja pomiędzy oboma układami i dzięki temu będzie mniej problemów


To przetaktowanie przy tej prędkości to kolejny mit. Nie wiem skąd on się wziął.
Weźmy na przykład ATmegę 328P. Dokumentacja podaje co prawda na pierwszej stronie następujące wartości speed grade:
0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @ 4.5 - 5.5V

Wystarczy jednak spojrzeć do noty katalogowej (s. 310). Jest tam podany wykres przedstawiający zależność pomiędzy napięciem pracy i maksymalną częstotliwością taktowania. Granica 10 MHz odnosi się do VCC=2,7V. Jeśli przyjrzeć się dokładnie widać, że zależność nie jest liniowa w całym zakresie - wykres delikatnie załamuje się za 2,7V.
Wychodzi na to, że przy zasilaniu 3,3V układ może pracować z taktowaniem 13,3 MHz. Dyskusja na ten temat chociażby tutaj lub tutaj.


Cytuj:
i to , że ty mówisz - że tobie się nie zawieszało i działało dobrze może tylko świadczyć o tym, że troszkę patrzysz na problem tylko przez tzw "swoje okienko" ....

Ja już chyba ze 3-4 lata temu męczyłem ten temat - bo gdy zainteresowałem się ENC i ethernetem to też wpadło mi do głowy kilka pomysłów na fajne sterowniki .... I dość szybko trafiłem na tuxgraphics ... szybko też okazało się że na dłuższą metę przy dość sporej pracy zadanej tej komunikacji niestety dochodzi do paskudnych zwiech ... i to bez dwóch zdań ...


Nie robiłem co prawda testów trwających kilka lat, ale niektóre z moich urządzeń leżały odpalone cały czas przez ładnych kilka miesięcy. Żadnego watchdoga. Regularnie robiłem test, sprawdzając pingi i odczytując z nich dane. Wszystko działało jak należy, nic się nigdy nie zawiesiło.

Cytuj:
1. od strony sprzętowej - spójrz na nasz moduł ATB-Ethernet http://atnel.pl/karta-sieciowa-ethernet.html
2. jak widzisz pełna rezygnacja z taktowania przez CLKOUT (w związku z tym nawet w bibliotekach do ENC wyłączyłem to ustawianie)
3. taki drobiazg jak buforowanie sygnałów (o dziwo) wyjściowych szczególnie MISO ale też INT jeśli się używa
4. wejściowych sygnałów nie trzeba buforować bo są już 5V tolerant

5. DZIĘKI tym kilku punktom wyżej - mogłem już spokojnie wrócić do zasilania procka +5V, i popędzaniem go na maxa 20MHz a minimum 16MHz ..... Z kolei dzięki temu można ustawić maksymalny zegar SCK do komunikacji po SPI


Dobrze, tylko wciąż nie wiem do końca co było źródłem problemów, o których mowa. Problemów, których sam nie doświadczyłem (i mam nadzieję nie doświadczyć). Samo napięcie zasilania MCU nic przecież ENC28J60 nie obchodzi. Układ toleruje 5V na swoich wejściach, ale go nie wymaga. W drugą stronę natomiast komunikuje się przez bufory. A może chodziło o niższe taktowanie MCU i związaną z tym niższą prędkość transmisji po SPI? Czyżby np. układ nie wyrabiał ze ściąganiem nadchodzących ramek, powodując zapychanie bufora ENC? Wydaje mi się to trochę dziwnym wytłumaczeniem...

A może po prostu w którejś ze starszych wersji biblioteki tuxgraphics był jakiś błąd?

W swoich układach unikam stosowania napięcia 5V. Wszystko co tylko mogę zasilam ze stabilizatora 3,3V. Dlatego właśnie taktowanie MCU z CLKOUT uważam za bardzo wygodne rozwiązanie.

Stosowanie Tuxgraphics traktuję jako taki trening na początek. Planuję za jakiś czas przejść na uIP. W trochę dalszej przyszłości rozważam migrację na procesory STM32 i zastosowanie stosu lwIP. ;)


Cytuj:
To z ciekawości powiedz jakie rozmiary mają być tej płytki i jakiej rozmiarówki SMD używasz ?


Typowo używam elementów w obudowach 0603, czasem zdarza mi się zejść do 0402.
Jeśli chodzi o układy scalone to bywa różnie. Czasem SO, czasem TQFP, nie boję się jednak LQFP i TSSOP, a w planach mam wypróbowanie montażu układów QFN/MLF. :)

Chodziło mi raczej o pozbycie się zbędnych elementów. Wolę trzymać się prostych rozwiązań. Z tego powodu zawsze, kiedy tylko mogę zasilam wszystko z tego samego napięcia. Mniej wiercenia otworów pod elementy, prowadzenia ścieżek, kombinowania jak tu nie odciąć masy itp. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2014, o 11:34 
Offline
Moderator
Avatar użytkownika

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

ależ ja ciebie nie chcę na siłę do niczego przekonywać ;) ... opisałem to co sam doczytałem swego czasu na tuxgraphics ....

Atlantis napisał(a):
A może po prostu w którejś ze starszych wersji biblioteki tuxgraphics był jakiś błąd?


to mi się "najbardziej podoba" ;)

Atlantis napisał(a):
Czyżby np. układ nie wyrabiał ze ściąganiem nadchodzących ramek, powodując zapychanie bufora ENC? Wydaje mi się to trochę dziwnym wytłumaczeniem...


więc na tym poprzestańmy ;)

Atlantis napisał(a):
Typowo używam elementów w obudowach 0603, czasem zdarza mi się zejść do 0402


no to ładnie ....

Atlantis napisał(a):
Wolę trzymać się prostych rozwiązań. Z tego powodu zawsze, kiedy tylko mogę zasilam wszystko z tego samego napięcia. Mniej wiercenia otworów pod elementy, prowadzenia ścieżek, kombinowania jak tu nie odciąć masy itp.


No to jeszcze "troszkę" przed tobą - ale nie ma to jak zdobywać doświadczenie na własnych błędach - wtedy człowiek się najlepiej uczy pomimo że często to dłużej trwa ...

A prowadzenie tego samego taktowania po wszystkich układach nie zawsze jest najlepszym rozwiązanie, podkreślam nie zawsze. Sporo zależy od samego projektu PCB i w oderwaniu od tego to można sobie tylko teoretyzować.

_________________
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: 8 cze 2014, o 12:53 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

mirekk36 napisał(a):
ależ ja ciebie nie chcę na siłę do niczego przekonywać ;) ... opisałem to co sam doczytałem swego czasu na tuxgraphics....


Ja jedynie szukam porady kogoś, kto ma większe doświadczenie.
Obawiam się jednak, że w moim przypadku stosowanie dwóch różnych napięć do zasilania MCU i ENC byłoby nadmiernym komplikowaniem sprawy. Cenię sobie wygodę jaka wynika z jednego napięcia zasilania, nawet za cenę niewielkiego spadku szybkości MCU. Nie planuję powrotu do 5V, o ile nie będzie mi to naprawdę potrzebne.

Czy w wyżej wymienionym projekcie mogę przyjąć następujące rozwiązanie kompromisowe?

1) Wszystkie układy zasilane z 3V, brak buforów na magistrali SPI.
2) Każdy układ z własnym kwarcem, ewentualnie jedynie MCU taktowany z ENC28J60 (jak to robiłem do tej pory).

Cytuj:
Atlantis napisał(a):
Typowo używam elementów w obudowach 0603, czasem zdarza mi się zejść do 0402


no to ładnie ....


Wbrew pozorom nie jest to wcale tak trudne, jak mogłoby się wydawać. Zwykle nie używam nawet Hot Aira. Wystarczy zwykła lutownica grzałkowa z cienkim grotem.

Jak to wychodzi możesz zobaczyć chociażby tutaj. :)


Cytuj:
No to jeszcze "troszkę" przed tobą - ale nie ma to jak zdobywać doświadczenie na własnych błędach - wtedy człowiek się najlepiej uczy pomimo że często to dłużej trwa ...


Wiem, mimo wszystko zawsze wolę dopytać. Do tej pory moje urządzenia wychodziły. Nie miałem zwykle większych problemów z ich uruchamianiem - jeśli coś nie wychodziło, to była temu winna pomyłka podczas montażu, a nie błędne założenie projektowe.

Cytuj:
A prowadzenie tego samego taktowania po wszystkich układach nie zawsze jest najlepszym rozwiązanie, podkreślam nie zawsze. Sporo zależy od samego projektu PCB i w oderwaniu od tego to można sobie tylko teoretyzować.


Z tego zdaje sobie sprawę. Zwykle staram się, żeby płytka była zalana masą tam, gdzie tylko możliwe. Ścieżkę z sygnałem taktującym (jak również ścieżki sygnałowe) puszczałbym tak, żeby w miarę możliwości była otoczona masą i nie biegła równolegle do pobliskiej linii zasilającej.
Płytka do urządzenia o którym mowa będzie dwustronna (przynajmniej takie są wstępne założenia), a więc spełnienie tych warunków nie powinno być szczególnie skomplikowane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2014, o 22:12 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

mokrowski napisał(a):
,,wdepnąłem w standardowy zestaw materiału miękkiego w tej dziedzinie" :-) Poprawcie mnie jednak jeśli nie mam racji. Jedno to syndrom ,,bo u mnie chodzi na X MHz przy napięciu 2.1 V" a drugie to tworzenie rozwiązań odpowiedzialnych i umieszczanie urządzenia w środowisku produkcyjnym! Jeśli chodzi o hobbystyczne przetaktowanie czy zasilenie 4 kostek na pracującej płytce 10 cm. od programatora (bo piszę program) to jedno, a sterowanie głowicą która może urwać rękę to drugie.


Jak już wspominałem, ja unikam przetaktowywania i innych, podobnych sytuacji. Tutaj masz rację w 100% - zdecydowanie lepiej dołożyć do lepszego MCU, niż kombinować. W opisanej wyżej sytuacji tak naprawdę nic nie jest przetaktowane. Ludzie zwykle patrzą na pierwszą stronę noty i widzą, że przy zasilaniu 3,3V ATmegę można taktować z maksymalną prędkością 10 MHz. Tyle tylko, że to uproszczona wersja - gdy spojrzy się na wykres widać, że ta wartość odpowiada 2,7V. Przy 3,3V jest już zauważalnie wyżej.

Sytuacja o której rozmawialiśmy powyżej nie ma do czynienia z "radosną, chałturniczą działalnością". Po prostu parę razy pojawiły się doniesienia o zawieszaniu się ENC28J60. Nie każdy jednak się z tym problemem spotyka i co więcej, nawet nie ma do końca sprawdzonej hipotezy co do przyczyny. Moim zdaniem taktowanie MCU z CLKOUT jest jak najbardziej dopuszczalne. ENC28J60 oferuje sygnał zegarowy na jednym z wyjść, a ATmega dopuszcza taką możliwość taktowania.


Cytuj:
Trochę mi brakuje tego: "uwaga, robię eksperyment, to nie pójdzie na produkcję".
Bo jeśli nie... to jestem przerażony! :-|


Fabryczne urządzenia też potrafią się zawiesić albo zrestartować, same z siebie lub pod wpływem EMI.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2014, o 18:04 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Tak swoją drogą to jeszcze jedną rzecz mnie zastanawia. Czy przypadkiem argument z synchronicznym taktowaniem ENC28J60 i MCU nie jest kolejnym mitem? Dlaczego niby brak idealnej synchronizacji pomiędzy zegarami obydwu układów miałby w czymś przeszkadzać i prowadzić do zawieszeń? Przecież o transmisji po SPI decyduje SCK...

I jeszcze jedną sprawa nie daje mi spokoju. Czy ATmega zasilana 5V nie powinna rozpoznać stanu wysokiego na poziomie 3,3V? Jeśli tak, to po co bufor w tę stronę?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2014, o 19:01 

Pomógł: 0

Atlantis napisał(a):
I jeszcze jedną sprawa nie daje mi spokoju. Czy ATmega zasilana 5V nie powinna rozpoznać stanu wysokiego na poziomie 3,3V? Jeśli tak, to po co bufor w tę stronę?

No wiesz to nie jest tak ze na wyjściu logiki3,3V stan wysoki to będzie też 3,3V może być 2,4V a to już jest prawie dolna granica stanu wysokiego dla logiki 5V (wejście w stanie wysokim min. 2,0V) i margines błędu na zakłócenia jest minimalny. Ale generalnie mógłbyś bez problemu sterować z logiki3,3V logikę 5V. Z drugiej strony układ logiki3,3V musiałby być odporny i tolerować sygnały z logiki5V ale jeżeli tak nie jest to możesz to załatwić bez ekstra układów w prosty sposób dzielnikami 1k/2k czyli od strony 5V dajesz w szereg 1k a za nim 2k do masy.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2014, o 19:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2013
Posty: 844
Lokalizacja: Przemyśl
Zbananowany użytkownik

Pomógł: 43

wojtek napisał(a):
prosty sposób dzielnikami 1k/2k czyli od strony 5V dajesz w szereg 1k a za nim 2k do masy.
Albo jeszcze prościej, między stroną 5V a 3,3 sam rezystor 1k, obwody wejściowe CMOS są zabezpieczone diodami dlatego napięcie powyżej 3,3 + 0,6 zostaną ograniczone poprzez spadek napięcia na tym szeregowym rezystorze, rozwiązanie niezbyt eleganckie ale czasem stosuję je.

_________________
Klimatyzacja Przemyśl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2014, o 20:13 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Jeszcze jedna rzecz nie daje mi spokoju.
Mianowicie na w większości przykładów z Tuxgraphics, na początku funkcji main(0 znajduje się taki zapis:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zgodnie z dokumentacją ATmegi 328 odpowiada do ustawieniu preserska systemowego zegara na 1. Czyli nic się nie zmienia.
Nie wiem skąd wziął się tam komentarz mówiący o 8MHz. Przecież w Tuxgraphics MCU jest pędzony z CLKOUT, z prędkością 12,5 MHz.
SCK jest ustawiane na F_CPU/2:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czyli SCK pracuje na 6,25 MHz.

Ktoś mi może powiedzieć o co chodzi z tymi kombinacjami przy rejestrze CLKPR?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2014, o 21:01 

Pomógł: 0

mokrowski napisał(a):
No.... tylko przy większej częstotliwości stromość zboczy jakby spada po (tak naprawdę) masz filtr LR/LRC. To widać na oscyloskopie. Wysiada komunikacja przy 4/8 MHz. Chyba prosty SN74LS07 nie boli...
No to jest jakby oczywiste przy stosowaniu rozwiązania z rezystorami i trzeba sobie zdawać sprawę z ograniczeń ;) i nawet specjalnie nie trzeba tego sprawdzać oscyloskopem. Coś za coś jak to mówią, czasami wystarczy rezystor a innym razem trzeba sięgnąć po lepsze i bardziej eleganckie technicznie rozwiązanie.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2014, o 09:10 

Pomógł: 0

Mały off top
Heh tylko nie zawsze w praktyce ładne pionowe zbocza sygnałów są "dobre" - mnie zdarzało się celowo "pochylać" np. sygnał 40MHz sterujący pracą kolorowego wyświetlacza graficznego. Taka zagadka - po co?



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2014, o 17:48 

Pomógł: 0

Aby zakończyć off-top:
1. "dobre" jest w cudzysłowiu wiec nie chodzi o żaden relatywizm tylko w ten sposób odniosłem się do twojej poprzedniej wypowiedzi ;)
2. Nie nic ten sygnał nie zakłócał na płycie ani nie powodował "śnieżenia" czy też jakichkolwiek innych zakłóceń
3. Ale jesteś blisko - chodzi o badania kompatybilności elektromagnetycznej i zbyt wysokie piki dla emisji na wyższych harmonicznych sygnału 40MHz nie do przyjęcia dla tej klasy urządzenia. Nie pomogło nic nawet dobre ekranowanie ekranu.

I na koniec - kolego mokrowski - nie przekonuj więcej nas, że jesteś początkującym zupełnie w elektronice ;)



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2014, o 21:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Atlantis napisał(a):
W swoich układach unikam stosowania napięcia 5V. Wszystko co tylko mogę zasilam ze stabilizatora 3,3V. Dlatego właśnie taktowanie MCU z CLKOUT uważam za bardzo wygodne rozwiązanie.

Stosowanie Tuxgraphics traktuję jako taki trening na początek. Planuję za jakiś czas przejść na uIP. W trochę dalszej przyszłości rozważam migrację na procesory STM32 i zastosowanie stosu lwIP. ;)


Ja bym na Twoim miejscu nie czekał, tylko od razu przechodził na STM32. Odpadną Ci problemy z poziomami napięć, brakiem pamięci RAM i Flash i tym, że procesor się nie wyrabia przy większej liczbie zadań. Chyba, że ten projekt jest komercyjny i "klient czeka" lub sam do czegoś tego pilnie potrzebujesz.
Jeśli zaś edukacyjny i nie ma pośpiechu, to można skorzystać z okazji i "zaliczyć nową rodzinę procesorów" :-)
Na procesory 32-bitowe i tak kiedyś trzeba będzie przejść.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 07:34 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Jado napisał(a):
Ja bym na Twoim miejscu nie czekał, tylko od razu przechodził na STM32. Odpadną Ci problemy z poziomami napięć, brakiem pamięci RAM i Flash i tym, że procesor się nie wyrabia przy większej liczbie zadań. Chyba, że ten projekt jest komercyjny i "klient czeka" lub sam do czegoś tego pilnie potrzebujesz.
Jeśli zaś edukacyjny i nie ma pośpiechu, to można skorzystać z okazji i "zaliczyć nową rodzinę procesorów" :-)
Na procesory 32-bitowe i tak kiedyś trzeba będzie przejść.


Prawdę mówiąc ten pomysł chodzi mi po głowie już od jakiegoś czasu. Nowoczesny procesor STM32 posiada zintegrowane, sprzętowe moduły do obsługi Ethernetu i CAN, kilka UART-ów i do tego wbudowaną obsługę USB, wraz z bootloaderem umożliwiającym łatwe programowanie. Nie wydaje mi się, żeby przesiadka była jakoś szczególnie trudna od strony programistycznej.
W moim przypadku byłoby to wielkim ułatwieniem - żadnej zabawy z kontrolerami pracującymi na SPI, wystarczyłoby tylko podłączyć izolowane interfejsy do odpowiednich pinów procesora.

Obawiam się czego innego - czy przypadkiem przy tak dużych częstotliwościach taktowania CPU i szyn komunikacyjnych nie wystąpią jakieś problemy z pojemnościami montażowymi, szczególnie na własnoręcznie wykonanej płytce (termotransfer)? Nie lubię korzystać z gotowych zestawów uruchomieniowych, dobudowując do nich odpowiednie "przystawki" na własnych płytkach i łącząc wszystko plataniną kabli. W miarę możliwości wolę zbudować wszystko na własnej płytce, od podstaw, rozmieszczając gniazdka właśnie tam, gdzie mi to pasuje.
W przypadku AVR-ów nie miałem nigdy żadnych problemów. Nie używałem nigdy żadnych modułów z ENC28J60, po prostu umieszczałem ten układ z na projektowanej płytce, samodzielnie lutując wszystkie współpracujące z nim elementy. Zawsze wszystko działało jak należy, bez zgubionych pakietów albo pingów niezwracających odpowiedzi.

Czy tego samego mogę się spodziewać w przypadku 32bitowego MCU, ze zintegrowanym Fast Ethernetem, jeśli interfejs PHY samodzielnie wlutuję na swojej płytce, zamiast korzystać z jakiejś płytki ewaluacyjnej?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 08:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Myślę, że przy dobrze (zgodnie ze sztuką) zaprojektowanej płytce nie powinno by problemów. Problemy pojawiają się zazwyczaj przy dokładaniu zewnętrznych pamięci RAM taktowanych powyżej 40MHz.
Z tym, że podłączenie PHY zabiera dużo nóżek w procesorze i zazwyczaj tak jest, że pokrywają się one w dużej części z wyprowadzeniami innych interfejsów np. SPI, co bywa denerwujące, bo nawet mapowanie nóżek na inne piny często nie pomaga.
W tej sytuacji dobrze jest zastosować procesor z co najmniej 100-nóżkową obudową.
Te rzeczy "wychodzą" zresztą na etapie projektowania układu.

Jeśli chodzi o własne płytki drukowane (też nie lubię gotowych zestawów evaluacyjnych i robię swoje), to ja stosuję metodę fotograficzną (positiv), ale do naświetlania używałem kliszy zamówionej w naświetlarni. Dzięki temu pod względem rozdzielczości "możliwości produkcyjne" nie ustępują w zasadzie zakładom produkującym płytki drukowane - brakuje tylko metalizacji i soldermaski.
Jeżeli stosujesz elementy typu 0402, to bardzo dobrze - sprawdzają się zwłaszcza w przypadku kondensatorów odsprzęgających zasilanie w dużych prockach - przy dużej gęstwinie ścieżek małe elementy nie są takimi "zawalidrogami" jak duże - nie trzeba ich omijać "dużym łukiem", co może być czasem trudne przy dużej ilości ścieżek (brak miejsca na ominięcie).
Być może dobrze opanowana metoda termotransferowa (nie na papierze tylko na jakiejś folii), też "da radę" z odległościami rzędu 0,25mm pomiędzy padami - ludzie czasami potrafią dojść do niesamowitej wprawy w tym co robią :-)

W przypadku przejścia na STM32 nie polecam korzystania z SPL - dużo było na ten temat pisane - nawet tu na Forum.
Ale oczywiście każdy sam podejmuje decyzje ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 10:54 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Jado napisał(a):
Myślę, że przy dobrze (zgodnie ze sztuką) zaprojektowanej płytce nie powinno by problemów. Problemy pojawiają się zazwyczaj przy dokładaniu zewnętrznych pamięci RAM taktowanych powyżej 40MHz.


No właśnie, ale czy w przypadku interfejsu Fast Ethernet nie będą występowały wyższe częstotliwości?


Cytuj:
Z tym, że podłączenie PHY zabiera dużo nóżek w procesorze i zazwyczaj tak jest, że pokrywają się one w dużej części z wyprowadzeniami innych interfejsów np. SPI, co bywa denerwujące, bo nawet mapowanie nóżek na inne piny często nie pomaga.


Akurat w tym projekcie nie potrzebuję zbyt wielu wyprowadzeń: USB do programowania i konfiguracji, jeden SPI na moduł bezprzewodowy, jeden interfejs CAN i jeden UART na RS485. Jak zostanie więcej wolnych interfejsów, pomyślę o dodatkowym CAN albo RS485. No i do tego oczywiście Ethernet.
Poza tym parę linii na LED-y i jakiś przycisk/zworkę konfiguracyjną.
Procesor z 64-nóżkową obudową powinien wystarczyć.


Cytuj:
Być może dobrze opanowana metoda termotransferowa (nie na papierze tylko na jakiejś folii), też "da radę" z odległościami rzędu 0,25mm pomiędzy padami - ludzie czasami potrafią dojść do niesamowitej wprawy w tym co robią :-)


Całkiem dobrze wychodzą mi termotransferowe płytki z elementami w obudowach TSSOP, więc z LQFP albo MLF/QFN nie powinno być najmniejszego problemu. "Sekret" to dobry papier (kupiłem kiedyś na Allegro trochę arkuszy papieru kredowanego sprzedawanego właśnie jako papier do produkcji PCB. Bije na łopatki wszystko to, co można kupić w sklepie papierniczym albo odzyskać z okładek kolorowych magazynów. ;) Po namoczeniu w wodzie schodzi ładnie, warstwami. Nie zostawia włókienek w tonerze i między ścieżkami, nie ma tendencji do zdzierania toneru z płytki. Druga kwestia to odpowiednie prasowanie - nic nie sprawdza się lepiej od przerobionego laminatora. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 17:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Atlantis napisał(a):
No właśnie, ale czy w przypadku interfejsu Fast Ethernet nie będą występowały wyższe częstotliwości?

Fakt - tutaj mamy częstotliwości rzędu 50MHz przy RMII...
No to nie pozostaje nic innego jak dobrze zaprojektować płytkę ;-)
Są fora na temat projektowania PCB, gdzie można w razie czego pokazać swój projekt, zapytać o rady/porady projektowe, itp...
Najprawdopodobniej trzeba będzie zrobić płytkę dwustronną - jeśli nie samemu, to ew. zlecić "płytkowni" - niestety, musimy nadążać za postępem i obecnie nikt już o DIP'ach nie myśli, a normą stają się rastry 0,25mm, QFN'y, SON'y...

Swoją drogą zrobienie projektu "od pierwszego strzału", przy nowej rodzinie procesorów i szybkich magistralach jest dość trudne i wymaga dużej uwagi, cierpliwości i dobrego przygotowania, bo trzeba tu zgrać wiele elementów począwszy od środowiska programistycznego, przez poznanie architektury nowych procesorów, dobry projekt PCB, aż do samego oprogramowania.

Z drugiej strony, człowiek się dużo uczy przy takich projektach (choć zajmuje mu to czasami b. dużo czasu) i potem zyskuje swobodę wyboru - bo może sobie sam zaprojektować co mu tylko do głowy przyjdzie :-)

Dla mnie dobrą motywacją do zajęcia się trudnymi (ale ciekawymi) tematami był zakup (lub zamówienie sampla) jakiegoś scalaczka.
Gdy już ma się go w ręce to człowieka kusi, żeby "coś na nim zrobić" ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 17:36 
Offline
Moderator
Avatar użytkownika

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

Jado napisał(a):
i obecnie nikt już o DIP'ach nie myśli


Niestety tak mówi ktoś - kto patrzy przez czubek własnego nosa ... sorki tu nie chodzi o ironię czy dopieczenie koledze. Kolega widzę w ogóle nie rozróżnia rozmaitych potrzeb nie tylko firm ale i (albo szczególnie) amatorów. Szczególnie wobec dalszej części wypowiedzi, która jest kompletnym zaprzeczeniem tej tezy:

Jado napisał(a):
Swoją drogą zrobienie projektu "od pierwszego strzału", przy nowej rodzinie procesorów i szybkich magistralach jest dość trudne i wymaga dużej uwagi, cierpliwości i dobrego przygotowania, bo trzeba tu zgrać wiele elementów począwszy od środowiska programistycznego, przez poznanie architektury nowych procesorów, dobry projekt PCB, aż do samego oprogramowania.


Ja się np podpisuję pod tym nogami i rękami - czyli zgadzam się w 100% ... ale to właśnie tylko świadczy o tym, że w ramach zainteresowania amatorów długo jeszcze będą DIP'y ;)

Jado napisał(a):
a normą stają się rastry 0,25mm, QFN'y, SON'y...


tak tak a do tego lutownica tranformatorowa w rękach amatora ....

Proponuję (hoop hoooop) ... zejść troszkę na ziemię, bo żeby podsumować, to że kolega potrafi projektować płytki i sam lutować takie obudowy do celów amatorskich to SUPER ... no nic tylko się cieszyć i pogratulować ....

ale jest mnóstwo ludzi, którzy wybiorą do prostych celów - małego czy dużego ale DIP'a .... bo zrobią to na żelazku, często na jednostronnym PCB i będzie działać ... a przy tym też się nauczą projektować obwody ;) I przy takich projektach człowiek się uczy ... tylko nie można zapominać ... projektując już płytki 8 warstwowe pod częstotliwości rzędu 100MHz - że się zaczynało od prostszych rzeczy ;)

_________________
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: 11 cze 2014, o 17:47 

Pomógł: 0

Możliwe, że bardziej chodziło o to, że dziś już wiele nowoczesnych układów nie wychodzi w DIP i nie ma na to żadnych szans ;). Spoko ciekawych układów to właśnie QFNy, itp. bo już nawet SOP, czy mniejsze TSOP są czasem pomijane.
Nie ma się co oszukiwać, DIP to zdecydowanie więcej materiału ;), a po za tym mało który producent dziś myśli o amatorach.
Niestety albo trzeba się szybko przerzucić na technologię SMD, albo za kilka lat marne są szanse rozwoju.

W kwestii tego, ze od DIPa każdy zaczynał masz rację Mirku, bo trudno raczej wymagać od kogoś kto dopiero zaczyna że od razu polutuje QFNa ;).
O zaprojektowaniu czy już wykonaniu pod to płytki nie wspominając.
Po za tym jak by nie było, zasady nadal obowiązują te same, rozdzielone masy, brak pętli mas, odpowiednio prowadzone zasilanie, sygnały wrażliwe itp.
W przypadku projektowania profesjonalnego i dla fabryki wbrew pozorom to dużo prostsze niż zrobienie jedno, czy dwuwarstwowej płytki pod jakiś "nowocześniejszy" scalak. Tu sobie nie można puścić zasilania na osobnej warstwie, czy rozlać pola masy, np w bottom, bo reszta sygnałowych nam idzie po wewnętrznych warstwach ;).

Po za tym Kto nawet z bardziej zaawansowanych kolegów ma dostęp do technologi lutowania BGA ? mało jest tak dobrze wyposażonych firm, które zajmują się projektowaniem elektroniki, najczęściej jest to zlecane na zewnątrz, a każdy kolejny nie udany prototyp to są bardzo duże koszta.

Z resztą informacji w topicu nie zamierzam polemizować, bo mam całkiem inne podejście niż kolega Atlantis.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 17:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Pisałem głównie do kolegi Atlantisa, który jak mam wrażenie też "lubi iść własną drogą" i lubi wyzwania :-)

A sam, żadną miarą do roli eksperta nie pretenduję :-)

Własnie - kolega Rezasumar ma rację - swojego czasu potrzebowaliśmy w firmie zakupić scalak będący konwerterem U/I w standardzie 4-20mA. I znalazl się tylko jeden, który łączył funkcjonalność z niską ceną - niestety był właśnie w obudowach z rastrem 0,25mm (nózkowa lub beznóżkowa).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 19:13 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Jado napisał(a):
Fakt - tutaj mamy częstotliwości rzędu 50MHz przy RMII...
No to nie pozostaje nic innego jak dobrze zaprojektować płytkę ;-)


A mógłbym poprosić o jakieś porady? Bo jak dotąd sporo rzeczy robiłem na wyczucie i "zdrowy rozsądek". Staram się trzymać następujących zasad:
1) Masa zawsze w postaci pola rozlanego po płytce. Oczywiście za wyjątkiem miejsc, w których jest wyższe napięcie, ryzyko wystąpienia przebicia albo po prostu ekranowania jakiejś anteny.
2) Zasilanie prowadzone możliwe grubą ścieżką, która rozgałęzia się po drodze. Jeśli jakiś element pobiera więcej zasilania, prowadzę osobną ścieżkę, do miejsca możliwie bliskiego wyjściu stabilizatora. Czasami zasilanie rozprowadzam możliwie grubymi kabelkami po stronie elementów, skupionymi przy stabilizatorze.
3) Jeśli element ma kilka pinów VCC, przy każdym staram się umieszczać kondensator odsprzęgający. Czasem się nie da, ale i tak staram się, żeby przy ścieżce doprowadzającej zasilanie do tych punktów było kilka równo rozmieszczonych kondensatorów.
4) Unikam prowadzenia ścieżek sygnałowych w pobliżu linii zasilających albo chociażby sterujących jakimś LED-em. Staram się, aby między jednymi a drugimi została "wylana" masa. Same ścieżki sygnałowe prowadzę często obok siebie, w odległościach 12-16 milsów, nadając im podobną szerokość.
5) W miarę możliwości staram się, żeby połączenia interfejsów komunikacyjnych były krótkie. Czyli transformator Ethernet tuż przy ENC28J60, gniazdko RJ45 tuż przy transformatorze.

O czym jeszcze powinienem pamiętać? Szczególnie interesują mnie te pętle masy, przed którymi się czasem ostrzega. Jak to wygląda w przypadku "wylewek"?


Cytuj:
Są fora na temat projektowania PCB, gdzie można w razie czego pokazać swój projekt, zapytać o rady/porady projektowe, itp...
Najprawdopodobniej trzeba będzie zrobić płytkę dwustronną - jeśli nie samemu, to ew. zlecić "płytkowni"


To jest właśnie następny krok. Do tej pory radziłem sobie na płytkach jednostronnych, ale druga warstwa ułatwiłaby trochę sprawę.
Zawsze byłem ciekaw jak mocno da się w warunkach amatorskich zgrać jedną stronę z drugą, ale przecież chyba nie musi być tak źle - amatorzy robią i takie płytki. Jeszcze innym "krokiem" do zrobienia w przyszłości jest zastosowanie elementów QFN/MLF. Hot Aira już mam, ale do tej pory służył mi tylko do demontażu. ;)

mirekk36 napisał(a):
Ja się np podpisuję pod tym nogami i rękami - czyli zgadzam się w 100% ... ale to właśnie tylko świadczy o tym, że w ramach zainteresowania amatorów długo jeszcze będą DIP'y ;)


Problem w tym, że coraz trudniej kupić nowy układ scalony w obudowie TQFP, a co tu dopiero mówić o DIP-ie. Obecnie królują obudowy LQFP i mniejsze. Z myślą o amatorach produkuje się rzecz jasna moduły na goldpinach, które można montować podobnie do DIP-a. Ja jakoś nie jestem do nich przekonany. Chciałoby się zrobić estetyczne urządzenie, zamknięte w dopasowanej obudowie, z rozmieszczonymi złączami. A tu się nie da, bo projektant modułu porozmieszczał na brzegach płytki złącze USB, Ethernet, CAN itp. To trochę jak budowanie urządzenia na Raspberry Pi - da się, ale wewnątrz obudowy będziemy mieć masę modułów połączonych kabelkami. ;)

Cytuj:
tak tak a do tego lutownica tranformatorowa w rękach amatora....

Proponuję (hoop hoooop) ... zejść troszkę na ziemię, bo żeby podsumować, to że kolega potrafi projektować płytki i sam lutować takie obudowy do celów amatorskich to SUPER ... no nic tylko się cieszyć i pogratulować ....


Oczywiście nikt nie każe absolutnemu nowicjuszowi zaczynać od elementów 0402, jednak sam często zauważam tendencję do demonizowania SMD. To trochę jak z programowaniem w C. Potem się słyszy teksty w stylu: "Ja chyba jednak zacznę od BASCOM-a, bo słyszałem, że to C jest bardzo trudne do opanowania.
Ja długo używałem transformatorówki, bo zwyczajnie nic innego nie było mi potrzebne. Składałem głównie układy analogowe (przede wszystkim radioamatorskie) w oparciu o cudze opracowania. Mikrokontrolerami i projektowaniem własnych urządzeń zająłem się stosunkowo niedawno. Zacząłem właśnie od od DIP-ów, kupiłem kilka popularnych AVR-ów w wersjach do montażu przewlekanego, zabrałem się za eksperymenty, potem zacząłem projektować płytkę pod pierwsze poważniejsze urządzenie. Przez jakiś czas wręcz bałem się elementów SMD i odciągałem w czasie moment przejścia na ten sposób montażu.

W końcu jednak się zdecydowałem na zakup niedrogiej stacji lutowniczej (grzałkowa z cienkim grotem + Hot Air). Spróbowałem elementów 1206 - żaden problem. Sięgnąłem po 0805 - obyło się bez trudności. Byłem ciekaw jak mi pójdzie z 0603 i ku mojemu zdziwieniu nie były one praktycznie żadnym wyzwaniem. Dopiero przy 0402 muszę bardziej uważać przy operowaniu lutownicą, ale też nie jest to niczym specjalnie trudnym. To samo ze scalakami - pamiętam swoje obawy przed pierwszym lutowaniem TQFP. Byłem wtedy pewien, że na 100% porobię zwarcia pomiędzy padami, będę musiał kilka razy poprawiać itp. Nic z tych rzeczy. Cały sekret to cienki grot, cienka cyna i dobry topnik. Identyczne obawy miałem lutując po raz pierwszy TSSOP.

Wcale nie dysponuję jakimiś nadzwyczajnymi zdolnościami manualnymi albo doskonałym wzrokiem. Po prostu montaż SMD wcale nie jest taki straszny, jak go malują. Amatorzy naprawdę nie powinni się go obawiać. Opanowanie go otwiera sporo nowych możliwości. Sam już nie wróciłbym do budowania urządzeń opartych na elementach przewlekanych, co nie znaczy, że całkowicie z nich zrezygnowałem. Czasem tradycyjny rezystor robi za dobrą "zworkę" a jakiś scalaczek w DIP-ie pozwala racjonalniej poprowadzić ścieżkę, bo akurat można ją puścić pomiędzy polami lutowniczymi. ;)

Cytuj:
ale jest mnóstwo ludzi, którzy wybiorą do prostych celów - małego czy dużego ale DIP'a .... bo zrobią to na żelazku, często na jednostronnym PCB i będzie działać ...


Te rzeczy nie wykluczają SMD, nawet w małych rozmiarach. Sam używałem TSSOP albo 0402 na jednostronnych płytach robionych termotransferem. Tylko zamiast żelazka zdecydowanie polecam laminator. ;)


rezasurmar napisał(a):
Nie ma się co oszukiwać, DIP to zdecydowanie więcej materiału ;), a po za tym mało który producent dziś myśli o amatorach.
Niestety albo trzeba się szybko przerzucić na technologię SMD, albo za kilka lat marne są szanse rozwoju.


Z drugiej strony amatorzy mają dzisiaj nieporównywalnie lepsze warunki do rozwoju niż kiedyś. Swoje pierwsze płytki drukowane malowałem za pomocą pędzelka i emalii, potem markera olejnego. Nie śniło mi się nawet o takim poziomie precyzji, jaki zapewnia mi komputerowe projektowanie do spółki z termotransferem (jak na razie nie odczuwam potrzeby, żeby przechodzić na metodę fotograficzną).
Pamiętam też, jak nie tak dawno temu ktoś w środowisku radioamatorskim wieszczył śmierć tego hobby. Bo przecież "niedługo wszystko będzie cyfrowe", a amator sobie z czymś takim nie poradzi. Dzisiaj hobbysta może kupić cały zestaw rozmaitych modułów obsługujących rozmaite rodzaje cyfrowej, bezprzewodowej transmisji danych. Nie wspominam już o całej tematyce SDR, która od jakiegoś czasu cieszy się sporą popularnością w środowisku radioamatorów/krótkofalowców.
A prawo Moore'a robi swoje. Pewnie za kilka lat, za tych kilkadziesiąt zł kupimy moduł wielkości znaczka pocztowego, na którym zmieści się linuksowy komputerek z wyprowadzonymi pinami GPIO i najpopularniejszymi interfejsami komunikacyjnymi. ;)

Cytuj:
sygnały wrażliwe itp.


Może to głupio zabrzmi, ale mogę zapytać co rozumiesz przez to pojęcie?
Jak wspominałem, projektując płytki sporo rzeczy robię na wyczucie i "chłopski rozum". ;)

Cytuj:
Z resztą informacji w topicu nie zamierzam polemizować, bo mam całkiem inne podejście niż kolega Atlantis.


Co przez to rozumiesz? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 20:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Atlantis napisał(a):

A mógłbym poprosić o jakieś porady? Bo jak dotąd sporo rzeczy robiłem na wyczucie i "zdrowy rozsądek".

Ja sam też nie uważam się za eksperta od PCB - te zasady o których napisałeś są generalnie OK.
Tutaj mamy dosyć ciekawy tutorial na ten temat: http://alternatezone.com/electronics/pcbdesign.htm
oraz
Załącznik:
DesignTechniquesPart5.pdf


Cytuj:
To jest właśnie następny krok. Do tej pory radziłem sobie na płytkach jednostronnych, ale druga warstwa ułatwiłaby trochę sprawę.
Zawsze byłem ciekaw jak mocno da się w warunkach amatorskich zgrać jedną stronę z drugą, ale przecież chyba nie musi być tak źle - amatorzy robią i takie płytki. Jeszcze innym "krokiem" do zrobienia w przyszłości jest zastosowanie elementów QFN/MLF. Hot Aira już mam, ale do tej pory służył mi tylko do demontażu. ;)


Przy metodzie fotograficznej da się - robi się "kopertę" z dwóch wycentrowanych klisz (jedna top, druga bottom), koperta ma sklejone z 2-3 stron krawędzie i pomiędzy klisze wkłada się płytkę pokrytą obustronnie lakierem światłoczułym. Następnie naświetla z obydwu stron UV, wywołuje, trawi i gotowe. Potem tylko lutuje się przelotki drutem (widziałem, że są też do kupienia miniaturowe nity rurkowe, ale nigdy tego nie stosowałem jak dotąd - to jakiś nowy wynalazek).
Niektórzy robią do tego celu dwustronne naświetlarki, żeby naświetlać obie strony równocześnie - ale da też radę w pojedynczej, tylko trzeba odwracać płytkę na drugą stronę.
Czy metodą termotransferową dało by się? - na pewno dużo trudniej, ale kto wie? Wszystko jest możliwe :-)

Jeśli chodzi o lutowanie QFN, to daje się to lutować nawet lutownicą "ręczną" - trzeba tylko odp. zeszlifować grot (na kształt ostrego klina, ostrza), tak, żeby mógł on "dostać" się do pól lutowniczych QFN. Potem trochę cyny, sporo topnika i przeciąga się grotem po padach i cyna "łapie się" tylko tam gdzie jest metal - pomiędzy nóżki wejść nie może, bo nóżek nie ma :-). Ja jeszcze najpierw cynuje pady (te na krawędzi bocznej scalaka), żeby cyna od razu je chwyciła. Przydaje się tutaj dobre szkło powiększające, żeby skontrolować jakość lutowania.
Hot Airem pewnie też można, ale ja jakoś nie lubię przegrzewać scalaków, a metoda z lutownicą jest powtarzalna.

Kiedyś przez pomyłkę zamówiłem procesory (sample) w takiej obudowie i nie było wyjścia - musiałem się nauczyć je lutować :-)

Zawsze też maluję skończoną płytkę lakierem bezbarwnym - całą - również "po scalakach", bo przy tak małych odstępach między nóżkami wystarczy jakiś opiłek i zwarcie gotowe. Lakier zabezpiecza przed taką ewentualnością.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 21:33 

Pomógł: 0

Atlantis napisał(a):
Co przez to rozumiesz?


Po prostu z jednej strony nie lubię zostawiać czegoś przypadkowi, z drugiej staram się trzymać wytycznych samych producentów, ale za razem niezawodność stawiam wyżej niż rozmiar, czy cenę ;).
Tj. jeżeli są jakieś wytyczne, czy parametry typu max, czy dopuszczalne, to nigdy nie zbliżam się nawet do nich. Dokładniej mówiąc jeżeli np. ENC28J60 ma problemy z działaniem jak opisywał Mirek, to ja wiem, że nie mam po pierwsze technicznych możliwości by to zweryfikować, dlatego że nie stosuję go na szeroką skalę, a po drugie nie lubię wyważać otwartych drzwi. To jest związane głównie z tym że czas od "zapotrzebowania" na produkt do terminu jego wykonania jest dosyć krótki i nie mam czasu na długotrwałe testy, stąd moje dążenie do stosowania rozwiązań sprawdzonych.

Mówiąc o braku polemizowania, po prostu podkreśliłem tylko moją niewiedzę w stosunku do ciebie czy Mirka, gdyż moja droga "projektowa" w sumie zaczęła się całkiem niedawno.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 11 cze 2014, o 22:33 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Jado napisał(a):
Ja sam też nie uważam się za eksperta od PCB - te zasady o których napisałeś są generalnie OK.
Tutaj mamy dosyć ciekawy tutorial na ten temat: http://alternatezone.com/electronics/pcbdesign.htm
oraz
Załącznik:
DesignTechniquesPart5.pdf



Dziękuję. Poczytam w wolnej chwili. ;)

Cytuj:
Czy metodą termotransferową dało by się? - na pewno dużo trudniej, ale kto wie? Wszystko jest możliwe :-)


Z tego co czytałem, to ta sama metoda jest stosowana także w przypadku termotransferu. Przy zastosowaniu laminatora faktycznie ma szansę się sprawdzić. Spotkałem się też z poradą, by zastosować otwory pełniące rolę znaczników w rogach płytki, nawiercić je na płytce i do nich wyrównać wzory obydwu stron, zabezpieczając je taśmą. Tyle tylko, że tutaj pewnie do wiercenia niezbędna byłaby wiertarka ze statywem.

Cytuj:
Jeśli chodzi o lutowanie QFN, to daje się to lutować nawet lutownicą "ręczną" - trzeba tylko odp. zeszlifować grot (na kształt ostrego klina, ostrza), tak, żeby mógł on "dostać" się do pól lutowniczych QFN. Potem trochę cyny, sporo topnika i przeciąga się grotem po padach i cyna "łapie się" tylko tam gdzie jest metal - pomiędzy nóżki wejść nie może, bo nóżek nie ma :-). Ja jeszcze najpierw cynuje pady (te na krawędzi bocznej scalaka), żeby cyna od razu je chwyciła. Przydaje się tutaj dobre szkło powiększające, żeby skontrolować jakość lutowania.


Czytałem kiedyś nawet artykuły, w których było opisane lutowanie zwykłym grotem na zasadzie zbliżonej do fali. Na początku wstępne chwycenie jednego albo dwóch padów, żeby układ się nie przesuwał. Potem rozprowadzanie cyny grotem po wszystkich wyprowadzeniach znajdują się przy każdej z krawędzi.


Cytuj:
Hot Airem pewnie też można, ale ja jakoś nie lubię przegrzewać scalaków


Niby tak, ale z drugiej strony one są projektowane z myślą o lutowanie w "piecu", więc hot air nie powinien być im straszny.


Cytuj:
Zawsze też maluję skończoną płytkę lakierem bezbarwnym - całą - również "po scalakach", bo przy tak małych odstępach między nóżkami wystarczy jakiś opiłek i zwarcie gotowe. Lakier zabezpiecza przed taką ewentualnością.


Tak, to kolejna oczywistość o której zapomniałem wspomnieć - też po zmontowaniu zabezpieczam układ Plastikiem 70. ;)

rezasurmar napisał(a):
Po prostu z jednej strony nie lubię zostawiać czegoś przypadkowi, z drugiej staram się trzymać wytycznych samych producentów, ale za razem niezawodność stawiam wyżej niż rozmiar, czy cenę ;).


Nigdy nie powiedziałem, że w moim przypadku jest inaczej. Także w miarę możliwości czytam datashetty i unikam overclockingu. ;)


Cytuj:
Tj. jeżeli są jakieś wytyczne, czy parametry typu max, czy dopuszczalne, to nigdy nie zbliżam się nawet do nich. Dokładniej mówiąc jeżeli np. ENC28J60 ma problemy z działaniem jak opisywał Mirek, to ja wiem, że nie mam po pierwsze technicznych możliwości by to zweryfikować, dlatego że nie stosuję go na szeroką skalę, a po drugie nie lubię wyważać otwartych drzwi. To jest związane głównie z tym że czas od "zapotrzebowania" na produkt do terminu jego wykonania jest dosyć krótki i nie mam czasu na długotrwałe testy, stąd moje dążenie do stosowania rozwiązań sprawdzonych.


Tyle tylko, że sprawa z tym ENC28J60 jest trochę bardziej skomplikowana. Nigdzie w datasheetach nie ma mowy o takich problemach. NIe doczytałem się nigdzie informacji, że współpracujący MCU powinien być taktowany w taki czy inny sposób. Całę zamieszanie wzięło się od następującej wypowiedzi autora stosu Tuxgraphics.

Cytuj:
The ENC28J60 has a clock output. I wanted to use it right from the start but there was a problem with interrupted clock signals at reset which caused sometimes the AVR to malfunction. I contacted microchip support about it but they did not seem to understand the problem. Maybe microchip PIC controllers are less sensitive to non continuous clock signals. I finally figured out that it works if I do not use both software and hardware reset during initialization of the chip. Now I use just reset via software and that works well. The ENC28J60 can supply a 12.5MHz clock signal. This gives a small speed increase over the 8MHz from the atmega88 internal clock. Atmel specifies that the atmega88 can handle 0-20MHz @ 4.5-5.5V and 0-10MHz @ 2.7-5.5V. This suggests that we should use max 10MHz but it can't be a binary behavior starting suddenly at 2.7V. We can assume that it should be something between 10MHz and 20MHz. My tests show that 12.5MHz works stable and reliable at 3.3V.


Krótko mówiąc miał on problemy z inicjacją pracy układu, gdy MCU był taktowany z CLKOUT. Zwrócił się w tej sprawie do obsługi technicznej Microchipa, ale polecono mu jedynie przerzucenie się na procki PIC. ;) W końcu okazało się, że winę za takie zachowanie ponosiło stosowanie zarówno sprzętowego jak i software'owego resetu w procedurze inicjującej pracę ENC28J60. Po ograniczeniu się do software'owego problemy przestały występować.
Po drugie autor pisze o przetaktowaniu, sugerując się zapisem w nocie ATmegi, który mówi o 10MHz jako o górnej granicy taktowania przy zasilaniu niskim napięciem. Przy czym podana wartość graniczna dotyczy 2,7V - wraz ze wzrostem napięcia przesuwa się w górę. Widać to na datasheecie ATmegi. Informacje z sieci mówią, że dla 3,3V będzie to 13,3 MHz, tak więc nic nie jest przetaktowane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2014, o 11:22 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Tak swoją drogą, to jak wygląda sprawa środowiska programistycznego w przypadku STM32?
Istnieje jakieś dobre, bezpłatne narzędzie, nie posiadające żadnych ograniczeń? Coś takiego jak Atmel Studio?
Czy też może jest się skazanym na kombinowanie, tak jak w PIC-ach? Kilka różnych kompilatorów, ograniczenie wielkości kodu wynikowego w darmowej wersji tych lepszych...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2014, o 11:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

Atlantis napisał(a):
Tak swoją drogą, to jak wygląda sprawa środowiska programistycznego w przypadku STM32?
Istnieje jakieś dobre, bezpłatne narzędzie, nie posiadające żadnych ograniczeń? Coś takiego jak Atmel Studio?
Czy też może jest się skazanym na kombinowanie, tak jak w PIC-ach? Kilka różnych kompilatorów, ograniczenie wielkości kodu wynikowego w darmowej wersji tych lepszych...

Jako kompilatora generalnie używa się GCC w wersji odpowiedniej dla danego procesora (czy to ARM, MIPS czy AVR).
Do tego jakieś IDE - najwięcej zwolenników ma Eclipse, ale można sobie złożyć środowisko z innych edytorów - np. em:blocks, geany, itd.... Ja np. używam geany, ale to sprawa gustu :-)
Jest też Coocox: http://www.coocox.org/index.html przez wielu chętnie stosowany ze względu na duże ułatwienia w postaci różnych gotowców, itp... Chyba najłatwiej zacząć od tego środowiska - pod warunkiem, że nie pracujesz pod linuksem, bo jest ono tylko pod WIN.
Do programowania/debugowania używa się jakiegoś JTAG'a lub SWI (jako fizycznego urządzenia), a program który jest pośrednikiem między sprzętem, a systemem operacyjnym to OpenOCD.
Za jego pomocą wgrasz wsad do mikrokontrolera lub połączysz się z debbugerem (GDB), żeby poobserwować pracę krokową, itd...
Oczywiście zgranie tego wszystkiego razem, żeby działało wymaga trochę zabawy - jest sporo tutoriali w sieci, ale ze względu na to że wciąż powstają nowe wersje programów, szybko się dezaktualizują.
Ale generalnie daje rade to wszystko ustawić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2014, o 18:31 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Jak lubisz pracę z Atmel Studio to możesz przeglądnąć ofertę mikrokontrolerów z rdzeniem Cortex-M3 z tej firmy i też znajdziesz przykład lwIP pośród wielu http://asf.atmel.com/docs/latest/3rd_party.html
Każdy znany producent (poza Microchipem) ma procki z Cortexem.
Atlantis napisał(a):
Czy też może jest się skazanym na kombinowanie, tak jak w PIC-ach? Kilka różnych kompilatorów, ograniczenie wielkości kodu wynikowego w darmowej wersji tych lepszych...

Kompilatory microchipa w wersji freeware mają ograniczoną tylko optymalizację.

_________________
Dragonus Cracovus: Biomagia



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: 48 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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