Fórum témák
» Több friss téma |
Van logikai analizátorom. Az SRAM baromi gyors 10ns, a freki csak 100MHz. Litván gyerek ugyan ezt a memóriát 240MHzen futo STM32F407-el hajtja (168 helyett). Ha manuálisan a Watch ablakban irok adatot akkor az a memóriában megmarad, és mondjuk egy kontroller reset után is ott van amint az FSMC engedélyezésre kerül, szóval igazából működik meg nem... Azt is megtettem hogy a ciklusba még belefűztem egy szoftveres nagyon hosszú késleltetést, de úgy se ok (minden irás után).
Arra ne,m jövök rá, hogy SRAM esetén hol lehet állítani két írás között mekkora időnek kell eltelnie. A leírás szerint a BUSTURNARROUND SRAM esetén nem játszik...
Több probléma is lehet, és ezek közül csak egy az, hogy esetleg az SRAM nem bírja a tempót.
Lehet az egy nagyon reális gond, hogy a busz vezetékek nem bírják a tempót (túl nagy kapacitásuk van, túl nagy induktivitásuk van, esetleg túl nagy a különbség két együtt használandó vezeték között a késleltetésben). Ezt logikai analizátorral nem tudod kiszűrni, ehhez szkóp kell, de még ott sem egyszerű a játék, mivel az a 10pF, amivel a szkóp megterheli a vonalat, túl sok is lehet. Lehet gond az is, ha elágazik a busz vezetéke, és visszaverődések keletkeznek. Első körben javasolnám globálisan lecsökkenteni a rendszer órajelét, mondjuk felezném indulásból. Ez nyilván viszi magával az összes többi órajelet is. Ha ennek hatására jelentősen csökken a probléma, vagy eltűnik, akkor tuti, hogy vagy időzítés, vagy a fent említett jelenségek egyike lesz az ok.
A helyzet az hogy ugyan ezt játsza el 1MHz-en is.
![]() A másik hogy a TFT kijelző és az SRAM ugyan azon a buszon van. unsigned char Picture[384000] tömböt a kijelzőre kiírva LCD_RAM = ((Picture[i] <<8) + Picture[i+1])) rutinnal a kép hibátlanul megjelenik. Ugyan ezzel az SRAMba irva - Tehát TFTRAM[j]-be - az adatok nagyon összevisszák lesznek. Szoftveres gond nem lehet mert ugyan ez a rutin léptetve jól ír SRAM-ba sorba. Most találtam egy leírást, olyan dolgokról ír amit még nem néztem 15-18. oldalon. Van itt esetleg valaki akinek van valami ARM-os cucca FSMC-vel + külső SRAM, hogy ki tudja próbálni, a do-while ciklusom szabadjára engedve mit ir ki az SRAM-jába? Egyébként a 70ns SRAM pont ugyan úgy kuszálódott mint ez a 10ns.>> A hozzászólás módosítva: Szept 8, 2012
Üdv!
LPC1114FN28 http://www.meatandnetworking.com/tutorials/lpc1114fn28-with-open-so...tools/ 32-bit ARM Cortex-M0 mikrokontroller-t szeretnék rendelni. De az avnetexpress 90$-os postaköltséget ír, máshol meg nem találtam. Ha van ötlete valakinek, honnan lehetne hozzájutni, ne tartsa vissza.
Megkerdezhetem miert ezt szeretnéd? Miert pont ezt? Egyebkent senkinek nincs itt valami kulso SRAM-os dev board-ja? Kellene a teszt kornyezet nagyon...
Várni kell egy kicsit, amíg az fdh.hu-nál is kapható lesz.
Ha nagyon kell, addig tanulhatsz ilyen kártyán.
Elsősorban a dip tokozás miatt.
@icserny: köszönöm az infót, várok akkor. A hozzászólás módosítva: Szept 10, 2012
Ha komolyan érdekel a típus, akkor szerintem ennyi pénzért érdemes megvenni akkor is az előző meírásomban belinklet kártyát, mert később a DIP tokozású MCU nyomkövetéséhez jól jöhet (annak csak bootloadere lesz).
Megvan a kijelzővel kapcsolatos hiba:
A system_stm32f2xx.c file végén van az FSMC busz inicializálva. A memória amit használok 512kx16 A0-A18ig van address lába. A system file az address lábakat csak A17-ig konfigolja, 2^18 = 262k, a kép 384, a memória meg 512k. Szóval be kellett kapcsolni felül még egy address lábat, hogy végig tudja irni a memóriát és igy a képet is. Így most már teljesen rendben van. Csak azt nem vágom gyárilag még van igy elcseszve az egész. Holnap majd képernyő teszt DMA-val, sebesség az egekig emelve stb stb. Most már végre működik, a cél sikerült: van egy olyan memória terület (külső SRAM) ami gépesítve a leggyorsabb sebességgel jelenik meg a kijelzőn. => az SSD-ve mostantól nem kell foglalkozni, képernyőre írni csupán annyi hogy egy memória területre kell kopizni ezt azt. Amit éppen akarok.
Nem semmi hiba. Kész csoda hogy megtaláltad.
Én meg csiga tempóban haladok ![]() Tl wr841 fent van az openwert. A webes felület is felment a 4Mb re. 629k szabad hely van rajta. Bár tömörített file rendszer szóval nincs annyi ![]() Kábelt még nem mertem ráforrasztani a 2mmes smd ellenállás 0,5mm részére, hogy legyen usb. És még rá kell jönni, hogy hogyan rakom rá a ds1620 hőmérőket. SSR eket megrendeltem azt egyszerű lesz rárakni.
Ez sirály
![]() Viszont a helyedben írnék memóriatesztelő kódot a programba, amivel lehet ellenőrizni, hogy adott frekit hogy bírja a rendszer (teleírni a memóriát különféle mintákkal, majd visszaolvasni).
Hi!
Most éppen ott tartok. A freki 120 helyett 160, és éppen beírós/set PC to cursor módszerrel húztam le a legszorosabb időzítésekre. Most kapcsolom vissza DMA-t, amin viszont - 384000 képpontot 6db 64 000 elemből álló DMA hívással tudom kiküldeni - még van mit finomítani, tovább hogy debuggolható legyen (ne ugorjon egy stepre 3 C sort) mindenféle optimalizáció ki van még kapcsolva. De a lényeg hogy már kb kész, elvi problémák itt már nincsenek. Nagy kár viszont hogy az 512k-ba 16 biten nem fér 2 kép mert akkor lenne egy karakteres, meg egy grafikus egymáson. Idézet: CHPCD 260+ifa. „12F1822 hol lehet olcsón venni?”
Na annyiért már nem hangzik rosszul
![]() Szerintem a 1-wire-t sem egyszerű illeszteni közvetlenül a CPU-ra, mivel ilyen támogatás HW-ben nem szokott bennük lenni, az meg erőforrásban elég "drága" megoldás, hogy egy 100-200-400MHz-es MIPS/ARM billegtesse a biteket SW-ből. I2C viszont szokott lenni rendes HW támogatással. A Microchip cuccok magyarországi disztribútora a Chipcad.
Hát... Úgy néz ki DMA-val már olyan gyorsan pakolja az adatokat kifelé hogy az SSD teljesen lefagy, RESET állapotra ugrik. DMA-val úgy tűnik csak 100MHz-es core frekivel hajlandó együttműködni. Ami azért is bámulatos, mert SSD, meg a külső SRAM egy azon FSMC buszon van, csak a CS láb ami nem közös. A 100MHz se rossz mert azzal legalább könnyű timer-t számolni, 10ns
![]()
Minek SSD, ha van DMA-d? A DMA-val közvetlenül is tudnád tolni az adatokat az LCD-re. Igaz, így a külső busz sávszélességének legalább a felét konstans megenné a DMA.
Hát eddig annyit tudok hogy hol van a 4 vezetékes soros port, usb 2.0, meg a ledek ami gpio. Ha tudtok még valamit AR7241-AH1A ről írjátok meg
![]()
Azért SSD, mert fillérekbe kerül, és egyszerűbb. Ismerem a direct-drive-ot, de ott el kell használni két Timer-t HSYNC-VSYNC-nek.
![]()
Egy változós do-while ciklussal 384 000 képpont (16bit)
100MHz, Level0 optimalizáció: 0,16640052s (6.00959fps) 160MHz, Level1 + time optimalizáció: 0,06720035s (14.8fps) DMA-val valami lett mert csak az első 64 000 pixelt ismétli egymás alá, majd a végén az SSD kifagy. Most ezt kell megugrani.
Sziasztok ! Segítséget szeretnék kérni tőletek, mert leragadtam egy gps okosítása közben. A benne lévő belső gps vevőt sikeresen frissítettem a hozzá való programmal, és egy max 3232 szint illesztő segítségével tx-rx-gnd porton keresztül,(ki lehetett szedi az alaplapból) a belső gps vevőt, az alaplapban van egy armst712fr2 processzor armstr712fr2, gondoltam akkor ezt is frissítem és követve a letöltött utasításokat sikerülni is fog szintén van tx-rx-gnd lehetőség rajta, hiper terminalon keresztül kellett volna beadni a frissítést, a készülék nyomó gombjait használva kell egy módba kapcsolni mikor lehetne frissíteni,de cccccc kódok jönnek,és most a kijelzője is elsötétült mintha alvó állapotba került volna,de a belső gps aktívan fut tovább,és most nem tudom,hogy hogyan lehetne visszaállítani a saját gyári állapotába az arm-t mert lehet nem tudnám beégetni a frissítést talán arm reset vagy valami hasonlóra gondoltam,hogy nehogy elmenjen a benne lévő gyári flash és ebben kérnék segítséget hogy hogyan lehet ezt megtenni,ha egyáltalán jó-e az ötlet.
A hozzászólás módosítva: Szept 11, 2012
spi meg 1wire kernel modult már talátam, természetesen mind a kettő sotfwareből megy gpio n keresztül
![]()
A WR1043ND openwrt oldalán meg találsz utalást az I2C-s GPIO-s kernel modulra... mondjuk egy hőmérőhöz, vagy egy RTCC-hez elég a GPIO-s "pazarlós" driver is, ezeket másodpercenként max. egyszer olvasgatod.
![]() De nagyobb adatátvitelhez valami normális HW támogatással bíró interfész kell.
Szerintetek miért lehet az hogy a DMA memory-memory copy üzemmódban single burst-el (én indítom mindig a DMA-t) csak és kizárólag a legelőször megadott memória területről hajlandó olvasni? Úgy értem a program arréb rakja a kezdő címet, a regiszterben meg is jelenik, 6400 000, majd 6400 FA00, de hiába ez a második, csak azért is 6400 0000-ról olvas. Azaz csak a kép első 1/6-odát hajlandó kirajzolni...
Nem ismerem ezt a DMA-t, de szokott olyan lenni, hogy a DMA regisztereit nem lehet "menet közben" matatni, és ahhoz, hogy változtatni tudjál, ahhoz először le kell tiltani az adott DMA csatornát. Nem lehet, hogy itt a DMA csatorna csak "lejárt" (byte counter = 0), de nincs letiltva, és ezért nem módosítja a beírás?
Amióta az A18 address vezetékre rájöttem, egyszerűen meghalt a DMA ami anno elsőre működött, és 262k ig (17 vezetékkel) szedte is ki az SRAM-ból az adatokat. A DMA beállításhoz azóta nem nyúltam.
A DMA memory memory copy-ra van beállítva ami annyit tesz hogy csak akkor aktív ha én szoftverből "nyomom a gombot", és utána leáll, és újra piszkálható, semmi konkrét folyamatosan ketyegő hardverre nincs rákötve úgy mint pl GPS-USART. Tudom változtatni a paramétereit, valahogy mégse onnan másol ahogy kellene... Most újra az elejéről kezdem csináltam két 100 elemű tömböt Alpha & Beta aztán tizesével elkezdem másolni belőle a cuccot. Meglátjuk mi lesz...
2 EK-LM4F120XL EK-LM4F120XL - Stellaris® LM4F120 LaunchPad Evaluation Board 9.98 EstimatedShipDate 11/29/2012
OMG 2 hónap + posta ![]() Posta mennyi idő szokott lenni? Nektek mikor küldik? Idézet: Optimális esetben 2 nap„Posta mennyi idő szokott lenni?” Idézet: Azt állítják, hogy 9/25/2012 „Nektek mikor küldik?”
Nekem 11/09/2012 a ship date
![]() |
Bejelentkezés
Hirdetés |