Sida 1 av 2

Läsa port snabbt under Linux?

Postat: 20 februari 2022, 08:27:20
av AndersG
Jag skulle behöva kunna logga 64 eller 128k data hyfsat snabbt och min LWLA1016 analysator klarar max att logga ca 100ms. Testade med ett linuxprogram som läser parallellporten, men uppenbarligen finns det en begränsning i Linux som gör att en portläsning tar 1ms. Detta oberoende av hur snabb datorn är. Testae både inb() och att läsa parport med IOCL.

Finns det något sätt runt detta, eller har någon ett tips på ett rimligt prissatt kort som kunde läsa snabbare vie en egen driver?

Re: Läsa port snabbt under Linux?

Postat: 20 februari 2022, 09:56:51
av ojz0r
Gäller den begränsningen även med en RT patchad kärna?

Re: Läsa port snabbt under Linux?

Postat: 20 februari 2022, 10:15:47
av AndersG
OK. Där lärde jag mig ngt nytt. Du menar Realtime Linux? Vet ej, måste testa. Jag har testat med OpenSuse 11.x på 32 bitar och 15.3 på 64 och ser samma tider, ungefär.

Re: Läsa port snabbt under Linux?

Postat: 20 februari 2022, 11:51:30
av Lennart Aspenryd
Det finns ju RTOs Men om du kikar på det som Micke_71 testar med så kan det vara en väg att gå!

Re: Läsa port snabbt under Linux?

Postat: 20 februari 2022, 13:22:40
av AndersG
Men om du kikar på det som Micke_71 testar med
Länk?

Re: Läsa port snabbt under Linux?

Postat: 20 februari 2022, 13:39:47
av Lennart Aspenryd

Re: Läsa port snabbt under Linux?

Postat: 21 februari 2022, 12:51:18
av Micke_71
Det där jag leker med är en raspberry pi pico med RP2040.

Det finns i windows vissa api kommandon eller vad det nu heter. Jag använde det med LPT och realtidsprogrammering i windows XP då den vanliga prioriteten gav på tok för mycket jitter.

Sen kan vi diskutera hur äkta realtid det egentligen är..... Denna funktion kallas bara in i själva rutinen som läser, datorn fryser totalt på mus, skärm, tangentbord osv. Effekten blir att rycka kontakten för att starta om ifall man missar att ge tillbaka kontrollen till windows igen. Jättekul när man inte sparat.

REALTIME_PRIORITY_CLASS

Det var många år sedan nu men en googling säger att man kallar på det med>

SetPriorityClass(hProcess,REALTIME_PRIORITY_CLASS);

<Min tidskritiska kod>

SetPriorityClass(hProcess,NORMAL_PRIORITY_CLASS);

Det är något helt annat än att ange detta i processer i aktivitetshanteraren

Detta funkade på XP. Hur det är i Linux eller vilken motsvarighet som finns vet jag noll och ingenting om.

Re: Läsa port snabbt under Linux?

Postat: 22 februari 2022, 18:33:17
av AndersG
Testade med en RT kernel - Samma sak:

Linux localhost 5.2.21-rt15-150300.59.49-default #1 SMP PREEMPT RT Tue Feb 22 16:47:32 EET 2022 x86_64 x86_64 x86_64 GNU/Linux

Re: Läsa port snabbt under Linux?

Postat: 22 februari 2022, 20:08:31
av Micke_71
Bekymret är väl multitasking.

Processerna har normalt inte exklusiv rätt till kapaciteten. Det är väl därför man buffrar lite här o där. Man skickar en bunt data till buffern och sedan gör man annat under tiden.

Re: Läsa port snabbt under Linux?

Postat: 22 februari 2022, 21:27:28
av Formax51
Ta en titt på denna USB logik analysator... fungerar riktigt bra.. och nu erbjuder dom även ett SDK för egen implementation i mjukvara..kanske kan vara nått
om du vill ner i tid... under 1ms i PC blir nog jobbigt utan något extra.. om man inte vill missa data
https://www.saleae.com/

Re: Läsa port snabbt under Linux?

Postat: 23 februari 2022, 07:45:04
av AndersG
Jag har en liknande, LWLA1016. Att den erbjuder ett SDK är ju kul, men då skall man ha tid och ork att implementera en dekoder. Till Sigrok finns det en färdig GPIB dekoder. Problemet är sedan att kunna lagra tillräckligt mycket. Få analysatorer, för rimliga pengar, har obegränsat minnesdjup.

Jag känner en som har en Saleae och han har skickat mig filer. De går att exportera som CSV och sedan kan man bygga ett separat verktyg som dekodar. Saleaes mjukvara är annars mycket bättre än Sigrok's PulseView, men å andra sidan har Sigrok ett bättre stöd för olika typer av hårdvara och protokoll.

Se: https://discuss.saleae.com/t/exporting/1330

Re: Läsa port snabbt under Linux?

Postat: 23 februari 2022, 08:23:05
av TomasL
BeagleBone stöder PRU, och då bör du kunna få upp farten.

Re: Läsa port snabbt under Linux?

Postat: 23 februari 2022, 08:36:56
av AndersG
Intressant! Men då måste man ha en beagle :) En black för 50€?

Re: Läsa port snabbt under Linux?

Postat: 23 februari 2022, 08:43:02
av TomasL
Varför inte.

Re: Läsa port snabbt under Linux?

Postat: 23 februari 2022, 08:45:07
av babbage
Kan ha oanvänd bbb liggandes hemma om du vill ha en sådan. Kan kolla när jag kommer hem ikväll i sådana fall.