Skúsenost s embedded panel PC

mk

Skúsenost s embedded panel PC
« kdy: 28. 09. 2018, 17:05:42 »
Rozdhodujem sa kúpiť panelový PC za ucelom postavenia ovládacieho panela k jednéj "inteligentnej" riadiacej jednotke servomotora. Nie je to nič výkonovo náročné, raz za pár sekund pošle dáta po RS485 bud PLC automatu alebo riadiacej jednotke servomotora. Zariadenie je stroj na strihanie a dierovanie gumového tesnenia, ľahké priemyselné použitie v interiéri. Operačný systém plánujem minimalistický LUbuntu 16.04 LTS, riadiaci sw C++ + Qt knižnice na GUI.

Rozhodujem sa medzi 3 rôznymi výrobkami od 3 rôznych dodávatelov. Vie niekto poradiť s výberom, má niekto skúsenosti s výrobkami a techickou podporou od výrobcov ako Avalue, Ibase, Xtendlan ? Má niekto skúsenosti s dodavatelmi a technickou podporou výrobcov ako akermann.cz , eurocoincomponents.com (bývalý elatec elco) alebo asm.sk ?

Variant 1.
Avalue OFT-07W01-32GB za 480USD za 1 kus . https://www.avalue.com.tw/Product/Panel-PC/Open-Frame/Open-Frame-Tablet/OFT-10W01_2324 dodavatel eurocoincomponents.com

Variant 2
Ibase IPPC1003-PC za 766€ bez DPH https://www.ibase.com.tw/english/ProductDetail/IndustrialPanelPC/IPPC1003-PC
Dodávatel akermann.cz

Variant 3.
Xtendlan TPC10I-Z8300-4-32A za 453,91 EUR bez DPH/ks https://www.asm.sk/sk/159702-10-1-touch-panel-pc-tft-intel-z8300-4x-1-83ghz-1x-rs-232-485-4xusb-4gb-32gb-ssd-fanless-ip54 dodávatel asm.sk


Re: Skúsenost s embedded panel PC
« Odpověď #1 kdy: 28. 09. 2018, 22:04:07 »
Skôr
National Inštruments
Octagon
Advantech
Adlink
ICP Acquire
ako tie Vaše značky

Re: Skúsenost s embedded panel PC
« Odpověď #2 kdy: 29. 09. 2018, 00:24:27 »
V tomhle oboru mám "vested interest" :-)

Je toho na trhu spousta a dost razantně se může lišit cena. Pozor třeba taky na rozdíly mezi kapacitním a rezistivním dotykáčem. Pokud máte čisté prostředí bez vody, doporučil bych spíš kapacitní.

Fanless PCčka (včetně paneláků) se kupodivu navzájem dost liší kvalitou tepelné vazby procesoru a čipsetu na chladící plochu. Různé konstrukce od kvalitních po nevyhovující potkáte kupodivu i v rámci sortimentu jediného "výrobce".
Jistou konstrukční výhodu (snazší tepelnou integraci) přinesly "SoC" čipy = CPU s čipsetem v jednom, at už ATOM nebo plnotučný Core i. A nejlepší řešení je podle mého motherboard s procesorem letovaným z rubu, kde se snadno opře přímo o rozměrný chladič (v případě panel PC zároveň zadní dekl). Nebo ještě snesitelná je konstrukce, kde je motherboard montovaný na přepážku mezi displejem a "oddílem motherboardu", procesor je na straně součástek a teplo je převedno hliníkovou kostkou na zadní dekl (hliníkový heat-spreader). Jsou ale k vidění i konstrukce s malým pasivním chladičem uvnitř nepříliš děrované plechové skříňky, nebo procesor tepelně vázaný na přepážku mezi "prostorem displeje" a "prostorem motherboardu". Taky bych zmínil, že železný plech není moc dobrý heat-spreader. Nebo že když máte zadní dekl z plechu tl.1mm (nebo míň), v něm nastřelené matice pro vesa-mount, a zároveň o něj opřený tepelně procesor, přičemž motherboard je montovaný na distancích proti středové přepážce (nikoli proti tomu tenkému zadnímu deklu s VESA-mountem),  tak při zavěšení na vesa-mount se procesor odlepí od (i tak mizerného) heat-spreaderu.

Bohužel u fanless počítačů zejm. ATOMových je železným pravidlem, že procesor (SoC) je na chladič tepelně vázaný "žvejkačkou" (Fuji Sarcon apod.), která pobere mechanické výrobní tolerance. Pokud chcete vazbu "kov na kov" pouze s minimální vrstvičkou teplovodivé pasty, znamená to bastlit (nebo přinejmenším rozebrat, poladit a složit).

