SBC (jednodeskové počítače) x86

      24.8.2015 SBC (Single-Board Computer) neboli jednodeskový počítač je kompaktní počítač s integrovanými periferiemi na jedné desce plošných spojů, obvykle učený pro embedded (vestavěné) aplikace, např. různé automaty či pro řízení průmyslových strojů a v dopravě. Důraz je kladen hlavně na spolehlivost místo výpočetního výkonu. Zde se budu zabývat SBC kompatabilními s x86 PC, jiným architekturám jako např. Raspberry Pi se věnuju zde.

Octagon Systems 6030 & 6040

      Od jednoho kamaráda jsem dostal výměnou malý SBC Octagon Systems 6030 v originální krabici s disketou, který kdysi sloužil na nádraží v Jesenici pro zobrazování jízdní řádů. Ten je založený na SoC ALi M6117 (kompatabilní s intel 386SX, max. 40 MHz), který díky integrovanému chipsetu a dalším periferiím ušetří hodně součástek a místa na desce. Dále obsahuje 2 MB DRAM; 1 MB FlashROM SSD s operačním systémem Datalight ROM–DOS 6.22, 128 kB SRAM SSD pro uživatelská data (zálohovaný baterií), 768 B EEPROM, watchdog, řadič disket, LPT a COM porty a rozhraní PS/2. Pro napájení není třeba klasický PC zdroj, ale stačí jediné napájení 5 V / 1 A max. (typ. 490 mA). Tento SBC může fungovat zcela samostatně nebo ho lze zastrčit do pasivní ISA backplane a připojit tak další karty. Pro vývoj přijde vhod zejména VGA, jinak se dá SBC ovládat po sériové konzoli na COM1.

Octagon Systems 6030 386SX-top Octagon Systems 6030 386SX-bottom Octagon Systems 6030 386SX in backplane
6030 top 6030 bottom 6030 v backplane

      24.8.2019 Na radiojarmarku v Holicích se mi podařilo koupit další velmi podobný SBC Octagon Systems 6040 za 30 Kč, který pocházel z nějakého sítoťiskového stroje. Oproti modelu 6030 se liší různou výbavou I/O portů (méně sériových portů, více digitálních portů a navíc 8 analogových vstupů a 2 analogové výstupy) a poloviční velikostí RAM (2 MB).

Octagon Systems 6040 386SX-top Octagon Systems 6040 386SX-bottom
6040 top 6040 bottom

      2.2.2021 Abych mohl s SBC pohodlněji komunikovat, vyrobil jsem si podle pinoutu konektoru J2 v manuálu vlastní breakout board, který vyvede potřebné I/O signály na standardní konektory PS/2 pro připojení klávesnice a LPT port na Cannon 25F a ještě jsem přidal buzzer. Plošňáky jsem nechal vyrobit spolu s dalšími u JLCPCB. Připojil sem PS/2 klávesnici a po zapnutí systém nabootoval i s původním ovládacím software, který si stěžoval na chybu komunikace s chybějící periferií.

breakout board schematic breakout board PCB layout Octagon Systems 6030 with my breakout board
breakout board-schema breakout board-PCB layout breakout board

iEi PCISA-158HV

      12.11.2022 Od kamaráda Tomáše jsem dostal další, poněkud novější SBC iEi PCISA-158HV se Socketem 7 pro CPU řady intel Pentium (MMX), AMD K5/K6, Cyrix 6x86MX, atd. v nefunkčním stavu. Deska je založená na chipsetu SiS 5598 s integrovanou SVGA, která může pracovat až s 4 MB sdílené paměti. Do dvou 72-pinových SIMM slotů lze osadit až 128 MB FPM/EDO DRAM. Dále obsahuje 512 kB L2 cache, standardní řadič disků UDMA33 a disket, LPT, COM a USB porty, 2 porty PS/2 pro klávesnici a myš, watchdog a DIL socket pro DiskOnChip SSD. Deska byla osazená keramickým CPU intel Pentium MMX 166 MHz a 2 SIMM o kapacitě 32 MB RAM. CPU i RAM jsem přezkoušel v jiném MB a jsou funkční.
      Tento SBC nemá samostatný napájecí konektor, ale připojuje se do backplane přes hranový konektor PISA, z nějž se i napájí. Takový backplane bohužel nemám, ale zdá se, že slot je fyzicky stejný jako pro starou sběrnici EISA. Jeden takový slot mám v zásobě vypájený, takže by šel vyrobit nějaký provizorní backplane. Pro účely testování jsem připájel drátky přímo na piny VRM modulu (připájený k hlavní desce přes 12-pinový header), jehož zapojení je v tabulce níže. Pro správnou funkci je nutno připojit jak +5 V tak +12 V napájení pro MOSFET gate drivery. Po zapnutí napájení se akorát rozsvítila červená LED a jinak nic, ani pípnutí.
      Po sundání chladiče z CPU jsem bohužel zjistil, že ZIF Socekt 7 je poškozený - někdo utrhl celou horní část s aretovací páčkou. Začal jsem tedy shánět nějaký vadný MB, z kterého bych náhradní socket vypájel a přehodil. Na bastlírně se mi pár dobráků ozvalo a od jednoho jsem dokonce dostal 2 další podobné SBC iEi ROCKY-518HV (viz níže) ve funkčním stavu, takže to by byl hřích je ničit. Mezitím se mi s pomocí předehřevu, horkovzdušky a maskováním alobalem podařilo poškozený socket vypájet. Cín ze všech prokovů jsem odsál pomocí vyhřívané odsávačky.

iEi PCISA-158HV-top iEi PCISA-158HV-bottom iEi PCISA-158HV-damaged ZIF socket 7 iEi PCISA-158HV-desoldered ZIF socket 7
PCISA-158HV top PCISA-158HV bottom poškozený Socket 7 odpájený Socket 7

      7.1.2022 Nakonec jsem sehnal náhradní socket od Danharda z bastlírny, který mi ho i ukázkově vypájel. Pak už nebyl problém strčit nový socket do odsátých prokovů a připájet těch 321 pinů. Také jsem vyměnil 7 elytů okolo socketu, neboť byly všechny vyschlé (kupodivu bez nafouknutí, značkové Sanyo). Když jsem desku znovu zapnul, tak pořád nic.

      12.1.2022 Všiml jsem si, že CPU téměř netopí a když jsem proměřil napájení, zjistil jsem, že mu chybí Vcore, resp. má dost nezdravě nízkou hodnotu jen asi 0,7 V a odběr z 5V větve je asi 1,1 A. Při bližším pohledu na VRM jsem zjistil, že na jeho spodní straně je vystřelený tantalový kondenzátor. 12-pinový header VRM šel vypájet pěkně blbě, musel jsem dlouho foukat horkovzduchem. Rozprsklý C13 filtroval 5V napájení a sousední C11 filtruje 3,5V výstup. Oba jsem vyměnil za nové tantaly 100 µF a 220 µF. Vyměnil jsem též totálně vyschlý elyt TC3 (Sanyo 1000 µF / 6,3 V, 105°C - měl asi 1 nF) filtrující 5V napájení. Na pravé straně jsou vidět plošky pro neosazený tantal C12 filtrující spolu s TC1 a TC2 (Nippon 330 µF / 6,3 V - ty byly OK) Vcore výstup. Na jeho místo jsem připájel větší MLCC keramiku 68 µF. Na hlavní desce jsem vyčistil opálený flek, naštěstí to bylo bez následků. Opravený VRM jsem napře vyzkoušel samostatně na zdroji a pak zapájel header zpět do desky. I se zátěží dává Vcore stabilně 2,8 V. Proudový odběr se zvýšil na 2,2 A z 5 V a z 12 V to bere 38 mA. CPU začal hřát podobně jako v jiném MB, ale bohužel stále bez jakékoliv známky života. Tak doufám, že není odpálený BGA chipset. Zde je zapojení pinů VRM:

pin popis
1, 2, 3 2,8 V-core (out)
4, 5 3,5 V (out)
6, 7, 8 GND
9, 10, 11 5 V / 4,6 A max. (in)
12 12 V / 70 mA (in, gate driver)

iEi PCISA-158HV-desoldered VRM VRM-top VRM-bottom
odpájený VRM VRM top VRM bottom

      Další na řadě zkusím proměřit osciloskopem PLL obvod ICS9159CM-14 a aktivitu na sběrnici.

iEi ROCKY-518HV

      13.12.2021 Jak jsem zmínil výše, dostal jsem tyto 2 pěkné SBC iEi ROCKY-518HV (verze 4.0 a 4.1) na díly jako dárce socketů, ale jelikož se ukázaly jako funkční, tak je samozřejmě rozebírat nebudu. Mají také výhodu v tom, že hranový konektor je klasická 16-bitová ISA, takže můžu použít svůj backplane na kterém jsem testoval SBC Octagon Systems. Navíc mají tyto desky i sběrnici PC/104, do které by šla zastrčit OpenHW zvukovka s CS4237B od Rasteriho, což by tvořilo pěkně kompaktní retrogaming PC celek. Nevýhodou zas je, že nemá PCI sběrnici pro připojení lepší SVGA či 3D akcelerátoru. Na jedné desce byl též 2MB DiskOnChip MD2200-D02 s MS-DOSem 6.22. Při prvním zapnutí se SBC taky tvářily mrtvě. Na POST kartě zůstal viset kód 07h (CMOS RAM test & battery test) a pak mi došlo, že v DIL patici chybí Dallas RTC čip DS12887A. Tak jsem nějaký vyštrachal ze šuplíku, zastrčil do patice a už to vesele bootovalo...

iEi ROCKY-518HV-top iEi ROCKY-518HV-bottom
ROCKY-518HV top ROCKY-518HV bottom

Dr. Berghaus PC/104 520 v1.01

      15.2.2023 Uživatel rEVERz z fóra Oldcomp.cz mi věnoval tento vyřazený průmyslový SBC ve formátu PC/104 založený na SoC AMD Élan SC520-133AC. Je to v podstatě vylepšená 486 (jádro Am5x86 s 16 kB L1 cache) běžící až na 133 MHz s nízkou spotřebou (stačí pasivní chlazení), která v sobě integruje řadič pamětí SDRAM (na desce je 32 MB), řadič sběrnice PCI a další periferie. Velmi kompaktní celek pak dotváří externí grafický čip, SuperIO a ethernet. Snažil jsem se dopídit nějaké dokumentace k tomuto SBC od německé firmy Dr. Berghaus GmbH, ale neúspěšně. Avšak našel jsem velmi podobný SBC od Kontronu PC/104-520, který má sice jiné rozložení čipů na desce, jiný grafický čip LynxEM+ a jiný BIOS, nicméně rozložení a pinout konektorů odpovídá téměř přesně. Možná to i Kontron s mírnou úpravou vyráběl pro Berghause jako OEM.

Přehled parametrů:

