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



Teraz jest 28 paź 2024, o 18:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 38 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 5 sie 2012, o 21:18 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Tak, chodziło mi o pull up. Kurcze, jesteś kopalnią wiedzy, wiesz? :)

Jak zwykł mawiać klasyk na naszym forum czyli SunRiver, powiem tylko że to tu co piszesz to są jakieś plotki i pomówienia ;)


Antystatyczny napisał(a):
Jeszcze jedna sprawa. Na nodze INT wisi mi katoda diody LED, która jest podłaczona przez 330Ohm do Vcc. to nie będzie przeszkadzało, gdy zechcę skorzystac z przerwania od tej kostki?


Nie powinna przeszkadzać ;) ale ja bym nie obciążał wyjścia tego scalaka na dłużej diodą LED, to wyjście do tego nie służy, nie pamiętam nawet jaką ma obciążalność jeśli chodzi o prąd. Zdecydowanie lepiej tą diodę podpiąć sobie do jakiegoś pinu procka i np z tego przerwania sobie ją zapalać i gasić czyż nie będzie tego samego efektu ;) ?

_________________
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: 6 sie 2012, o 21:30 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Znowu mam kłopot. Nie rozumiem tego zapisu:
SCL frequency = CPU Clock frequency/16 + 2(TWBR) ⋅ 4TWPS
Wartości początkowe rejestrów wynosza zero, czy musze najpierw coś do nich wpisac, a nastepnie dokonać obliczenia? Obrabiam teraz transmisję I2C, bo chcę na lcd wyświetlić godzinę z RTC


eeeeeś ;) Panie kolego pobierz że Pan sobie wszystkie potrzebne uaktualnienia w tym do TWI do książki, bo też akurat pech chciał że zapomniałem wstawić funkcji set_i2c_bitrate() .... ;) ale masz ją w aktualizacjach i już miałbyś się czym posiłkować - warto podglądać inne programy .... ja bardzo często tak się uczę i polecam ;)

http://atnel.pl/uaktualnienia-programow-do-dvd.html

_________________
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: 7 sie 2012, o 11:01 
Offline
Moderator
Avatar użytkownika

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

aha ;) no to zobacz jak to się robi - podpowiedzą będzie to , że np domyślne zera w bitach TWPS już oznaczają jakiś preskaler więc nie ma aż tylu niewiadomych.

_________________
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: 7 sie 2012, o 21:02 
Offline
Moderator
Avatar użytkownika

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

Panie kolego ;) nie bój się o stabilność pracy I2C ;) toż to Master generuje zegar i tak jak Master zagra tak Slave będzie mu śpiewał...

Nie wiem i teraz nawet nie będę się głowił czy przy 1MHz uzyskasz 100kHz na I2C czy może 55kHz ..... zapytam inaczej.

A co to za różnica ? ... może na takie pytanie postaraj sobie odpowiedzieć ? ;)

Ja ci ułatwię, nie ma żadnej różnicy.... tak jak nie ma żadnych ograniczeń w dolnej granicy częstotliwości I2C .... Ograniczenia to mogą być w górę ale to tylko tego typu, że po prostu są niektóre układy które nie pociągną więcej niż standardowe 100kHz ;) ... ale mniej ??? a ustaw Pan sobie nawet 1kHz i też ci będzie działać I2C ;) czym tu się przejmować ;)

Przejmować to byś się mógł gdybyś np zakupił sobie jakiś szybki przetwornik ADC albo jakąś pamięć FRAM czy EEPROM, która może pracować np 400kHz albo więcej a ty tego nie możesz w procku osiągnąć ;)

Zresztą ja i tak podziwiam że z uporem godnym podziwu wszystko męczysz przy tym ślimaczym tempie 1MHz ;) toż procek ci się po prostu czołga i to jeszcze gołym brzuchem po ostrych kamieniach - więc nie za szybko :)

oczywiście to nic złego - w końcu 1MHz to też częstotliwość - ale ja rozumiem jej stosowanie bardziej tam gdzie już zależy mi na zejściu z poborem mocy - np przy zasilaniu bateryjnym ;)

_________________
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: 7 sie 2012, o 21:28 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Rozumiem też, że jeśli przestawię na wyższą częstotliwośc w fuse bitach i nadal będe miał INT RC, to to nie będzie miało żadnego wpływu na stabilnośc pracy (z doświadczenia wiem, że mocno pływa częstotliwośc, bo zrobiłem zegarek na INT RC)


