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



Teraz jest 29 mar 2024, o 10:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 24 lip 2017, o 14:37 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

Witam wszystkich,
Robiąc dalsze ćwiczenia z bluebooka nadszeł czas na zegarek z układem PCF8583 i EEPROM 24c04. Robie wszystkie ćwiczenia na płytce stykowej i zazwyczaj mam problem z podłączeniem wszystkiego i teraz też prawdopodobnie o to chodzi. Chciałem wgrać kod z bluebooka ale jedyne co mi się wyświetla na wyświetlaczy to "start.." Próbowałem z zewnętrzna pamiecią EEPROM i bez ale nic z tego.
Nie wiem co mogę porpawić więc pozostaje się zapytać tutaj, A teraz szczegóły:
AVR - Atmega8
RTC - PCF8583
EEPROM - 24c04WP

Podłączączenie:

Na chwile obecną mam podłączony tylko RTC a jest tak:
OSCI - VCC
OSCO - VCC
A0 - GND
Vss - GND
VDD - VCC
INT - INT0(PD2)
SCL - SCL (PC5)
SDA - SDA (PC4)
Wydaje się być ok tylko teraz jak podłączyć EEPROM nie wiem. Wiem, że w ksiązce jest schemat podłączenia EEPROM ale coś nie pykło więc jak możecie to podpowiedzcie co jest nie tak i jak to poprawić
Jeżeli chodzi o kod to bez zmian

PS jezeli za mało info to dajcie znac



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 16:41 
Offline
Użytkownik

Dołączył(a): 30 paź 2016
Posty: 41
Pomógł: 1

Może zrób schemat? I pokaż?

------------------------ [ Dodano po: 8 minutach ]

p.s. podłączyłeś linie SCL i SDA do pullupów?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 16:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

koks1002 napisał(a):
Wydaje się być ok tylko teraz jak podłączyć EEPROM nie wiem.
Linie SCL i SDA pamięci podłączasz równolegle z liniami RTC, 3 nogi adresowe pamięci musisz sobie ustawić tak, jak chcesz byle by tak samo w programie adresować tę pamięć.
No i przede wszystkim musisz pamiętać by podciągnąć linie SCL i SDA rezystorami do Vcc - bez tego nie będzie to działać!



Ostatnio edytowano 24 lip 2017, o 17:23 przez xentis, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 17:12 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

Puciek123 napisał(a):
Może zrób schemat? I pokaż?

------------------------ [ Dodano po: 8 minutach ]

p.s. podłączyłeś linie SCL i SDA do pullupów?


ze schematem może byc ciezko bo jeszcze nic nie robilem w Eaglu a linie SCL i SDA są podłączone

xentis napisał(a):
koks1002 napisał(a):
Wydaje się być ok tylko teraz jak podłączyć EEPROM nie wiem.
Linie SCL i SCK pamięci podłączasz równolegle z liniami RTC, 3 nogi adresowe pamięci musisz sobie ustawić tak, jak chcesz byle by tak samo w programie adresować tę pamięć.
No i przede wszystkim musisz pamiętać by podciągnąć linie SCL i SCK rezystorami do Vcc - bez tego nie będzie to działać!


Pisząc SCK masz na myśli SDA? Bo w nocie PDF nie ma linii SCK tylko SDA dobrze Cie rozumiem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 17:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Tak oczywiście się zapędziłem, chodzi o linie SCL i SDA. Zarówno RTC jak i pamięć będą współistnieć na jednej szynie. Jest to możliwe dla tego, że każde urządzenie ma swój adres i w momencie wysyłania danych, uC najpierw wysyła adres urządzenia z którym chce gadać (trzeba tylko zadbać by na szynie nie było dwóch urządzeń o tym samym adresie).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 17:31 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

Ok czyli z tego co zrozumiałem EEPROM podłączamy w ten sposób:
SCL - SCL (PC5) - rezystor do VCC
SDA - SDA(PC4) - rezystor do VCC
A0 - GND
A1 - VCC
A2 - VCC
Vss - GND
Vcc - VCC
zgadza się czy coś pokręciłem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Zgadza się, tylko pamiętaj że w zależności od pamięci Piny A0 - A2 konfigurują adres, ale niektóre pamięci nie korzystają z tych pinów wcale (np 24C08 i 24C16) a pamięć 24C04 korzysta tylko z A1 i A2.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 20:05 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

hmm nadal jest coś nie tak bo nadal mam na wyświetlaczu cały czas "start" wstawiam kod main.c może czegoś nie widze:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 20:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

koks1002 napisał(a):
A0 - GND
A1 - VCC
A2 - VCC
Jeśli podłączyłeś tak jak napisałeś to adres pamięci EEPROM powinieneś mieć 0xAC (0b1010'A2''A1'00 więc 0b10101100)

