Sida 1 av 2

Flash-kretsar kompatibla?

Postat: 27 mars 2008, 14:46:01
av StRob
Kan man läsa ur en PROM (flash-krets) 28F010 och sen lägga in PROM-filen i en 29F040 och sedan köra denna krets i samma applikation? Blev lite rörigt känner jag.. Jag drar mitt exempel:
Jag har en styrbox till Saab 9000 och en optimerad promfil som jag vill ha in i boxen. Orginalprommen som sitter i är en 28F010 och jag har 29F040-prommar att tillgå. Pinkonfigurationen är samma sånär som på de extra adresspinnarna på 040 samt VPP (erase/programming voltage som bara används vid skrivning och således ej behövs då jag prommar upp dem i promprogrammeraren innan).
Måste det göras någon offset i promfilen pga det extra minnesutrymmet i 040:an, eller kommer det fungera direkt?
Jag tänker så här: Adressen är ju ett binärt tal med A0-A16 i 010-prommen medans det i 040-prommen är A0-A18 med en bit per ben på kretsen. A0-A16 är ju på samma ben på de olika kretsarna. Och orginalfilen kommer ju från den lilla så det borde bli samma adresser och således fungera.
Är det någon som har koll och kan sprida lite ljus över detta?

Postat: 27 mars 2008, 16:11:40
av vfr
Det kan vara svårt att veta utan att ha koll på vad som är kopplat till dom pinnar som är extra adresspinnar på 040:n. Är det NC på 010:orna så kan det ju egentligen ligga vad som helst på dessa, eller t.o.m ingenting.

Det säkraste för att testa måste ju vara att kopiera upp innehållet i fyra olika banker så att det inte spelar någon roll hur dessa pinnar står. Är dom oanslutna så kan det nog ändå bli lite knepigt, misstänker jag. Frågan i det läget är ju om flashen tycker om att byta adress mitt i en accesscykel för att en adressingång ligger och fladdrar, även om det råkar stå samma data på dessa adresser.

Postat: 27 mars 2008, 16:19:38
av StRob
Den ena adresspinnen är NC och den andra VPP. Så jag antar att VPP ligger konstant låg för att den ligger i READ-läget. VPP=hög används för write och för att läsa ur extra data som device id och sånt..
Är den NC så är den väl internt not connected?? Så trodde jag iaf att det var.
Ja kanske ska prova att lägga dem låga med en svag pull down på 47k lr nåt sånt.. då borde jag ju inte sabba nåt i boxen iaf..

Postat: 27 mars 2008, 17:37:38
av sodjan
Jag skulle inte ha öppna CMOS-ingångar, speciellt inte i ett fordon
med alla störningar som är där.

Postat: 27 mars 2008, 17:45:04
av limpan4all
Om din bils mjukvara läser signaturen från Flashen så vet den att det inte är orginalprylar och borde därmed inte funka.

Postat: 28 mars 2008, 08:12:15
av StRob
Det gör den inte. JAg har kört med M27W101 prommar i en box och det gick alldeles utmärkt. Så det jag undrar är om det går att använda större prommar av samma typ. inget annat

Postat: 28 mars 2008, 08:16:15
av StRob
sodjan skrev:Jag skulle inte ha öppna CMOS-ingångar, speciellt inte i ett fordon
med alla störningar som är där.
Då kan jag ju lägga ett PD-motstånd på NC-pinnen. Men jag trodde det var så att det benet inte var kopplat internt. Då spelar det ju ingen roll. Då är ju benet inget annat än en "lös"metallbit. Kan någon (som faktiskt vet säkert) bekräfta/dementera. Men visst står det oftast "not internally connected" i databladen för de flesta IC, lr är det något jag fått för mig??

EDIT: Tänkte lite galet. På den PROMen jag ska använda är det ju en adresspinne, inte NC, och boxen kanske inte har något kopplat till den så då är det nog säkrast att jorda den. Vad tror ni om att kopiera minnesbanken så det blir samma info oberoende om de 2 extra adresspinnarna är höga lr låga som tidigare nämnts i tråden?

Postat: 28 mars 2008, 09:09:54
av limpan4all
I sådana fall går det utmärkt.
Du kan ju också lägga in originalprogrammet i en av de fyra bankarna så kan växla valfritt (troligen inte under färd dock).

Postat: 28 mars 2008, 09:28:06
av StRob
Hur kopierar jag datan till resterande areor då?

Postat: 28 mars 2008, 09:32:13
av limpan4all
Du lägger in det med inkrementella startadresser och definierad slutadress på en fjärdedel i promprogrammeraren förstås, utan att göra ERASE eller BLANK CHECK innan för kod 2, 3, 4.

Postat: 28 mars 2008, 09:53:53
av StRob
skriver den inte FF på de adresser som inte används? En dum fråga: Det blir rätt om jag tar (slutadressen + 1) / 4 och använder det som startadressinkrementering? För jag måste väl ha +1 för att första adressen är 0 och inte 1? lr tänker jag galet? :oops:

Postat: 28 mars 2008, 11:19:57
av limpan4all
Det står FF innan programering (efter Flash ERASE) programering görs genom att nollställa bitar.
Om du vid varje programering anger både start och slutadress så kommer det att funka, men du får inte ERSA Flashen innan förståss samt fundera över hur BLANK check funktionen fungerar.

Så här torde det bli.
Bank 0 00000-1FFFF
Bank 1 20000-3FFFF
Bank 2 40000-5FFFF
Bank 3 60000-7FFFF

Och för att det skall funka så skall A18 och A19 ställas valfritt som bankval.

Eller har jag gjort fel någonstans?

Postat: 28 mars 2008, 11:29:56
av StRob
det verkar rimligt. Kom på en grej till bara. Checksumman. Undra om den kommer att påverkas. Den stämmer ju för varje program så det kanske fungerar. Bara den inte vill ha checksumman för hela prommen, men det borde den inte tycker ja.. Vad tror ni? Jag får göra ett försök får vi se. ska börja med att bara byta ut prommen mot en 040 utan att köra flera program först iaf..

Postat: 28 mars 2008, 11:32:15
av sodjan
Dum fråga kanske, men är det inte mycket enklare
att använda 28F010 istället ??

Postat: 28 mars 2008, 11:39:06
av StRob
Ja, jag krånglar ju inte för att jag tycker att det är roligt. ;) 29F040 har jag att tillgå, 28F010 är ett helvete att få tag i. Hittade från USA men inte så smidigt kanske. Plus att det var dyrt.