Fórum témák
» Több friss téma |
Üdv.
A AM29F010B flash ROM programozásáról szeretnék többet megtudni. Az adatlapját itt találjátok: Adatlap Előre is kösz.
Szia!
Ez a memória egy párhuzamosan (8 adatvonal, 17 címvonal és vezérlések) programozható eszköz. A kiolvasáshoz a 17 címbitet kell beállítani, a CE# és OE# vezérlő jeleket alacsony, a WE# jelet magas szintre kell állítani. A parancsok és adatok beírásához a címet be kell állítani a Command Definitions táblázata alapján, az OE# jelet magas, CE# jelet alacsonyra kell állítani és a WE# jelet is alacsonyra kell állítani twp időre. Ha egy bit már 0 értékre van programozva, nem lehet 1-re programozni, csak szektor vagy a teljes tartalom törlése után. A parancsok és paramétereinek leírása az adatlap Command Definitions fejezetében olvasható. A parancsokhoz a táblázatban megadott címre a szintén megadott értéket kell beírni. PA a programozandó adat címe, PD a beírandó adat, SA a szektor címe. A parancsok végrehajtásának figyelésére több lehetőség is van - A D7 vonalon a beprogramozandó bit negáltja olvasható ki, ha a művelet még nem ért véget, - A D6 vonal minden kiolvasáskor váltja az értékét mindaddig, míg a művelet még nem ért véget (a cím bármi lehet), - A D5 vonal a sikertelen végrehajtást 1 értékkel jelzi - törléshez a reset parancsot kell kiadni. - A D3 vonal (sector erase timer) Szia
Köszönöm szépen a kimerítő válszt most már értem. Mindjárt ki is próbálom az írását egy PIC-el.
Hello!
Hülye kérdés. AM29F010 flash memóriát kellene kiolvasnom, és egy másik ugyanilyenbe átírni a tartalmat. Valaki tud flasher rajzot ehhez (már ha emberi alkatrészekből megépíthető), vagy ajánlani programozó áramkört? Esetleg elvállalja-e valaki a programozást? Egyszeri alkalom lenne, nem feltétlen adnék ki pénzt egy flasherre, amit többet nem nagyon használnék...
Szia!
Ha még nem megoldott az AT29F010 átmásolása, én meg tudodm oldani neked. Viszont nem tudom, hogy a távolság mennyire akadály, én Zamárdi vagyok. Üdv!
Sziasztok
Érdeklődnék hogy van nekem egy rossz műholdvevőm, amibe azt mondták hogy a flash memóriája szált el. Kérdésem az lenne hogy egy ugyanilyen de működő készülék flash tartalmát, kilehet valahogyan olvasni és egy másik ujj memóriába beletölteni? Flash memória típusa:Spanison s29gl064a90tfir4
Uraim, tud valaki segíteni AM29F800BB típusú flash memória kezelésében?
Adatlap: Bővebben: Link PIC18-as családdal akarom írni, olvasni, és full törölni. C18-ban írom a programot. Az adatlap segítőkész nem is kicsit, de számomra kicsit így is bonyolult. Aki jártasabb a témában az ossza meg tapasztalatait velem. Köszi előre is..
Ki lehet cserélni a panelon az EPROM -ot? Más rendszer olvassa vagy írja a PIC által kezelt EPROM -ot?
Nincs még hozzá használható programom.
Most akarok írni egyet, ha összejönne. A hardvert is én fejlesztem hozzá.
Válaszolj a kérdésre... Más rendszer által beírt tartalmat kell kezelni vagy csak a PIC jegyzetel bele saját magának?
Ha csak magának jegyzetel, az adatvezetékek összecserélhetők. A hozzászólás módosítva: Jan 24, 2016
Egy más rendszer által fogadott játék ROM tartalmát kell majd beírnia a PIC-nek.
De nyilván elsőnek a PIC saját logjait kell menteni, tesztelésnek. De a cél majd az lesz, hogy régi játékokat lehessen feltölteni a memóriába..
Gondolom azért lett feltéve ez a kérdés, mert ha csak ebben a hardverban használod a memóriát, nyugodtan összekeverheted a cím vezetékeket egymással (meg az adatvezetékeket is).
A memória nem lesz kibontva, csak ehhez a hardverhez lesz használva.
A cím vezérlése már megoldott és az adatok is. Tehát a memória megfelelő lábaihoz eljut az adat vagy a cím. Tehát a bekötése az megvan. A program megírásában kérek segítséget. Memória írása, olvasása és teljes törlése illetve van egy rész amivel a parancsokat kell beírni. + nem igazán (nem teljesen) értem a byte és word, RY/BY, byte mód-ok használatát sem. A hozzászólás módosítva: Jan 24, 2016
Idézet: „Illetve nem igazán értem a byte és word mód-ok használatát sem ami ügye a D15/A-1-es lábat változtatja.” Az adatlapból: Idézet: „Word/Byte Configuration The BYTE# pin controls whether the device data I/O pins DQ15–DQ0 operate in the byte or word configuration. If the BYTE# pin is set at logic ‘1’, the device is in word configuration, DQ15–DQ0 are active and controlled by CE# and OE#. If the BYTE# pin is set at logic ‘0’, the device is in byte configuration, and only data I/O pins DQ0–DQ7 are active and controlled by CE# and OE#. The data I/O pins DQ8–DQ14 are tri-stated, and the DQ15 pin is used as an input for the LSB (A-1) address function.”
Igen ezt elolvastam, ezzel nincs baj.
A megértése már más kérdés. Annyit hámoztam ki, hogy: Byte/Word mód: Ezzel lehet állítani, hogy 8bit vagy 16bit-es adatokat akarunk kérni. Az 8bit-es módban 8x1M blokkok vannak 16bit-es módban pedig 16x512K blokkok vannak. Ez sem teljesen világos. Talán a lényege, ha Byte módban van, akkor a címzés megmarad 19bit, de az adatok byte-onként tárolódnak és byte-onként lehet kinyerni. Word módban meg gondolom marad 19bit a címzés, de az adatok 16byteben tárolódnak és úgy is lehet kinyerni. Byte módban a D15-ös láb egyben valamilyen címzés A-1-es lábat is jelől ami nem tudom hogy mit jelent. Valami olyasmit is ír, hogy az A-1-es az az adatok alsó (LSB) bitjeit jelölik. Ezt sem pontosan értem, hogy micsoda és miért is kell ez nekem. A hozzászólás módosítva: Jan 24, 2016
Akkor máshogy fogalmazok: ha csak ebben lesz használva, akkor a programodban teljesen mindegy, hogy pl. a memóriacím kiírásakor a cím 0.bitjét ténylegesen a 0.címvezetékre írod-e ki vagy egy másikra. Ezért sokkal jobban lehetne optimalizálni a kódot hozzá.
Fontos, hogy a 0címre a 0-ás adat kerüljön és ne mondjuk bármelyik más.
A hardver egy kártya is egyben amit egy másik rendszer olvas be és az már a lábkiosztásnak megfelelő adatokat várja. De hát itt nem is a bekötéssel van gond, hanem azzal, hogy megírjam a programot ami a memóriába beír vagy törli azt. Minden mással már nem kell foglalkozni mert elvileg készen van. Csak a programokat kellene megírni a kezeléshez, abban meg tudom, hogy segít az adatlap, de nem egy nyelven vagyunk No ebben kérem a segítségeteket.. Idézet: „Talán a lényege, ha Byte módban van, akkor a címzés megmarad 19bit, de az adatok byte-onként tárolódnak és byte-onként lehet kinyerni. Word módban meg gondolom marad 19bit a címzés, de az adatok 16byteben tárolódnak és úgy is lehet kinyerni.” Ugyan úgy tárolódnak az adatok a byte és a word módban. Nézd meg a szektor adatokat, mindkét szervezésben ugyan annyi bit -re vonatkoznak. A mátrix 2^19 *16 bit szervezésű. Word módban egszerre egy szó olvasható, a címzés a A18 .. A0 vonalakkal lehetséges. Byte módban az A18..A0 vonalakkal egy szót választasz ki, de egyszerre csak 8 bitet szeretnél kezelni. Az Input / output Buffer az A-1 vonal állapota szerint a alsó (A-1 vonal 0) vagy a felső (A-1 vonal 1) byte jut ki/be a D0..D7 lábakon.
Tehát akkor mindenképpen 16bit-es lesz a cucc, csak a beírás és olvasási módja változik meg.
Byte módban: Tehát ha A-1 vonalon 0 jel érkezik, akkor a 16bit adat ki/be alsó 1 byte-ja érkezik illetve olvasható a D0..D7-en, ha pedig A-1 vonalon 1-es érkezik, akkor a 16bit felső 1 byte-ja olvasható vagy írható a D0---D7-en. Jól értem? Hogyan tudom ezt leprogramozni? Mármint ennek a beállítását? Vagy is most látom hogy a BYTE láb 0 vagy 1-esre való állításával választom ki a módot. Idézet: „BYTE# = Selects 8-bit or 16-bit mode” A hozzászólás módosítva: Jan 24, 2016
Bár nem szoftveres segítség, csak megjegyezném, nincsenek azok az adatlábak annyira összekutyulva. Minden második a sorban következő. 0-7-ig kihúzod egyenesen, 8-15-ig pedig visszafelé, alóla kifordítva, vagy pedig ferde vonal mentén vezeted át minden másodikat a hátára aztán a végén vissza a 7. lb után sorban. De ha már megvan a nyák akkor m indegy, nem szóltam semmit, csak segíteni akartam, hogy könyebb legyen a leprogramozni.
A nyák kivitelezése miatt kissé bonyolultabb mint ahogyan le lehet írni..
Minden memória lábat két irányba kell elvinnem ezért duplázza a vezetők számát és így az elhelyezése sem annyira egyszerű, de ezt megoldottam, szóval már csak a meómra kezelését kellene megoldani és király lenne ez a része..
Hp41C fórumtársunk reakciójára várnék #1895043-as témakörben.
És ha a továbbiakban tudnál segíteni az nagy öröm lenne számomra. Előre is köszi..
Saját magad megválaszoltad a kérdésedet: Ha a BYTE# láb alacsony szinten van, akkor a D15..8 nem szolgál adatátvitelre, így a D15 lábat felhasználhatták a byte kiválasztó jel (A-1) bekötésére.
Köszi, vártam a megerősítésedre, hogy biztos legyen, hogy jól értettem meg a dolgot.
A memória írásában olvasásában tudsz segítséget adni? Illetve a pancsok és a reset funkciók megírásában? Elkezdtem, de szerintem nem jó amit eddig írtam: (pl: parancsok beírása)
Próbálom figyelembe venni a wave diagramokat, de nem biztos, hogy jól értelmezem őket.
Csak Te tudod megírni. Sem a kapcsolás sem más adat nem ismert másoknak.
Ezt nem értem..
A meómra írása olvasásának a programjának elkészítésében kérek segítséget. Ennek nincs köze a kapcsoláshoz. Minden láb oda van bekötve ahová kell, csak a rutint kell megírni amivel a memóriát tudom használni. Memória adatlapja: Bővebben: Link
[off]Én nem értem: Milyen rendszeren kellene olvasni, írni? Hoigyan csatlakozik a ROM a rendeszerhez?
A hozzászólás módosítva: Jan 26, 2016
Ja értem, nem követted végig a dolgot..
Egy PIC 18F442-vel akarom programozni a memóriát. C18-ba próbálom megírni hozzá a kezelő függvényeket, úgy mint egy SPI memóriához, csak ugye itt közvetlen címzés és adatátadás van. Mind a cím lábak, mind pedig az adatlábak be lesznek vezetve a PIC lábaira. Tehát minden memória lábat PIC-el vezérlek. Ehhez kellene most egy vezérlő program amit egyelőre nem tudok elkezdeni mert az adatlap bezavart. Elkezdtem kihámozni, ennek eredményét osztottam meg feljebb, de szerintem az hibás lesz.
Read:
PIC adatvonalak bemenetre, address és vezérlő vonalak kimenetre állítása. Vezérlés: RESET =1, WE = 1, CS = 1, OE = 1, BYTE# = 0. Cím kiadása a cím vonalakra, A-1 = 0 Vezérlés: CS = 0, OE = 0 Várakozás - szerintem a program lépései megoldják. Adat alsó byte beolvasása. Vezérlés: A-1 =1 Várakozás - szerintem a program lépései megoldják. Adat felső byte beolvasása. Vezérlés: OE =1, (CS = 1, ha nem kell több adatot olvasni.) Byte írása: PIC adatvonalak bemenetre, address és vezérlő vonalak kimenetre állítása. Vezérlés: RESET =1, WE = 1, CS = 1, OE = 1, BYTE# = 0. PIC adatvonalak kimenetre állítása, CS = 0, AAA címre AA adat beírása, 555 címre 55 adar beírása, AAA címre A0 adat beírása, A kiválasztott címre a kívánt adat beírása, CS = 1. Beírás: Cím beállítása, Adat beállítása, Várakozás - szerintem a program lépései megoldják. WE = 0, Várakozás, WE = 1, Várakozás - szerintem a program lépései megoldják. return stb... |
Bejelentkezés
Hirdetés |