Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
http://www.elfafoorum.eu/faq.php
See more
See less

STM32F446 programmeerimine

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

    STM32F446 programmeerimine

    Seoses ideega, ehitada ühed arvutikõlarid täielikult ainult digitaalse signaaliahelaga, otsin inimesi, kes on praktikas STM32F4 programmeerimisega tegelenud ja oskab selles asjas aidata.
    Algul olin suht optimistlik, et mis see ära ei ole netist saadavatest näidetest koodijupid kokku tõsta ja olemas, praktika on palju keerulisem.
    Kas leidub kedagi, kes tulemuslikult suudaks aidata sellistes küsimustes:
    1. siit http://www.tjaekel.com/DiscoveryF7Audio/index.html saadava SPDIF lugemise ja I2S-ina maha mängimise tõsta ümber STM32F446 peale, ilma LCD juhtimise ja USB-ta.
    2. siit näiteks https://www.st.com/content/st_com/en...ube-audio.html tõsta samasse MCU-sse ümber filtrite ja EQ biquad konstantide ning muu konfiguratsiooni kirjutamine STA350 kivisse I2C kaudu.
    3. lisada kooslusele helitugevuse reguleerimine I2C kaudu kirjutamisega STA350 kivi registritesse, eraldi nupuga näiteks ühes kõlaris ja selle üle kandmine bluetooth kaudu teise kõlarisse, või mõlemale kõlarile otse helitugevuse nupuga ilma vahepealse bluetooth-ita.
    4. kirjutaks/pordiks muud vajalikud koodijupid, et asi töötaks probleemideta igast asendist.

    Kõik nii kõlari kui MCU raudvara ja akustilise poole arendamise teeks mina ise, see on mingis osas juba olemas. MCU koodi peaks/võiks kokku keeta SW4STM32 IDE (või mõnes teises Eclipse IDE kloonis) tarkvaras nii, et see on ühe paketina ja edaspidi modifitseeritavana olemas. Testimiseks saaks minult NUCLEO-F446RE ja X-NUCLEO-CCA01M1 plaadid.

    Kui on huvilisi, siis tasuks pakuks kogu "kõlari ja MCU raudvara ning akustilise poole oskusteavet" sellisel moel, et saab ka ise endale samasugused kõlarid ehitada.
    Kui see teave siiski kedagi ei motiveeri, võib kõne alla tulla ka otsene rahaline tasu aga see eeldab väga konkreetseid kokkuleppeid ja nendest kinni pidamist.

    #2
    Vs: STM32F446 programmeerimine.

    Teema on väga põnev, aga STM-iga pole praktiliselt midagi teinud, progemises olen suht algaja ja ajaga on päris keeruline. Igal juhul elan moraalselt arengule kaasa
    PS Kas sa lõpptulemuse kommertsialiseerimisele pole mõelnud?
    Toidan trolle!

    Comment


      #3
      Vs: STM32F446 programmeerimine.

      Kui muidu ei saa siis äki mõni firma on nõus aitama.
      ArtecDesign ja Rantelon, mõlemad Tallinnas, tegelevad oma toodangu jaoks FPGA progemisega, võibolla on neil kogemust sellegagi...
      Rantelonis tundus sõbralik seltskond.
      http://hparchive.com/
      https://worldradiohistory.com/index.htm

      Comment


        #4
        Vs: STM32F446 programmeerimine.

        Kommertsialiseerimisele ei ole mõelnud, kuigi üks kaasfoorumlane tahtis prototüübi juba ära osta. Mul pole erilist usku, et sellise põlve otsas tehtud asja eest keegi head hinda on nõus maksma ja teda suuremas tiraažis ehitada on mõtet.
        Kui firmade teenuseid kasutada läheks vist kulud nii suureks, et minu huvi ei kaalu seda üles.

        Comment


          #5
          Vs: STM32F446 programmeerimine.

          Ma ei mõtlegi masstootmist, lihtsalt see et on vahe hobi-progeja kes arvab et ta midagi oskab ja see kes seda igapäevaselt teeb ja peab hästi tegema.
          http://hparchive.com/
          https://worldradiohistory.com/index.htm

          Comment


            #6
            Vs: STM32F446 programmeerimine.

            STM on võõras. Kui PIC oleks siis saaks aidata. Samas lib on stm-ile peaaegu valmis nagu aru saan, pole mõtet hakata ümber kirjutama.

            Comment


              #7
              Vs: STM32F446 programmeerimine.

              Ma arvan küll, et ka hobi progejale peaks see jõukohane olema kui tal on mingi STM32 praktika olemas, mul isiklikult seda ei ole nagu pole ka Eclipse IDE praktikat.
              Kommertsialiseerimise jutt oli vastuseks redarti küsimusel.

              Comment


                #8
                Vs: STM32F446 programmeerimine

                kui teema algatajal endal huvi ja aega pusida on - siis ma omaltpoolt sellised näpunäited oleksin saanud anda.
                otsi tuubist stm32 cubemx teemalisi videosid ja vaheldumisi ka tolle nucleo 446 kohta. peaks olema väga palju häid ja põhjalikke tutorial videosid, kuidas nullist alustades pihta hakata.
                näiteks esimene (küll pwm näide, mis ei ole päris see teema)
                https://www.youtube.com/watch?v=WJSK7xYyStQ

                aga sama põhimõttega saab cubemx abil kõik tuumik koodi valmis genereerida, kuhu pärast soovi korral oma juppe vahele istutada.

                ise oleksin soovitanud progemiseks TrueStudio, mille ST firma paar aastat tagasi ära ostis ja on vabavaraline ja erilisi piiranguid ei tohiks olla (varem olid tobedad 8kb või 32kb max limiidid jne).

                ja lisaks leida õige 446 pdf reference manual (mitte datasheet), mis vast on tuhat lehekülge pikk ja sealt vastavaid I2S/I2C registrite info taga ajada jne.

                EDIT. selgub küll, et viimase aastaga on vist truestudio ja cubemx omavahel kokkupandud ja see on nimetusega STM32CubeIDE (Eclipse põhine)
                https://www.st.com/en/development-to...32cubeide.html
                viimati muutis kasutaja dieter; 09 05 2019, 21:20.

                Comment


                  #9
                  Vs: STM32F446 programmeerimine

                  Need videod on vist kõik juba üle vaadatud, asi seisab nii spetsiifiliste küsimuste taga, mida ühestki koolituse videost ei leia.
                  STMCubeMX olen ka näppinud, see on lihtne ja arusaadav. Atollicu TrueStudiot ka olen näppinud ega seal mingit suurt erinevust kasutaja jaoks SW4STM32 IDE-ga ei ole, mõlemad on Eclipse põhised.
                  STM32F446 reference manual (1328 lk.) on ka ikka üle vaadatud.
                  Ma saan aru, et võiks neid spetsiifilisi küsimusi siin esitada ja on lootust mingeid vastuseid saada?

                  Comment


                    #10
                    Vs: STM32F446 programmeerimine

                    ma ise kahjuks ei oma viimastel aastatel micro-de jaoks ajalist ja ajumahulist kapasiteeti ning pean tegelema suurte andmebaasidega ja infosüsteemidega, millede kõrvalt oleks vaja suuremat ümberlülitus momenti, et nädala või paariga enda uuesti kurssi viia viimase aja töövahenditega jne.
                    ja niisama huupi ei ole mul mõtet soovitusi jagada, kuna võin igal sammul eksida. seega minu rohkemale abile ei saa loota.

                    aga soovitaksin veel pöörduda siin foorumis kasutaja murphy poole, keda ma tean veel mingi 6 aastat tagasi ta oli ka stm32 klannist. aga ta võib olla sutsu rahakotile kallis

                    Comment


                      #11
                      Vs: STM32F446 programmeerimine

                      Esmalt postitatud moi poolt Vaata postitust
                      Need videod on vist kõik juba üle vaadatud, asi seisab nii spetsiifiliste küsimuste taga, mida ühestki koolituse videost ei leia.
                      STMCubeMX olen ka näppinud, see on lihtne ja arusaadav. Atollicu TrueStudiot ka olen näppinud ega seal mingit suurt erinevust kasutaja jaoks SW4STM32 IDE-ga ei ole, mõlemad on Eclipse põhised.
                      STM32F446 reference manual (1328 lk.) on ka ikka üle vaadatud.
                      Ma saan aru, et võiks neid spetsiifilisi küsimusi siin esitada ja on lootust mingeid vastuseid saada?
                      Mislaadi spetsiifilised küsimused need siis on? Rauaspetsiifilised või koodispetsiifilised või veel midagi kolmandat? Äkki saad mõne näite tuua?
                      Toidan trolle!

                      Comment


                        #12
                        Vs: STM32F446 programmeerimine

                        Kõige suurem ja põhimõttelisem küsimuste ring.
                        Kui lugeda dokumendi https://www.st.com/content/ccc/resou...DM00135183.pdf
                        lk 897 algavat SPDIF osa.
                        Oskab keegi kindlalt öelda, kas STM32F4/F7 (nii F4 kui F7 on SPDIF osas peaaegu identsed) suudavad teha SPDIF-i ümberkellamist sisemise MCU kella peale?
                        Kas nad teevad seda kui ASRC või mingil muul moel? Kas selle teostamiseks võib MCU kell olla standardne 8 MHz või peab kell olema SPDIF Fs sageduse kordne?
                        Eelnevast tulenevad järgmised küsimused.
                        Milline on F446 DMA buffri suurus ja kuidas seal FIFO toimib kui SPDIF DMA kaudu konverteeritult I2S väljundisse anda?
                        Kas esimese küsimuse valguses on karta DMA buffri üle- või alatäitumist ja kuidas sellest hoiduda?
                        Kas DMA buffri ala/ületäitumist vältivad meetmed tekitavad vältimatult I2S väljundisse antava audio taktsageduse ujumist/muutmist?
                        Kuidas on antud küsimused lahendatud lehel http://www.tjaekel.com/DiscoveryF7Audio/index.html leitavas "Download Eclipse_WS_ext project" koodis (peaks olema avatav OpenSTM32=SW4STM32 IDE-ga, mul avanes väikeste vigadega)?
                        viimati muutis kasutaja moi; 10 05 2019, 10:00.

                        Comment


                          #13
                          Vs: STM32F446 programmeerimine

                          ma veel natuke kommenteerin. dma bufrit otseselt ei olegi, kui teed perifeeria-perfireeria vahelist transporti. kui aga memory-perifeeria vahelist, siis vastavas dma registris näitad ette bufrite asukohad mälus ja nende suurused. audio puhul liiga väike suurus võib vist tekitada glitch taolist kõrinat ja liiga suur buffer liigse delay, nii et audio ei ole reaalajas kuuldav. vast miski 100ms ajalisele pikkusele vastav buffer oleks keskpärane.
                          näiteks siin lehel need annavad ette bufri info
                          http://www.lucadavidian.com/2017/11/...ller-with-adc/
                          DMA2_Stream0->M0AR
                          DMA2_Stream0->M1AR
                          DMA2_Stream0->NDTR

                          aga vaatasin ka korra algselt toodud tjaekel.com lehe F7 koodi sisse ja seal dma spdif jaoks ju ei kasutatagi.
                          spdifrx.c faili sees on vajalikud initsialiseerimise rutiinid ja tegelik tegevus on main.c sees, kus while sees kutsutakse välja
                          SPDIFRX_Loop()

                          kellade sagedused vist võisid sõltuda ka sellest, millise põhisiini AHB peal tegevus toimub.

                          st.com lehelt võib kindlasti leida lisaks ka iga teema (spdif, i2s jne) kohta eraldi appnote pdf-d ja eelduste kohaselt võib olla allalaetav ka üks suurem library vms nimetuse all zip, kus sees on kõikvõimaliku erineva perfireeria koodi näited.
                          ise ma tavaliselt surfasin eclipse projektis kuskil Drivers kausta all erinevates .h ja .c failides, leidmaks erinevaid kasutusvõimalusi ja registrite definitsioone jne.

                          Comment


                            #14
                            Vs: STM32F446 programmeerimine

                            Kas sellest tuleb nii auru saada, et DMA periferial-memory ja samu andmeid siis memory-periferial (SPDIF-DMA-I2S) üle DMA ei ole nii võimalik teha, et DMA-d loetakse kui FIFO?
                            Peaks vist ikka saama. Kui suur on aga maksimaalne FIFO-na kasutatav DMA bufferi suurus, kas ainult 4 sõna nagu lingilt jääb mulje? Jääb vist väheks, et SPDIF ja MCU/I2S kellade erinevust siluda.

                            Selle ST lehe SPDIF-i infoga on suht kitsas, midagi täpsemat kui eelmises postis viidatud lk 897 algav ei ole leidnud. Mujal netis kaevates jääb mulje, et SPDF on küll põhimõtteliselt loetav F4/F7 aga kelladega on seal tõsised probleemid, neid ei saa kuidagi nii kokku, et teel SPDIF-I2S midagi kaduma ei läheks ja vähemalt I2S kell oleks konstantne.

                            Comment


                              #15
                              Vs: STM32F446 programmeerimine

                              selleks, et kõigile sellistele seinast-seinast küsimustele vastatata, peaks vastajal juba olema 100% analoogne süsteem implementeeritud kujul realiseeritud.
                              in Estonia, elfafoorum.eu - sry, no way ....

                              kuskil eevblog foorumis oli arutelu stm32 spdif teemal, aga minu arust seal ei olnud ka ühtegi lihtsat dummy-user lahendust. see võib olla väga pikk ja habemega teema
                              viimati muutis kasutaja dieter; 10 05 2019, 21:35.

                              Comment

                              Working...
                              X