CYPRESS Memory Mapped Access në SPI F-RAM AN229843 Udhëzuesi i përdorimit
1 Hyrje
Kujtimet jo të paqëndrueshme Cypress SPI F-RAM mund të përdoren në mënyra të ndryshme. Së pari, grupi i tyre i udhëzimeve është i pajtueshëm me memoriet serike klasike EEPROM dhe Flash. Kjo veçori i lejon zhvilluesit të përdorin pajisje F-RAM si një pjesë EEPROM ose Flash duke përdorur drejtuesit ekzistues të softuerit.
Nga ana tjetër, pajisjet F-RAM posedojnë karakteristika RAM dhe advantages: ato mund të lexohen dhe shkruhen menjëherë në bazë bajt pas bajt pa pasur nevojë për fshirje ose sondazhe si pajisjet Flash. Kontrollorët modernë të avancuar SPI mund të gjenerojnë sekuencat e kërkuara të komandave në lëvizje në harduer dhe të mbështesin aksesin e hartuar me memorie nëpërmjet treguesve. Kjo i bën pajisjet serike F-RAM të duken si RAM normale për aplikacionet.
Dy modelet e përdorimit janë paraqitur dhe krahasuar në detaje në seksionet e mëposhtme.
2 Qasja në stilin EEPROM/Flash
Nëse F-RAM serik përdoret si një pajisje EEPROM ose Flash, atëherë rrjedha tipike e kontrollit është:
- Hapni një pajisje të veçantë file
- Vendosni file kompensuar në një pozicion të caktuar
- Lëshoni një telefonatë leximi ose shkrimi.
Hapat 2 dhe 3 përsëriten aq shpesh sa është e nevojshme.
Shtimi i mbështetjes F-RAM në drejtuesit ekzistues EEPROM/Flash është zakonisht i thjeshtë. Në shumë raste, mjafton të shtoni vetëm një ID të re pajisjeje në listën e pajisjeve të mbështetura në kodin burimor të drejtuesit për t'i bërë pajisjet të funksionojnë. Komandat SPI për të lexuar dhe shkruar të dhëna janë të pajtueshme midis EEPROM/Flash dhe F-RAM, dhe komandat e fshirjes thjesht shpërfillen nga pajisja F-RAM. Shumica e aplikacioneve nuk mbështeten në vlerën e paracaktuar të memories së sapofshirë (p.sh. 0xFF), kështu që kjo sjellje është e mirë. Në raste të veçanta kur ndodh, rajoni i memories së fshirë mund të vendoset në mënyrë eksplicite në vlerën e pritur të paracaktuar nga funksioni i fshirjes. Për më tepër, kodi i votimit i përdorur në drejtuesit e softuerit EEPROM/Flash për të zbuluar përfundimin e operacioneve të programit nuk ndikon në F-RAM. Për drejtuesit e softuerëve të tillë, pajisjet F-RAM duket se kryhen menjëherë me çdo program ose fshihen operacionet dhe kontrolli kthehet pas një përsëritjeje të vetme votimi. Përndryshe, votimi mund të jetë plotësisht i çaktivizuar për F-RAM në drejtuesit.
Në Linux, si një ish konkretampKështu, metoda e aksesit kërkon që përdoruesi të hapë një pajisje të teknologjisë së kujtesës (MTD) ose pajisje speciale EEPROM file dhe lëshoni dy thirrje sistemore për çdo lexim ose shkrim. Së pari, një thirrje e sleek() për të pozicionuar file përshkruesi i zhvendosjes së dëshiruar dhe lëshon së dyti një thirrje sistemi read() ose write() për të lexuar ose shkruar të dhënat. Për blloqe të mëdha të të dhënave, thirrjet e sistemit të lidhur dhe shpenzimet e tyre janë të parëndësishme dhe mund të neglizhohen. Produkti është parametri vendimtar në raste të tilla. Për madhësi të vogla të dhënash (p.shample, variabla prej 1-16 bajte), megjithatë, thirrja e përgjithshme e sistemit shkakton vonesa të dukshme.
Ajo që i bën gjërat më të komplikuara për aplikacionet është nevoja për të ndarë dhe menaxhuar buferët që kalohen në funksionet e leximit dhe shkrimit. Shumë shpesh, të dhënat kopjohen mbrapa dhe mbrapa disa herë në këtë metodë aksesi, në dhe nga buferat në aplikacion dhe më pas përsëri nga buferët në FIFO të kontrolluesit SPI në drejtuesin e pajisjes dhe anasjelltas. Këto operacione kopjimi kanë një ndikim negativ në xhiros në sistemet e shpejta.
3 Qasja në hartën e kujtesës
Buferët e të dhënave të menaxhuara nga përdoruesi dhe lëvizja manuale e të dhënave nuk nevojiten për aksesin e hartës së memories (i njohur edhe si I/O ose MMIO i Hartuar me Memory). Në këtë metodë aksesi, aplikacionet mund të lexojnë dhe shkruajnë në F-RAM thjesht duke mos referuar treguesit tek objektet e të dhënave të madhësisë së dëshiruar.
Ndihma e softuerit nevojitet vetëm gjatë inicializimit për të hetuar pajisjen dhe më vonë për të vendosur një hartë të përshtatshme adresash për aplikacionin. Pasi të jetë vendosur kjo hartografi, të gjitha akseset për leximin dhe shkrimin funksionojnë plotësisht në harduer. Kjo çon në një nivel më të mirë të performancës në krahasim me aksesin klasik të stilit EEPROM/Flash. Kryesisht, vonesat janë më të shkurtra duke rezultuar në rezultate dukshëm më të mira për madhësi të vogla të të dhënave.
Për më tepër, qasja në hartë e kujtesës thjeshton kodin e aplikacioneve. Të dhënat nuk duhet të kopjohen mbrapa dhe mbrapa midis buferave dhe thirrjet e sistemit nuk nevojiten për të hyrë në memorien F-RAM pas inicializimit.
Së fundi, veçoritë e avancuara si ekzekutimi i kodit drejtpërdrejt nga SPI F-RAM (XIP) janë të mundshme vetëm me një konfigurim të hartuar me kujtesë. Megjithëse aplikacionet vetëm për lexim janë gjithashtu të mundshme me SPI Flash në një konfigurim të hartuar me memorie, shkrimet në hartë dështojnë në këto pajisje për shkak të kërkesave të tyre të votimit dhe fshirjes.
Një sfidë mund të jetë që kodi specifik i konfigurimit të kontrolluesit duhet të shtohet te drejtuesit e softuerit. Kodi gjenerik i shoferit nuk është i mundur.
4 Një rast studimor
Për të hetuar përfitimet e performancës së aksesit të hartuar me memorie, përdoret një SoC NXP i.MX8QXP me një F-RAM Cypress Exelon Ultra CY15B104QSN për të ofruar një platformë moderne krahasimi.
Sistemi operativ në këtë rast është Linux (kernel 4.14.98) që drejton Cypress SPI Memories Driver stack version v19.4. Ky drejtues i softuerit mbështet si MTD klasike ashtu edhe aksesin e hartës së kujtesës. CY15B104QSN operohet në modalitetin QPI me një frekuencë të orës SPI prej 100 MHz SDR. Kështu, kapaciteti maksimal teorik për operacionet e leximit dhe shkrimit është i kufizuar në 50 MiB/s1.
Kontrolluesi i.MX8QXP FlexiSpot mbështet akseset e hartës së kujtesës nëpërmjet një tabele të vogël të konfigurueshme. Kjo Tabela Look Up (LUT) mund të mbajë deri në 32 sekuenca për të sintetizuar transaksionet e autobusit SPI gjatë fluturimit në pajisje. Regjistrat e indeksit në kontrollues mund të vendosen për të informuar procesorin se cilat sekuenca duhet të ekzekutojë për leximin dhe shkrimin e hartë memorie, p.sh.ample, nëse një tregues nuk referohet. Mund të jetë një sekuencë e vetme ose një grup sekuencash të shumta, për shembullample, nëse një komandë Write Enable plus një komandë Programi duhet të lëshohet për një operacion shkrimi. Për leximin dhe shkrimin e QPI në F-RAM, mund të përdoren hyrjet/sekuencat e mëposhtme LUT:
Shënim se CY15B104QSN ka një bit ngjitës WREN (Write Enable) në regjistrin e statusit. Pasi të jetë vendosur ky bit, pajisja nuk ka më nevojë për komanda të qarta Write Enable që i paraprijnë çdo operacioni të shkrimit në kujtesë. Kështu, përdoret vetëm sekuenca e dytë e çiftit të sekuencave të listuara për rrugën e shkrimit.
Një tjetër teknikë optimizimi e përdorur është marrja paraprake që mund të bëhet automatikisht nga kontrolluesi i.MX8QXP FlexSPI. Kjo veçori ndikon dhe përshpejton shtegun e leximit për të gjitha metodat e aksesit. Gjithmonë ngarkon blloqe të dhënash prej plot 2 kB nga F-RAM në disa bufera harduerësh. Kërkesat e leximit nga softueri më pas shërbehen nga këto bufera.
Tabela 1 përmbledh rezultatet e matura dhe tregon përfitimet e performancës nga aksesi i drejtpërdrejtë i hartës së memories. Në veçanti, vonesat janë shumë më të shkurtra në krahasim me metodën standarde të qasjes në stilin Flash (me më shumë se 20x). Latencat jashtëzakonisht të shkurtra përdorin veçorinë e menjëhershme të paqëndrueshmërisë së F-RAM dhe ndihmojnë në situatat kur fuqia e sistemit humbet papritur. Qasja e hartës së kujtesës bëhet një kërkesë plotësuese në ato raste, duke shkurtuar periudhën kohore ku të dhënat janë në rrezik.
Në këtë pikë referimi, rezultatet e xhiros maten duke lexuar ose shkruar të gjithë pajisjen. Për rastin e hartës së kujtesës, memcpy() thirret për të kopjuar të gjitha të dhënat e grupit kryesor nga F-RAM në DRAM normale të sistemit ose anasjelltas. Shihni shtojcën A për disa optimizime specifike të ARMv8-A memcpy(). Me marrje paraprake të harduerit të çaktivizuar, xhiroja e leximit është e të njëjtit rend si xhiroja e shkrimit.
Latencat tregojnë vonesën pasi një operacion shkrimi ose leximi është lëshuar nga aplikacioni i softuerit derisa të dhënat të transferohen fizikisht në autobusin SPI. Në këtë pikë referimi, vonesat maten duke lëshuar operacione të vogla leximi dhe shkrimi prej 1 bajt.
5 CPU Caching
Si parazgjedhje, memoria e CPU-së është e çaktivizuar në shumicën e platformave për të gjithë hapësirën e memories I/O. Kjo zbaton aksese të renditura dhe jokombinuese të kujtesës dhe është një domosdoshmëri, për shembullample, për të mbushur FIFO-të e harduerit ose për të programuar ose fshirë pajisjet Flash.
Megjithatë, për memoriet F-RAM, memoria e kujtesës së CPU-së mund të aktivizohet në kombinim me aksesin e hartuar me memorie për të shtyrë më tej zarfin e performancës. Me memorien e CPU-së, madhësia natyrore e shpërthimit në autobusin SPI për lexime dhe shkrime është një linjë memorie (64 bajt në i.MX8QXP). Kjo e bën përdorimin më të mirë të gjerësisë së brezit të disponueshëm të autobusit SPI në krahasim me një seri transferimesh më të vogla. Megjithatë, gjatë një rënie të energjisë, të dhënat mund të humbasin nëse ato qëndrojnë në një linjë cache që nuk është shkruar ende në F-RAM. Ndërsa për memoriet normale RAM kjo sjellje është krejtësisht e pranueshme, për F-RAM nuk është.
Aktivizimi i një skeme të thjeshtë të leximit të memorizimit (d.m.th., me një politikë shkrimi, megjithëse memorie) është i sigurt për F-RAM, pasi të dhënat shkruhen menjëherë përsëri në grupin F-RAM në këtë konfigurim.
Nëse aplikacioni ka pika të qarta sinkronizimi (p.shample, duke ruajtur imazhet e kamerës së plotë), atëherë mund të aktivizohet edhe një politikë kthimi. Operacionet më të vogla të shkrimit mund të kombinohen me këtë skemë për të ndërtuar shkrime të plota të linjave të cache-it 64 bajt shumë efikase. Megjithatë, udhëzimet për mirëmbajtjen e barrierave dhe cache-it duhet të shtohen në pikat e sinkronizimit të kodit burimor, në këtë rast për të shpëlarë kohë pas kohe cache-in. Udhëzime të tilla bëjnë që të dhënat që janë grumbulluar në cache të CPU-së të shkruhet në mënyrë eksplicite, dhe kështu eliminojnë rrezikun e humbjes së të dhënave.
6 Përfundim
Shumica e kontrollorëve të sotëm SPI mbështesin aksesin e hartës së kujtesës në pajisjet e jashtme. Prandaj, me këta kontrollues, qasja e hartës së kujtesës është bërë një opsion i mundshëm për t'u marrë në konsideratë dhe klientët mund të përfitojnë prej tij, veçanërisht në rastin e F-RAM.
Qasja e hartës së memories në F-RAM ka përfitime të qarta të performancës dhe thjeshton kodin e aplikacionit në krahasim me metodën klasike të aksesit serial EEPROM/Flash. Ai është universal, fleksibël dhe integron F-RAM pa probleme në një sistem modern.
Duke analizuar dhe optimizuar me kujdes kodin e aplikacionit, një kombinim i aksesit të hartuar me memorie me memorien e CPU-së mund të përmirësojë më tej si xhiron ashtu edhe vonesën.
Shtojca A. Memcpy() 16-bajtë e optimizuar për ARMv8-A
Implementimi i parazgjedhur i memcpy() për ARMv8-A në Linux përdor udhëzimet e montimit të çiftit të ngarkimit dhe çiftit të dyqaneve që lëvizin dy regjistra 8-bajtë në të njëjtën kohë. Fatkeqësisht, këto udhëzime shkaktojnë dy shpërthime SPI 8-bajtë në autobus në vend të një shpërthimi të vetëm 16-bajtë. Për të përmirësuar situatën, memcpy() mund të optimizohet për të përdorur një regjistër 16-byte FP/SIMD plus udhëzimet përkatëse të ngarkimit/ruajtjes, siç tregohet më poshtë. Ky ndryshim krijon shpërthimet e dëshiruara SPI 16-bajtë në autobus.
Historia e Dokumentit
Titulli i dokumentit: AN229843 – Qasja e Hartës së Memorjes në Numri i Dokumentit SPI F-RAM: 002-29843
Mbështetje për shitjet dhe dizajnin në mbarë botën
Cypress mban një rrjet në mbarë botën zyrash, qendrash zgjidhjesh, përfaqësuesish të prodhuesve dhe shpërndarësve. Për të gjetur zyrën më afër jush, na vizitoni në Cypress Locations.
Produktet
Mikrokontrolluesit Arm® Cortex® selvi.com/arm
Automobilistikë selvi.com/automotive
Orë & Buffer selvi.com/clocks
Ndërfaqja selvi.com/interface
Interneti i Gjërave selvi.com/iot
Kujtesa selvi.com/memory
Mikrokontrolluesit selvi.com/mcu
PSoC selvi.com/psoc
IC-të e menaxhimit të energjisë selvi.com/pmic
Njohja me prekje selvi.com/touch
Kontrollorët USB selvi.com/usb
Lidhja me valë selvi.com/wireless
Zgjidhjet PSoC®
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP | PSoC 6 MCU
Komuniteti i Zhvilluesve Cypress
Komuniteti | Kodi Sheshamples | Projektet | Videot | Blogjet | Trajnimi | Komponentët
Mbështetje Teknike
cypress.com/support
Të gjitha markat e tjera tregtare ose markat e regjistruara të referuara këtu janë pronë e pronarëve të tyre përkatës.
Gjysem perçues selvi
An Infineon Technologies Company 198 Champjon gjykata
San Jose, CA 95134-1709
© Cypress Semiconductor Corporation, 2020. Ky dokument është pronë e Cypress Semiconductor Corporation dhe filialeve të saj ("Cypress"). Ky dokument, duke përfshirë çdo softuer ose firmware të përfshirë ose referuar në këtë dokument ("Softuer"), është në pronësi të Cypress sipas ligjeve dhe traktateve të pronësisë intelektuale të Shteteve të Bashkuara dhe vendeve të tjera në mbarë botën. Cypress rezervon të gjitha të drejtat sipas ligjeve dhe traktateve të tilla dhe nuk jep asnjë licencë sipas patentave, të drejtave të autorit, markave tregtare ose të drejta të tjera të pronësisë intelektuale, përveçse siç përcaktohet në mënyrë specifike në këtë paragraf. Nëse Softueri nuk shoqërohet me një marrëveshje licence dhe ju nuk keni një marrëveshje me shkrim me Cypress që rregullon përdorimin e Softuerit, atëherë Cypress ju jep një licencë personale, joekskluzive, të patransferueshme (pa të drejtën e nënlicencës ) (1) sipas të drejtave të tij të autorit në Softuerin (a) për Softuerin e ofruar në formën e kodit burimor, për të modifikuar dhe riprodhuar Softuerin vetëm për përdorim me produktet harduerike Cypress, vetëm brenda organizatës suaj, dhe (b) për të shpërndarë Softuerin në formë kodi binar nga jashtë për përdoruesit fundorë (drejtpërsëdrejti ose indirekt përmes rishitësve dhe shpërndarësve), vetëm për përdorim në njësitë e produkteve harduerike Cypress dhe (2) sipas atyre pretendimeve të patentave të Cypress që janë shkelur nga Softueri (siç sigurohet nga Cypress, i pamodifikuar) për të bërë, përdorur, shpërndarë dhe importuar Softuerin vetëm për përdorim me produktet harduerike Cypress. Çdo përdorim tjetër, riprodhim, modifikim, përkthim ose përpilim i Softuerit është i ndaluar.
NË MASËN E LEJUAR NGA LIGJI NË FUQI, QYPRESS NUK BËN ASNJË LLOJ GARANCI, TË SHPREHUR APO TË LËNDUAR, NË LIDHJE ME KËTË DOKUMENT APO NDONJË SOFTUER APO TË PËRFSHIRË ME HARDUER, TË PËRFSHIRË, SHQIPTUESHMËRI DHE PËRSHTATJE PËR NJË QËLLIM TË VEÇANTË .
Asnjë pajisje kompjuterike nuk mund të jetë absolutisht e sigurt. Prandaj, pavarësisht masave të sigurisë të zbatuara në produktet e harduerit ose softuerit Cypress, Cypress nuk do të ketë asnjë përgjegjësi që lind nga ndonjë shkelje e sigurisë, siç është qasja e paautorizuar ose përdorimi i një produkti Cypress. QIPRISI NUK PËRFAQËNON, GARANTON, APO GARANTON QË PRODUKTET APO SISTEMET E KRIJUARA ME PRODUKTET QIPRISI, DO TË JETË TË LIRA NGA KORRUPSIONI, SULMI, VIRUSET, NDËRHYRJET, NDËRHYRJET, SHKURTIMET E TJERA ION (së bashku, "Shkelja e sigurisë" ). Cypress heq dorë nga çdo përgjegjësi në lidhje me çdo shkelje të sigurisë, dhe ju do ta lironi Cypress nga çdo pretendim, dëmtim ose përgjegjësi tjetër që rrjedh nga çdo shkelje e sigurisë. Përveç kësaj, produktet e përshkruara në këto materiale mund të përmbajnë defekte të dizajnit ose gabime të njohura si gabime të cilat mund të bëjnë që produkti të devijojë nga specifikimet e publikuara. Në masën e lejuar nga ligji në fuqi, Cypress rezervon të drejtën të bëjë ndryshime në këtë dokument pa njoftim të mëtejshëm. Cypress nuk merr përsipër asnjë përgjegjësi që rrjedh nga aplikimi ose përdorimi i ndonjë produkti ose qarku të përshkruar në këtë dokument. Çdo informacion i dhënë në këtë dokument, duke përfshirë çdo sampInformacioni i dizajnit ose kodi i programimit, ofrohet vetëm për qëllime referimi. Është përgjegjësi e përdoruesit të këtij dokumenti të hartojë, programojë dhe testojë siç duhet funksionalitetin dhe sigurinë e çdo aplikacioni të bërë nga ky informacion dhe çdo produkt që rezulton. “Pajisje me rrezik të lartë” nënkupton çdo pajisje ose sistem, dështimi i të cilit mund të shkaktojë lëndime personale, vdekje ose dëmtime pronësore. p.shampPajisjet me rrezik të lartë janë armët, instalimet bërthamore, implantet kirurgjikale dhe pajisje të tjera mjekësore. "Përbërës kritik" nënkupton çdo komponent të një pajisjeje me rrezik të lartë, dështimi i funksionimit të të cilit mund të pritet në mënyrë të arsyeshme të shkaktojë, drejtpërdrejt ose tërthorazi, dështimin e pajisjes me rrezik të lartë ose të ndikojë në sigurinë ose efektivitetin e saj. Cypress nuk është përgjegjës, tërësisht ose pjesërisht, dhe ju do ta lironi Cypress nga çdo pretendim, dëmtim ose përgjegjësi tjetër që rrjedh nga çdo përdorim i një produkti Cypress si një komponent kritik në një pajisje me rrezik të lartë. Ju do të dëmshpërbleni dhe mbani Cypress, drejtorët, oficerët, punonjësit, agjentët, filialet, shpërndarësit dhe caktimet e padëmshme nga dhe kundër të gjitha pretendimeve, kostove, dëmeve dhe shpenzimeve, që rrjedhin nga çdo pretendim, duke përfshirë pretendimet për përgjegjësinë e produktit, dëmtimet personale ose vdekje, ose dëmtim të pronës që vjen nga çdo përdorim i një produkti Cypress si një komponent kritik në një pajisje me rrezik të lartë. Produktet Cypress nuk janë të destinuara ose të autorizuara për t'u përdorur si një komponent kritik në ndonjë pajisje me rrezik të lartë, përveç në masën e kufizuar që (i) në fletën e të dhënave të publikuara të Cypress për produktin thuhet në mënyrë eksplicite Cypress e ka kualifikuar produktin për përdorim në një specifik me rrezik të lartë Pajisja, ose (ii) Cypress ju ka dhënë autorizim paraprak me shkrim për të përdorur produktin si një komponent kritik në pajisjen specifike me rrezik të lartë dhe ju keni nënshkruar një marrëveshje të veçantë dëmshpërblimi.
Cypress, logoja Cypress, Spansion, logoja Spansion dhe kombinimet e tyre, WICED, PSoC, CapSense, EZ-USB, F-RAM dhe Traveo janë marka tregtare ose marka të regjistruara të Cypress në Shtetet e Bashkuara dhe vende të tjera. Për një listë më të plotë të markave tregtare Cypress, vizitoni cypress.com. Emra dhe marka të tjera mund të pretendohen si pronë e pronarëve të tyre përkatës.
Dokumentet / Burimet
![]() |
CYPRESS Memory Mapped Access në SPI F-RAM AN229843 [pdfUdhëzuesi i përdoruesit CYPRESS, Memory Mapped, Access, to, SPI, F-RAM, AN229843 |