NM7010A i ATMega 128

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Witam,

Walczę z uruchomieniem układu Ethernetowego na M128 i NM7010A.
Program pisze w Bascom AVR.
Niestety program wiesza mi się przy Config TCPIP.
NM7010A uruchomiłem już z M32 ale chciałem użyć M128.
Pytanie dlaczego to nie działa skoro układ poza M128 jest prawie taki sam?
Poza tym że używająć M32 używałem SCL, SDA i INT0 a w M128 INT0=SCL, więc
używam SCL, SDA i INT2.

Pierwszy raz uzywam M128 i póki co jestem zaskoczony każdą jej zmiana:-)
Zaczynająć od tego że ISP nie idzie przez SPI jak w M32 i niższych.

Może TWI nie działa mi bo jeszcze o czymś nowym w M128 nie wiem?
Czytałem manuala i nie widze nic co by wskazywało że mam gdzieś błąd.

Niestety chwilowo nie mam nic innego pod reką na I2c, żeby sprawdzić
komunikacje np z eeprom.

Może ktoś bardziej doświadczony w M128, ma jakąś sugestie?

Pozdrawiam Michał



Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Zrobiłem prosty test ze zmianą stanu PD.0 i PD.1 co 1s.
Wynik negatywny.
Teraz pytanie czy to problem w konfiguracji M128 czy zdążyłem ubić TWI.
Inne porty w M128 działają bez zastrzeżeń.

Rezonator działa prawidłowo, UART działa działa prawidłowo.

Pozdrawiam Michał





Re: NM7010A i ATMega 128
Quoted text here. Click to load it

A jaki wpływ ma mieć TWI na sterowanie portem IO?? Albo uwaliłeś port,
albo masz skonfigurowany jako TWI i proca g**** obchodzi, co mu
wpisujesz do rejestru PORTD ;)...
A swoją drogą - może uruchom toto na Mega32, ale z wykorzystaniem innego
przerwania (int2, jeśli posiada, albo int1).. to wtedy wyjdzie, czy
winny jest Twój soft, czy coś nie tak z Megą128 (np. uszkodzony
egzemplarz)...

Pozdrawiam
Konop

Re: NM7010A i ATMega 128
Michał pisze:

Quoted text here. Click to load it

Wyłączyłeś tryb kompatybilności z Atmega103?

Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Mam ATMEGA128 Mode.

Przy tescie ze zmiana stanu portów PD.0 i PD.1 wyłączyłem użycie biblioteki
TWI,
więc powinno działać.
Kupiłem właśnie drugą M128 i zabieram się za testy.

Pozdrawiam Michał



Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Biblioteki?? :P... Wiesz, nie wiem, jakiej biblioteki używasz, pewnie ma
ona funkcję w stylu TWI init, ale upewnij się, czy NIE WŁĄCZASZ tego TWI
w jakimś innym miejscu kodu. Dokładniej - rejestr TWCR, bit TWEN (2) ma
być ustawiony na 0. W przeciwnym wypadku rejestr PORTD nie ma wpływu na
stan pinów wyjściowych...

Pozdrawiam
Konop

Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Dla testu napisałem program, który ma tylko zmieniać stan portów PD.0 i PD.1
Ustawione są jako wyjścia, mają pullupy 10k.
Cały czas na wyjściu mam +5V.

Inne porty np PD.5 i PD.6 działają bez zarzutu.

W miedzy czasie kupiłem drugą M128 i uniwesalna PCB.
Objaw ten sam, więc coś w konfiguracji M128 mi krzaczy.

Jeśli chodzi o FuseBity config jest w linku:
http://www.mieciu.pl/M128.JPG

Pozdrawiam Michał





Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Rozumiem, że zmiana z PD0 na PD5 polega po prostu na zmianie linii w stylu:
PORTD |= (1<<0);
na linię
PORTD |= (1<<5);
i że to wystarczy do zadziałania/niezadziałania, tak?? I ze program to w
  sumie prosta pętla i nic więcej w nim nie ma??!!

Quoted text here. Click to load it

Albo w konfiguracji albo w kompilacji ;)... tak swoją drogą -sprawdź
jeszcze raz, dokładnie, od nowa, czy na pewno sprawdzasz właściwe piny,
czy nie masz jakiejś prostej głupoty, czy wgrywasz właściwy plik HEX itp
;)...
Drugie pytanie - czego używasz do programowania?? Programmera jakiegoś,
czy wgrywasz bootloadera?? Bo różnica jest spora - bootloader zapewne
nie robi twardego resetu (chyba, że przez watchdoga), tak więc raz
ustawiony rejestr nie będzie "kasowany" :/... dla 100% pewności
wpisałbym w programie linię:
TWCR = 0;

Quoted text here. Click to load it

Sorry za trochę głupie uwagi, ale z tego co piszesz, to wszystko powinno
działać ;)... dlatego szukam jakiegoś głupiego błędu po prostu...

Pozdrawiam
Konop

Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Oto program testowy:
$regfile "m128def.dat"
$crystal = 8000000

Twcr = 0
Rel1 Alias Portd.0
Rel2 Alias Portd.1
Rel3 Alias Portd.5
Rel4 Alias Portd.6

Config Pind.0 = Output
Config Pind.1 = Output
Config Pind.5 = Output
Config Pind.6 = Output

Do
   Toggle Rel1
   Toggle Rel2
   Toggle Rel3
   Toggle Rel4
   Waitms 1000
Loop


Quoted text here. Click to load it

Robie to niestety w Bascomie AVR, więc plik idzie dobry.
Sprawdziłem ustawienia kompilatora i nigdzie nie ma użytych portów D.

Quoted text here. Click to load it

Dodałem linie TWCR = 0, efekt ten sam.
Wszystkie linie posiadają pullupy 10k.
Uzywam programatora STK200/300.

BTW TWI też mi nie działa, podłączałem pod TWI na zmianę 24C04 oraz NM7010A.
Niestety NM7010A zadziała tylko na TWI, dlatego muszę to uruchomić.
Przy testch TWI używałem pullupów 10k oraz 4k7 - bez efektów.
Jeśli chodziło by o pamięć EEPROM użyłbym innych portów i po sprawie.


Quoted text here. Click to load it

Wielkoktornie używałem M32 i nie miałem nigdy problemów.
Przy M128 zaskoczyło mnie programowanie ISP.
Przyznaję się, że poleciałem bez czytania PDF co przypłaciłem kilkoma
godzinami nad zmianą PCB:-)
Teraz po lekturze PDFa nie widzę przyczyn takiego zachowania ukłądu.

Pozdrawiam Michał




Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Uff uruchomiłem układ.
Napisałem zupełnie nowy program i ruszyły porty PD.0 i PD.1
Dlaczego wczoraj nie chodziły nie wiem, nie bylo tam nic wiecej poza tym co
tu napisałem.

Napisałem też od zera obsługe TWI i wszystko zadziałało.

Dzięki za uwagi i pomoc.

Pozdrawiam Michał



Re: NM7010A i ATMega 128
Quoted text here. Click to load it

Uwaga dla potomnych używających Bascoma do M128 i NM7010A.
Nie wiem dlaczego (nie mam czasu szukać) ale używając INT2 co chwile TWI
wywala się.
Zmieniłem na INT3 i działa super.

Pozdrawiam Michał



Site Timeline