Ako urobit vlastnu PCI kartu?

Igor Cesko (Igor Češko) cesko
Středa Březen 17 14:35:28 CET 2004


  Zdravim Vas!

Ta PCI karta - uz davno som si takuto pokusnu chcel postavit . 
Chystam sa na to uz snad rok - a hlavne : navod na jej stavbu a nejake 
skusenosti najdete na http://elm-chan.org/works/pci/report_e.html .
  Skuste sa tam mrknut - kratky clanok ako postavit NON PnP PCI kartu 
zo zopar GAL-mi (16V20). Istotne sa to zide. Je tam aj schema a PLD-
subory do GAL-ov.

 O PCI sa zaujimam uz davno - ale zatial iba teoreticky ;-) . Chybala mi 
specifikacia (ale nedavno som ju odniekal stiahol ;-)  - ma to cca 300 
stran). Ale v sucasnosti sa skor priklanam k USB. PCI ma ale vyhodu 
obrovskej rychlosti (aplikacie kde uz ISA nestiha).
 Tie PCI radice: velmi sa mi pacia obvody od Oxford Semiconductor. 
Su to seriove (UART-y RS232),paralelne brany (EPP) prip. uzivatelske 
brany (Local Bus), priamo pripojitelne na PCI. Drivery k nim uz dodava 
vyrobca, takze odpada pisanie vlastneho drivera. Mimochodom - 
pouziva ich Tedia vo svojich RS232/422 PCI kartach. Co si uz date za 
tento cip - to uz je na Vas: napr. jednocipak napojeny seriovou linkou 
do tohto obvodu (sice to bude pomale, ale ako nahrada ISA zbernice to 
staci). Nevyhoda - ako vsetky PCI obvody tohto typu - su to stonohace 
(amatersky tazko experimentovat).

  S pozdravom
                                      Igor


On 31 Aug 2002 at 0:53, MK wrote:

