Nefungující osciloskop s ATMEGA32 od Vassilis Serasidis

Postavil jsem osciloskop dle
serasidis.gr/circuits/AVR_os … oscope.htm
Vůbec to nemohu rozchodit. Nahrál jsem program, nastavil pojistky podle obrázku, ale display je mrtvý. Display jsem použil RG12864B-BIW-V (v příloze). Atmely moc neprogramuji. Zatím mi vždy stačilo nahrát .hex soubor. Je nutno nahrát i eeprom? (v příloze). Po nahrátí .hexu v AVR studiu mi .eep nahrát nešlo. Zkoušel jsem to nahrát i ze souboru .elf. To už šlo, ale výsledek žádný. HW jsem zkontroloval a přeměřil. Díky za každou radu.

:arrow_right: administrator: přejmenováno z “Osciloskop s ATMEGA32”
RG128x64.pdf (669 KB)

Autor osciloskopu tam má nějaké nesrovnalosti. Z obrázků a i ze schématu vyplývá, že to nemohl programovat přes ISP, ale paralelně v programátoru. MCU je na soklu, ISP je nezapojena. Obrázek nastavení fuses k tomu nejsíš nepatří. Proč je tam zaškrtnuto BOOTRST? Není čím by se bootovalo. Možná proto to nefunguje, reset se nekoná na adr. 0, ale na konec paměti. Rovněž Brouwn-out detection at VCC=2,7V je divné, když to běží na 5V. Nastavil bych 4,3V.

Tak jsem zkusil změnit fuses. Opět bez výsledku. Chyba bude asi v instrukcích čipu displeje. V použitém displeji je čip NT7108, v aplikaci autora je použit displej s čipem KS0108. Když porovnám instrukce čipů tak u NT7108 je u “status read” na DB5 L: display ON a H: display OFF, u KS0108 je to opačně. To asi bude příčina nefunkčnosti displeje. Pokud s tím má někdo zkušenost, mohl by mi poradit? Díky za každý názor.

Tak jsem opět porovnal instrukce obou čipů a jsou shodné. Čítačem jsem proměřil frekvenci na krystalu, ta je v pořádku (16MHz). Na jednotlivých výstupech na display nšjaká data jsou. Teď už vážně nevím, kde by chyba mohla být.

Téma nefunkčního displeje již bylo ve fóru řešeno
viewtopic.php?t=1920&start=0&postdays=0&postorder=asc&highlight=display
Cituji: Při zápisu instrukce nebo dat je byte ze sběrnice načten při sestupné hraně kladného impulzu na vývodu E, Který by měl trvat alespoň 450ns. Upozorňuji, že data musí být na sběrnici přivedeny ještě před příchodem vzestupné hrany na E a ne těsně před sestupnou hranou, jak naznačuje graf v datasheetu, jinak při některých konkrétních kombinacích na datové sběrnici dojde k zápisu náhodného bytu do té části LCD, která není vybraná (CSx=0). Trvalo mi hodně dlouho než jsem přišel na to, kde je chyba a na konec se ukázalo, že stačilo data přivést před čelem pulzu na E.

Mohl by se někdo mrknout na zdrojáky, jestli není chyba tam? Ostatním to podle fóra funguje.
serasidis.gr/circuits/AVR_os … _V2.00.zip

:arrow_right: administrator: přiloženy externí soubory
AVR_oscilloscope_V2.00.zip (179 KB)

Jelikož se mi doposud nepodařilo displej na osciloskopu rozchodit, chtěl bych vás touto cestou požádat o překompilování zdrojových souborů na nějakou nižší frekvenci (12MHz nebo 8Mhz). Výstupní soubor v hex. Předem děkuji.

Po předchozím neúspěchu jsem se rozhodl odzkoušet display na jiném projektu (www.urel.feec.vutbr.cz/MIA/2009/pazour/index.html). Výsledek v příloze - některé body jsou zobrazeny navíc, některé chybí a obě poloviny dislpeje jsou přehozeny. Displeje firmy RAYSTAR proto nedoporučuji vůbec kupovat. Datasheet je pouze snem výrobce.

AK sedia prikazy dispelja co by mali… tak pricinu chybaJU cich bodov pripdadne body naviac… je bud nekerektna rychlost komunikacie, nevhodne napetie na displeji alebo nevyfiltrovane, pripadne dlhe vodoce k displeju, otazkou je aj priebeh impulzov na zbernici. Ale najskor by som rieil casovanie prikazov displeja…

Všem děkuji za rady. Jak jsem již psal, chyba byla použít display s údajně kompatibilním řadičem. Po připojení displeje s řadičem KS108 firmy ATMEL je osciloskop plně funkční. Pokud někdo přijde na to, jak nastavit časování pro výše uvedený displej RG s řadičem NT7108 (datasheet s KS108 je stejný), může dát vědět. Ostatním radím displeje firmy Raystar nekupovat.