PCF8583P - problem
Masz problem? Zapytaj na forum elektroda.pl
From: <foxtrot_at_nospam_poczta.onet.pl>
Subject: PCF8583P - problem
Date: 9 Aug 2002 08:53:06 +0200
Zaplanowałem sobie, że spróbuję zbudować sterownik działający w cyklu dobowym.
Czas miał zliczać właśnie PCF8583 z dodatkowym podtrzymaniem bateryjnym. Do
tego Atmel 89C4051, wyświetlacz. PRoblem w tym, że RTC nie idzie - tzn. zlicza
setne sekundy, ale sekund, minut, godzin już nie. Przynajmniej mnie się nie
udało odczytać - próbowałem pod Bascomem w symulacji sprzętowej, programowałem
procka, próbowałem też programem napisanym w C. Nic. Za każdym razem rejestry
sekund, minut, godzin dają w odczycie zera. Próbowałem czy da się zapisać i
odczytać poprawnie dane z pozostałej pamięci RAM zegarka - bez problemów. W
czym może tkwić problem?
pozdrawiam
Marcin
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: "Miś Uszatek" <uszatek_at_nospam_w.pl>
Subject: Re: PCF8583P - problem
Date: Fri, 9 Aug 2002 12:01:36 +0200
Może "za szybko" odczytujesz. Spróbuj dać jakieś większe opóźnienia przy
odczycie. Miałem coś podobnego jak procedurkami ddo EEPROmu próbowałem to
odczytywać.
Jak rozwiązałeś problem lat - on liczy tylko do 4 lat ?
Jak coś to mam procedurkę dla AVR - 8535 w C - napewno działa.
Pozdrawiam !
--
Miś Uszatek
----------------------------------------------------------------------------
----------------------------
email: uszatek_at_nospam_w.pl
www: www.windowsce.pl www.pda.pl www.pocketpc.pl
Użytkownik <foxtrot_at_nospam_poczta.onet.pl> napisał w wiadomości
news:5606.0000077e.3d5366d1_at_nospam_newsgate.onet.pl...
> Zaplanowałem sobie, że spróbuję zbudować sterownik działający w cyklu
dobowym.
> Czas miał zliczać właśnie PCF8583 z dodatkowym podtrzymaniem bateryjnym.
Do
> tego Atmel 89C4051, wyświetlacz. PRoblem w tym, że RTC nie idzie - tzn.
zlicza
> setne sekundy, ale sekund, minut, godzin już nie. Przynajmniej mnie się
nie
> udało odczytać - próbowałem pod Bascomem w symulacji sprzętowej,
programowałem
> procka, próbowałem też programem napisanym w C. Nic. Za każdym razem
rejestry
> sekund, minut, godzin dają w odczycie zera. Próbowałem czy da się zapisać
i
> odczytać poprawnie dane z pozostałej pamięci RAM zegarka - bez problemów.
W
> czym może tkwić problem?
>
> pozdrawiam
> Marcin
>
> --
> Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: PCF8583P - problem
Date: 9 Aug 2002 12:40:36 +0200
tego Atmel 89C4051, wyświetlacz. PRoblem w tym, że RTC nie idzie
- tzn. zlicza
setne sekundy, ale sekund, minut, godzin już nie. Przynajmniej
mnie się nie
udało odczytać - próbowałem pod Bascomem w symulacji sprzętowej,
programowałem
procka, próbowałem też programem napisanym w C. Nic. Za każdym
razem rejestry
sekund, minut, godzin dają w odczycie zera. Próbowałem czy da się
zapisać i
odczytać poprawnie dane z pozostałej pamięci RAM zegarka - bez
problemów. W
czym może tkwić problem?
A jakie są oporniczki do plus zasilania od linii SCL SDA?
Może kondensator odsprzęgający?
A może wpisałeś zły adres do zapisu do PCF?
Przykładowe programy z BASCOM'a pracują poprawnie, ewentualnie
możesz spowolnić lub przyspieszyć transmisję.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "Jasto Kalip" <tom1234_at_nospam_ds2.pg.gda.pl>
Subject: Re: PCF8583P - problem
Date: Fri, 9 Aug 2002 15:50:02 +0200
Użytkownik <foxtrot_at_nospam_poczta.onet.pl> napisał w wiadomości
news:5606.0000077e.3d5366d1_at_nospam_newsgate.onet.pl...
Zaplanowałem sobie, że spróbuję zbudować sterownik działający w cyklu
dobowym.
Czas miał zliczać właśnie PCF8583 z dodatkowym podtrzymaniem bateryjnym.
Do
tego Atmel 89C4051, wyświetlacz. PRoblem w tym, że RTC nie idzie - tzn.
zlicza
setne sekundy, ale sekund, minut, godzin już nie. Przynajmniej mnie się
nie
udało odczytać - próbowałem pod Bascomem w symulacji sprzętowej,
programowałem
procka, próbowałem też programem napisanym w C. Nic. Za każdym razem
rejestry
sekund, minut, godzin dają w odczycie zera. Próbowałem czy da się zapisać
i
odczytać poprawnie dane z pozostałej pamięci RAM zegarka - bez problemów.
W
czym może tkwić problem?
pozdrawiam
Marcin
Ja miałem ten sam problem ale z ds1678 też RTC. Okazało się, że układ nie
inkrementuje adresu i nie można sczytywać po kolei kilku bajtów. Więc każdy
bajt rozpoczynałem stopem potem adres(sekundy, minuty...) i odczyt bajtu i
stop. W ten sposób działa bez problemu.
Tomek
From: "Miś Uszatek" <uszatek_at_nospam_w.pl>
Subject: Re: PCF8583P - problem
Date: Fri, 9 Aug 2002 17:08:31 +0200
Ja miałem ten sam problem ale z ds1678 też RTC. Okazało się, że układ nie
inkrementuje adresu i nie można sczytywać po kolei kilku bajtów. Więc
każdy
bajt rozpoczynałem stopem potem adres(sekundy, minuty...) i odczyt bajtu i
stop. W ten sposób działa bez problemu.
To dobry pomysł - ja właśnie tak samo robię i działa. Może nie wszystkie
egzemplarze PCF mają funkcję autoinkrementowania adresu (choć to by było
dziwne)
Pozdrawiam !
From: <foxtrot_at_nospam_poczta.onet.pl>
Subject: Re: PCF8583P - problem
Date: 9 Aug 2002 18:10:56 +0200
Ja miałem ten sam problem ale z ds1678 też RTC. Okazało się, że układ nie
inkrementuje adresu i nie można sczytywać po kolei kilku bajtów. Więc
każdy
bajt rozpoczynałem stopem potem adres(sekundy, minuty...) i odczyt bajtu i
stop. W ten sposób działa bez problemu.
To dobry pomysł - ja właśnie tak samo robię i działa. Może nie wszystkie
egzemplarze PCF mają funkcję autoinkrementowania adresu (choć to by było
dziwne)
Pozdrawiam !
Dzięki wszystkim za porady. Problem się rozwiązał. Najpierw okazało się, że
dioda przez którą szedł plus zasilania ze stabilizatora 5V była padnięta. Po
jej wymianie dalej nie dało się odczytać rejestrów. Pomogło dopiero wyjęcie z
podstawki eeproma - AT24C04, który wisiał na tej samej magistrali. Wygląda na
to, że coś w nim nawaliło. Teraz bez problemu da się odczytać rejestry.
BTW. Czy ktoś ma gotową funkcję w C do zamiany liczby na kod bcd? Nie mam
koncepcji jak to anpisać, by zajeło to jak najmniej kodu...
pozdrawiam
Marcin
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: =?ISO-8859-2?Q?Micha=B3_Smolnik?= <smolnik_at_nospam_go2.pl>
Subject: Re: PCF8583P - problem
Date: Fri, 09 Aug 2002 18:53:13 +0200
On 9 Aug 2002 18:10:56 +0200, <foxtrot_at_nospam_poczta.onet.pl> wrote:
Dzięki wszystkim za porady. Problem się rozwiązał. Najpierw okazało się, że
dioda przez którą szedł plus zasilania ze stabilizatora 5V była padnięta. Po
jej wymianie dalej nie dało się odczytać rejestrów. Pomogło dopiero wyjęcie z
podstawki eeproma - AT24C04, który wisiał na tej samej magistrali. Wygląda na
to, że coś w nim nawaliło. Teraz bez problemu da się odczytać rejestry.
Raczej AT24C04 jest dobry. Nie zapominaj, że te układy mają taką samą
stałą część adresu.
--
pozdrawiam
Michał Smolnik, Rybniczanin
smolnik_at_nospam_go2.pl www.smolnik.w.pl tel. 604 666 970
From: <foxtrot_at_nospam_poczta.onet.pl>
Subject: Re: PCF8583P - problem
Date: 9 Aug 2002 22:07:15 +0200
On 9 Aug 2002 18:10:56 +0200, <foxtrot_at_nospam_poczta.onet.pl> wrote:
Dzięki wszystkim za porady. Problem się rozwiązał. Najpierw okazało się, że
dioda przez którą szedł plus zasilania ze stabilizatora 5V była padnięta. Po
jej wymianie dalej nie dało się odczytać rejestrów. Pomogło dopiero wyjęcie
z
podstawki eeproma - AT24C04, który wisiał na tej samej magistrali. Wygląda
na
to, że coś w nim nawaliło. Teraz bez problemu da się odczytać rejestry.
Raczej AT24C04 jest dobry. Nie zapominaj, że te układy mają taką samą
stałą część adresu.
To czegoś nie rozumiem w tym wszystkim. PCF ma adres 162 do zapisu i 163 do
odczytu. Zaś AT24C04 odpowiednio 160 i 161. Czyżby się kłóciły? To po co te
adresy? Chyba, że mam jakiś błąd w procedurach...
pozdrawiam
Marcin
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: PCF8583P - problem
Date: 10 Aug 2002 00:15:14 +0200
To czegoś nie rozumiem w tym wszystkim. PCF ma adres 162 do
zapisu i 163 do
odczytu. Zaś AT24C04 odpowiednio 160 i 161. Czyżby się kłóciły?
To po co te
adresy? Chyba, że mam jakiś błąd w procedurach...
24C04 i PCF maja jeszcze dodatkowo modyfikowane adresy poprzez zwieranie
wyprowadzeń adresowych do masy lub do VCC. Może akurat pracowały na jednym
adresie?
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: <foxtrot_at_nospam_poczta.onet.pl>
Subject: Re: PCF8583P - problem
Date: 10 Aug 2002 08:34:22 +0200
To czegoś nie rozumiem w tym wszystkim. PCF ma adres 162 do
zapisu i 163 do
odczytu. Zaś AT24C04 odpowiednio 160 i 161. Czyżby się kłóciły?
To po co te
adresy? Chyba, że mam jakiś błąd w procedurach...
24C04 i PCF maja jeszcze dodatkowo modyfikowane adresy poprzez zwieranie
wyprowadzeń adresowych do masy lub do VCC. Może akurat pracowały na jednym
adresie?
Cały sęk w tym, że sprawdzałem programem do wyszukiwania adresów układów na
magistrali i2c. Adresy były odpowiednio 160 i 162... Już po zwarciu wyprowadzeń
adresowych do masy. Spróbuję wymienić eeproma, w końcu kosztuje tylko 2.50 Zł
pozdrawiam
Marcin
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: "Miś Uszatek" <uszatek_at_nospam_w.pl>
Subject: Re: PCF8583P - problem
Date: Fri, 9 Aug 2002 21:37:06 +0200
BTW. Czy ktoś ma gotową funkcję w C do zamiany liczby na kod bcd? Nie mam
koncepcji jak to anpisać, by zajeło to jak najmniej kodu...
Może cuś takiego - u mnie działa :-)
char to_BCD(char natural_binary)
{
return ( ((natural_binary/10) << 4) + natural_binary%10 );
}
char to_natural_binary(char BCD)
{
return( ((BCD >> 4) * 10) + (BCD & 0x0f) );
}
From: <foxtrot_at_nospam_poczta.onet.pl>
Subject: Re: PCF8583P - problem
Date: 9 Aug 2002 22:04:02 +0200
BTW. Czy ktoś ma gotową funkcję w C do zamiany liczby na kod bcd? Nie mam
koncepcji jak to anpisać, by zajeło to jak najmniej kodu...
Może cuś takiego - u mnie działa :-)
char to_BCD(char natural_binary)
{
return ( ((natural_binary/10) << 4) + natural_binary%10 );
}
char to_natural_binary(char BCD)
{
return( ((BCD >> 4) * 10) + (BCD & 0x0f) );
}
Dzięki. Właśnie o coś takiego mi chodziło. Konwersję z BCD napisałem sam i
wygląda praktycznie tak samo (inna nazwa zmiennej). :-) Zaś w drugą stronę nie
miałem pomysłu. Jeszcze raz dzięki.
pozdrawiam
Marcin
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl