Teade

Collapse

Foorumi reeglid.

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

Über-PWM

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

    Über-PWM

    Selline ülesanne:

    PWM modulaator vaja teha:
    1024 kanalit
    12 bitti
    2kHz

    FPGAsse ära ei mahu, prosega emuleerida on võimatu. Või siiski.. äkki on olemas mõni kaval PWM algoritm ?
    Väljundite tekitamine ei ole hetkel oluline, kas paralleelregistrid või nihkeregistrid, vahet pole.

    PWMid ei pea ilmtingimata omavahel sünkros olema, peaasi et periood ja täpsus klapiks.

    #2
    Vs: Über-PWM

    kui LEDi majandus siis hunnik ( 43 tk): http://focus.ti.com/lit/ds/symlink/tlc5947.pdf
    TI-l on ka 16 kanalilisi http://focus.ti.com/docs/prod/folder...t/tlc5940.html
    aga kui ma kunagi neid uurisin siis polnud välise CLK sisendiga isendit ja ei sobinud. ehk nüüd miskit muutunud.

    kui ühte FPGAsse ära ei mahu võta mitu.
    ühe prosega vist välja ei mängi sest 2kHz 12bitti reso = 8192kHz referentssagedusega peaks 1024 kanalit võrdlema.
    aga kui teha ca 64 "orja" odavatest kontrolleritest siis võib lahendus odavam olla kui LED draivereid kasutades.

    lisaks, sõltuvalt kui tihti tuleb "pilti" uuendada sobib üks või teine lahendus rohkem, sest pudelikaelaks võib osutuda mitte PWMi arvutus ise vaid hoopis uue PWM väärtuse salvestamine.
    viimati muutis kasutaja raivo; 10 September 2009, 09:35.

    Comment


      #3
      Vs: Über-PWM

      jah, valmis draiverid ei sobi.
      64 protsessorit... ei ole ka kõige paindlikum lahendus. Äkki veel ideid ?
      Ise mõtlesin teha välise mäluga streami, kuhu protsessor mustri sisse kirjutab. Eeldaks 2 mäluchippi, ühte FPGAd (suht väikest) ja protsessorit. Aga ehk on mingi nipp veel, mulle tundub et kusagil on...

      Comment


        #4
        Vs: Über-PWM

        ma küll ei tea kas Sinu rakendusega sobib aga üks võte on jagada 12bitti PWM kaheks 6bitiseks ning siis summeerida , madalama väärtusega kanali vool I ja kõrgema väärtusega kanali vool 64*I.
        kuigi kanaleid tuleb 2 korda juurde , läheb PWM sagedus 64x alla, s,t, suht lahja proc teeb töö ära.

        Comment


          #5
          Vs: Über-PWM

          Ma kardan et täpsus läheb käest ära ja draiver (jõuosa) läheb veel keerulisemaks. Seal oleks niigi üle 1000 jupi
          Aga teatud rakenduses võiks liitmist kasutada küll, päris kaval mõte.

          Comment


            #6
            Vs: Über-PWM

            Mis asi see selline on kus on vajalik täpsus 0,025% ?
            Ja veel tuhandetes eksemplarides.

            See peab olema küll midagi väga väga kallist.

            Comment


              #7
              Vs: Über-PWM

              mis probleem on panna mitu FPGA. mul olemas plaadid 96(eurocard) kanali jaoks. " xilinxi spartan 2 kummagil. Kunagi sai tehtud 512 pinni scanner, sealt PCB-sid yle.
              Modelleerimises ja tootmises kehtivad:
              1. Avariikindel vooluring lühistab kõik teised.
              2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

              Comment


                #8
                Vs: Über-PWM

                Noh, rakendus EI peaks sisaldama 50 FPGAd
                1024 kanalit tähendab et FPGAs on 1024 12 bitist komparaatorit ja 1024 12 bitist registrit ja veel üht-teist. Ei mahu, niipaljukest kui mina tean.

                Comment


                  #9
                  Vs: Über-PWM

                  50FPGA, sõltub millist valida, 1k ei pea hoidma registris, FPGA sisaldab ka ju RAMi. Milliseid plaate vajad sõltub, 4 kihilise puhul XC3S1200, saab 4 kiviga hakkama. Seal sul 304 IO otsa aga osad Input only. Tõenäoliselt jääb enamus kivi tühjaks, Selliste küpsistega tehakse video töötlust juba.
                  Paraleel liides raiskab IO pinnide seega I2C või SPI prose poolt.
                  EX3S1600E sisaldab 33,192 Logic Cells sinu rakendus nõuab 24k loogikaelementi umbes. Lisaks on kasutada hulga RAM-i. anyway sa ei mahuta IO pinnide poolest ära.
                  Saab ka teha sort of bus expanderi. näiteks 4 adret. Su clk on 8192000Hz. Tehes näiteks 2x256 siin kasutades HC16xxx loogikat on ainult 16 kivi. muximis sagedus näiteks 18MHz. Siis oleks comparaatoreid vaja ainult 256 ja 1024 PWM registrit hoiaks RAMIs, lisaks võib RAM väline olla, siis saaks ühepoolse plaadiga ka hakkama.
                  Seda siis kui 150meg kvarts.
                  Ülespoole juba virtex vms ramusam FPGA aga sellel pole mõtet.
                  Kirjeldasin pmst soft prose millel hardcoded soft PWM, ja siini laius 256.
                  viimati muutis kasutaja murphy; 11 September 2009, 04:58.
                  Modelleerimises ja tootmises kehtivad:
                  1. Avariikindel vooluring lühistab kõik teised.
                  2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

                  Comment


                    #10
                    Vs: Über-PWM

                    kas lahenduse väga_palju_PWMe + väga_palju_power ampe asemel ei saa intelligentne PA teha ? üks 3$ piccolo - TMS320F28027 saab 8 LEDi tüürimisega kenasti hakkama ja tuleb odavam-mugavam kui analoogporr. muide just tegelengi ühe sarnase Atmega PWM + LED draiver ümbertõstmisega piccolosse, kuna PWMi reso on seal 150pS siis reguleerimisulatus on 20kHz peal 18 bitti ja 1MHz PWMi korral saab 12 bitti.
                    viimati muutis kasutaja raivo; 12 September 2009, 10:33.

                    Comment


                      #11
                      Vs: Über-PWM

                      Esmalt postitatud KaruTEC poolt
                      Selline ülesanne:

                      PWM modulaator vaja teha:
                      1024 kanalit
                      12 bitti
                      2kHz

                      FPGAsse ära ei mahu, prosega emuleerida on võimatu. Või siiski.. äkki on olemas mõni kaval PWM algoritm ?
                      Väljundite tekitamine ei ole hetkel oluline, kas paralleelregistrid või nihkeregistrid, vahet pole.

                      PWMid ei pea ilmtingimata omavahel sünkros olema, peaasi et periood ja täpsus klapiks.
                      Miks FPGA's ei mahu? 1024 jalaga FPGAss mahub juba kindlasti ara kui kavalasti teha, aga selline oleks liiga kallis, st peaksid votma korpuse
                      kus "pinni" hind on madalam, seega oleks vaja igal juhul rohkem kui
                      yks kivi, tegelikult yle 128 kanali kivi kohta pole motet, ja 128 kanalit
                      PWM saab kyll teha

                      variant 2: hasti palju hasti odavaid prosesi, pisiprose hind on
                      alates 0.39$ kaks kanalit teeb sihuke ehk juba ara

                      aga soltub kuidas sa neid PWM juhtida tahad muidugi

                      Antti
                      PS mul endal praegu project kus vaja
                      24 x 32 capture
                      +
                      24 x 16 even counter
                      +
                      32 x 16 bit PWM

                      odavasse FPGAss ara panna, polegi nii vaga hull

                      Antti

                      Comment


                        #12
                        Vs: Über-PWM

                        Esmalt postitatud KaruTEC poolt
                        Noh, rakendus EI peaks sisaldama 50 FPGAd
                        1024 kanalit tähendab et FPGAs on 1024 12 bitist komparaatorit ja 1024 12 bitist registrit ja veel üht-teist. Ei mahu, niipaljukest kui mina tean.
                        no sa ei tea

                        4096*2khz = 8MHz
                        sa teed PWM "masina" justkui spetsiaalse PWM prose FPGA's
                        mis jookseb 8Mhz * 16 = 128MHz taktiga ja kasutab block ram
                        (voi isegi distributed ram)PWM registritena,
                        masin vajab 2 clk yhe kanali jaoks, st teeb ara 8 kanalit
                        ja vajab ainult 1 komparaatorit ja 0 registrit
                        ok valjund-id flip flop on vaja, ja kontrolli statemachine

                        aga ikkagi palju vahem ressurssi kui full parallel
                        Antti

                        hm ma saan myya FPGA mooduleid hinnaga 90 EEK
                        http://www.microfpga.com
                        (vasakpoolne moodul)
                        sinna peaks ehk 16 kanalit sisse minema, hm
                        7.5 eek kanal pisi prosega saab odavamalt

                        Comment


                          #13
                          Vs: Über-PWM

                          Openchip, sa räägid 16 kanalist, mul vaja 1024...

                          Ise mõtlesin FPGA ja RAMiga sequenceri teha, kus lihtsalt kogu 1024 bitine 4096 takti pikk pattern on sisse kirjutatud. Mis arvad, kas see mahuks ära ? Ilma välise RAMita ? Väljund tuleks multipleksitud 32 bitine, niikuinii on vaja 3V-5V konversion teha.
                          Lisaks peab sama FPGA suutma prosest seda streami ka vastu võtma, kiirusega vähemalt 4096 korda sekundis (prose poolt on siis stream ca 512kB sekundis, võib tulla läbi SPI, peaks mahtuma. Võib ka paralleelsiin olla)

                          Äkki viitsid proovida, kuidas selline asi FPGAs istuks ? Lepime kokku, et kui mul projekt töösse läheb, siis ma tasun sulle vaeva,

                          Comment


                            #14
                            Vs: Über-PWM

                            Esmalt postitatud KaruTEC poolt
                            Openchip, sa räägid 16 kanalist, mul vaja 1024...

                            Ise mõtlesin FPGA ja RAMiga sequenceri teha, kus lihtsalt kogu 1024 bitine 4096 takti pikk pattern on sisse kirjutatud. Mis arvad, kas see mahuks ära ? Ilma välise RAMita ? Väljund tuleks multipleksitud 32 bitine, niikuinii on vaja 3V-5V konversion teha.
                            Lisaks peab sama FPGA suutma prosest seda streami ka vastu võtma, kiirusega vähemalt 4096 korda sekundis (prose poolt on siis stream ca 512kB sekundis, võib tulla läbi SPI, peaks mahtuma. Võib ka paralleelsiin olla)

                            Äkki viitsid proovida, kuidas selline asi FPGAs istuks ? Lepime kokku, et kui mul projekt töösse läheb, siis ma tasun sulle vaeva,
                            kas sa natuke rehkendasid ka? Mina arvestains 1 PWM = 1 FPGA I/O
                            pakkusin moodulit 30 I/O teeks 16 kanalit, vaja oleks aga muidugi
                            64 moodulit (1024/16)

                            kui sa loodad 32 PWM kanalit FPGA'st "multiplexida" set 32 kanalit
                            serialiseerituna valja striimida, siis peaks sinu valise

                            shift registri takt olem 260MHz

                            seda ma sulle ausalt ei soovitaks.
                            paris utoopia see pole, aga et teha trykiplaat kus uheks FPGAs
                            tuleb 32 seerial stream 260mhz clockiga ja hm

                            aga akki saame kokku ja arutame?
                            ma tean MIS on voimalik, ja kus saab/ei saa trikitada

                            FPGA sisemine malu on vahemikus 1KByte kuni 1.5 MBYTE
                            lihtsalt niisama infona

                            Antti
                            PS the parempoolne moodule on 5V tolerant I/O
                            (kuigi mit 5V drive, pullup ehk tombaks 5ni)

                            Comment


                              #15
                              Vs: Über-PWM

                              Ma mõtlesin FPGAst välja peksta 32bitise siini, siis saaks alla 10MHz väljundsagedusega hakkama. Ehk siis, FPGA peab selle 1024 bitti infot välja peksma läbi 32 (16 ja 8 oleks ka ok, kuid ei näe põhjust) bitise siini ja andma aadressitarkust läbi 5 bitise siini (või siis, kui pinne jagub, otse 32 juhtotsa) registritele. Kasutaks hc573 nt, peab olema 5V, muidu ei jaksa korralikult MOSFETi lülitada.

                              Et siis, kas topiks ära ühte FPGAsse:
                              SPI sisendkanal (min 4kHz*128baiti, st. 512kbitti, parem oleks juba 10Mbit)
                              mälu
                              juhtloogika, mis siis kirjutab / loeb mälust streami
                              32 bitti väljundsiin koos 32 aadressiotsaga

                              Kuidas tundub ?
                              Igaks juhuks mainiks et kogu see laga peaks olema ca nimekaardi suurusel trükkplaadil, v.a. väljundregistrid.

                              Comment

                              Working...
                              X