Vámi zmíněný model od Avalue je open-frame = nemá zakrytovaná záda, počítá s montáží do obdélníkového výřezu v desce. Ohledně chlazení těžko říct, vypadá to na heat-spreader z hliníkového plechu tl. cca 1 mm. No lepší než drátem do oka, ona ta odkrytá záda taky chlazení dost pomůžou.

Ibase IPPC1003-PC vypadá, že by mohl mít zadní dekl z tlustého hliníku, uvnitř CPU z rubu motherboardu a opřený o tento chladič. Pokud je to tak, je to kvalitně provedené.

Ten Xtendlan vypadá, že má záda ze železného plechu. Jak se chladí CPU, bůh suď.

Zmínil bych následující konkrétní modely:

AAEON ACP-1104 = motherboard šroubovaný k zádům, procesor z rubu, opřený přímo o záda (heat spreader)

AAEON ACP-1106 = motherboard šroubovaný na distance ve středové přepážce, přenos tepla špalkem hliníku na záda

Nexcom IPPC1040P = motherboard šroubovaný na distance ve středové přepážce, přenos tepla špalkem hliníku na záda

Nexcom APPC series vypadají podobně, ale v rodině není 10" model (8" a pak až 12")

Advantech PPC-3100S = motherboard šroubovaný na distance ve středové přepážce, přenos tepla špalkem hliníku na záda. Zadní kryt je zde klenutý, jedná se o hliníkový odlitek, součástí odlitku jsou chladící distanční špalky pro CPU, RAM a tuším WiFi kartu.

Výše uvedené jsou všecko BayTrail ATOMy. Připravte se, že možná bude potřeba intel_idle.max_cstate=1. A možná taky ne, aktuální kernely by na tom už mohly být docela dobře.

Obecně chtít od výrobce počítače "podporu" na Linux je... optimismus. Ale pokud vezmete počítač založený na Intelu, tak už se výrobce počítače prakticky nemáte na co ptát. (Leda na sladká tajemství, za která Intel nemůže.)

Nějaké paneláčky má taky ICOP - s jejich procesory Vortex86 series. Procesory na dnešní dobu dost slabé, ale jsou to 32bit x86. A zrovna tenhle výrobce s Linuxem rád poradí (protože tuším nemá třeba pro grafiku VDX3 driver ve vanilce).

