Hmm, ciekawe, nigdy sie z tmy nie spotkalem. Mozesz napisac cos wiecej?
Hmm, ciekawe, nigdy sie z tmy nie spotkalem. Mozesz napisac cos wiecej?
T.M.F. napisał(a):
A co tu pisać? Wejść wysokiej impedancji wolnych zostawiac nie wolno - oczywista oczywistość. Linie icp pracują podobnie jak w i2c - muszą być podciągnięte do właściwego poziomu, bo może być problem z detekcją poziomów.
Zostawienie linii wolnych jest "złą praktyką", za to zostawienie wejść wolnych - poważnym błędem. Powinieneś deklarowac je wtedy jako WYJŚCIA.
Gdyby trochê Ci brakowa³o, to mogê podrzuciæ ponad laskê 12C508 uwalonych w czasie programowania. Zbiera³em przez ca³e 2 lata. Co prawda przyczyn± by³ g...niany programator - samodziejka STK200, ale w koñcu nie wytrzyma³em i zmieni³em kontroler na inny tej samej firmy tyle ¿e z flashem. Na firmowym programatorze mam teraz uzysk rzêdu 95% a pozosta³e
5% mo¿na powtórnie przeprogramowaæ.Piotr "PitLab" Laskowski napisał(a):
Powinieneś mieć 99.7% conajmniej. Coś tam jest nie jak trzeba.
Autopoprawka nie STK tylko JDM.
Problem jest z kalibracj± wewnêtrznego oscylatora. Uk³ad pracuje z RS232 i niektóre egzemplarze maj± zbyt du¿a odchy³kê czêstotliwo¶ci pracy, tak ¿e zaczynaj± siê pojawiac problemy z transmisj±. Próbowa³em z tym walczyæ, ale poleg³em na braku ³opatologicznej informacji jak to zrobiæ w 10F200. Niby pisze ¿e trzeba odczytaæ kalibracjê przed kasowaniem, ale za CHRL nie uda³o mi siê zaprogramowaæ kalibracji ponownie. Odpu¶ci³em i mam kilka wersji programu z ró¿nymi warto¶ciami timera taktuj±cego transmisjê.
Dla porównania Atmeli przerobi³em trochê mniej, ale tylko raz uda³o mi siê zablokowaæ uk³ad, tak ¿e trzeba by³o go popêdziæ zewnêtrznym zegarem do programowania. Ponad setka uk³adów z meg±8 i 16 pracuje z kilkudziesiêciometrowymi kablami w warunkach budki stoj±cej na praktycznie otwartym powietrzu (burze i szeroki zakres temperatur) od 2-3 lat i jak narazie nic nie wróci³o do tatusia z powodu uszkodzenia elektroniki. :-)
No nie, to taki moj pomysl. Ale patrzac na datasheet do XMegi powinien zadzialac. Puszczasz jeden kanal DMA w kolko w trybie czytania/zapisu do pamieci ( chodzi o wykorzystanie strobu zapisu jako zegara do taktowania zatrzaskow w LCD), tak, zeby po zakonczeniu transakcji (czyli przeslaniu calej ramki) generowal przerwanie w ktorym robisz programowo sygnal FRM. DMA odczytuje pamiec i wysyla gdzies pod adres XRAM, XMega ma 16MB zewnetrznej pamieci, czyli najstarczy bit adresu (niesadze, zebym potrzebowal wiecej niz 8MB do swoich celow) razem ze strobem zapisu WR moga posluzyc do generowania strobu dla latcha w LCD. W ten sposob mam juz zalatwiony automatyczny transfer linii. Teraz moge reszte robic na przerwaniu, nie jest juz tak zle, bo procesor tylko raz na linie bedzie zaangazowany w generowanie sygnalu przejscia do kolejnej linii. Ew. dodac licznik popedzany zegarem dla latcha ktory mi ten sygnal wygeneruje automatycznie. Nie mam rozpiski pinow do XMegi ale niewykluczone, ze bedzie mozna w tym celu wykorzystac ktorys z timerow w trybie pobierania zegara z pinu. Taki timer po zliczeniu zaprogramowanej ilosci impulsow (czyli bajtow na linie) wygeneruje sam sygnal przejscia do nowej linii. Problem sie pojawia w przypadku kolorowych LCD majacych wejscia po 24 bity na raz. Wykorzystanie 3 DMA nie wchodzi w gre, bo nie da sie ich zsynchronizowac w zaden sposob (chyba). Wiec pozostaje rozwiazanie typu 3x8-bitowy latch wybierany z multipleksera podlaczonego do bitow A0-A2 adresu pamieci. Ale to juz zakrawa na jakies male CPLD za pare zlotych :) Co i tak w sumie moze byc korzystne, bo nie wiem jak w tym procku bedzie wygladalo podlaczenie XRAM, ale jesli tak jak w ATMega128 to i tak potrzebujesz 1 zatrzask. To w sumie mozna jakies male CPLD wlozyc. Co o tym myslisz?
Piotr "PitLab" Laskowski napisał(a):
Akurat w tych procesorach nie wiem. PIC-e maja różne konstrukcje oscylatorów. Niektóre sa całkowicie zadowalająco stabilne i dokładne (np 16f6xx) ale zazwyczaj nie sa ani stabilne ani dokładne. W transmisja asynchronicznej trzeba robić króciutką pauzę między bajtami i to załatwia sprawę - błąd 2-3% nie czyni różnicy. Natomiast nie spotkałem się NIGDY z problemem programowania układów
10fxxx przez icsp.To żadna mecyja.
W sumie tak jest ale mimo to te 2-3% uk³adów trzeba przeprogramowaæ innym kodem.
Fakt, z samym programowaniem nie ma problemu, co najwy¿ej mechaniczny (programator ma 5 igie³ sprê¿ynuj±cych, na których osiada p³ytka z kontrolerem), ale to rzecz zrozumia³a i niezale¿na od kontrolera. Natomiast z wcze¶niejszym 12C508 je¿eli nast±pi³ mechaniczny problem w czasie programowania, to kontroler by³ do wyrzucenia
chcesz dawac 8 MB SRAM ? masz takie kosci w sensownej cenie?
Powitanko,
Tak podejrzewalem, ze firma na mnie oszczedza;-)
Zasilalem, 2 procki pod rzad mialy ten sam objaw. Wniosek: Nie tu jest przyczyna.
Scalak programuje sie OK, verify OK, ino w czasie pracy sie wywala. Mozna go potem przeflashowac jeszcze raz, ale efekt w trakcie pracy bedzie ten sam. Inny w dokladnie tych samych warunkach dziala OK. Nie wiem jak jest w PICach, ale zwykly EEPROM (taki 24xx) - trzeba zachowac odpowiednie czasy (i to spore) po zapisie kazdego bajtu, inaczej bedzie (albo nie ) losowa kaszana.
Wydluzenie czasu produkcji to moja czysta i wymierna strata.
Pozdroofka, Pawel Chorzempa
U¿ytkownik "Piotr "PitLab" Laskowski" snipped-for-privacy@pulapka.wp.pl> napisa³ w wiadomo¶ci news:fq5m3r$2df$ snipped-for-privacy@node1.news.atman.pl...
Witam. Jedno malutkie pytanie mam gdzie ozna znalezx zetaw igiel na sprezynkach do programatora ?
Michal M
Kupowa³em w Semiconie:
U¿ytkownik "A. Grodecki" snipped-for-privacy@adresu.com napisa³ w wiadomo¶ci news:fq44j9$pml$ snipped-for-privacy@atlantis.news.tpi.pl...
Co ma wspólnego ATMEL a microchip ? Odrobina ³adu w opluwaniu mikrokontrolerów dla potomnych czytaj±cych, potrzebna :-) Co do zak³óceñ. Sugerujê popstrykaæ w pobli¿u procesorów popularnych ATMEL i microchip zapalark± piezoelektryczn±. Ilo¶æ resetów, w ci±gu paru sekund odpowie, który bardziej odporny.
Oj nie, napisalem, ze nie niesadze, zebym potrzebowal wiecej. Czyli jak dla mnie 512kB jest ok:) Po prostu chodzi o to, zeby wykorzystac najstarszy bit adresu do generowania strobu, bez pelnego dekodowania wszystkich linii, co zaweza ilosc uzytecznych zadresow dla pamieci z 16 do 8 MB.
:) dzieki wielkie. Michal M
Szkoda zapalarki ;-) Wiadomo co sie stanie...
Have something to add? Share your thoughts — no account required.
Ask the community — no account required