Co do reszty to cała zawartość pętli głównej jest napędzana przerwaniem od RTC - sprawdź czy wogule on generuje 1Hz na INT (podłącz jakąś diodę i nawet w przerwaniu wstaw toglowanie)

------------------------ [ Dodano po: 12 minutach ]

Jeszcze odnośnie podłączenia EEPROM-U to nie napisałeś jak podłączyłeś pin WP - MUSI on być podpięty do GND w przeciwnym razie cała zawartość pamięci będzie TYKO read only.

------------------------ [ Dodano po: 21 minutach ]

koks1002 napisał(a):
Na chwile obecną mam podłączony tylko RTC a jest tak:
OSCI - VCC
OSCO - VCC
A0 - GND
Vss - GND
VDD - VCC
INT - INT0(PD2)
SCL - SCL (PC5)
SDA - SDA (PC4)
I tu najpewniej tkwi problem (sorki, dopiero teraz zauważyłem ;) ) - zapewne przerwanie się nie generuje bo niby skąd skoro nie napędzasz zegara!? Przecież pod OSCI OSCO powinieneś podłączyć rezonator kwarcowy zegarkowy lub chociaż przebieg prostokątny 50Hz
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2017, o 21:43 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

xentis napisał(a):
koks1002 napisał(a):
A0 - GND
A1 - VCC
A2 - VCC
Jeśli podłączyłeś tak jak napisałeś to adres pamięci EEPROM powinieneś mieć 0xAC (0b1010'A2''A1'00 więc 0b10101100)

Co do reszty to cała zawartość pętli głównej jest napędzana przerwaniem od RTC - sprawdź czy wogule on generuje 1Hz na INT (podłącz jakąś diodę i nawet w przerwaniu wstaw toglowanie)

------------------------ [ Dodano po: 12 minutach ]

Jeszcze odnośnie podłączenia EEPROM-U to nie napisałeś jak podłączyłeś pin WP - MUSI on być podpięty do GND w przeciwnym razie cała zawartość pamięci będzie TYKO read only.

------------------------ [ Dodano po: 21 minutach ]

koks1002 napisał(a):
Na chwile obecną mam podłączony tylko RTC a jest tak:
OSCI - VCC
OSCO - VCC
A0 - GND
Vss - GND
VDD - VCC
INT - INT0(PD2)
SCL - SCL (PC5)
SDA - SDA (PC4)
I tu najpewniej tkwi problem (sorki, dopiero teraz zauważyłem ;) ) - zapewne przerwanie się nie generuje bo niby skąd skoro nie napędzasz zegara!? Przecież pod OSCI OSCO powinieneś podłączyć rezonator kwarcowy zegarkowy lub chociaż przebieg prostokątny 50Hz
Obrazek



Adres poprawiłem, Pin WP jest do GND, diody jeszcze nie sprawdziłem bo teraz zobaczyłęm ten post, a co do kwarca to nie mam zegarkowego( tj. 32kHz) mam tylko 16MHz i 18 Mhz. Zakładam, że żeby wszystko sie powodło to te rezonatory nie są dobre ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2017, o 05:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

No niestety musi to być kwarc 32kHz. Możesz go pozyskać np ze starego zegarka kwarcowego (naręcznego lub naściennego - u mnie się zawsze jakiś przewraca po szufladach).
Z uwagi na to, że pracujesz na stykówce to sugeruję aby taki rezonator podlutować do dwupinowego goldpina - te kwarce mają bardzo cienkie wyprowadzenia które do stykówki się nie nadają.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2017, o 12:19 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

ok w takim razie zorganizuje sobie co trzeba i dam znać



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 13:35 
Offline
Nowy

Dołączył(a): 27 kwi 2017
Posty: 20
Pomógł: 0

No więc ogarnąłem już sobie kwarc 32kHz , nie mam jeszcze dostępu do lutownicy ale sprawdziłem po przez przytknięcie na razie czy coś działa jednak nie zaskoczyło nawet na chwile i nadal mam na wyświetlaczu tylko "start..." nwm teraz gdzie leży problem czy w kodzie czy połączeniach :/ , jak macie jeszcze jakieś sugestie to sie podzielcie nimi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2017, o 21:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

A czy przed podpięciem kwarcu odłączyłeś Vcc od OSCI i OSCO które miałeś wcześniej podpięte?
Poza tym podłączanie tak sobie dotykając to nie robota - skąd pewność że był styk pomiędzy jednym i drugim? Za dużo masz niewiadomych a niepewne połączenie między kwarcem a PCF-em jest jednym z nich.



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: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO