CPA-C+Øvelse+11

Low-Power SRAM
Vores system skal løse en opgave hvor meget kritiske data skal gemmes og hvor det er meget kritisk at systemet genstarter til sidst kendte tilstand, hvis det skulle gå ned, f.eks ved strømsvigt. Den nuværende løsning med flash og DDR RAM vil ikke kunne garantere dette. Er en variabel gemt i RAM, eller ved at blive skrevet til flash når strømmen går, vil dennes værdi gå tabt. Løsningen er at sætte en low-power [|SRAM] kreds på GPMC interfacet. Denne kreds gives sin egen batteri backup.

a) **Brugen af denne RAM kreds rejser et antal spørgsmål som du skal svare på:** >> Ved 100 er det: ( 16/( 100*10^-9 ) ) / 10^6 = 160 M bit pr. sek.Ved 115 er det: ( 16/( 115*10^-9 ) ) / 10^6 = 139 M bit pr. sek. >> det omregner vi så til år: 112500/(24*365) = 12,8 år
 * **Hvilken type RAM kreds er benyttet og hvad er karakteristisk for denne type?**
 * Vi bruger HY62SF16101C som vores Low-power SRAM og er organiseret som 65,536 words ved 16bit. Den kan bevare data med spænding minimun til 1,2V
 * **Hvor mange adresselinier skal vi bruge for at tilgå al memory i den nævnte kreds? -og kan vi det med GPMC interfacet?**
 * Der skal bruges 16 adresse linjer for at tilgå hukommelsen i SRAM. Det kan ikke bruges med GPMC da den bruger 10 adresse linjer.
 * **Hvad er den maksimale databåndbredde for kredsen?**
 * Ved 85 er det: ( 16/( 85*10^-9 ) ) / 10^6 = 188.23 M bit pr. sek.
 * **Hvor lang tid kan kredsen holde data efter strømafbrydelse, hvis vi benytter et CR2032 knapcelle batteri?**
 * Selve SRAM kredsen tager 2uA, og batteriet har en levetid på 225mA = 225000uA. Dvs. at 225000uA/2uA =1125000 timer

>> || 1 || 0x40000000 || >> || 2 || 0x40000080 || >> || 3 || 0x40000100 || >> || 4 || 0x40000180 || >> || 5 || 0x40000200 || >>
 * b) Dette rejser igen nogle spørgsmål (som du skal besvare):**
 * Hvilke adresser skal man skrive til for at sætte værdierne af de 5 LED banke? Lav en tabel over addresser som processoren skal skrive til for at tilgå hhv
 * GPMC_CS4 har base adressen 0x40000000. Vi kan læse os frem til i databladet at det er de sidste 3 bit der skal ændres,
 * || **LED bank** || **Adresse** ||
 * Beskriv en skrive cyklus for at sætte værdien af lysdioderne på bank 3.
 * Når man skriver til bank 3, skal CPU'en skrive til 0x40000100 på adressebussen, samt skrive data til de 8 mindst betydende bits på databussen. Write enable går lav, da denne er aktiv lav.