pawel
Guest
Sat Mar 24, 2007 10:22 pm
Witam.
Może ktoś już próbował podłączyć procesor avr z karą sieciową pci na
rtl8139?
Mam problem z zapisaniem danych w przestrzeni adresowej I/O (do adresów
konfiguracyjnych pci nie ma problemu działa zapis bitu IOEN w przestrzeni
konfiguracyjnej).
Otóż nie mogę dokonać zapisu pod niektóre adresy I/O.
Np. adres od 0x00 do 0x06 gdzie znajduje się adres mac karty sieciowej zapis
danych nic nie zmienia.
Czy to jest normalne?
Pozrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Sun Mar 25, 2007 12:38 am
Quote:
Może ktoś już próbował podłączyć procesor avr z karą sieciową pci na
rtl8139?
laczylem z FPGA i szybkim 8051( FX2)
tyle ze wersje 8169 czyli gigabit - smiga pieknie
90% rejestrow ma zgodne z 8139
jak masz zamair zaimplementowac busmastering na AVR?
bez tego raczej nei da rady
8139 sam sobie pobiera pakiety z RAMu...inaczej nei da rady - nie wrzucisz
do niego danych jak to sie robilo z 8129
obsluga 8139 w tyrbie C+ jest odpowiednikiem 8169
ja uzywalem FPGA i wewnetrzne bufory w postaci DPRAM
Quote:
Mam problem z zapisaniem danych w przestrzeni adresowej I/O (do adresów
konfiguracyjnych pci nie ma problemu działa zapis bitu IOEN w przestrzeni
konfiguracyjnej).
Otóż nie mogę dokonać zapisu pod niektóre adresy I/O.
Np. adres od 0x00 do 0x06 gdzie znajduje się adres mac karty sieciowej
zapis
nie prosciej zmienic zawartosc eeproma?
mzoesz go przeprogramwoac z poziomu rejestrow karty sieciowej - obejrzyj
zrodla linuxowego drivera - sa gotowe funkcje
Quote:
danych nic nie zmienia.
Czy to jest normalne?
tak, trzeba odblokowac mozliwosc. karta laduje dane z eeproma. Jest bit
ktory odblokowuje zapis.
nazywa sie EEM1:EEM0, ustawasz oba i zapis sie wlacza
znajduja sie w rejestrze 9346CR o offsecie0050H (w 8169, w8139 powinno byc
podobnie, w koncu obsluguje je ten sam driver )
>
Adam Wysocki
Guest
Sun Mar 25, 2007 12:41 am
Spinacz biurowy, pawel <paw1976@poczta.onet.pl>!
Quote:
Otóż nie mogę dokonać zapisu pod niektóre adresy I/O.
Np. adres od 0x00 do 0x06 gdzie znajduje się adres mac karty sieciowej zapis
danych nic nie zmienia.
Czy to jest normalne?
Nie sądzę, żeby zawartość sapromu dało się zmienić przez zwykły zapis do
przestrzeni i/o... Pewnie są do tego specjalne polecenia. W datasheecie
jest napisane, że w ten sposób można?
--
Adam Wysocki * Warszawa *
http://www.chmurka.net/ * GSM: 514 710 213
FidoNet: 2:480/138, SWL: SP5-250730, QTH: KO02MF, CB: 19 Śródmieście
Malo kto chce, aby ktos robil taka laske jak Ty