SoC: AMD Élan SC520-133AC PBGA388
Am5x86 CPU core, 16 kB L1 cache
Vcore: 2,5 / VIO: 3,3V
Paměť: 32 MB SDRAM
Sběrnice: interní 32-bit PCI 2.2, 33 MHz
externí PC/104 16-bit ISA
SuperIO: SMSC FDC37B787
VGA: Chips M69000 CRT/LCD, 2 MB VRAM, VESA 2.0
Ethernet: intel 82551ER 10/100 BASE-TX
Konektory: 1 x IDE header (44-pin, 2.0mm)
1 x disketová jednotka FFC (26-pin)
1 x CRT RGB header (2 x 5)
1 x Flat Panel header (2 x 25)
1 x SPP/EPP/ECP paralelní port header (2 x 13)
2 x UART 16550 sériový port header (2 x 5)
1 x IrDA header (1 x 4)
1 x Ethernet header (1 x 4)
1 x PS/2 myš header (1 x 4)
1 x PS/2 klávesnice, speaker, reset... header (2 x 5)
1 x napájení +5 V / 1 A, +12 V, -12 V header (2 x 4)
BIOS: Dr. Berghaus System BIOS 1.30
512 kB FlashROM AM29F040B
nastavitelný Watchdog timer
Formát: PC/104 96 x 90 mm

      Abych mohl SBC oživit, musel jsem si spájet redukce na VGA D-SUB 15 (připojený na header J4) a PS/2 na klávesnici (připojený na header J9). Napájení stačí jednoduché 5 V / 1 A (header J15), +12 V a -12 V asi bude třeba jen pro další PC/104 karty, neboť použité budiče RS232 SP211E mají integrovanou nábojovou pumpu a vystačí tak s 5V napájením. Desku jsem zapnul a bez problémů naběhla. Zatím jsem jen prozkoumal SETUP, ještě někde budu muset vyhrabat 44-pinový IDE kablík na připojení disku. Mám tady zrovna jeden roztomile malý 1,8" HDD Toshiba MK6008GAH 60 GB, na který jsem si nedávno vyrobil redukci z flexipásku na IDE-44.

Dr. Berghaus PC/104 520-top Dr. Berghaus PC/104 520-bottom Dr. Berghaus PC/104 520 POST screen
PC/104 520 top PC/104 520 bot PC/104 520 POST

      Jediné, co tak tomuto SBC chybí k plné parádě, je Sound Blaster kompatabilní zvuková karta pro DOSové hry a dema. A zrovna do poslední objednávky u JLCPCB jsem přihodil plošňáky na Rasteriho PC/104 zvukovku založenou na čipu Cirrus Logic CS4237B, takže přijde vhod dříve, než jsem čekal. Aktuálně ji mám už z větší části osazenou, použil jsem soundchip CS4236B-KQ, kdysi vypájený z nějakého MB s onboard zvukovkou či z notebooku. Ten je pinově 100% kompatabilní, akorát nemá nějaké 3D zvukové efekty. Zbylé plošňáky už mají zamluvené další uživatelé z Oldcompu, ale pokud by byl zájem, mohu nechat někdy v budoucnu vyrobit další, až budu zas něco posílat do výroby...

      3.3.2023 Od rEVERze jsem jako bonus dostal originální CF-IDE44 redukci, dříve než jsem se pustil do hledání IDE44 kablíku. Zjistil jsem, že BIOS má nějaký problém s mou 16GB CF kartou Transcend. Sice správně detekoval CHS a kapacitu, ale po uložení nastavení se dokola restartoval, a to ještě dříve, než bylo možné vlézt do SETUPu, takže jsem musel kartu vytáhnout ven. S menší 1GB CF kartou Kingston to už fungovalo bez problémů a nabootoval jsem DOS. Dle CPU benchmarku v Norton SysInfo je výkon CPU asi někde na úrovni Pentia 100 MHz.
      Také jsem doosadil plošňák PC/104 zvukovky a provedl první test. BIOS její přítomnost detekoval během POSTu ve výpisu Plug&Play zařízení, ale neměla přiřazené žádné prostředky. Zkusil jsem ji narychlo zinicializovat programem Unisound 0.80a, který podporuje celou řadu ISA zvukovek. Program vypsal nastavení IRQ, DMA, portů a mixéru dle očekávání, ale v Doomu zvukovka vůbec nezvučela. Akorát po zapnutí SBC bylo slyšet ve sluchátkách lupnutí, takže signálová cesta je asi OK. Myslím, že problém bude v nenaprogramované EEPROM. Zatím nevím, co tam nahrát.

