Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Impulsside lugemine LPT pordi kaudu.

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Impulsside lugemine LPT pordi kaudu.

    Niisiis tekkis vajadus lugeda ühe pöörleva asjanduse pöördeid arvutisse. Aga kuidas seda asja lpt pordiga realiseerida? Selle LPT-ga saab ju ainult lugeda, mis seisus mis pin parasjagu on. Niiet lpt kaudu ei saagi impulsse kokku lugeda või? On mul õigus? Mis võiks olla kõige lähedam alternatiiv?

    #2
    Vs: Impulsside lugemine LPT pordi kaudu.

    Aga impulsside lugemine ongi ju sisendi oleku lugemine? Milles küsimus? Parem räägi mida/kudias loed ja mis programmeerimise keelt kasutada tahad.
    PS! WinXP ei lase niisamalihtsalt LPT pordile ligi.

    Comment


      #3
      Vs: Impulsside lugemine LPT pordi kaudu.

      Mhh, aga ei ole juu. Ma loen ju ainult seda, kas mingil teatud hetkel on pin'il 1 või 0, aga kui impulsside sagedus näiteks on kaks korda kiirem, kui minu lugemise sagedus, siis ongi juba tulemus vale ju.

      Delphi ja inpout32-ga realiseerin selle asja muidu.

      Comment


        #4
        Vs: Impulsside lugemine LPT pordi kaudu.

        Mis hulle kiirusi sa siis loed, et arvuti ei jõua impulssidele järele? Sa ei pea ju kahe lugemise vahele mingit viivitust tekitama...

        Comment


          #5
          Vs: Impulsside lugemine LPT pordi kaudu.

          Aga kas tõesti siis lahendataksegi sellised asjad sedasi, et lastakse lugemine lihtsalt külmalt tsüklisse? Kuidagi jõhker variant tundub.

          Comment


            #6
            Vs: Impulsside lugemine LPT pordi kaudu.

            Nu sa teed mingid katkestuse võimalused või maksimaalsed vajalikud viivitused sinna vahele. Kui väga tundmatu vahemik ei ole. Ega ta tore ei ole, aga pead ju sisendit vaatama kogu aeg

            Comment


              #7
              Vs: Impulsside lugemine LPT pordi kaudu.

              Variant 1: Loendad fikseeritud aja jooksul (taimer!)impulsse (piisab ühest frondist), teisendad tulemuse vajalikuks;
              VAriant 2: Käivitad impulsi +frondi peale taimeri ja järgmise impulsi peale loed taimeri sisu. Kuna PC taimer käib umbes 18 mS (?), paneb see mingid piirid.
              Veel võib OS ise vahele segada. PEaksid vist mingi kavalama vahendi kasutusele võtma et OS-i käes kontroll endale võtta. See on võimalik, nt. Girder loeb IR-signaali perioode. Kuidas tehakse, ei oska öelda.
              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

              Comment


                #8
                Vs: Impulsside lugemine LPT pordi kaudu.

                Proovi kõigepealt LPT pordist pöörded kokku lugeda. Äkki töötabki ja siis ei pea muid variante aretama hakkamagi.
                If you think education is expensive, try ignorance.

                Comment


                  #9
                  Vs: Impulsside lugemine LPT pordi kaudu.

                  Taustast: Seda lugejat tahaks teha tuulerattale, et teha väikest statistikat, enne, kui tuulegeneraatorit püsti panema hakkan. Niiet ta peaks lugema 24/7 ja nii kuu aega järjest, samas pöörded on üsna erinevad.

                  Mis on front? Kuidas ma selle peale taimerit käivitada saan, kas selle frondi olekut ei pea ise lugema?

                  Comment


                    #10
                    Vs: Impulsside lugemine LPT pordi kaudu.

                    Front on impulsi tõusev (positiivne) või langev (negatiivne) osa. D-trigerid muudavad oma seisu just frondist, signaali enese olekut enam ei jälgita.
                    Kui teed asja PC peal, siis jääb vist igasugu frontide arvestamine ära, pead lihtsalt pordi pinni seisu pidevalt küsitlema - pollima. Tuulegeneraatori pöörete lugemisel polegi suur täpsus vist oluline.
                    Kui aga plaanid teha mingi pisikese kontrolleriga datalogeri sinna juurde, siis saaks kasutada katkestust ja seda, et katkestusi saab seada tekkima frondist. Täpsus kasvab aga ... isetegemise rõõmu on ka hulka rohkem Vist ei tasu ära.
                    Äkki on selliseid datalogereid juba kusagil müügis? Näiteks mingi porti sobituv digioss või muu vidin.
                    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                    Comment


                      #11
                      Vs: Impulsside lugemine LPT pordi kaudu.

                      Jajah, seda ma kartsingi.
                      Eks ma siis proovin programmi seda porti järjest tulistama panna, vaatame, mis mu arvuti sellest asjast arvab, võibolla tõesti polegi midagi hullu.

                      Comment


                        #12
                        Vs: Impulsside lugemine LPT pordi kaudu.

                        LPT kohta ei oska arvata, aga rs232-l peaks saama lasta näiteks CTS ja DSR signaali fronti oodata.

                        Comment


                          #13
                          Vs: Impulsside lugemine LPT pordi kaudu.

                          kui lpt aeglaseks jääb, siis tasub panna signaalile näiteks ette 12-bitine loendur, mida siis clockitakse selle signaaliga ja mis siis jookseb pidevalt tsüklis. Kuna LPT's on kokku 12 sisendit, siis saad kohe kenasti 12-bitise arvuna pulsside arvu. 2^12=4096, mis juba võib paljudel juhtudel aidata.
                          Softi poole pealt loed siis mingi kindla aja tagant oma numbri tagasi ja lahutustehtega eelmisest numbrist leiad mitu pulssi on vahepeal tulnud.
                          Kui dossist LPT porti pollida, siis mina olen 10kHz kanti sämplimissagedust saanud. Windowsi ja mõne kõrgema taseme opsüssi userspace'st ei tasu üle paari korra sekundis üritadagi, niikuinii opsüssi scheduler ei anna su programmile piisavalt ressurssi. Kui tahad täpselt teha, siis tuleb juba teha kerneli draiver, mis kerneli taimeri järgi iga kindla aja tagant su porti pollib.
                          Windowsis veel suurema täpsuse saamiseks userspace'st oleks võimalus teha üks 24-bitine loendur, 24-bitine latch triger ja 12-bitine 2->1 mux. Loendur jookseb ikka tsüklis, kuid mingi väljundi peale võtad loendurist ühel hetkel kõik bitid trigerisse ja siis loed poole kaupa need välja. Kuid seda kraami juba niisama lihtelementidest kokku joota oleks suht mõttetu, pigem tuleks see kas mikrokontrolleris softis teha või siis mingis pisikeses CPLD's rauas.

                          Comment


                            #14
                            Vs: Impulsside lugemine LPT pordi kaudu.

                            LPT-s on ju siiski 12 väljundit ja 5 sisendit..
                            http://home.planet.nl/~m.f.hajer/lpt_tester.html
                            Jamh...4 on veel siiski sisendid/väljundid

                            Comment


                              #15
                              Vs: Impulsside lugemine LPT pordi kaudu.

                              ei, data port on kahesuunaline, control pordis on selle lülitamiseks üks bitt. Status pordis on küll viis sisendit, kuid mõnel masinal on irq sisendiga anomaaliaid esinenud selle mittesihipärase kasutamisega. Control port peaks küll mõnede allikate järgi kahesuunaline olema (st avatud kollektoriga väljunditega ja tagasi lugemisel saab pin'i oleku), kuid enamus netis allikaid sellest midagi ei räägi.
                              seda kõike siis SPP moodis. Mõnedel uuematel masinatel millegipärast ei taha biosist LPT moodi lülitamine enam toimida ja siis tuleb alati ka oma aplikatsioonist igaks juhuks ECP registrist port SPP moodi ümber lülitada.

                              Comment

                              Working...
                              X