Sida 4 av 4

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 01:44:23
av hyperion
Jag har inte använt extern EEPROM tidigare och undrar om man kan skriva in data till det externa minnet i samband med att man programmerar PIC:en?

I så fall, hur?

Jag vill lägga in en hel del bitmappar som PIC:en sedan skall läsa in och visa på en större grafisk display.

/Danne

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 01:48:17
av TomasL
Nej, det är omöjligt.

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 01:54:18
av hyperion
Attans :( Nåväl, inte hela världen. Får ladda in data via USB istället.

Tack för blixtsnabbt svar.

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 07:04:54
av prototypen
Lite otydligt, ska du bara programmera så kan du väl göra det i en fristående programmerare? Att bara läsa så finns det seriella minnen
Protte

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 10:06:56
av Micke_s
För spi-flash/spi-eeprom/i2c-eeprom så kan man använda buspirate externt t.ex.

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 10:19:34
av hyperion
Aaaarrrg, buspirate säger du. Tackar, ska kolla upp det. Ja alltså planen är att använda 24LC256 från Microchip som är ett i2c EEPROM på 256kbit för att lagra bitmapparna till det grafiska användargränssnittet. Dock kan det ju vara bra om man ganska enkelt kan uppdatera filerna i EEPROM så det kanske ändå blir enklast att skicka data till PIC:en via USB och låta PIC:en skriva in filerna till externa EEPROM-kretsarna.

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 10:36:05
av Icecap
De "enklaste" bör väl vara att µC'n kan prata med EEPROM'et. Sedan kan man kommunicera med µC'n via t.ex. serieport och då kunde ge kommandon som skriver i EEPROM'en. Att skulle kunde bygla loss EEPROM'et för att använda ytterligare en programmeringsenhet för att skriva i EEPROM känns inte helt friskt.

Men jag undrar lite: "bitmapparna till det grafiska användargränssnittet"
Har du tänkt igenom detta ordentligt? Inte att det är fel med grafisk användargränssnitt men vilken typ?
Är det en massa bilder bara eller ska det skrivas värden i dom?

Om det ska skrivas värden i dom (bild på något med ett värde i bilden, kan t.ex. vara en panna med temperaturen i) blir det inte helt enkelt att skapa det hela på ett rätt sätt, ska det se hyfsat ut vid uppdateringen ska bilden laddas in, texten skriva i och sedan ska det hela skickas till displayen. Detta kräver att det finns RAM (arbetsminne) nog för att lösa detta.

Har du en strategi för att spara grafiken för varje bild samt vilka värden som ska skrivas ut och var de ska skrivas ut?

Re: Hur använder man externt minne till en microcontroller?

Postat: 12 maj 2013, 10:54:47
av hyperion
Planen är att lagra in både "bilder" och font som bitmap data. Det skall inte skrivas in värden i bitmap filerna således. Programmet läser in och skickar bitmap data till displayen utan att modifiera bitmap datan. Gjorde ett test nyligen med en grafisk VFD med lägre upplösning och det gick väldigt bra tyckte jag. Dock behöver jag högre upplösning och då även mer minne.

Detta är en liten videosnutt av det testet:

Anledningen till att jag vill försöka göra en egen "display controller" är för att jag behöver kunna scrolla text snyggt och mjukt en pixel åt gången, och alla displayer jag testat (som alla har inbyggd funktion för scroll) har inte gått att avbryta scrollfunktionen på. Så om jag vill ha text som scrollar på nedre delen av displayen men samtidigt kunna uppdatera andra delar av displayen i så nära real-time som möjligt, så kan jag inte använda inbyggda scrollfunktionen.

Bra information och tips, tack. Är n00b så vi får se hur det här går men jag tror det ska gå. Håller med om att det var en konstig tanke att programmera EEPROM minnet separat. Är så insnöad i testningsfasen nu så jag tänkte det vore smidigt att i ett steg programmera både PIC:en och EEPROM minnet. Men sen när allt är klart vill jag ju såklart kunna uppdatera data i EEPROM utan att behöva programmera om PIC:en så antingen seriellt eller USB till datorn och ett enkelt VB program blir nog lösningen på detta för min del.

Re: Hur använder man externt minne till en microcontroller?

Postat: 13 maj 2013, 20:43:21
av MiaM
Om man vill kunna programmera ett externt eeprom och bara har anslutningar för att in-circuit-programmera mikrokontrollern så kan man gå omvägen att först programmera in ett specialprogram i mikrokontrollern som bara programmerar eepromet, starta mikrokontrollern och låta den "göra sin grej" = programmera eeprom'et, och när den är klar så lägger man in det program man egentligen tänkt ha i mikrokontrollern.

Det funkar väl inte så smidigt att göra så om det är mycket data som ska in i eeprom'et, men det funkar vettigt om det bara är nån slags initialisering/"nollställning" av eeprom'et man vill göra och koden för att göra det inte ryms ihop med det 'riktiga' programmet i mikrokontrollern.


***************************


En sak som kan röra till en nybörjares förståelse för bussar o.s.v. är också att med "större" processorer (som t.ex. i en PC) och ett tillräckligt omfattande operativsystem så kan man göra så att sådant som egentligen inte är minne ändå verkar vara minne. Minnesmappade filer t.ex. ser ut som ram-minne, och där ser operativsystemet till att flytta data mellan ram-minnet och hårddisken så att programmet 'tror' att det finns lika mycket ram-minne som filens storlek

Re: Hur använder man externt minne till en microcontroller?

Postat: 13 maj 2013, 22:17:06
av Swech
256 kbit minne är ju inte mer än 32 kbyte.
Den platsen bör du ha i PIC redan om du har en lite biffigare modell
Du kan lagra dina data direkt i Koden så att säga

Swech

Re: Hur använder man externt minne till en microcontroller?

Postat: 13 maj 2013, 22:28:46
av hyperion
Ja vi får se hur jag gör. Ska läsa på lite mer och testa mig fram tänkte jag. Vet inte ens hur mycket minne jag tillslut behöver då jag inte skapat grafiken än. Tror dock att det kommer behövas mer än 32kbyte vilket innebär flera minneskretsar, eller en större.

Tack för alla tips.

Re: Hur använder man externt minne till en microcontroller?

Postat: 16 maj 2013, 03:47:47
av Icecap
Det finns seriella flash-minnen med 4MB i en lilla 8-pinnars krets.