Niestety to jest NAJWIĘKSZY grzech i niezrozumienie początkujących :( .... NIC ci nie będzie pływać przy wewn. oscylatorze RC i spokojnie możesz go używać. Ja do 80% prostych projektów gdzie tylko się da wykorzystuję wewn. oscylator RC 8MHz .... i nic więcej nie potrzeba. A to opowiadanie że RC pływa bo zegarek źle chodził ..... eeeeeh na tą chwilę zapomnij o tym ;) Bo próba oceniania stabilności int.RC na podstawie robienia zegarka na int.RC to mniej więcej to samo jakby próbować łapać komara wiadrem albo beczką - no można - tylko po co ? ;)

Coś mi się wydaje jednak że nie czytałeś jeszcze całej książki bo już z samego rozdziału np o budowaniu pilota podczerwieni w RC5 czy też odbiornika już byś się co nieco dowiedział o co chodzi z wyborem hmm doborem źródła taktowania. Ale pewnie i teraz zdajesz sobie sprawę jak krótkie czasy impulsów są do pomiaru przez procek gdy dekoduje się ramki podczerwieni prawda ???? gdzie tu mowa o tak kosmicznie długich czasach jak przy robieniu "zegarka" ;) ..... i wyobraź Pan sobie, że nawet do tych celów wystarcza wewn. Oscylator RC ;) A przecież gdyby był tak zły jak go opisują po takich próbach początkujący - to w zasadzie lepiej byłoby go wydłubać z procka i wyrzucić ;)

Raczej musisz wiedzieć coś innego:

Kiedy warto dobrać zewn. kwarc i od czego to zależy
a kiedy warto działać jeszcze na wewn. oscylatorze

wskazówek i powodów jest dużo - ja też zdaje mi się mówię o tym w książce, ale w skrócie tutaj ci powiem, że jeśli nie potrzebujesz z jakichś tam względów taktowania większego niż 8MHz to zwykle wystarczy ci wewn. oscylator RC. I super że jest w prockach bo można zminimalizować ilość elementów zewnętrznych. Ale np pierwsza przesłanka kiedy dać kwarc - proszę bardzo. Potrzebujesz mieć transmisję RS232 o prędkości 115200bps ;) ... albo w zasadzie możliwość korzystania z dowolnej i zawsze stabilnej prędkości RS232 - to wtedy sięgnę na pewno po kwarc. Ale też nie jakiś tam kwarc 8MHz czy 12MHz czy 16MHz tylko po takie dziwne wydawać by się mogło wartości jak np:

11,0592MHz, 18,432MHz i podobne ;) ale jak chcesz wiedzieć dlaczego - to zajrzyj sobie na ostatnią stronę noty PDF dowolnego procka AVR w rozdziale UART... tam masz takie tabelki z różnymi częstotliwościami taktowania i procentem błędó .... zwróć uwagę jakie procenty błędów są dla dowolnej prędkości dla tych kwarców które podałem wyżej ;) i jeszcze kilku innych takich dziwnych ;)

Jak więc widzisz jeszcze sporo fajnych rzeczy przed tobą więc uwierz mi że nie ma co pisać takich rzeczy o tym że nie warto używać wewn. Oscylatora RC bo jest niedokładny ;) OK ?

Nawet RS232 działa przy nim ładnie chociaż oczywiście jeśli chcieć zastosować takie rozwiązanie w urządzeniu pracującym w różnych i skrajnych temperaturach (lato/zima) ... na dworzu - to NIE, bo temperatura może niestety na tyle w prockach AVR rozjechać RC że transmisja może się psuć ... no ale to jak mówię w skrajnych warunkach ....

dobra koniec z tym bo można by o tym jeszcze pisać i pisać

Antystatyczny napisał(a):
Już mniej więcej rozumiem wzór z datasheet. TWBR służy do dokłądnego dostrojenia SCL, a TWPS do zgrubnego, tak? W Twoim kodzie nie dopatrzyłem się fragmentu, w którym zmieniasz ustawienia TWPS. To celowe działanie, czy było jakies konkretne założenie, że np. MAX F_CPU = hmm... np. 8MHz?


Zabij mnie teraz, posól i popieprz mi rany a nie przypomnę sobie - funkcja działa i nie pamiętam jak ;) ale z tego co widzę na pierwszy rzut oka wykorzystuje domyślny preskaler ustawiony po resecie w TWBS

Zamiast się martwić - lepiej weź sobie właśnie zabierz się za Fusebity i potestuj sobie swoje różne wersje bibliotek i programów na różnych częstotliwościach - i wcale nie koniecznie z kwarcem tylko z wewn. Oscylatorem ;)

_________________
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: 7 sie 2012, o 21:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Bezpieczne Mirek stosuje to w swoich konstrukcjach i nikt się nie skarży.
Np. programator USBasp w sklepie atnel ma przetaktowany procesor,
działa lepiej niż nie przetaktowany.(bez separacji napięć)