Detaily mechanické konstrukce / vnitřního uspořádání někdy máte šanci zjistit z manuálu, někdy opravdu až na fyzickém kusu šroubovákem (pokud si neřeknete technické podpoře o fotky vnitřku).
A nakonec se stejně čertovo kopýtko skrývá v detailech, které nezjistíte dřív, než po nějaké době provozu :-(

Bootovat budete patrně z flashky (mSATA, CFast, MicroSD apod.). Zkuste se zamyslet nad read-only nebo read-mostly provozem toho ubuntu. Flashka se Vám za read-only root odvděčí dlouhověkostí.

Aabb

Re: Skúsenost s embedded panel PC
« Odpověď #3 kdy: 29. 09. 2018, 02:35:58 »
Ak to chces iba na doma, Raspberry s externym touch displejom?
Pripadne pozri na https://www.sos.sk/aaeon alebo https://www.sos.sk/technexion

mk

Re: Skúsenost s embedded panel PC
« Odpověď #4 kdy: 29. 09. 2018, 18:49:43 »
Pán Ryšánek, ďakujem za prínosnú odpoveď, nenapadlo ma všímať si detaily chladiča.  Ale veľkou komplikáciou pre mna je krátka časová lehota, potrebujem panelové pc zohnať za 2 až 3 týždne. Ďalšou podmienkou je podpora Linuxu, najma dotykovej obrazovky. Naštastie nepotrebujem wifi,audio, ani ine periferie okrem USB/RS485.
Tie 3 počítače spĺňajú obidve podmienky. PC bude namontované na prednom paneli uzatvorenej plechovej skrine s rozmermi asi 40x40x10 cm. Plechova skrina bude prazna (žiadne teplo generujuce spotrebiče), na prednom paneli bude iba par vypínačov. Bude to ovládací panel k PLC s cenou udajne okolo 500 - 600€. Pôvodný PLC programator mal problémy s rýchlosťou celého systému, tak uživatelský panel a riadenie servomotora sa presunie mimo pôvodné PLC.

Pýtal som sa v sos.sk na výrobcov ako aaeon, lexsystems,technexion. V podstate nič nemajú na sklade a všetko má dodaciu lehotu 10 a viac týždnov. Viete poradiť nejakých rýchlejších distribútorov ?

Najviac sa mi po mechanickej stránke pozdáva ten Avalue. Podla predajcu je tam I2C multitouch kapacitná obrazovka s kontrolérovým čipom 3132 ktorý by mal údajne fungovať v linuxe. Avalue pc sa k do panelu uchytí pomocou 12 kusov M3 srobov na obvode displeja. Hliníková vanička na zadnej strane ktorá slúži zároveň ako chladič nemá nosnú funckiu. Detail uchytenia chladiča na Avalue je pekne vidno na tomto obrázku
https://avaluecdn-en.azureedge.net/upload/product_img/OFT-10W01/273362456.png  na zadnom paneli (s Avalue nálepkou) v jame ohraničenej 4 šrobmi je CPU .
Podrobný nákres montáže je tu http://webdownload.avalue.com.tw/upload/download/Manual_Document/OFT-10W01%204th%20Quick%20Reference%20Guide.pdf


Ešte som pozeral Avantech pocitače na mouseri. PPC seria je už označená ako "obsolete". Takže s tých aktualnych čo sú na sklade ma zaujal Advantech UTC-510DP-ATB0E za 577€. http://www.advantech.com/products/5a93b96b-91d6-4a66-b738-db5c65a85a38/utc-510d/mod_121eb06c-38fb-406a-9da3-9433caefd38f

Je to plne zakrytovaný VESA mount, podla manuálu to asi má vnútri hlinikovyhranol ako chladič, umiestnený nad modulom s Dsub konektorom.Podrobny popis konštrukcie na strane 41-43 http://advdownload.advantech.com/productfile/Downloadfile5/1-1IJ14ME/UTC-500_Series_User_Manual_Ed.2_FINAL3.pdf

Je to prijatelná konštrukcia chladiča ? Okolo hlinikoveho hranola vela chladiacich dier nie je, tak prenáša len na zadný panel z neznámeho materialu neznámej hrúbky. Píšu podporu Ubuntu 16.04, tak hádam dotyková obrazovka bude fungovať.


Doma som si pred rokom spravil firewall z Raspberry Pi 3. Neodvážim sa dať RPI3 do profesionálneho zariadenia, RPI3 je výučbová pomôcka. Nespoľahlivá je SD karta a napájací konektor microUSB na 3A. Väčšinu času som RPI prevádzkoval v read only mode, len výnimočne v read write mode a aj tak sa mi v priebehu pol roka raz pokazil súborový systém. S RPI3 sa vždy bojím každého reštartu alebo vypnutia napájania.


Re: Skúsenost s embedded panel PC
« Odpověď #5 kdy: 29. 09. 2018, 22:10:51 »
Mouseru se těžko konkuruje cenou, ale jinak Advantech má sklad v Holandsku a má po Evropě síť menších distributorů. Ohledně té lhůty jsem docela optimista, ale měl byste se rozhoupat, protože při týdenním expedičním cyklu z Holandska máte nejvyšší čas, abyste se do těch 2 týdnů vešel.

UTC-510 mi k srdci nepřirostl. Z hlavy si teď nepamatuju konstrukci chlazení, můžu se v pondělí podívat - ale rozebraný jsem ho už viděl a celkový dojem je takový, že to patří z hlediska "promyšlenosti konstrukce" k tomu méně povedenému v rámci značky Advantech.

Naopak PPC-3100S (kupodivu za dost podobnou cenu) vypadá jako jeden z těch povedenějších kousků. Dělá se ve dvou variantách: rezistivní a kapacitní. Kapacitní je "na omak" příjemnější na ovládání, možná senzor i déle vydrží než pružná fólie rezistivního senzoru. Pokud nehrozí voda, volil bych kvůli komfortu kapacitní. Obě varianty mají pro čelní panel udáváno krytí IP65, ale pokud se kapacitní senzor pocáká, tak přestane být použitelný, dokud ho vody nezbavíte. RS485 to má taky - a zrovna u Advantechu je vcelku spoleh, že ten port bude založený na UARTu s HW přepínáním RX/TX a že v linkovém transceiveru nebudou žádné "čínské inovace". NCT5523D... to je nějaký Nuvoton (ex-Winbond), novější čipy tohoto výrobce mají HW podporu RS485 half-duplex provozu. V PCčku je to vidět jako zcela standardní COM port na legacy ISA adrese a IRQ.

Modelová rodina "PPC" se vyrábí už asi 20 let a jednotlivé modely se průběžně obměňují, takže pokud Mouser tvrdí, že je  konkrétní model PPC "obsolete", tak se to rozhodně nevztahuje na celou rodinu. Konkrétně PPC-3100S zatím podle mých informací rozhodně "obsolete" není - alespoň pokud se týče statusu v databázi výrobce (nakolik je Intel Bay Trail už pasé, to je případně slibné téma na flame war zde na fóru).

Dotykáče v Linuxu jsou obecně nekonečná telenovela (pořád nějaké novoty), ale dá se říct, že ve vanilce jsou ovladače skoro pro všecko - a nakonec je ta generická podpora dotykáčů v Linuxu pro mě subjektivně duševně zdravější, než její obdoba pod Windows 7+. Moderní kapacitní dotykáče mám radši s klasickým rozhraním USB HID (pro které existuje generický driver). Rezistivní dotykáče mají často dodnes rozhraní RS232 - což jde jistě taky zprovoznit, jenom to není PnP. Jak jste zmiňoval u aValue dotykáč s rozhraním I2C HID, toto je relativní novinka - ale koukám, že Linux to zřejmě taky už nějaký pátek umí. Obecně se nesnažte hledat driver dotykáče u výrobce počítače nebo dotykového řadiče - napřed hledejte, zda není odpovídající driver ve vanilce (obvykle ano). V Linuxu nakonec při vší bídě (a častých změnách) nějak funguje generická kalibrace dotykáče v X11. Nejsem si jistý, v jaké evoluční variantě najdete xinput v Ubuntu 16.04 - buď bude fungovat klasická "kartézská" kalibrace, nebo novější varianta s transformační maticí. A vůbec nejlepší varianta je, pokud kalibraci vůbec nepotřebujete - což je opět případ moderních kapacitních dotykáčů s rozhraním USB HID, které bývají z výroby předkalibrované na nativní rozlišení displeje. Takže softwarová transformace v XWindows je 1:1 (default). Nainstalujete Linux a dotykáč "prostě funguje" - není třeba složitě nacvičovat kalibraci. Když jsem to viděl poprvé, bylo mi málem smutno, že si tentokrát neužiju s dotykáčem žádnou legraci.

Tu skříňku nemáte zrovna velkou, on samotný panelák něco žere a co sežere, to musí vyzářit jako teplo. Ale pokud bude v tom počítači BayTrail ATOM, tak tomu dávám slušnou šanci. Kdyžtak koukejte na coretemp - a srovnejte si teplotu ve volném prostoru na stole a pak za provozu v uzavřené krabici. V obou případech po nějaké době ustálení.

Koukám, že tady na fóru nemáte registrovaný profile, jinak bych navrhl soukromou zprávu. Ale Vy už si kontakt najdete, máte-li samozřejmě zájem.

MasoxCZ

Re: Skúsenost s embedded panel PC
« Odpověď #6 kdy: 30. 09. 2018, 07:44:19 »
A co teda ELO? V Praze je dodává třeba powerproducts.cz na Zbraslavi.

pepa ze sklepa

Re: Skúsenost s embedded panel PC
« Odpověď #7 kdy: 30. 09. 2018, 11:19:13 »
offtpic... pro nahrazovani komercniho PLC linuxovym pocitacem v nejake kusove vyrobe vam tedy drzim palce a jestli se vam takhle bude i dlohodobe darit udrzet v plusu a vydelat si na chleba jste borec.

mk

Re: Skúsenost s embedded panel PC
« Odpověď #8 kdy: 30. 09. 2018, 13:17:04 »
Ak je Nuvoton Super I/O chip lepší než priemerny FTDI čip, tak potom Nuvoton je pre mna dosť dobrým dôvodom prečo nebrat Avalue a XtendLan. S rôznymi FTDI RS232 čipmi a ich čínskymi klonmi som si toho pri programovaní mikrokontrolérov užil ja aj kolegovia viac než dosť.

K mouser cenam asi musim priratať ešte aj CLO (ako je to s DPH pre firmu neviem).

Pozeral som ponuku na buy.advantech.com  z PPC3100 serie som s kapacitným displayom našiel len Advantech PPC-3100S-3S52  za skoro 969€
https://buy.advantech.eu/Panel-PCs/All-in-one-Touch-Computers-Factory-IT-Automation-PPC/PPC-3100S-3S52/system-21658.htm

Advantech UTC-510D-3S51 je za 953€.  https://buy.advantech.eu/iRetail-Solutions/Touch-Screen-Computers-Display-Size-10-1-Touch-Computers/UTC-510D-3S51/system-21766.htm?country=Slovakia&token=636738775381336294&f=AUS

Ešte som znova pozeral ten Ibase IPPC1003-PC. Pravdepodobne obsahuje základnú dosku Ibase IB898  https://www.ibase.com.tw/english/ProductDetail/EmbeddedComputing/IB898 .

Na RS485 je Nuvoton. Na zadnej strane je na CPU hliníkový plech (asi 2mm, je dva odhadom podla rozmeru srobu na DSUB, asi tak 2 krat hrubší než PCB. ) Vyzerá to dôveryhodnejšie než ten 0,9mm plech na Avalue. https://www.ibase.com.tw/upfiles/en_/en_product_caty01434507875.jpg

Navyše majú ho na sklade v ČR, tak sa asi rozhodnem pre Ibase. Bojím sa že mi ten Advantech cenovo neprejde.

Nejdem nahradzovať PLC, PLC tam ostane, a ešte jedno pribudne. Pôvodné PLC je preťažené, na vyšších rýchlostiach nestíha a PLC programátor rebríkových diagramov nevie pracovať s vyššou PLC seriou.  Je to o posielaní sprav kontroleru servomotora každe zruba 2 - 3 sekundy. (to by zvladla v pohode aj atmega) + GUI panel na úvodnú konfiguraciu.

Ja sa profesionalne venujem skor 16 a 32 bit mikrokontrolerom a amatérsky Linuxu. Asi nenašli nikoho lepšieho alebo dosť lacného v miestom menšom meste na Slovensku. Tu sa žial nerobí za 80 000+ Kč čistého. 

Zákazník nechce vývoj hw od nuly, chce kupiť niečo hotové. Pre mna to bude nová skúsenosť, snažím sa nejako nájsť alternatívu (kde by som vedel využit znalosti elektroniky) k stagnujucemu embedded + hw vývoju kde nikto nechce platit vývoj.

RDa

  • *****
  • 2 783
    • Zobrazit profil
    • E-mail
Re: Skúsenost s embedded panel PC
« Odpověď #9 kdy: 30. 09. 2018, 17:37:26 »
@František Ryšánek - da se ke klasickym "desktop" deskam pripojit ten I2C touch? Vsude vidim ze to ma jeste volitelne RESET a pak povinne INTERRUPT. Jak tohle zprovoznit v ne-embedded zarizeni? Ocekavam tip na treba na LPC kontroler/bridge.. LPC header byva soucasti temer vsech desek.

Re: Skúsenost s embedded panel PC
« Odpověď #10 kdy: 30. 09. 2018, 23:50:29 »
@mk: tady na fóru se cení nestranost. Přestože mě živí Advantech tak musím uznat, že ten ibase vypadá dobře, přinejmenším pokud se týče chlazení. Ano a Nuvoton má stejný jako stroje od Advantechu. Taky dostupnost "skladem v ČR" Vám asi pomůže víc, než "do dvou týdnů z Holandska".

O padělaných USB UARTech FTDI jsem zatím jenom slyšel. Ale zažil jsem osobně (a z doslechu vím o dalším případu) kdy na USB/232 donglu, podle všeho originálním od FTDI, byl problém s 485 transceiverem. Údajně FTDI říkají, že zaznamenali před časem problém s jakostí transceiverů na těchto destičkách (které si nechávají vyrábět externě).

Winbond (dnes Nuvoton) dlouhá léta neměl v nabídce SuperIO čip s HW podporou RS485 (jde o HW přepínání RX/TX podle interního flagu "transmitter shift register empty"). Ale jejich RS232 UARTy v LPC SuperIO byly vždycky v pořádku a "prostě fungovaly". Viz ultra-klasická rodina W83627. Teprve v posledních asi 3 letech jsem zaznamenal od Nuvotonu SuperIO čipy s HW podporou RS485. A neslyšel jsem jedinou stížnost.

Předtím se dlouhá léta používaly LPC SuperIO UARTy zn. Fintek, se kterými jsem zažil nějaké záhadné hnilobné problémy (vybavuji si asi 2 případy) a problém byl v hardwaru Fintek. Je to už pár let, ale vůči Finteku chovám od té doby jistou nedůvěru.

HW podporu RS485 má tuším taky ITE (ve vybraných SuperIO čipech).

LPC je vlastně ISA, takže pokud máte sériové porty v SuperIO, vidí software klasické COM porty na tradičních ISA I/O portech.

Výborné rychlé UARTy na ISA nebo PCI dělával Oxford Semiconductor, ale ten byl už aspoň 2x sežrán, rozpuštěn a vypuštěn (PLX, Avago, Broadcom).

Re: Skúsenost s embedded panel PC
« Odpověď #11 kdy: 01. 10. 2018, 10:23:53 »
@František Ryšánek - da se ke klasickym "desktop" deskam pripojit ten I2C touch? Vsude vidim ze to ma jeste volitelne RESET a pak povinne INTERRUPT. Jak tohle zprovoznit v ne-embedded zarizeni? Ocekavam tip na treba na LPC kontroler/bridge.. LPC header byva soucasti temer vsech desek.

Tohle mi moc nevoní dálkami. Několik důvodů/aspektů.

Já jsem I2C HID potkal poprvé na nějakém noťasu (Dell, tuším mobile Kaby Lake i5) a ten dotykový senzor je konkrétně touchpad. Zjevně pro to má moderní intelí čipset nějakou podporu. Tradičně míval intelský čipset (north nebo south bridge) tak 1 maximálně 2 kanály i2c/SMBus, na kterých bylo lze nalézt SPD EEPROMky DIMMů, hardware health monitory (lm-sensors) a třeba syntezátory hodin. Myslím, že do toho by I2C HID s interruptem moc nezapadl. No ale teď jsem koukal na Kaby Lake U/Y series a našel jsem tam I2C portů snad osm. Bohužel v datasheetu nejsou nijak popsány, vedle obligátního "panáka" na str.12 je najdete už jenom v seznamu signálů v pinoutu. (Druhá část datasheetu je nezmiňuje vůbec.) V pinoutu nejsou vidět žádné dedicated piny pro IRQ, ale to nic moc neznamená, protože za interní IRQ linky (vstupy APICu nebo možná řadiče I2C) se dá tahat obvykle taky pomocí GPIO, což opět nevidím v DS popsáno.

Občas na nějakém PC motherboardu je vývod i2C na headeru k vidění, ale dost pochybuju, že by na to šel nějak snadno připojit TS - minimálně ten dedicated IRQ drát tam nebude k dispozici. Mimochodem některé tyto vývody na boardu mohou být "slave only", určené pro připojení externího *masteru* (managementové karty, diagnostiky apod).

Pokud se týče LPC, tak se obávám, že ani tady Vám pšenka nepokvete. Tenhle port je určený primárně pro připojení LPC POST reportéru. Dá se na něj připojit taky sekundární LPC SuperIO šváb, pokud si dokážete v Linuxu dořešit dekódování adresního okna na upstream PCI/LPC(ISA) bridgi. Toto může klapnout i samospádem, díky subtractive decode nebo pokud LPC bridge dekóduje by default celé okno "legacy ISA" (což není úplně automatické). Každopádně se Vám v OS automaticky NEobjeví periferie obsažené v tomto přídavném LPC SuperIO švábu, protože A) o nich neví originální BIOS, takže je neoznamuje skrz ISAPnP ani ACPI, a B) si ty periferie napřed musíte nakonfigurovat (bázová adresa, enable, alternativní funkce na GPIO pinech). Potom, pokud víte kam jste si ty periferie posadil, dá se na ně sahat buď z kernelu (napsat si vlastní ovladač nebo pokonfigurovat nějaký kompatibilní stávající) nebo i z user space skrz IOperm, pokud Vám nevadí že neobsloužíte IRQ. No a pokud toto všechno zkousnete, tak nakonec z hlavy nevím o LPC SuperIO švábovi, který by obsahoval i2c *master*. Většina SuperIO švábů obsahuje HW monitor (často LM78 compatible) , který má I2C rozhraní - jedná se ovšem o I2C *slave*. (Mimochodem ten health monitor bývá z hostitelského CPU vidět dvěma cestami: na ISA I/O portu a druhou cestou skrz I2C skrz north/south bridge.) Pokud byste si stavěl svoji vlastní přídavnou SuperIO destičku, tak I2C by na to nakonec připojit šlo, nakonec asi včetně IRQ, a to skrz GPIO - ovšem samotný I2C protokol jedině skrz bit-banging. Pro ten má Linux slušnou zabudovanou podporu, jenom naplníte nějaký struct definicí "zapojení", a dál si to brblá samo - ale žužlá to jednotlivé bity/hrany softwarově.

