SuperIO expander s W83627HF na LPC

      26.11.2017 Na moderních základních deskách postrádám klasická rozhraní COM a LPT, která dnes implementuje jen pár výrobců (zejména Gigabyte) a to na velmi omezeném počtu modelů MB (nepočítám-li drahé industrial MB). Tomu jsem také podřídil výběr desky při posledním upgradu PC a koupil levnou bazarovou Gigabyte GA-P67-DS3-B3. Ještě horší je situace s řadičem disket (FDC), který přestali osazovat všichni výrobci. Resp. FDC je stále přítomen ve většině používaných SuperIO čipů (včetně mého ITE IT8728F), jen se návrhářům nechce potřebné piny vyvést na konektor za pár centů...
      Rozhodl jsem se tedy postavit si vlastní expanzní destičku s druhým SuperIO čipem, která se k MB připojí pomocí LPC sběrnice (sériová ISA). Na většině MB je totiž LPC vyvedena na snadno přístupný TPM header. Jako sekundární SuperIO čip jsem zvolil Winbond W83627HF-AW, kterých mám pár nakuchaných ze starých P4 desek, příp. se dá běžně koupit na eBay, Aliexpressu, atd. Tento SuperIO čip umožňuje po zapnutí nastavit alternativní I/O adresu 4Eh pro konfigurační registr pomocí pull-up odporu na pinu HEFRAS (51), aby se nepomlátil s onboard SuperIO, který sídlí na I/O adrese 2Eh. Schéma vychází z demoboardu v datasheetu, které jsem si trochu zjednodušil.

LPC W83627HF schema 1.0

      Problém je, že na TPM není vyvedeno napájení 5 V, které si tam však můžu snadno dodrátovat na nezapojený pin třeba z USB headeru nebo dovést přímo PC zdroje. Horší je, že tam chybí signál LDRQ# (LPC DMA request), který zrovna využívá FDC v DMA režimu. V registru SuperIO CR74, bit 2:0 lze zápisem hodnoty 4 - 7 nastavit režim bez DMA, ale je otázka, jak se s tím popere BIOS či OS. Když bude nejhůř, můžu signál LDRQ# sebrat onboard SuperIO (ten by ho mohl využít jedině pro LPT port v režimu ECP, což nepotřebuju, stačí mi EPP) a přidrátovat ho na další nezapojený pin TPM headeru. Jestli se mi to vůbec podaří nainicializovat a rozchodit je zatím velká otázka, proto jsem se s HW příliš nesral, jde o první ověřovací prototyp. Desku jsem v sobotu zaroutoval a poslal do výroby čínskému JLCPCB, které nabízí výrobu 5 dvouvrstvých prokovených desek 10 x 10 cm za úžasnou cenu 2 $, s dopravou obyč airmailem (15 - 30 dní) to vyšlo na 218 Kč (platil jsem přes PayPal). Tak snad se toho dočkám do Vánoc...

LPC W83627HF PCB 1.0 LPC W83627HF PCB 1.0 GERBER preview

      2.1.2018 Tak mi konečně dorazily ty plošňáky z JLCPCB, celkem 6 kusů. Kvalita je na první pohled stejná jako třeba u PragoBoardu, nenarazil jsem na žádný problém. Zásilka dorazila do ČR už před Vánoci, ale zasekla se na celní poště na Plzeňské. Součástky jsem měl už nachystané a tak jsem se hned pustil do osazování. Šlo to docela rychle, za večer bylo hotovo. Z konfiguračních odporů jsem osadil R24 (zařízení v SuperIO nebudou mít po zapnutí inicializované legacy I/O adresy) a R25 (výběr konfigurační I/O adresy SuperIO 4Eh), aby nedošlo ke kolizi s onboard SuperIO IT8728F.

manufactured LPC W83627HF PCBs assembled LPC W83627HF PCB

      20.1.2018 Teprve dnes jsem se dostal k připojení osazené destičky do PC a neobešlo se to bez problémů. Nejprve jsem musel olámat plastovou ohrádku TPM headeru na základní desce, protože se do něj nevešel konektor plochého kabelu, což se dělalo dost blbě, neboť bylo okolo málo místa a nechtělo se mi kvůli tomu vymontovávat celý MB z bedny. Napájení 5 V jsem vyvedl z nepoužívaného USB headeru. Dále jsem s osciloskopem hodinu bádal nad tím, proč obvod nekomunikuje a nefunguje mu správně krystalový oscilátor, jehož výstup byl podivně zatlumený, až jsem přišel na to, že v zápalu nadšeného osazování jsem na destičku připájel jiný SuperIO čip W83697HF místo W83627HF, který měl vstup OSCIN na jiné noze :) Takže jsem si ještě zablbnul s foukačkou a mikropájkou, osadil správný SuperIO čip a konečně se dostavil pozitivní výsledek. Pod Linuxem jsem pomocí utility isadump přečetl konfigurační registry obou SuperIO:


$ isadump -y -k 0x87,0x01,0x55,0x55 0x2e 0x2f
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 87 28 01 00 00 00 f7 10 00 00 00 48 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00
c0: 01 04 00 40 00 00 00 00 01 04 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 01 01 01 00 00 00 7e
f0: 10 40 00 00 00 00 1c 00 00 00 00 00 80 00 00 00

$ isadump -y -k 0x87,0x87 0x4e 0x4f
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: 52 17 ff fe 81 00 40 ff 00 00 7c c0 ff 30 00 ff
30: 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
60: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
70: 00 ff ff ff 04 ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: 0e 00 ff ff 00 00 ff ff ff ff ff ff ff ff ff ff

      Aby bylo možné registry SuperIO číst / zapisovat, je nejprve nutné ho přepnout do rozšířeného funkčního režimu zápisem klíče - pro SuperIO Winbond to jsou 2 po sobě jdoucí Byte 87h na port 4Eh. Aby pak nemohlo dojít k náhodnému přepisu registrů, opustí se rozšířený režim zápisem 1 Byte AAh na port 4Eh. Ve Windows jsem si se SuperIO popovídal pomocí programu Read & Write Everything, který podporuje i přepínání banků registrů zařízení a rozblikal jsem si LEDky.



Zpět

Aktualizováno 21.1.2017 v 4:57

Sportovní výživa a posilovací stroje Ronnie.cz