logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega32] + avt-1443 (rtl8019as)

hotdog 20 Mar 2009 22:05 3144 6
  • #1 6309679
    hotdog
    Poziom 26  
    Witam. Zakupiłem już jakiś rok temu kit avt-1443, dopiero teraz zachciało mi się nim pobawić.

    Czy to normalne że po podłączeniu zasilania i uziemienia palą mi się diody D3 (czerwona sygnalizująca wysyłanie) oraz D2 (żółta sygnalizująca odbiór danych). Palą się one bez przerwy. Reszta pinów wisi w powietrzu. Po włączeniu zasilania w bitach LEDS0 i LEDS1 są (chyba) zera. Wiec Dioda D1 (sygnalizująca kolizję) słusznie się nie pali.

    Ściągnięcie resetu do Gnd też nic nie daje (diody palą się dalej).

    Po podłączeniu do karty sieciowej też efektu żadnego nie ma.

    BTW powinienem użyć zkrosowanego kabla, czy prostego przy połączeniu bezpośrednio do kompa?

    Ogólnie już próbowałem odpalić to przez uIPAvr, ale zdziwił mnie brak jakiejkolwiek reakcji ze strony układu do tej pory i zastanawia mnie po prostu czy aby na pewno jest sprawny
    pozdrawiam
    ================EDIT======================
    Wrzuciłem plik na inny serwer żeby tej prowizji nie było.

    Nikt mi nie powie czy po podłączeniu zasilania diody TX i RX powinny się palić czy nie?

    pozdrawiam
  • #2 6320244
    hotdog
    Poziom 26  
    Mały progres. Układ w ogóle nie odpowiada w jakkolwiek sposób. Próbuje odczytać z pamięci rtl'a jakąś wartość i dostaje same 0xFF. Piny przy podłączonym zasilaniu wisząc w powietrzu są ustalone w stan wysoki (podciągnięte wewnętrznie w rtl'u do VCC).
    Pin AEN (który jak dobrze rozumiem działa jak chip select) jest podłączony do GND. Jak ustawie linie data na wyjście to na nóżkach rtl'a są prawidłowe dane.

    diody jak się paliły tak się palą... jedyne co mi już do głowy przychodzi, to to że rtl jest posadzony...

    może jakieś sugestie co zrobić? pozdrawiam.
  • #3 6323044
    pixel7
    Poziom 23  
    Witam.

    Też bawię się tym modułem - mam 2 sztuki.
    Podłączam zgodnie z ze specyfikacją załączoną w komplecie - do tego używam wyjścia int - sprawdzam kiedy odebrano dane.
    Niestety mam problemy z oboma. Jeden inicjuje się kiedy chce, drugi ustawia rejestry zawsze źle mimo tego samego programu/procesora. co dziwniejsze na płytce testowej i połączeniach na pająka jest lepiej niż na płytce przygotowanej specjalnie dla tego układu - filtrowane zasilanie itp. Ja używam programu w bascomie -Link. Jest tam przydatna procedura wysyłająca na uart stan rejestrów dla każdej ze stron pamięci rtl-a (Showregs). W przypadku prawidłowej inicjacji otrzymuję:

    
    Realtek 8019as Register Dump
    
    Reg Page0 Page1 Page2 Page3
    
    00 23 63 A3 E3
    01 30 00 46 30
    02 47 C1 60 00
    03 46 20 Ff 00
    04 03 30 40 80
    05 C2 40 Ff 00
    06 6a 50 Ff 00
    07 80 46 Ff Ff
    08 9c C6 Ff 00
    09 40 0a Ff Fe
    0a 50 00 Ff Ff
    0b 70 00 Ff Fe
    0c 21 53 C4 Ff
    0d 7f 00 E0 Fe
    0e 00 58 D8 Ff
    0f 00 11 91 Ff
    


    Wtedy wiem że układ będzie działał. Odpowiada na arp request, pinguje się itp.
    Kombinowałem z czasami, prędkościami zegara, zasilaniem itp. Jednak brak powtarzalności inicjacji uniemożliwia zabawę. W każdym razie po podłączeniu zasilania potrzeba kilka razy resetować procka aby załapał.

    Sam nie bardzo wiem co robić dalej i czy układy nie są uszkodzone.

    Pozdrawiam.
  • #4 6561104
    rmk
    Poziom 12  
    Witam.
    Ja też bawie sie tymi modułami, z tą różnicą że na atmedze128. i w C... U mnie też zawsze palą się dwie diody. A jak macie podłączone moduły do procka? Ja miałem przez zatrzask (mam jeszcze zew. SRAM podłączony) ale nie działało. Wywalenie zatrzasku pomogło, przynajmniej częściowo, mianowicie RTL sie inicjuje ale nie całkiem. Po podłączeniu do kompa jest połączenie sieciowe aktywne ale nie ma żadnej wymiany danych. Przy debuggowaniu program wysypuje się na funkcji odbierania (skoro nic nie odbiera to się nie dziwie...). Podłączam kablem krosowym, ale zastanawiam się czy nie sprawdzić na prostym. Kod, który kompilowałem to jakiś do mmlan2. Bodajże ze strony propoxuLink
    Jeśli coś uda mi się zdziałać, to dam znać :)
    Pozdrawiam i życze sukcesów :)
    P.S. Pochwalcie się nimi :D
  • #5 7234682
    wjeszak
    Poziom 12  
    Witam,
    Odgrzeję trochę temat.
    Używam:
    - Atmega32,
    - AVT-1443 (RTL8019AS),
    - AVRlib.
    Próbuję odpalić przykładowy program "netstack" z folderu "examples". Podłączenie RTL<->Atmega jest następujące (wg. oznaczeń AVT):

    GND -> GND
    +5V -> VCC

    A0 -> PA0
    A1 -> PA1
    A2 -> PA2
    A3 -> PA3
    A4 -> PA4

    A5, A6, A7, A10, A11, A12, A13, A14, A15, A16, AEN -> GND

    A8, A9 -> VCC
    IOR -> PA5
    IOW ->PA6
    RESET -> PA7

    SD7 -> PC7
    .
    .
    SD0 -> PC0

    W rtl8019conf.h:

    
    	// RTL8019 address port
    	#define RTL8019_ADDRESS_PORT        PORTA
    	#define RTL8019_ADDRESS_DDR         DDRA
    	#define RTL8019_ADDRESS_MASK        0x1F
    	// RTL8019 data port
    	#define RTL8019_DATA_PORT           PORTC
    	#define RTL8019_DATA_DDR            DDRC
    	#define RTL8019_DATA_PIN            PINC
    	// RTL8019 control port
    	#define RTL8019_CONTROL_PORT        PORTA
    	#define RTL8019_CONTROL_DDR         DDRA
    	#define RTL8019_CONTROL_READPIN     5
    	#define RTL8019_CONTROL_WRITEPIN    6
    #endif
    
    // RTL8019 RESET pin
    #define RTL8019_RESET_PORT 	PORTA
    #define RTL8019_RESET_DDR 	DDRA
    #define RTL8019_RESET_PIN 	7
    // MAC address for this interface
    #ifdef ETHADDR0
    #define RTL8019_MAC0 ETHADDR0
    #define RTL8019_MAC1 ETHADDR1
    #define RTL8019_MAC2 ETHADDR2
    #define RTL8019_MAC3 ETHADDR3
    #define RTL8019_MAC4 ETHADDR4
    #define RTL8019_MAC5 ETHADDR5
    #else
    #define RTL8019_MAC0 '0'
    #define RTL8019_MAC1 'F'
    #define RTL8019_MAC2 'F'
    #define RTL8019_MAC3 'I'
    #define RTL8019_MAC4 'C'
    #define RTL8019_MAC5 'E'
    #endif
    
    #endif
    


    Po włączeniu zasilania na ok. 1 s zaświeca się D3, MAC jest ustawiany na: 00:42:42:41:43:41 (dlaczego taki?). Używam wewnętrznego taktowania 8 MHz. Układ nie przyjmuje i nie wysyła pakietów. Proszę o przeanalizowanie połączeń, bo wydaje mi się, że gdzieś się po prostu zamotałem :>
  • #7 7235992
    wjeszak
    Poziom 12  
    Tak, bardzo bym prosił e-mail: wjeszak[at]gmail.com. Odczytałem wartości rejestrów:

    Strona 0:
    CR :02
    BNRY: 42
    PSR: C3
    PST: C3
    ISR: 03
    TSR: 43
    RSR: 42
    MMR: pusty
    TR: pusty
    GPI: pusty

    Strona 1:
    CR: 42
    PAR: ABCDA
    CPR: 42

    Czy to są śmieci ? Przestawiłem zegar na 1 MHz, nic to jednak nie zmieniło. Czy może być to sprawa ok. 5 cm przewodów łączących szynę adresową ?

    Odpięcie VCC od pinów A8, A9 powoduje, że diody zaczynają błyskać (tak jakby układ coś odbierał, jednak np. Wireshark nie pokazuje żadnych pakietów od RTL).

    W funkcjach odczytu/zapisu do RTL daję po 2 "nopy" :>
REKLAMA