Vlastně je tu jedna možnost, jak získat autonomní HW řadič I2C, patrně včetně interruptu, na LPC: použít k tomu nějaký "embedded controller" na LPC. To je blízký příbuzný SuperIO švába, který ovšem obsahuje autonomní MCU jádro, tradičně 80C51, nebo nověji nějaký malý ARM. Používá se to v noteboocích / tabletech a odvozených embedded boardech. Ale prakticky veškerá dokumentace je pod NDA :-( Takového švába těžko seženete volně sypaného, a pokud ho někde uloupnete ze šrotu, tak k němu nebudete mít dokumentaci ani další podporu (nebudete vědět jak si napsat do něj firmware, ani nebudete mít example od výrobce čipu).

No a pak je dalších pár problémů v hostitelském OS. Totiž na i2c moc nefunguje PnP. Třeba lm-sensors mají jakousi rizikovou heuristickou auto-detekci: očichají pár well-known adres a podle toho co najdou, můžou v některých případech prohlásit s jistou statistickou mírou jistoty, že na té adrese sedí EEPROM nebo health manager (ten by tuším mohl mít nějaké minimalistické registry typu vendor/chip ID). Zároveň se lm-sensors obloukem vyhnou adresám, kde se vyskytují syntezátory hodin. Ale pokud se týče driverů pro již zmíněný I2C HID nebo dvě varianty nativního ovladače pro I2C TS konktroléry eGalax/EETI (to je jedna a ta samá slavná značka) tak se zdá, prostý "modprobe i2c-TS-ovladač" ničeho nedosáhne. Neexistuje "PnP strom", který by si registrovaný "entry point" ovladače automaticky zavolal. Ovladač se natáhne a je zticha. Pokud se podíváte do zmíněných tří zdrojáků, "na co se ovladač při zavedení chytá" a jaké má případně "argumenty při loadnutí", tak zjistíte, že uvnitř není žádný slibný module_param(), jenom module_i2c_driver() odkazující nepřímo na "struct i2c_device_id". No moment - ale k čemu device IDčka, když se na ně nemá co chytat?

Jsou tu dvě možnosti. Jednak aktuální ACPI zřejmě obsahuje strukturu/metodu pro dotykové senzory (touchpady/touchscreeny), zřejmě včetně odkazu na vstup/linku IRQ (kterou třeba BIOS v čipsetu předkonfiguruje = navlékne na konkrétní GPIO pin). A zřejmě Windows se na to umí chytit - přinejmenším do té míry, že pokud předložíte operačnímu systému pasující ovladače, tak se zavedou i bez ruční konfigurace třeba právě toho IRQ. Toto se samozřejmě uplatní v případě, že jste výrobce počítače/motherboardu, takže si podporu pro dotykové zařízení do BIOSu dopíšete (v souladu s tím, jak jste to na desce zadrátoval).

No a v Linuxu existuje vedle univerzálního PnP (které funguje na PCI, USB, v ideálním případě ISAPnP a ACPI) také podpora pro "hloupá nedetekovatelná zařízení", dokonce ve dvou historických evolučních variantách:
V principu jde o základní způsob(y), jak zařídit podporu pro různé embedded motherboardíky, oplývající nedetekovatelnými hloupými periferiemi, třeba ještě navíc pověšenými na GPIO. Pokud pro takový hardware zařizujete podporu v kernelu, napíšete si primitivní "ovladač" nebo dokonce jenom konfigurační soubor, a zavěsíte do zdrojáků jádra... Rozdíl / styčné plochy mezi oběma variantami popisuje starší článek na lwn.net. Evoluční krok od "platform driverů" k "device tree" měl cosi společného s očištěním kernelu od duplicitních zdrojáků pro tentýž hardware - ve chvíli kdy adresář s "platform drivery" pro různé embedded desky ve vanilce začal hrozivě bobtnat...

Čili tudy vede cesta, pokud byste se třeba dostal k progresivnímu embedded motherboardu, který má vstup pro dotykáč vyvedený, nejlíp včetně IRQ, ale nějak Vám v Linuxu neklapne PnP na bázi ACPI. Dopsat si tu podporu sám, skrz "platform device" nebo "device tree".

Pokud se týče I2C dotykáče, tak samozřejmě nejste první kdo to řeší.

Mimochodem řadič EXC3132 není ani zmíněný na webu výrobce (EETI). Už tohle by mě v souvislosti s Linuxem nabádalo k ostražitosti :-)

