Beste CO'ers

Ik ben momenteel bezig met een lichtkrant tekst.
Maar voor de tekst zelf heb ik een string nodig van ongeveer 192 karakters maar heb hiervoor niet genoeg intern ram geheugen.
Weet iemand hoe ik er extra ram aan knoop?

Alvast bedankt,
Johan v. Althuis

Ps. Ik gebruik BASCOM om te programeren.

Je hebt 128 bytes RAM als het goed is, waarvan je een klein deel als stack gebruikt. Kun je de letters niet terugbrengen naar 5 bit in plaats van 8 bit? Misschien lastig, maar als je tijd en code over hebt is het misschien handig.

Je kan iig. niet zoals bij grotere AVR's er zomaar RAM bijhangen. Ik denk dat je op zoek moet naar serieele RAMs of iets dergelijks en dan met SPI of I2C aansturen.

Kun je dat Seriele ram en SPI I2C nog wat nader uitleggen?
Ik weet niet precies wat je daarmee bedoelt.

Alvast bedankt.
J v. althuis

Serieel RAM is eigenlijk nauwelijks verkrijgbaar, waarom weet niemand. Het zou genoeg toepassingsmogelijkheden kennen denk ik. Vooral bij microcontrollerapplicaties.

Enkele links:
SPI: http://www.sunplus.com.tw/products/memory/sprs.asp
I2C: http://www.semiconductors.philips.com/pip/PCF8570.html
1Wire: http://www.maxim-ic.com/quick_view2.cfm?qv_pk=2912&ln=

EDIT: Als je groter nodig hebt kan je altijd nog voor deze module gaan.

[Bericht gewijzigd door Benadski op ]

prop een deel in je eeprom, dan kom je er wel.

Op 19 november 2003 12:27:21 schreef Benadski:
Serieel RAM is eigenlijk nauwelijks verkrijgbaar, waarom weet niemand.

Omdat RAM meestal wordt gebruikt voor snelle toegang tot data. En dat gaat dan het snelste zonder veel poeha als het parallel geschied ipv serieel.

Ja sneller is het wel, maar toch kost het dan veel pinnen of het wordt een complexe busstructuur. Daar is niet altijd even veel plaats voor, zeker niet bij kleine uC's. Tevens is de RAM chip groter en neemt dus meer plaats in.

Sommige kleine toepassingen hebben extra RAM nodig wat niet snel hoeft te zijn. Wat wel een vereiste is is dat de data oneindig veranderd moet kunnen worden. Dan biedt EEPROM of FRAM geen uitkomst meer.

Daarom vind ik het zo raar dat er nog zeer weinig seriele RAM chips zijn.

Misschien kun je hier iets mee ?

The DS1200 Serial RAM Chip is a miniature read/write memory that can randomly access individual 8-bit strings (bytes) or sequentially access the entire 1024-bit contents (burst). Interface cost to a microprocessor is minimized by on-chip circuitry, which permits data transfers with only three signals: CLK, RST-bar, and DQ.

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2627

Kun je niet beter deze karakters in de interne Flash plaatsen in een tabel, daarin deze 192 karakters (192 x 5 bytes = 960 bytes nodig) Ik weet niet hoeveel displays je hebt. Stel je hebt 16 displays van 5x7 dots, dan maak je een SRAM buffer van 16 x 5 kolommen = 80 bytes aan, dan telkens de karakter data ophalen uit flash op de SRAM buffer plaatsen en die leest de mux-routine telkens uit, althans zo heb ik het gedaan.

Uitleg: 192 karakters x 5 bytes, ik heb de 7 dots hoge karakter data 90 graden gedraaid staan in een tabel, aangezien je dan niet 192 x 8 bytes = 1536 bytes verbruikt.
Verschil van 1536 - 960 = 576 bytes (is niet niks voor een controller met maar 2k flash)