Teade

Collapse

Foorumi reeglid.

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

CD ROM Controller valmis

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

    CD ROM Controller valmis

    Sain valmis CD ROM Controlleri AVR ATmega16 ja LCD 2x16 paasil. Skeemi ja koodi sain http://www.ueno.no-ip.org/~tube-audio/DAC/atapi_ctl/ lehelt
    Süsteem hakkas tööle , sisse külitades näitab CD ROM i mudeli numbrit ja cd plaadi trackide arvu ja plaadi kogu aega aga kui vajutan Play jookseb kivi kinni.
    Süsteem sai oma trükiplaadile tehtud ja skeem kontrollitud, viga võib olla koodis või sellest et kasutan teist kivi. kuna progeda eriti ei oska ja see kood pole minu kirjutatud siis oleks sellega veidi abi vaja. :huh:

    #2
    Kivi erinevus võib küll mõjuda. Kontrolli kooodi, võrdle andmelehti, muuda koodi vastavalt vajadusele.
    - 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


      #3
      See süsteem kasutab 16 bit ist porti ja see toimib kuna ta infot saab ja suudab edastada CD ROM ile, kui keegi viitsiks võtku sealt lehelt lähtekood ja skeem
      viga võib olla koodis. NB Seal lehel on ka link cd romi juhtimis eeskirjad http://www.noritake-itron.jp/cs/down...pf160_r20j.pdf

      Comment


        #4
        Alustame sellest et mis kivi sinu skeemis on ja mida autor kasutas (võib-olla see on juba kuskil kirjas, sorry). Siis saab hakata erinevusi uurima.
        Ma ei ole enne AVR-idele koodi kirjutanud kuid nt. PICide ja 51-core prosede puhul on konkreetne kivi tüüp väga oluline. Kood võib lähedasel prosel küll joosta aga kuna mõned registrid on teised, jooksed teatud olukordades kinni. Konkreetne näide: PIC12F629-le kirjutasin IR-puldi koodi, mis 12F675 (väga sarnane prose, vaid A/D muundi on lisaks) peal ei suvatsenud üldse käivituda. Põhjus: A/D muundi segas vahele.
        Seega, KUI sul on natuke teine kivi, on see täiesti piisav põhjus koodi anomaaliateks.
        Usun, et autori koodis vigu ei ole, pigem on asi raua (prose või miks ka mitte CD-draiv) erinevustes

        PS. Too link viis küll LCD juhtimisele, mitte CD...
        PS2. Kas lähtekood on assembleris? Siis võiks isegi uurida...
        - 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


          #5
          Sorry see link oli vale
          Õige CD ROM juhtimine -> http://www.myplace.nu/mp3/files/8020rev26.pdf

          ette nähtud kivi oli AT90S8515 ja nüüd on mul skeemil ATmega16
          pidin teist kivi kasutama sest AT90S8515 oli elfas otsa lõpenud
          Ja sealt ma sain lähtekoodi assambleris.
          proovisin mitme erineva cd romiga - sama tulemus

          Comment


            #6
            Kindlasti oled sisse unustanud ATmega16-e sisemise ostsillaatori, sisemine ostsillaator käib vaikimisi 1MHz peal ja kogu taktimajandus on teistsugune. Loe lfuse ja hfuse välja, vaata ATmega16 datasheet'ist, mis bitte on vaja muuta välise kvartsi kasutamiseks ja kirjuta tagasi.

            Kui sa 8515-e jaoks kompileeritu binary ATmega16-le selga lasid, siis pidigi katki minema. Päris kindlasti on nii mõnigi register asukohta muutnud. Kui kood on normaalselt tehtud, peaks piisama kompilaatori protsessoritüüpi määrava võtme muutmisest.

            Tegelikult peaksid ise ka hakkama saama, teatavasti tasuta keegi programmeerimistööd ei tee. Vaata koodi, mida täidetakse play-nupule vajutamisel - see ei ole arvatavasti eriti pikk. Kõige lihtsam debugimisnipp on LED-e juurde panna, mis pannakse näiteks teatud veasituatsioonides vilkuma.
            If you think education is expensive, try ignorance.

            Comment


              #7
              Pean veel kontrollima kuid 8515 kivi on mul VIST olemas ja ka üle.
              - 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
                Originally posted by andreie@Jan 4 2006, 09:10

                Kui sa 8515-e jaoks kompileeritu binary ATmega16-le selga lasid, siis pidigi katki minema. Päris kindlasti on nii mõnigi register asukohta muutnud. Kui kood on normaalselt tehtud, peaks piisama kompilaatori protsessoritüüpi määrava võtme muutmisest.

                Lähtekoodis ma muutsin include faili ATmega16 faili vastu seega portide definitsioonid peaksid õiged olema

                Comment


                  #9
                  ATMega 8515 ei oma A/D muundit ja veel paljusid muid vidinaid. Pead süvenema asjasse ja fusedest asjad, mis vajalikud pole väljalülitama. Nii 8515 kui mega16 hakkavad defaultis tööle 1MHz-se sisemise taktiga - pead ilmselt fusedest ka takti väliseks muutma.
                  Kunagi kirjutasin ringi ühe koodi mis oli mega8-le mõeldud, kuid istutasin ta mega16-le. Asi oli küllalt lihtsalt teostatav sest avr-studio luges ise kõik vead ette. Küll aga oli vaja vaada atmega8515 ja mega16 include faile - samad asjad pisut erinevate nimedega.
                  "Computers in future may weigh no more than 1.5 tons."(Popular Mechanics, 1949)

                  Comment


                    #10
                    Kui keegi oskab näidata kuidas A\D muundit ja takti väliseks muuta , siis siit saab ATmega16 datasheeti http://www.elfa.se/pdf/73/736/07367246.pdf ja lähtekoodi
                    http://www.ueno.no-ip.org/~tube-audio/DAC/...api_src_2_5.txt
                    mõnda asm näidet vaja.

                    Comment


                      #11
                      takti valik EI käigi koodist, see käib juhtbittidest. Neid torgid oma programmaatoriga, mina kasutan näiteks PonyProg'i. Kindlasti mõtle enne läbi ja ära enne midagi torgi, kui oled kõigest aru saanud, mis ja miks ja kuidas on. Kui midagi valesti muudad ja näiteks generaatori madalsagedusliku kvartsi või mõne muu sellise totruse peale keerad, siis on vaja see ka skeemi niimoodi panna, et saaks tagasi keerata; jadaprogrammeerimine ISP pordi kaudu vajab töötavat generaatorit.

                      Ahjaa, AT90S8515 on tootmisest maas, teda peaks asendama ilma suuremate muudatusteta ATMega8515

                      Comment


                        #12
                        Originally posted by teostaja@Jan 4 2006, 16:18
                        Kui keegi oskab näidata kuidas A\D muundit ja takti väliseks muuta , siis siit saab ATmega16 datasheeti http://www.elfa.se/pdf/73/736/07367246.pdf ja lähtekoodi
                        http://www.ueno.no-ip.org/~tube-audio/DAC/...api_src_2_5.txt
                        mõnda asm näidet vaja.
                        Aga loe ometigi sealt datasheet'ist, see on ju lihtne nagu laul. Fuse'ide näppimiseks on programmaatorisoftis eraldi vahendid.

                        Muide, Atmel'i datasheet'ides on tihtipeale ka koodinäited olemas, juhuks, kui hirmu peaks olema.
                        If you think education is expensive, try ignorance.

                        Comment


                          #13
                          lisaks veel niipalju, et seal on kena sõnade mäng nende fusebittidega. Programmed tähendab 0, unprogrammed tähendab 1. Igal programmil pead kindlasti ka kontrollima, kumba polaarsust tuleb seal märkida. PonyProg teeb näiteks 1=tühi kast ja 0=linnuke kastis järgi. Ükskord olen pidanud ühele sisemise RC-ossi peal olnud kontrollerile kvartsi taha jootma, et asja tagasi keerata... Hetkeks võttis mõtlema küll, et mis juhtus ja kuidas tagasi saab, õnneks ei olnud asi nii hull ja mõtlesin välja, mis valesti läks ja vaatasin tabelist järgi, mida selle lahendamiseks teha tuleb.

                          Comment


                            #14
                            Takti saab jah väliste fusebitidega muuta - mõnel progejal eraldi aken nende jaoks kohe kus kirjas ka mis mida teeb.
                            A/D- kohta ei mäleta aga JTAG pordis C on küll vaja väljalülitada, kui ei kasuta muidu lihtsalt port ei tööta.

                            Takti saab panna välise kvartsiga tööle ja ka välise generaatoriga tööle. Ükskord panin mega16 välise generaatori peale - hiljem tuli asja elustamiseks ühest vindist sobiv gene välja joota
                            "Computers in future may weigh no more than 1.5 tons."(Popular Mechanics, 1949)

                            Comment


                              #15
                              Sain asja tööle ,võtsin fusebitis JTAG il linnukese maha ja süsteem hakkas probleemideta tööle

                              Tänan abi eest

                              võite midagi selle kohta küsida, kui on soove.

                              Comment

                              Working...
                              X