Osobně moc nechápu, k čemu je dobré vracet se k i2c (pomalý dvoudrát bez PnP) když PC čipsety už mnoho let zpátky obsahují úsporné implementace USB (citelně rychlejší dvoudrát s PnP). Sice ten "interrupt mode" na USB1-2 je ve skutečnosti pořád jenom polling v režii mastera (HCI), ale je to myslím pořád rychlejší, než i2c popoháněné interruptem... Pravda je, že i2c slave je asi implementačně jednodušší než USB device - žeby vyšší potenciál k úsporám příkonu? Výrobně levnější? Nebo je vhodnější ve smyslu "vendor lock-in"? Protože funkční PnP je především svoboda pro koncové uživatele, adminy a cheap-skate opraváře... Kousek od každého? A že i2c namísto USB tlačí zrovna Intel... et tu Brute?

Čili výše uvedený text je jenom obsáhlejší variantou mého konstatování, že USB HID je jistota. A i tady je eGalax/EETI zřejmě vůdčí značkou, jejich kapacitní dotykáče s HID rozhraním vídám už pár let a je s nimi úplně nejmíň problémů.

Už jsem viděl taky slušný dotykový kontrolér od značky USBest/SiS, dokonce s velmi nápomocnou podporou přímo z Taiwanu (!) - šlo o rekonfiguraci z režimu "Windows-compatible HID touch device" na "USB HID mouse". Asi mělo tehdy dost váhu, když jsem řekl, že ten firmware v dotykáči řeším v počítači od Advantechu (konkrétně UTC-510).

