avr i pci rtl8139 początki

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ł

Reply to
pawel
Loading thread data ...

Spinacz biurowy, pawel snipped-for-privacy@poczta.onet.pl>!

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?

Reply to
Adam Wysocki

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

nie prosciej zmienic zawartosc eeproma? mzoesz go przeprogramwoac z poziomu rejestrow karty sieciowej - obejrzyj zrodla linuxowego drivera - sa gotowe funkcje

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 )

>
Reply to
Greg(G.Kasprowicz

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.

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ł

Reply to
pawel

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

u mnie dzialalo

>
Reply to
Greg(G.Kasprowicz

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.

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.

Właśnie znalazlem sterownik 8139too pod linuksa i jest tam mnóstwo interesującego kodu.

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ł

Reply to
pawel

moga byc problemy przy busmasteringu -obserwowalem dzwne rzeczy gdy zapodalem do debugowania ok 1MHz zamaist 33 lub 66...

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

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

Reply to
Greg(G.Kasprowicz

Spinacz biurowy, pawel snipped-for-privacy@poczta.onet.pl>!

To może ISA? Dużo prostsza. Chyba że koniecznie chcesz PCI :)

Reply to
Adam Wysocki

"Greg(G.Kasprowicz)" <Grzegorz.Kasprowicz_usunto snipped-for-privacy@CERN.CH wrote in message news:eu72fv$3fd$ snipped-for-privacy@inews.gazeta.pl...

Nie sa zgodni ze specyfikacja PCI?????

Reply to
PAndy

nie wiem zreszta przebiegi dla busmastering'u wygladaja sporo inaczej niz w datasheet'cie nadal zgodne z PCI, ale tymi z dokumentacji bym sie nie sugerowal mam gdzies zrzuty z signaltap'a , jak ktos jest zainteresowany to moge poszukac

Reply to
Greg(G.Kasprowicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.