SRB
Guest
Sun Jun 18, 2006 12:34 pm
Witam
Od jakiegoś czasu kombinuje z podłączeniem wyświetlacza LCD z telefonu CX65
(Sharp). Źródła mam ze strony
www.superkranz.de/christian/S65_Display/DisplayIndex.html
Wyświetlacz podłączam do płytki testowej z ATMega 162 i oczywiście nie
działa. Prosił bym Was, o wskazanie prawdopodobnego błędu (kilka) jaki
zrobiłem.
Sprzęt
Prowizorka na płytce uniwersalnej, z braku części nie do końca zgodny ze
schematem ze strony. Może w tym tkwi problem. Zasilanie 5V.
- kwarc wbudowany 1Mhz (musi być 16Mhz do testu simple.c?, nie znalazłem
nigdzie stałej do ustawienia MHz),
- linie sygnałowe podłączone tak samo jak na schemacie
http://www.superkranz.de/christian/S65_Display/pics/circuit_orig.jpg
tylko, że w dzielniku napięcia wykorzystałem rezystory 470 i 560 ohm,
zamiast 470 i 610. Przez to napięcie na dzielniku spadło mi z 2,82 do 2,71V.
Czy ten spadek może być przyczyną, że to nie działa? Mogę podkręcić na
2,95V, ale nie wiem jakie napięcie jest bezpieczne dla tego wyświetlacza,
szczególnie, że po podłączeniu wyświetlacza napięcie się na pewno lekko zmieni.
- Linie zasilające z braku stabilizatora 2,9V są także na dzielniku
napięcia 2V9 na 470 i 680 (2,95V) ,a 1V8 na 560 i 470 (2,28V). Wielki grzech
popełniłem tymi dzielnikami?
Połączenia elektryczne są sprawdzone i na 99.9% ok.
Oprogramowanie
Źródła do Sharpa simple_display3. Środowisko to WinAVR w miarę aktualne. Gcc
w wersji 3.4.3.
- zmieniam w makefile typ procesora z ATMega128>ATMega162
- w pliku lcd.h zmieniam wyprowadzenia dla ATM162
LCD_CS PB0 > LCD_CS PB4
LCD_RESET PB6 > LCD_RESET PB0 (wybrałem dowolny wolny)
LCD_RS PB7 > LCD_RS PB1 (jw.)
LCD_MOSI PB2 > LCD_MOSI PB5
LCD_MISO PB3 > LCD_MISO PB6
LCD_SCK PB1 > LCD_SCK PB7
- przy próbie kompilacji simple.c wysypuje mi:
makefile:339: simple.d: No such file or directory
makefile:339: disp.d: No such file or directory
Do czego te pliki są używane? Ja tą linijkę w makefile wyhaszowałem
# Remove the '-' if you want to see the dependency files generated.
Quote:
#include $(SRC:.c=.d)
i ruszyło dalej (nie do końca).
- plik simple.hex wygenerowało, ale wysypało takie błędy:
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O ihex simple.elf simple.eep
/bin/sh: avr-objcopy: command not found
make.exe: [simple.eep] Error 127 (ignored)
Creating Extended Listing: simple.lss
avr-objdump -h -S simple.elf > simple.lss
/bin/sh: avr-objdump: command not found
make.exe: *** [simple.lss] Error 127
Wcześniej parę plików musiałem pokopiować między katalogami, by znajdywał te
pliki. Te mimo kopiowania nie znajduje, albo , źle to rozumie.
Do simple.c dorzuciłem instrukcję zapalającą diodę na jednym porcie i po
wczytaniu programu do procka dioda się zapala, więc chyba dobrze się
skompilował. Więc w czym może być problem?
W dzielnikach napięcia?
W kwarcu?
W programie (konfiguracji itp)?
Za pomoc bardzo dziękuję, nie chcę zbytnio grzebać w podłączeniach, by LCD
nie spalić.
Pozdrawiam
Marek Wodzinski
Guest
Sun Jun 18, 2006 11:54 pm
SRB wrote:
Quote:
Witam
Od jakiegoś czasu kombinuje z podłączeniem wyświetlacza LCD z telefonu
CX65 (Sharp).
- kwarc wbudowany 1Mhz (musi być 16Mhz do testu simple.c?, nie
znalazłem nigdzie stałej do ustawienia MHz),
Na mój gust, to zegar może być pierwszym problemem. Z tego co pisze na
stronie, to czasy przy inicjalizacji muszą być dosyć ściśle zachowane,
więc jak nie zmieniłeś nigdzie w kodzie, że teraz zegar jest inny, to to
będzie pierwszym poważnym błędem.
Quote:
- Linie zasilające z braku stabilizatora 2,9V są także na dzielniku
napięcia 2V9 na 470 i 680 (2,95V) ,a 1V8 na 560 i 470 (2,28V). Wielki
grzech popełniłem tymi dzielnikami?
Ze strony forum niemieckiego na którym dosyć ostro walczą ludzie z tym
wyświetlaczem, mówią że można wyświetlacz zasilić nawet z 3.3V, a te
1.8V też można podciągnąć do głównego zasilania. Dałeś jakieś
kondensatory za tymi dzielnikami?
A może zejdź na 3.3V lub mniej z całym zasilaniem i przynajmniej
pozbędziesz się całego stada oporników (ale to już nie przy 16MHz).
pozdrawiam
majek
--
"If you want something done...do yourself!"
Jean-Baptiste Emmanuel Zorg
T.M.F.
Guest
Mon Jun 19, 2006 8:09 am
Quote:
Od jakiegoś czasu kombinuje z podłączeniem wyświetlacza LCD z telefonu
CX65 (Sharp). - kwarc wbudowany 1Mhz (musi być 16Mhz do testu
simple.c?, nie znalazłem nigdzie stałej do ustawienia MHz),
Na mój gust, to zegar może być pierwszym problemem. Z tego co pisze na
stronie, to czasy przy inicjalizacji muszą być dosyć ściśle zachowane,
więc jak nie zmieniłeś nigdzie w kodzie, że teraz zegar jest inny, to to
będzie pierwszym poważnym błędem.
Tez na to bym zwrocil uwage. Te czasy nie sa az tak krytyczne, u mnie z
kwarcem 8MHz poszlo bez problemow, ale z CLK 16x mniejszym rzeczywiscie
moze juz byc problem. Jednak zwrocilbym uwage na inicjalizacje SPI -
moze w twoim procku wyglada ona nieco inaczej? Sprawdz to w PDFie.
Quote:
- Linie zasilające z braku stabilizatora 2,9V są także na dzielniku
napięcia 2V9 na 470 i 680 (2,95V) ,a 1V8 na 560 i 470 (2,28V). Wielki
grzech popełniłem tymi dzielnikami?
Dzielniki sa ok, powinno dzialac z nimi.
Quote:
Ze strony forum niemieckiego na którym dosyć ostro walczą ludzie z tym
wyświetlaczem, mówią że można wyświetlacz zasilić nawet z 3.3V, a te
1.8V też można podciągnąć do głównego zasilania. Dałeś jakieś
kondensatory za tymi dzielnikami?
A może zejdź na 3.3V lub mniej z całym zasilaniem i przynajmniej
pozbędziesz się całego stada oporników (ale to już nie przy 16MHz).
Dokladnie, tez sprawdzalem to z wyzszymi napieciami i jest ok.
SRB
Guest
Mon Jun 19, 2006 5:08 pm
Marek Wodzinski napisał(a):
Quote:
Na mój gust, to zegar może być pierwszym problemem. Z tego co pisze na
stronie, to czasy przy inicjalizacji muszą być dosyć ściśle zachowane,
więc jak nie zmieniłeś nigdzie w kodzie, że teraz zegar jest inny, to to
będzie pierwszym poważnym błędem.
Dziś popołudniu podłączyłem zewnętrzny kwarc 16Mhz. Dla testów wczytałem
program mrugający co sekundę diodą. Po przełączeniu na zewnętrzny kwarc,
dioda przyspieszyła. Dziwne tylko, że na oko o jakieś 3-4 razy, nie o 16.
Kombinowałem z różnymi ustawieniami i CKSEL i nic nie pomogło. Przy okazji
zablokowałem sobie jednego procka i teraz będę musiał go odblokować.
W googlach wyczytałem, że resetuje się go poprzez danie +12V na reset, ale
czy tylko podpinać te 12V, czy musi być zasilany 5V normalnie?
Quote:
Ze strony forum niemieckiego na którym dosyć ostro walczą ludzie z tym
wyświetlaczem, mówią że można wyświetlacz zasilić nawet z 3.3V, a te
1.8V też można podciągnąć do głównego zasilania. Dałeś jakieś
kondensatory za tymi dzielnikami?
A może zejdź na 3.3V lub mniej z całym zasilaniem i przynajmniej
pozbędziesz się całego stada oporników (ale to już nie przy 16MHz).
Zwiększę napięcia na nóżkach. Do 3.3V będzie i tak daleko, ale o 0,25V
podskoczy.
Pozdrawiam
SRB
Guest
Mon Jun 19, 2006 5:14 pm
T.M.F. napisał(a):
Quote:
Tez na to bym zwrocil uwage. Te czasy nie sa az tak krytyczne, u mnie z
kwarcem 8MHz poszlo bez problemow, ale z CLK 16x mniejszym rzeczywiscie
moze juz byc problem. Jednak zwrocilbym uwage na inicjalizacje SPI -
moze w twoim procku wyglada ona nieco inaczej? Sprawdz to w PDFie.
Co do SPI, na razie jestem laik,ale już w kodzie znalazłem miejsce
inicjalizacji SPI, więc pokombinuje.
Quote:
Dokladnie, tez sprawdzalem to z wyzszymi napieciami i jest ok.
Na wszelki wypadek podkręce napięcie do 2.95V, może pomoże. Docelowo chce to
wrzucić na 74LVC245
Pozdrawiam i dziękuję za opinię.
T.M.F.
Guest
Mon Jun 19, 2006 5:51 pm
Quote:
Dziś popołudniu podłączyłem zewnętrzny kwarc 16Mhz. Dla testów wczytałem
program mrugający co sekundę diodą. Po przełączeniu na zewnętrzny kwarc,
dioda przyspieszyła. Dziwne tylko, że na oko o jakieś 3-4 razy, nie o
16. Kombinowałem z różnymi ustawieniami i CKSEL i nic nie pomogło. Przy
Jestes pewien, ze przelaczyles go na zewnetrzny kwarc, a nie wewnetrzny
generator RC z inna czestotliwoscia?
Quote:
okazji zablokowałem sobie jednego procka i teraz będę musiał go odblokować.
W googlach wyczytałem, że resetuje się go poprzez danie +12V na reset,
ale czy tylko podpinać te 12V, czy musi być zasilany 5V normalnie?
+5V musi miec normalnie. Z tym, ze to +12V sluzy do wprowadzenia procka
w tryb programowania HV (nie wszystkie to supportuja). Do tego
potrzebujesz normalny programator HV.
SRB
Guest
Mon Jun 19, 2006 9:20 pm
T.M.F. napisał(a):
Quote:
Jestes pewien, ze przelaczyles go na zewnetrzny kwarc, a nie wewnetrzny
generator RC z inna czestotliwoscia?
Właśnie tego nie jestem do końca pewien. Grzebałem w Fuse bits przy pomocy
ISP Programmer, a dokładnie w CKOUT, SUT i CKSEL. W tym działającym mam
CKOUT=0
SUT[1,0]=10
CKSEL=1111
Reszty nie ruszałem. Fakt, możliwe, że przestawiłem go na 4Mhz, bo to by
pasowało do częstotliwości mrugnięć. Musze się jeszcze doszkolić,
eksperymentując następnego proca unieruchomię, a to mój ostatni.
...
Przed chwilą odlutowałem kwarca i program nie ruszył, więc chyba korzysta z
niego. Może gdzieś mam dzielnik przez 4 lub przez 8 uaktywniony. Wracam do
lektury.
Quote:
+5V musi miec normalnie. Z tym, ze to +12V sluzy do wprowadzenia procka
w tryb programowania HV (nie wszystkie to supportuja). Do tego
potrzebujesz normalny programator HV.
Zobaczymy. Gdzieś sie nadziałem na opis potraktowania procka przebiegiem
prostokątnym o jakiejś tam częstotliwości. Jutro będę miał więcej czasu, to
go pomęczę.
Pozdrawiam
T.M.F.
Guest
Mon Jun 19, 2006 9:45 pm
Quote:
Właśnie tego nie jestem do końca pewien. Grzebałem w Fuse bits przy pomocy
ISP Programmer, a dokładnie w CKOUT, SUT i CKSEL. W tym działającym mam
CKOUT=0
SUT[1,0]=10
CKSEL=1111
CKSEL wyglada ok. Preskalera zakladam, ze nie ruszales?
Ktorych procedur inicjalizacji uzywasz? Jestes pewien, ze do
wyswietlacza, ktory posiadasz? Ja mam L2F50 i dziala to bezproblemowo.
Jeszcze jedna rzecz - zmieniles stala F_CPU (plik disp.h)? Bez tego
nieprawidlowo bedzie dzialac delay i moze stad problem?
--
Inteligentny dom -
http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.
SRB
Guest
Sat Jun 24, 2006 9:45 pm
SRB napisał(a):
Quote:
Witam
Od jakiegoś czasu kombinuje z podłączeniem wyświetlacza LCD z telefonu
CX65 (Sharp). Źródła mam ze strony
www.superkranz.de/christian/S65_Display/DisplayIndex.html
Wyświetlacz podłączam do płytki testowej z ATMega 162 i oczywiście nie
działa. Prosił bym Was, o wskazanie prawdopodobnego błędu (kilka) jaki
zrobiłem.
Witam!
Wreszcie znalazłem trochę czasu dziś (sesja) i wyświetlacz ruszył!
Przyczyną był ten 0.1%, czyli kable :/ Aż wstyd się przyznać. Na razie
wyświetla obraz uszkodzony, bo "He||| w|||d" (pewnie złe adresowanie
pamięci, bo ostatnich znaków nie ma) i w dodatku bardzo wolno, ale to już
jakiś postęp w końcu. Przynajmniej wiem, że działa.
Rano też kupiłem w Leroyu śrubokręt do komórek i podmieniłem wyświetlacz z
telefonu na ten Sharpa. W komórce oryginalnie mam Epsona, czyli tego
srebrnego pod spodem. Wrażenia:
- sharp na oko ma bledsze kolory
- nie równe podświetlanie, widać snopy światła od podświetlania
- kąty chyba są nieco słabsze.
Wniosek, jak się da, brać Epsona, zamiast Sharpa.
Co do błędów w WinAVR, to też znalazłem prawdopodobną przyczynę. Po
zainstalowaniu programu w domyślnym katalogu c:/WinAVR/ problemów z
nieznajdywaniem plików niema.
Dziękuję za pomoc!