> Simone, jsi splhoun a pokud si myslis, ze se vyvliknes, tak nedoufej. Po
> tomhle mazani medu te budu dlouho uhanet :-)) Pokud tu diplomku najdes, rad
> se na ni podivam - vzdy me zajimaji reseni jinych
> 
> Ale vazne. Pred par dny jsem tu jiz neco nastinil, Simon to nyni dost
> doplnil. Takze, pokud bude stacit prosty Read a Write, pripadne i s
> BurstTransferem, zapomene se na PnP, DMA, IRQ(INT), JTAG a dalsi lahudky,
> lze postavit PCI kartu relativne nenakladne a snadno. Jedna se vlastne pouze
> o oddelovace, adr dekoder, I/O obvody (latche, registry, oddelovace) a velmi
> jednoduchy stavovy automat - vlastne vse se necha postavit na klasicke
> logice - je to sice par obvodu, ale levne. Podle meho nazoru je
> nejjednodussi, nejrychlejsi a nejlevnejsi cesta pres CPLD od Xilinxe.  Co se
> tyka SW, zde je to ponekud komplikovanejsi. Pod W95/98/ME je to snadne, pod
> NT/2000/XP trochu slozitejsi, ale stale resitelne pres univerzalni drivery.
> Nejvetsi problem je ale v konfiguraci - je treba nastavit takovou adresu,
> ktera nebude kolidovat s PnP kartamy nastavenymi systemem. To znamena, ze
> budete muset svoji kartu instalovat jako posledni, pripadne, pokud pridate
> dalsi PnP, muze dojit diky systemu ke kolizi.
> 
> Existuji i dalsi cesty - pouzit CPLD/FPGA a implementovat nektere volne
> PCIcore, naleznete ho bud primo u vyrobce Xilinx, Lattice, Altera, Atmel,
> nebo na OpenCore, OpenIP, etc Zde jsou jiz implementovany slozitejsi a
> komplexnejsi funkce.
> 
> 
> Pokusim se do pondelka sesmolit clanecek o konstrukci takoveto jednoduche
> karty a dat ho na mcu. Odskousel jsem si to s XC95144XL - CPLD za cca 300,-
> Nejvetsi problem bude mechanika - deska plosnych spoju. Pokud vim, tak
> univerzalku u nas nikdo nedela ani nedovazi - ale mozna se pletu.
> 
> A na zaver - napriklad klasicka POS PCI karta se necha postavit na jednom
> CPLD, par odporech a 7segmentovych zobrazovacich - naklady cca 500,-
> 
> S pozdravem
> MK
> 
> http://bazar.mcu.cz
> http://www.mcu.cz
> 
> >
> > Pred asi 8 mesici sem jeden z kolegu ucastniku daval link do uschovny, kde
> > nechal v ps svoji diplomku, ktera se konstrukci jednoduche PCI zabyvala,
> > mozna nektery z pritomnych ji zasle, mam ji take nekde zakutanou :)
> > Jinak neklesejte na mysli, nejste sam, kdo ma se shanenim informaci
> > problemy. Jiz sehnat PCI specifikaci, aby si udelal clovek predstavu jak
> PCI
> > bus vubec slape byl kus prace.
> > V amaterske konstrukci si musite uvedmit co od toho cekate. Pokud se
> vzdate
> > PnP (a obsluhy linky #LOCK), kanalu kontroly chyb, kanalu JTAG a podpory
> > chacheovani, lze cosi jednoducheho vytvorit na bazi univerzalnich PCI
> radicu
> > (kterych je docela dost, viz muj prispevek Tomasi Svobodovi z 29.8.2002,
> > 14:12) a nebo FPGA/CPLD, coz by asi nejlepe poradil zdejsi expert s velkym
> > E, Milan Kostomlatsky. Pri slibu propagace a castych navstev jeho webu Vam
> > jiste pomuze :)))).
> > O 64 bitovem prenosu a nebo 66 MHz ani neuvazujte, to je amatersky, jak
> jsme
> > vysledoval, mimo misu :(.
> > HotPlug a podpora PCI-X uz dokonce z rise snu.
> > Navrhuji Vam nasledujici postup:
> > podivejte se po webu po integracich od PLX (PCI9050, PCI9052 atd.),
> Infineon
> > (PSB4610) a nebo ICE Ensemble (Envy24) a z nich vyrobenych univerzalnich
> > deskach - leccos napovi. Cela experimetalni PCI karta na bazi Lattice
> > ispLSI1032E vysla v Elektoru (2) 16 (2001), ale vubec se mi ta konstrukce
> > nelibi, ale je to muj subjektivni nazor. Obvody od Xilinxe Vam poradi
> nejlep
> > Milan.
> > Behem vyberu se podivejte, zda a jakou podporu ma ten ktery obvod v
> > driverech a jinem balastu, ktery pozdeji ocenite. Pokud ovladate tvorbu
> > driveru (Cko), mate vyhodu, ja Cko neznam, tak jsem odkazan na Jungosoft a
> > jejich Kernel a WinDriver (doporucuji se s produkty seznamit, maji plnou
> > podporu nejen PCI9050 a PCI9052 chipu a podle toho si vyberte !). Pokud
> mate
> > rad Delphi, lze doporucit bud TVicHW32 a nebo novou konkurencni
> alternativu
> > TetaPCHW, obsluze PCI minimalne pomohou (pamet, I/O atd.), nevyhodou je,
> ze
> > to jsou sharewary a c*r*a*c*k*y nejsou. Pokud ovsem zvladate cestu
> > driver-vysokourovnova aplikace sam, je to zbytecne.
> > Pokud se rozhodnete nasledovat specifikaci (tedy predevsim PnP bude),
> > nezoufejte, struktura pametoveho prostoru rozsirovaci ROM je jednoducha a
> > presne definovana, jak ji znate treba z USB aj. (koneckoncu i ISA PnP
> ...).
> > Na PCI karte je nutne mechanicky vytvorit konfiguraci 3,3 V kvuli
> > kompatibilite s novejsimi PC (tzv .klice) a elektricky kvuli identifikaci
> > prikonu desky (linky #PRSNTx). Svevolne nelze kamkoliv umistit PCI radic,
> > jinak bez osetreni chyb (a tomu bych se radeji vyhnul - viz uvedeny
> > kontrolni kanal) nebude karta vubec a nebo spravne fungovat. Je take treba
> > zvazit vyuziti linky DMA, ktera neni explicitne v PCI specifikovana.
> > Existuji jeste dve dalsi reseni jak si PCI kartu postavit a nezabrednout
> do
> > nechutnych komplikovanosti protokolu. Za prvne je to PCI-ISA redukce a za
> > druhe PCI kodek. V prvem pripade je to mozne postavit opet na sqele
> > podporovanem PCI9050 (plne schema konstrukce je na webu
> > www.designnotes.com/CIRCUITS/PCItoISA.htm ), vyhodnejsi je pouzit spickovy
> > integrovany obvod k tomu urceny PCI-ISA-001 (vyrobce ISS-US), ale dosud se
> > mi nepodarilo sehnat ani sample (ackoliv je prilozeny formular) ani ho
> > objednat, presto je to zrejme NEJJEDNODUSSI varianta, jak si postavit
> > jednoduchou PCI amatersky. Druhou moznosti je vyuzit PCI kodeku. Jakou to
> ma
> > vyhodu ? Za prve, vyrobci dodavaji hotove drivery. To bylo nic zvlastniho,
> > ale komunikace s kodekem se deje prostrednictvim dll woken a k nim jsou
> > nejen vyborne dokumentovane API (multimedia, viz treba znama bichle
> Petzold:
> > Programovani ve Windows Win32 API v cestine), ale take primo rozhrani
> treba
> > pro Delphi (mmsystem.pas !!!). Cili ke komunikaci vlastne nepotrebujete
> nic
> > nez psat vlastni ridici soft pod Delphi - pokud byste s kartou chtel
> merit,
> > ridit a ovladat, kodeky maji 16 bitove a vyssi rozliseni s fs az 196 kHz a
> > to si myslim je pro bezne ucely pekne (za cenu jednoduchosti). Takove
> > kodeky, ktere staci placnout na desku jsou: YMF754 (Yamaha), ALS4000
> > (Realtek), CMI8738 (C-Media). Ani to vsak neni posledni moznost. V
> > soucasnosti se zacali objevovat primo univerzalni rozhrani na PCI - jakesi
> > multiradice ! Podivejte se po ALS300 nebo Envy24.
> > Abych nebyl surovec&lakomec, mohu Vam dokonce nabidnout (pri notnem
> utajeni
> > :)) ) vlastni preklad PCI specifikace, ktery jsem dokoncil zhruba pred
> > mesicem.
> > To je asi tak vse co by jste do zacatku mel prozkoumat.
> > Apropos ... nebylo by jednodussi skusit treba AMR kartu ? Jeji vyvoj je
> > opravdu banalni. Pokud by Vas to zajimalo, muzeme mimo konferenci
> pohovorit.
> > Preji hezky den, Simon Cihelnik
> >


-------------------------
Ing. Igor Cesko
Hardware & Software
http://www.cesko.host.sk
E-mail: cesko@internet.sk

Applied Precision Ltd.
Technicka 5
821 04 Bratislava
SLOVAKIA
Tel,Fax: +421-2-4342 6628
Tel:     +421-2-4363 3151
Tel:     +421-2-4333 7340
E-mail:  info@appliedp.sk
Web:     http://www.appliedp.sk
-------------------------





Další informace o konferenci Hw-list