Pawel
Guest
Thu Aug 24, 2006 6:50 am
Witam.
Zrobiłem jakiś czas temu urządzonko dla karty sieciowej ISA z chipsetem
zgodnym z ne2000 na AVR.
Czy próbował ktoś takich rzeczy z kartą PCI?
Po pobieżnym przejrzeniu dokumentacji PCI myślę że dałoby się to zrobić.
Problemem widzę głównie w liczbie wyprowadzeń PCI bo trzeba ich ok. 45ciu.
Na PLD nie za bardzo się znam więc zastosowałbym dwa procki. Z założenia
magistrala PCI pracuje z f=0-33MHz
więc zegar generowałbym programowo powiedzmy z 1MHz.
Chyba opłacałoby się montować w urządzeniach gotowe karty pci, które
kosztują 20zł
zamiast moduły ethernetowe kilkakrotnie droższe?
Co o tym myślicie czy to nie "poroniony" pomysł?
Pozdrawiam
Paweł
PAndy
Guest
Thu Aug 24, 2006 7:20 am
"Pawel" <paw1976@poczta.onet.pl> wrote in message
news:ecjifi$hav$1@news.onet.pl...
Quote:
Witam.
Zrobiłem jakiś czas temu urządzonko dla karty sieciowej ISA z
chipsetem
zgodnym z ne2000 na AVR.
Czy próbował ktoś takich rzeczy z kartą PCI?
Po pobieżnym przejrzeniu dokumentacji PCI myślę że dałoby się to
zrobić.
Problemem widzę głównie w liczbie wyprowadzeń PCI bo trzeba ich ok.
45ciu.
Na PLD nie za bardzo się znam więc zastosowałbym dwa procki. Z
założenia
magistrala PCI pracuje z f=0-33MHz
więc zegar generowałbym programowo powiedzmy z 1MHz.
Chyba opłacałoby się montować w urządzeniach gotowe karty pci, które
kosztują 20zł
zamiast moduły ethernetowe kilkakrotnie droższe?
Co o tym myślicie czy to nie "poroniony" pomysł?
czemu ma byc poroniony? - chodzi za mna to juz od dluzszego czasu, a
karty pci na allegro nie sa drozsze niz 6 - 9zl i raczej innych niz z
allegro nie ma co wstawiac.
Mysle ze takie PCI w sofcie mogloby chodzic po uzupelnieniu kilkoma TTL
z calkiem sensowna predkoscia. Dawaloby to szanse na wykorzystanie kart
VGA czy wlasnie sieciowek...
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 7:35 am
Quote:
Po pobieżnym przejrzeniu dokumentacji PCI myślę że dałoby się to zrobić.
Problemem widzę głównie w liczbie wyprowadzeń PCI bo trzeba ich ok. 45ciu.
Na PLD nie za bardzo się znam więc zastosowałbym dwa procki. Z założenia
magistrala PCI pracuje z f=0-33MHz
więc zegar generowałbym programowo powiedzmy z 1MHz.
Chyba opłacałoby się montować w urządzeniach gotowe karty pci, które
kosztują 20zł
zamiast moduły ethernetowe kilkakrotnie droższe?
Co o tym myślicie czy to nie "poroniony" pomysł?
pomysl IMHO calkiem niezly
jdnakze bez prostego PLD kiepsko to widze..chyba ze kilka TTL, ale to samo
przeciez mzoesz sobie namalowac na TTLach w edytorze schematow PLD i
skompilwoac
ja swoja droga odpalilem juz ponad rok temu serwer bazujacy na karcie PCI
gigabit i procesorze 8051 z szybkim rdzeniem taktowanym 48MHz..
FPGA robilo tylko za konwersje 8bit->32 bit oraz automat realizujacy
transakcje busmaster/ slave PCI. Reszta w sofcie. ICMP mialem ponizej 1ms, a
transfery zapychaly mi siec 100mbit..
PCI chodzi mi na 24MHz
teraz mysle czy nie wykorzystac by w ten sposob sieciowek bezprzewodowych
MINIPCI + ARM
Pawel
Guest
Thu Aug 24, 2006 7:47 am
Quote:
pomysl IMHO calkiem niezly
jdnakze bez prostego PLD kiepsko to widze..chyba ze kilka TTL, ale to samo
przeciez mzoesz sobie namalowac na TTLach w edytorze schematow PLD i
skompilwoac
No niestety nie miałem do czynienia z PLD. Co do schematów
i kompilacji to bym sobie pewnie poradził. Gorzej z wrzuceniem softu bo nie
mam pojęcia
jak to się programuje isp, czy jaki¶ specjalny programator?
Jaki konkretnie układ mógłby¶ polecić co by robił za mostek. Rozumiem że
musiałby
obsłużyć wszystkie sygnały pci ok. 45 + komunikacja z prockiem jakie¶ 10
linii.
Czy nie przekroczy ceny dedykowanego układu pci->isa?
Pozdrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 8:46 am
Quote:
No niestety nie miałem do czynienia z PLD. Co do schematów
i kompilacji to bym sobie pewnie poradził. Gorzej z wrzuceniem softu bo
nie
mam pojęcia
jak to się programuje isp, czy jaki¶ specjalny programator?
programator to zwykly JTAG, mozesz kupic za kilkadziesiat zl lub zmontowac
uzywajac HC244 + kilku rezystorow
szukaj schematow Byteblaster II /MV (Altera) oraz Parallel Cable III
(Xilinx)
Quote:
Jaki konkretnie układ mógłby¶ polecić co by robił za mostek. Rozumiem że
musiałby
obsłużyć wszystkie sygnały pci ok. 45 + komunikacja z prockiem jakie¶ 10
linii.
nie wszystkie, wystarczy wlasciwie AD31..0, BE3..0, FRAME,
TRDY,IRDY,DEVSEL,IDSEL, CLK, RST
reszta w najrpostszym przypadku uzywania karty jako SLAVE jest zbedna
czesc kart pracuje w trybie busmaster, pobierajac sobie samemu pakiety
bezposrednio z RAM, zatem musi miec jeszcze zaimplementowany busmastering i
dodatkowe sygnaly REQ i GNT
caly PCI mi zajal ok 250LE
czyli jednak trzeba dosyc pokazny CPLD lub malutki FPGA
czyli np XC95288 lub XC2C256 ew Spartan 3
z Altery to MAX2 (EPM240 lub EPM570) lub cyclone (EP1C2, EP1C3)
Taki CPLD powinno dac sie juz kupic za klikanascie zl przy wiekszej ilosci.
FPGA powinno dac sie za 20..50zl
Zadanie powinno tez dac sie to zrealizowac ARMem
Ew za pomoca kilku zatrzaskow moznaby skurczyc magistrale AD do 8 bitow..
Quote:
Czy nie przekroczy ceny dedykowanego układu pci->isa?
mysle ze nie, w przypadku uzywania scalakow PLX ilosc I/O jest podobna,
prostsza jest jedna kwtedy implementacja
Same mostki PLX sa dosyc drogie i trudnodostepne
BTW: znacie jakies kosci realizujace WIFI, ale z interfejsem innym niz PCI
lub USB?
najlepiej cos single chip...
Filip Ozimek
Guest
Thu Aug 24, 2006 9:32 am
Greg(G.Kasprowicz) napisał(a):
Quote:
BTW: znacie jakies kosci realizujace WIFI, ale z interfejsem innym niz PCI
lub USB?
najlepiej cos single chip...
Były/s± karty CF/SD do palmtopów z WiFi.
--
Filip.
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 9:57 am
-- >> BTW: znacie jakies kosci realizujace WIFI, ale z interfejsem innym niz
PCI
Quote:
lub USB?
najlepiej cos single chip...
Były/s± karty CF/SD do palmtopów z WiFi.
wiem, lecz ceny troche wysokie..
od 250zl w gore..chociaz pewnie znacznie potanieja..
i na razie ciezko z dokumentacja do nich
ciekawe jakei chipy siedza w kartach na USB...
Pawel
Guest
Thu Aug 24, 2006 10:01 am
Quote:
musiałby
obsłużyć wszystkie sygnały pci ok. 45 + komunikacja z prockiem jakie¶ 10
linii.
nie wszystkie, wystarczy wlasciwie AD31..0, BE3..0, FRAME,
TRDY,IRDY,DEVSEL,IDSEL, CLK, RST
reszta w najrpostszym przypadku uzywania karty jako SLAVE jest zbedna
Przegl±dałem wła¶nie dokumentację do¶ć popularnego RTL8139C
(dużo jest dostępnych kart PCI na tym).
I takmnie zastanowiło czy nie dałoby się wszystkiego zrobić na o¶miu bitach
AD?
Adresy starsze od AD 8-31 podpi±ć przez resystory do masy.
Adresy bazowe w rejestrach konfiguracyjnych ustawić na 0. PCI mówi że
szeroko¶ć przesyłanych danych okre¶lana jest przez bity C/~BE więc jako
inicjator zawsze ustawię na 0001 (0-7).
Offsety wszystkich rejestrów zarówno konfigurayjnych PCI jak i obsługi
ethernetu nie
przekraczaj± 0xFF.
Cały dostęp do pamięci będę robił przez mapowanie I/O (RTL8139C na to
pozwala).
Quote:
czesc kart pracuje w trybie busmaster, pobierajac sobie samemu pakiety
bezposrednio z RAM, zatem musi miec jeszcze zaimplementowany busmastering
i
dodatkowe sygnaly REQ i GNT
RTL8139C również pozwala na wył±czenie obsługi busmaster.
Czy da się tak przez 8 linii A/D?
Czy co¶ mogłem pomin±ć?
Dzięki za pomoc
Pozdrawiam
Paweł
Michał Baszyński
Guest
Thu Aug 24, 2006 10:06 am
Dnia 2006-08-24 11:57, Użytkownik Greg(G.Kasprowicz) napisał :
Quote:
-- >> BTW: znacie jakies kosci realizujace WIFI, ale z interfejsem innym niz
PCI
lub USB?
najlepiej cos single chip...
Były/s± karty CF/SD do palmtopów z WiFi.
A PCIMCIA?
Quote:
wiem, lecz ceny troche wysokie..
od 250zl w gore..chociaz pewnie znacznie potanieja..
i na razie ciezko z dokumentacja do nich
ciekawe jakei chipy siedza w kartach na USB...
najtańsze to niedawna były chyba karty na Ralinkach RT2570
--
Pozdr.
Michał
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 11:06 am
Quote:
-- >> BTW: znacie jakies kosci realizujace WIFI, ale z interfejsem innym
niz PCI
lub USB?
najlepiej cos single chip...
Były/s± karty CF/SD do palmtopów z WiFi.
A PCIMCIA?
wymaga duzej ilosci pinow, karty sa spore..juz lepiej dac mini-PCI chyba
Quote:
wiem, lecz ceny troche wysokie..
od 250zl w gore..chociaz pewnie znacznie potanieja..
i na razie ciezko z dokumentacja do nich
ciekawe jakei chipy siedza w kartach na USB...
najtańsze to niedawna były chyba karty na Ralinkach RT2570
thx, poszukam..
Pawel
Guest
Thu Aug 24, 2006 11:27 am
Quote:
wymaga duzej ilosci pinow, karty sa spore..juz lepiej dac mini-PCI chyba
Na miniPCI polecam karty na chipsecie Atheros. Dodatkowo jest
do nich projekt madwifi dla linuksa.
Pozdrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 3:13 pm
Quote:
Przegl±dałem wła¶nie dokumentację do¶ć popularnego RTL8139C
(dużo jest dostępnych kart PCI na tym).
I takmnie zastanowiło czy nie dałoby się wszystkiego zrobić na o¶miu
bitach
AD?
Adresy starsze od AD 8-31 podpi±ć przez resystory do masy.
Adresy bazowe w rejestrach konfiguracyjnych ustawić na 0. PCI mówi że
szeroko¶ć przesyłanych danych okre¶lana jest przez bity C/~BE więc jako
inicjator zawsze ustawię na 0001 (0-7).
Offsety wszystkich rejestrów zarówno konfigurayjnych PCI jak i obsługi
ethernetu nie
przekraczaj± 0xFF.
Cały dostęp do pamięci będę robił przez mapowanie I/O (RTL8139C na to
pozwala).
podczas konfiguracji (IDSEL) dostep jest IMHO wylacznie 32 bitowy. A musisz
wlaczyc jakos urzadzenie w tablicy deskryptorow, pomijam przypisanie adresu,
mzoe byc 0000
nie ejstem pewien, ale niektore rejestry nie chcialy dawac sie zapiswac 8
lub 16 bitowo (robilem na RTL8169S)
Quote:
czesc kart pracuje w trybie busmaster, pobierajac sobie samemu pakiety
bezposrednio z RAM, zatem musi miec jeszcze zaimplementowany busmastering
i
dodatkowe sygnaly REQ i GNT
RTL8139C również pozwala na wył±czenie obsługi busmaster.
to za malo
karta jakos musi sobie sama skopiowac dane z zewnetrznej pamieci.
Wewnatrz niej definiujesz tylko deskryptory, ktore zawieraja wskazniki do
pakietow w zewn RAM.
Nie zauwazylem nigdzie opcji zapisu bezposrednio do wewnetrznej RAM w
karcie..
8169 jest rozszerzeniem 8139, i 90% rejestrow ma identycznych
Quote:
Czy da się tak przez 8 linii A/D?
Czy co¶ mogłem pomin±ć?
mi przyszlyy do glowy tylko 2 sprawy powyzej..pewnie jest ich wiecej
Paweł
Guest
Thu Aug 24, 2006 3:57 pm
Quote:
RTL8139C również pozwala na wył±czenie obsługi busmaster.
to za malo
karta jakos musi sobie sama skopiowac dane z zewnetrznej pamieci.
Wewnatrz niej definiujesz tylko deskryptory, ktore zawieraja wskazniki do
pakietow w zewn RAM.
Nie zauwazylem nigdzie opcji zapisu bezposrednio do wewnetrznej RAM w
karcie..
8169 jest rozszerzeniem 8139, i 90% rejestrow ma identycznych
Chyba masz rację. Rzeczywi¶cie potrzebny jeszcze RAM i bez obsługi bus
mastra się nie obejdzie.
Z PCI pozostaje tylko rtl8029as zgodny jest z ne2000 i ma wewnętrzny RAM
z tym że z dostępno¶ci± tych kart też może być problem.
Pozdrawiam
Paweł
Greg(G.Kasprowicz)
Guest
Thu Aug 24, 2006 6:51 pm
Quote:
wymaga duzej ilosci pinow, karty sa spore..juz lepiej dac mini-PCI chyba
Na miniPCI polecam karty na chipsecie Atheros. Dodatkowo jest
do nich projekt madwifi dla linuksa.
dobrze, pytanie - czy jest do nich gdzies rozpiska rejestrow albo pelny kod
zrodlowy sterownika?
z teo co spotkalem to niewiele da sie sklecic
Paweł
Guest
Thu Aug 24, 2006 7:14 pm
Quote:
wymaga duzej ilosci pinow, karty sa spore..juz lepiej dac mini-PCI chyba
Na miniPCI polecam karty na chipsecie Atheros. Dodatkowo jest
do nich projekt madwifi dla linuksa.
dobrze, pytanie - czy jest do nich gdzies rozpiska rejestrow albo pelny
kod zrodlowy sterownika?
z teo co spotkalem to niewiele da sie sklecic
Hm. Nie wiele ci pomogę bo nie interesowałem się tym zbytnio.
Może tu co¶ znajdziesz.
http://madwifi.org/
http://sourceforge.net/projects/madwifi/
Z tego co wyczytalem to chyba procesory Atherosa s± wła¶nie na bazie ARM.
http://www.atheros.com/
Co do pinów to chyba jaki¶ standard dla kart miniPCI jest.
Osobi¶cie używam takiej karty typ CM9 z przj¶ciówk± na PCI .
Pozdrawiam
Paweł