Dr. Berghaus PC/104 520 with CF card PC/104 Soundcard-top PC/104 Soundcard-bottom Norton SysInfo CPU benchmark
PC/104 520 + CF PC/104 snd top PC/104 snd bot CPU benchmark

      Na VOGONS fóru jsem našel kompletní balíček ovladačů pro tuto řadu zvukových čipů včetně DOSového konfiguračního programu resource.exe, který podle nastavení v textovém INI souboru umí naprogramovat EEPROMku na kartě. Program se ovládá přes textové menu. Nejprve je třeba vybrat volbu "Force CONTROL Logical Device Address" - ALT+A a potvrdit I/O adresu 538h. Pak načteme INI soubor volbou "Read File" - R a zadáme jméno soboru (vyšel jsem ze souboru EEPROM\ORIGINAL\pnp37.ini, kde jsem vybral typ čipu CS4236B) a nakonec zapíšeme data do EEPROM volbou "Write & Verify EEPROM" - ALT+E. Aby se z EEPROM načetla nová data, je třeba vypnout a zapnout napájení.
      Na začátku EEPROM je uložená 2-Bytová hlavička 55, BBh, následovaná 2-Bytovou velikostí bloku PnP resource dat, vlastní data a 2-Bytový checksum. EEPROM dále může obsahovat firmware patch data (binární blob) umožňující měnit chování DSP, který se nahraje do interní RAM a použije místo výchozího FW v ROM. Aby se do EEPROM vešel, je třeba použít větší kapacitu - osadil jsem 24C16 (2 kB) místo ve schematu uvedené 24C04 (512 B). FW patch pro čip CS4236B se nachází v balíčku v souboru EEPROM\ORIGINAL\bra12d00.inc a je includovaný v souboru pnp37.ini na řádce "PatchFileName = BRA12D00.INC". Po naprogramování EEPROM mi už BIOS vypsal přiřazené prostředky DMA: 1, IRQ: 15. Po inicializaci DOSovým programem cwdinit.exe se mi IRQ přemapovalo z 15 na 5 (mělo by být volné, LPT zde používá IRQ 7). V Doomu mi fungovala pouze hudba (FM syntéza přes Adlib), ale samplované zvuky nikoliv. Diagnostický program cwdiag.exe mi hlásil chybu u DMA. V INI souboru cwdaudio.ini jsem zkusil změnit DMA na všechny možné hodnoty, avšak bez pozitivního výsledku. S Unisoundem to samé. V BIOSu jsem také zkoušel měnit nastavení DMA a nic nepomohlo. V manuálu od Kontronu je zmínka o jumperu JP1 (2 x 7 pinů), který slouží na mapování DMA signálů DACK0-7 z PC/104 sběrnice na interní signály GPACK0-1. Ten ale na mé desce není. Je tam podobný jumper J21 (2 x 6 pinů s roztečí 2 mm) a i když jsem tam vyzkoušel zasunout jumper na všech 6 pozic, tak se nic nezměnilo. Když jsem zkusil piny headeru propípat proti pinům PC/104 sběrnice, nenašel jsem nikde žádné spojení, akorát pin 1 je spojený s GND, takže možná je to nějaký JTAG konektor...

DOS utility resource.exe for EEPROM programming Dr. Berghaus PC/104 520 BIOS PnP device listing SETUP DMA options Crystal Diagnostics for DOS at Dr. Berghaus PC/104 520-DMA failed
resource.exe DOS tool PC/104 520 PnP list SETUP DMA options CWDIAG DMA failed

      4.3.2023 Abych vyloučil chybu na zvukovce, otestoval jsem ji v jiném SBC - výše popsaném iEi ROCKY-518HV v4.1 a tam zvukovka fungovala normálně, SFX i FM syntéza. Také program cwdiag.exe reportoval všechny prostředky OK. Takže problém je někde v HW desky nebo BIOSu SBC PC/104 520.

Crystal Diagnostics for DOS at iEi ROCKY-518HV v4.1 - OK
CWDIAG OK



Zpět

Aktualizováno 8.3.2023 v 3:44