PS: Panie Mirku chyba Pan musi zrobić te testy z przetaktowywaniem, aby uzmysłowić ludziom, że nic się nie dzieje poza EEPROM.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 22:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Tak chodzi o ten wbudowany.
Po prostu może się nie udać odczyt/zapis do niego.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 22:16 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Aż tak przeraźliwie zielony nie jestem,


Chciałem tylko zauważyć, że nikogo nie oskarżam o jakąś zieloność ;) ale jeśli poczułeś się urażony jakąś częścią mojej wypowiedzi to przepraszam, na pewno nie to było moim celem.

Antystatyczny napisał(a):
Do kolejnego modułu wlutowałem RTC, 24C08 i MAX232, no i własnie te sprawy zamierzam testować/programować/uczyć się. No i dlatego będzie 11.0592, by mieć 0% błędów transmisji ;)


Ok ale gorąco zachęcam cię też do przetestowania sobie wewn. Oscylatora RC z transmisją RS232 na 9600 i sprawdzenia że też ŻADNYCH BŁĘDÓW NIE BĘDZIE - żebyś się tak nie bał tego wewn. oscylatora ;) ... a przy okazji warto się zapoznać z rejestrem OSCCAL przy tej okazji ....

Antystatyczny napisał(a):
Małe pytanie, bo gdzies na forum widziałem, że przetaktowuje się M32 na 20MHz. To jest bezpieczne dla sprzętu?


Przetaktowanie każdego procka nawet o kolejne 20MHz jest zupełnie bezpieczne dla samego procka ;) co najwyżej nie będzie działał - albo będzie działał ale będą się dziać cyrki chińskie ;) Natomiast po przywróceniu taktowania do normalności i procesor zacznie zachowywać się normalnie ;) .... więc z tego punktu widzenia nie ma się czego obawiać w żaden sposób ;)

i teraz tak - przetaktowanie procka o np 4MHz to jest pikuś - i rzadko który procek będzie pracował błędnie - mi się jeszcze taki nie zdarzył i to przy dużo większym przetaktowaniu ....

Za to jeśli zaczniemy go bardziej przetaktowywać np o kolejne 4MHz to procek zwykle nadal będzie pracował ale rośnie ryzyko, że będą niepoprawne zapisy do EEPROM gdybyśmy chcieli USILNIE z niego korzystać. Wtedy lepiej nie przetaktowywać procka albo korzystać z zewn. EEPROM'a i już ;)

Oczywiście znowu po zmniejszeniu taktowania do właściwego EEPROM znowu będzie poprawnie pracował

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

ale teraz WAŻNA UWAGA. Żeby mnie nikt źle nie zrozumiał - ja wcale nie namawiam wszystkich do przetaktowywania zawsze i wszędzie procków bo to wręcz niedorzeczność. Mowa o tym jak coś robimy dla siebie i nie jest to jakieś super ważne urządzenie.....

Ja np jak robię jakieś sterowniki na zamówienie dla klienta - to nigdy nie przetaktowuję procka - tylko jak potrzebuję np koniecznie 20MHz to kupię ciut droższą wersję procka na te 20MHz.

No może czasem przetaktowałem np ATmegi32 w pewnych sterownikach, które były na 16MHz a ja puściłem je na kwarcach 18,432MHz czyli jakieś 2MHz przetaktowania ;)

Jak widać w swoich programatorach USBASP , które sprzedaję - przetaktowuję je też o 2MHz ponieważ przy zasilaniu 3,3V powinny pracować z max 10MHz a pracują z kwarcem 12MHz - i proszę bardzo robię to z pełną odpowiedzialnością - jeśli komuś nie działa to wymienię ;) albo zwrócę pieniążki ;)

Po prostu też trzeba nabrać wyczucia gdzie można i warto przetaktować a gdzie nie ;) ... Jak sobie czy komuś z rodzinki robiłem ramkę cyfrową na GLCD

http://atnel.pl/atb-glcd-tft-konwerter.html

to procki taktowane były i są do dzisiaj 24MHz ;) i zero problemów

A do zabaw z odtwarzaczem WAV dawałem taktowanie 27MHz i też śmigało i nawet piszę o tym w drugiej książce - bo dopiero przy takim taktowaniu można sobie ew poużywać samplowania stereo 44kHz ;) ale jak się usłyszy to 22kHz do którego wystarczy taktowanie 20MHz i widać że dla zwykłego śmiertelnika to żadna różnica - to spokojnie można zostać przy 20MHz i samplowaniu 22kHz

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 38 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 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