Padla tady zmínka o ELO. To je další velmi tradiční dinosaurus, pro mě osobně první značka vůbec, se kterou jsem měl tu čest. Původně výrobce dotykových řadičů (moje první vzpomínky jsou tak 15-20 let zpátky), posledních pár let prodávají i kompletní monitory s dotykovým senzorem. Žeby nakonec i kompletní počítače? Asi proč ne :-) K těm svým dotykovým řadičům na RS232 mívali pečlivou, volně dostupnou dokumentaci. Nevím jaký je aktuální stav jejich sortimentu, ale mívali dotykáče rezistivní, SAW i kapacitní. Používal je kdysi Advantech, ale on i další taiwanští výrobci už dávno šmahem přešli na PenMount, eGalax, vzácně 3M. (Občas jsou k vidění všelijaké další bezejmenné asijské hrůzy, naštěstí opravdu vzácně.) Odhaduji, že taiwanci ELO zavrhli kvůli ceně.

RDa

  • *****
  • 2 783
    • Zobrazit profil
    • E-mail
Re: Skúsenost s embedded panel PC
« Odpověď #12 kdy: 01. 10. 2018, 14:13:08 »
Vlastně je tu jedna možnost, jak získat autonomní HW řadič I2C, patrně včetně interruptu, na LPC: použít k tomu nějaký "embedded controller" na LPC. To je blízký příbuzný SuperIO švába, který ovšem obsahuje autonomní MCU jádro, tradičně 80C51, nebo nověji nějaký malý ARM. Používá se to v noteboocích / tabletech a odvozených embedded boardech. Ale prakticky veškerá dokumentace je pod NDA :-( Takového švába těžko seženete volně sypaného, a pokud ho někde uloupnete ze šrotu, tak k němu nebudete mít dokumentaci ani další podporu (nebudete vědět jak si napsat do něj firmware, ani nebudete mít example od výrobce čipu).

Takhle jsem videl reseno legacy veci v notebooku (at uz Apple nebo PC svet), MCU s LPC rozhranim a pak to preklada I2C touchpad na jine API (nejspise PS2 mouse) a z GPIO matice to dela klasickou klavesnici. Taky nevim o dokumentovanych obvodech, ale treba ITE ma relativne slusnou podporu a k toolum/zdrojakum se da dostat i pro evropana.

Ohledne platform devices a device tree - me prijde ze je to jedno a to same, a s tim prave delam na embedded ARMech, dokazal bych si predstavit i pouziti prave v PC svete, kdybych mel jistotu, ze se urcity radic objevi na fixni adrese (k cemuz by mel napomoct fixni adresni prostor v LPC).

Osobne bych asi sel cestou FPGA na LPC a pak skrze device tree si tam naveset drivery k periferiim, to by mohlo dat docela transparentni reseni, se stejnymi ovladacema pro ARM i PC.

Pracovat s USB je docela opruz byt to muj custom touch panel ma. S I2C se daji delat kouzla a la gesta k zapnuti zarizeni, protoze muzu mit nezavisle v provozu jen touch naveseny na obycejnem MCU, ktery se pak ze zbernice odmlci. USB neumi multi-master. Jinak veskere touch reseni napr. v mobilech jsou I2C - holt to je rozhrani ktere je stabilni a nerekne ne, USB ma tendence vytuhnout - coz v externim zarizeni jednoduse odpojite, ale interne to je priserny jak to nejde softwarove poradne restartovat.

xhamsterr

Re: Skúsenost s embedded panel PC
« Odpověď #13 kdy: 02. 10. 2018, 20:52:41 »
V tomhle oboru mám "vested interest" :-)
Angličtina křížená s východoslovenskou řečí je naprosto hrozná věc. Co znamená "vested interest"????

RDa

  • *****
  • 2 783
    • Zobrazit profil
    • E-mail
Re: Skúsenost s embedded panel PC
« Odpověď #14 kdy: 02. 10. 2018, 22:19:03 »
V tomhle oboru mám "vested interest" :-)
Angličtina křížená s východoslovenskou řečí je naprosto hrozná věc. Co znamená "vested interest"????

Rekl bych, ze to, ze jde nad ramec sve bezne pracovni naplne kdyz ho neco skutecne zajima :) Neni nas takovych mnoho.