ramtron FM33xx & krystal 32kHz

RV vicek.radek@cpost.cz
Úterý Říjen 21 14:22:47 CEST 2008


Dd,

snad vam pomuze aspon kus kodu z unitu (mikroPascal), ktery jsem si 
narychlo napsal kdyz jsem testoval FM31256. Trapil jsem se s tim take 
dost a figl byl v tom, ze je treba obsah registru, ktere naplnite 
prenest dovnitr RTC. Neptejte se mne ale na detaily - delal jsem to dost 
narychlo a uz si z toho prd pamatuji - nicmene to fungovalo bezproblemu. 
A krystalu jsem zkousel docela dost (take jsem to na ne svadel), ale 
funguje to skoro se vsim.

unit fm31;
var
     a_rtc       :array[1..8] of byte;

implementation

const
      adr_fm31_rtc_rd=%11010011;      //adresa FM31 rtc pro cteni
      adr_fm31_rtc_wr=%11010010;      //adresa FM31 rtc pro zapis
      adr_fm31_mem_rd=%10100011;      //adresa FM31 mem pro cteni
      adr_fm31_mem_wr=%10100010;      //adresa FM31 mem pro zapis

      adr_fm31_rtc_tmk_ok=%00000000;
      adr_fm31_rtc_tmk_rd=%00000001;
      adr_fm31_rtc_tmk_wr=%00000010;

procedure RTC_write;
begin
   //zapisu do Flag registru 1 aby se mi prepsalo RTC do registru
   I2C_Start;                    // Issue I2C start signal
   I2C_Wr(adr_fm31_rtc_wr);           // Send byte via I2C
   I2C_Wr(0);                    // Send byte via I2C to flag
   I2C_Wr(adr_fm31_rtc_tmk_wr);       // Send byte via I2C
   I2C_Stop;                     // Issue I2C stop signal

   I2C_Start;                    // Issue I2C start signal
   I2C_Wr(adr_fm31_rtc_wr);           // Send byte via I2C
   I2C_Wr(1);                    // Send byte via I2C to flag
   I2C_Wr(%00000000);           // Send byte via I2C
   I2C_Wr(0*16+0);           // Send byte via I2C
   I2C_Wr(1*16+5);           // Send byte via I2C
   I2C_Wr(1*16+2);           // Send byte via I2C
   I2C_Wr(6);           // Send byte via I2C
   I2C_Wr(0*16+8);           // Send byte via I2C
   I2C_Wr(0*16+9);           // Send byte via I2C
   I2C_Wr(0*16+7);           // Send byte via I2C
   I2C_Stop;                   // Issue I2C stop signal

   //zapisu do Flag registru 0 - vratim to zpet
   I2C_Start;                    // Issue I2C start signal
   I2C_Wr(adr_fm31_rtc_wr);           // Send byte via I2C
   I2C_Wr(0);                    // Send byte via I2C to flag
   I2C_Wr(adr_fm31_rtc_tmk_ok);     // Send byte via I2C
   I2C_Stop;                    // Issue I2C stop signal

end;

Radek Vicek

Tomas Mainzer napsal(a):
> Dobry den, nepouziva zde nekdo FM33256, FM3316 (nebo i jiny typ RTC+FRAM) od
> Ramotronu?
> Mam problem s RTC - nekmita mi oscilator (zkousel jsem uz asi 4 typy
> krystalu 32.768kHz (s i bez zatezovych kapacit).
> (co se tyka SW: nuluji bit 7(OSCEN) a nastavuji bit 2 (CAL) na adr.00
> (=start oscilatoru a vystup frekvence na pin ACS).
> nejake napady kde muze byt zakopan pes ci co vyzkouset? pripadne typ na
> krystal ktery je pozitivne funkcni.
> Diky.
> T.Mainzer
> 
> 
> 
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 
> 
> 




Další informace o konferenci Hw-list