(C) Greg at appm
-> Zostało zaledwie 1368 dni do końca kadencji Lecha Kaczyńskiego <-
pawel
Guest
Sun Mar 25, 2007 10:09 am
Quote:
jak masz zamair zaimplementowac busmastering na AVR?
bez tego raczej nei da rady
8139 sam sobie pobiera pakiety z RAMu...inaczej nei da rady - nie wrzucisz
do niego danych jak to sie robilo z 8129
Właśnie zamierzem zrobić busmastering. Mam podłączone sygnały REQ i GNT
i wszystkie pozostałe do tego potrzebne. Do karty bezpośrednio podłączyłem
atmega128.
Skoro udało mi się softwerowo zrobić zapis i odczyt w przestrzniach
configuracyjnej i I/O
to nie widzę problemu żeby zrobić busmastering wykorzystując ram w atmedze
albo
jakiś zewnętrzny.
Quote:
nie prosciej zmienic zawartosc eeproma?
Czy to jest normalne?
tak, trzeba odblokowac mozliwosc. karta laduje dane z eeproma. Jest bit
ktory odblokowuje zapis.
nazywa sie EEM1:EEM0, ustawasz oba i zapis sie wlacza
znajduja sie w rejestrze 9346CR o offsecie0050H (w 8169, w8139 powinno byc
podobnie, w koncu obsluguje je ten sam driver )
Czy nie prościej to nie wiem. Wydawało mi się że próbowałem zapisywać
do rejestrów do których dane pobierane są z eeproma podczas startu a nie do
eeproma. Chociaż może jest to zamapowany eeprom, nie wiem spróbuję
odblokowywać bity.
Dzięki za pomoc
Pozdrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Sun Mar 25, 2007 8:08 pm
Quote:
Właśnie zamierzem zrobić busmastering. Mam podłączone sygnały REQ i GNT
i wszystkie pozostałe do tego potrzebne. Do karty bezpośrednio podłączyłem
atmega128.
Skoro udało mi się softwerowo zrobić zapis i odczyt w przestrzniach
configuracyjnej i I/O
to nie widzę problemu żeby zrobić busmastering wykorzystując ram w atmedze
albo
jakiś zewnętrzny.
a ja widze..mzoe byc problem gdy zwolnisz PCi CLK do tych pojedynczych
kilkuset KHz
reszta chiopu pracuje na duzo weikszej czestotliwosci
Nie na darmo przelaczasz go w tryb 22 lub 66MHz
niby jest to synchroniczne, ale przewiduje ze moga wyjsc z tego problemy
pytanie po co meczyc PCI? Chyba ze dla zabawy..
jest cala masa scalakow ktore obchodza sie bez tego:)
np DM9000A - ma pelne 100mbit wraz PHY, prosty interfejs i sam liczy sumy
kontrolne TCP/IP, zadowala sie interfejsem 8 bit
kosztuje ok 13zl. Uzywalem..
jest jeszcze kilka podobnych oraz proce z wbudowanym MAC i PHY 10 lub
100mbit - podpinasz jedynei kwarc i zasilanie, trafo eth i RJ45 i mozesz
psotawic serwer...
kosztuje ok 4..10EUR/szt w zaleznosci od FLASHa i producenta..
warto sie bawic?
szczegolnie ze sa dostepne gotowe implementacje stosow i serwerow
W moim przypadku potrzebowalem wydajnosci gigabitowej, stad pomysl -
koneicznosc PCI..
jednakze walka byla zmudna z powodu bledow w dokumentajci od scalaka -
musialem robic reverse engineering drivera linuksowego
Quote:
nie prosciej zmienic zawartosc eeproma?
Czy to jest normalne?
tak, trzeba odblokowac mozliwosc. karta laduje dane z eeproma. Jest bit
ktory odblokowuje zapis.
nazywa sie EEM1:EEM0, ustawasz oba i zapis sie wlacza
znajduja sie w rejestrze 9346CR o offsecie0050H (w 8169, w8139 powinno
byc podobnie, w koncu obsluguje je ten sam driver )
Czy nie prościej to nie wiem. Wydawało mi się że próbowałem zapisywać
do rejestrów do których dane pobierane są z eeproma podczas startu a nie
do
eeproma. Chociaż może jest to zamapowany eeprom, nie wiem spróbuję
odblokowywać bity.
u mnie dzialalo
pawel
Guest
Sun Mar 25, 2007 10:45 pm
Quote:
moze byc problem gdy zwolnisz PCi CLK do tych pojedynczych kilkuset KHz
reszta chiopu pracuje na duzo weikszej czestotliwosci
Nie na darmo przelaczasz go w tryb 22 lub 66MHz
niby jest to synchroniczne, ale przewiduje ze moga wyjsc z tego problemy
Właśnie trochę mnie to zdziwiło że wogóle da się cokolwiek odczytać.
Atmega chodzi na kwartu 4MHz, a CLK generuję programowo przełączając
jedną z linii portu.
Quote:
pytanie po co meczyc PCI? Chyba ze dla zabawy..
Nikoniecznie. Właśnie teraz masę takich kart można kupić za parę złociszy
bo większość płyt głównych ma zintegrowane sieciówki. Poza tym do scalaków
o których piszesz potrzebne są jeszcze gniazdo, transformatorek, kwarc
jakieś ledy
jakieś rezystorki, pcb. Wszystko kosztuje. A tu już jest gotowiec.
Nie zależy mi szczególnie na prędkości. Jak dla mnie wystarczyłoby i 10Mbit.
A i jakiś najprostszy serwerek http można na tym zrobić. Stos pisałem już
od zera na rtl8019as więc z tym nie byłoby problemu.
Quote:
jednakze walka byla zmudna z powodu bledow w dokumentajci od scalaka -
musialem robic reverse engineering drivera linuksowego
Właśnie znalazlem sterownik 8139too pod linuksa i jest tam mnóstwo
interesującego
kodu.
Quote:
Chociaż może jest to zamapowany eeprom, nie wiem spróbuję odblokowywać
bity.
u mnie dzialalo
I u mnie zadziałało, rzeczywiście trzeba odblokować te bity.
Tylko po restarcie karty wartości i tak nie są zapamiętywane więc
to nie jest raczej zamapowany eeprom.
Pozdrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Mon Mar 26, 2007 1:01 am
Quote:
Właśnie trochę mnie to zdziwiło że wogóle da się cokolwiek odczytać.
Atmega chodzi na kwartu 4MHz, a CLK generuję programowo przełączając
jedną z linii portu.
moga byc problemy przy busmasteringu -obserwowalem dzwne rzeczy gdy
zapodalem do debugowania ok 1MHz zamaist 33 lub 66...
Quote:
pytanie po co meczyc PCI? Chyba ze dla zabawy..
Nikoniecznie. Właśnie teraz masę takich kart można kupić za parę złociszy
bo większość płyt głównych ma zintegrowane sieciówki. Poza tym do scalaków
o których piszesz potrzebne są jeszcze gniazdo, transformatorek, kwarc
jakieś ledy
jakieś rezystorki, pcb. Wszystko kosztuje. A tu już jest gotowiec.
Nie zależy mi szczególnie na prędkości. Jak dla mnie wystarczyłoby i
10Mbit.
A i jakiś najprostszy serwerek http można na tym zrobić. Stos pisałem już
od zera na rtl8019as więc z tym nie byłoby problemu.
boja wiem - duze to wyjdzie jak chcesz cala sieciowke wsadzic..koszt duzego
PCB..gniazdo PCI..
a za cene samego ATMEGA z odpowiednai iloscia pinow kupisz proca z MAC+PHY..
a trafko i zlacze mozesz wylutowac z sieciowki:)
zreszta kosztuja grosze, te zintegrowane
ostatnio caly serwerek www wsadzilem na PCB o wymiarach rzedu 20x30mm
Quote:
Chociaż może jest to zamapowany eeprom, nie wiem spróbuję odblokowywać
bity.
u mnie dzialalo
I u mnie zadziałało, rzeczywiście trzeba odblokować te bity.
Tylko po restarcie karty wartości i tak nie są zapamiętywane więc
to nie jest raczej zamapowany eeprom.
oczywiscie ze nie
do EEPROMu masz specjalny rejestr i programujesz go sterujac jego liniami
danych i zegara bit po bicie zmienaiajc wartosci w rejestrze karty PCI.
W linuksowym driverze masz kod odpowiedzialny za programwoa implementacje
protokolu 93C46
Adam Wysocki
Guest
Mon Mar 26, 2007 5:41 am
Spinacz biurowy, pawel <paw1976@poczta.onet.pl>!
[quote:353d42aed4]Nie zależy mi szczególnie na prędkości. Jak dla mnie wystarczyłoby i 10Mbit.
[/quote:353d42aed4]
To może ISA? Dużo prostsza. Chyba że koniecznie chcesz PCI :)
--
Adam Wysocki * Warszawa *
http://www.chmurka.net/ * GSM: 514 710 213
FidoNet: 2:480/138, SWL: SP5-250730, QTH: KO02MF, CB: 19 Śródmieście
ciezko wsunac pinezke pod kogos juz siedzacego (C) megan @ afhmm 2k3
-> Zostało zaledwie 1367 dni do końca kadencji Lecha Kaczyńskiego <-
PAndy
Guest
Mon Mar 26, 2007 8:41 am
Greg(G.Kasprowicz)
Guest
Mon Mar 26, 2007 9:16 am