اطلاعیه

Collapse
No announcement yet.

مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

    با عرض سلام خدمت دوستای گلم
    اقا این مموری منو کشت
    هرکاری میکنم نمیتونم بهش وصل بشم حداقل 5-6 تا سورس کد پیدا کردم انواع بستن های نرم افزاری سخت افازری و شماتیک های مختلف ایرانی و خارجی رو تست کردم
    اما هرکاری میکنم نمیتونم باهاش ارتباط برقرار کنم!!!!!!!

    میکرو اس دی 4 گیگ استفاده میکنم

    atmega32
    creystal 16
    bascom


    $regfile = "m32def.dat" ' specify the used micro
    $crystal = 16000000 ' used crystal frequency
    $hwstack = 32 ' default use 32 for the hardware stack
    $swstack = 8 'default use 10 for the SW stack
    $framesize = 24

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db7 = Pinc.6 , Db6 = Pinc.7 , Db5 = Pinc.2 , Db4 = Pinc.3 , E = Pinc.4 , Rs = Pinc.5
    Cursor Off
    Cls

    ' TA'RIFE PINHAII KE MMC BE ANHA VASL MISHAVAD

    Const Cmmc_soft = 1

    Config Pinb.0 = Output
    Mmc_cs Alias Portb.0
    Set Mmc_cs

    Config Pinb.6 = Output
    Set Pinb.6
    Mmc_portmosi Alias Portb
    Bmmc_mosi Alias 3

    Config Pinb.5 = Input
    Mmc_portmiso Alias Pinb
    Bmmc_miso Alias 1

    Config Pinb.7 = Output
    Set Pinb.7
    Mmc_portsck Alias Portb
    Bmmc_sck Alias 2

    ' PAIANE TARIFE PINHAIE MMC

    ' Errors
    Const Cperrdrivereset = 225 ' Error response Byte at Reset command
    Const Cperrdriveinit = 226 ' Error response Byte at Init Command
    Const Cperrdrivereadcommand = 227 ' Error response Byte at Read Command
    Const Cperrdrivewritecommand = 228 ' Error response Byte at Write Command
    Const Cperrdrivereadresponse = 229 ' No Data response Byte from MMC at Read
    Const Cperrdrivewriteresponse = 230 ' No Data response Byte from MMC at Write
    Const Cperrdrive = 231
    Const Cperrdrivenotsupported = 232 ' return code for DriveGetIdentity, not supported yet

    Waitms 10 ' Wait some time before initialising MMC/SD

    Dim Gbdriveerror As Byte ' General Driver Error register
    Dim Gbdriveerrorreg As Byte ' Driver load Error-Register of HD in case of error
    Dim Gbdrivestatusreg As Byte ' Driver load Status-Register of HD on case of error
    Dim Gbdrivedebug As Byte

    Dim Wsrampointer As Word
    Dim Lsectornumber As Long
    Dim Berror As Byte

    Dim Abuffer(512) As Byte

    $lib "MMC.LIB" ' link driver library
    $external _mmc
    Wait 1
    Gbdriveerror = Driveinit()
    Cls ' wait after initializing
    Lcd Gbdriveerror
    Wait 2
    ' Init MMC/SD Card
    Gbdriveerror = Drivecheck()

    Cls ' wait after initializing
    Lcd Gbdriveerror
    Wait 2

    Waitms 100

    ' BARAIE KHANDAN AZ SECTOR 0 VA COPY KARDANE AN DAR ARRAYE ABUFFER
    Wsrampointer = Varptr(abuffer(1))
    Lsectornumber = 0
    Berror = Drivereadsector(wsrampointer , Lsectornumber)

    ' BARAIE NEVESHTANE ARRAYE ABUFFER RUIE SECTORE 1
    Lsectornumber = 1
    Berror = Drivewritesector(wsrampointer , Lsectornumber)

    End

    این یک نمونه کد بود

    وقتی اجرا میکنم خطا میده!!
    Const Cperrdrivereset = 225 ' Error response Byte at Reset command


    تو قسمت Gbdriveerror = Driveinit()

    سیم هام کوتاه هستن خازن زدم 104 و 100 میکرو
    پول اپ زدم به خروجی هام به رم
    دیگه کلا کلافه شدم
    خیلی گیجم کرده لطفا کمک کنین

    #2
    پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

    این فقط یکی از سورس های مربوط به مموری هست که بسیار ساده است اما اینم جواب نداده به همین خاطر اینو گذاشتم تا ببینین
    در ضمن من از مقاومت 2.2 برای پول اپ استفاده کردم و سر راه پایه های ارتباطی به جز پایه ورودی میکرو از مقاومت 2.2 استفاده کردم
    اول از 1 کیلو استافاده کرده بودم تو یک سایتی دیدم 2.2 زده منم عوض کردم
    یک جایی هم خوندم که نباید بزنین و فقط پول اپ کافیه

    یکی دیگه هم گفته بود سرعت spi رو کم کنیم که این کارم تو مد سخت افازری میشه انجام داد
    نمیدونم مموری من 4 گیگه به خاطر اونه یا این که مدارم کمی کثیفه از اونه یا چون از uart , ds1307 هم استفاده شده اونها باعث میشن
    خلاصه گیر کردم نمیدونم چجوری درستش کنم
    2 شب و روزه که روش های مختلف رو تست زدم اما نمیدونم کجای کارم اشتباهه

    دیدگاه


      #3
      پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

      کسی نیست کمک کنه؟
      کسی به این مشکل برخورد نکرده؟؟؟؟؟ :angry: :angry: :angry:

      دیدگاه


        #4
        پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

        شما اول یک بار مموری رو فرمت کن و fat و fat32 رو تست کن
        قسمت های دیگه برنامه رو غیر فعال کن فقط مموری فعال باشه
        سعی کن اگه می تونی از پایه های spi سخت افزاری استفاده کنی
        اگه اگه مموری رو به پورت c وصل کردی حتما jtag غیر فعال باشه
        حتما فیوز بیت ها روی فرکانسی که برنامه رو نوشتی تنظیم باشه
        و در آخر اگه نشد یک مارک دیگه از مموری رو تست کن بعضی مارک ها جواب نمیده .

        دیدگاه


          #5
          پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

          نوشته اصلی توسط REZA_RAZAVI_M
          شما اول یک بار مموری رو فرمت کن و fat و fat32 رو تست کن
          قسمت های دیگه برنامه رو غیر فعال کن فقط مموری فعال باشه
          سعی کن اگه می تونی از پایه های spi سخت افزاری استفاده کنی
          اگه اگه مموری رو به پورت c وصل کردی حتما jtag غیر فعال باشه
          حتما فیوز بیت ها روی فرکانسی که برنامه رو نوشتی تنظیم باشه
          و در آخر اگه نشد یک مارک دیگه از مموری رو تست کن بعضی مارک ها جواب نمیده .
          فرمت رو تست کردم نشد

          قسمت های دیگه رو هنوز غیر فعال نکردم
          از سخت افزاری استفاده میکنم هنگ میکنه کلا!!!
          پایه هاشو چجوری بزنم؟؟
          به پورت ب زدم
          فیوز بیت مربوط به چر رو تست کنم؟؟
          2 تا مارک مختلف زدم اما فرقی نکرد!

          دیدگاه


            #6
            پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

            برای راحتی کار از ارتباط Spi سخت افزاری استفاده کنید
            چرا هنگ میکنه ؟ شما برنامه رو میتونید کامپایل کنید یا ارور میده؟
            توی سمپل های بسکام فایل config_mmc رو اینکلود کن تو برنامه و دستورهایی که مربوط به مموروی نوشتی رو پاک کن ببین میتونی کامپایل کنی اگه تونستی در این حالت یا پایه Cs مموروی رو به پورت B0 میکرو وصل کن یا توی همون فایل پورت دیگه ای رو انتخاب کن و نتیجه رو بگو در ضمن پول اپ هم برای مموری لازم نیست فقط اگه به میکرو 5 ولت میدی به پایه های ارتباطی به جز پایه MISO باید تقسیم مقاومتی بذاری
            [br /][hr]http://pcenter.ir[hr][br /]

            دیدگاه


              #7
              پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

              نوشته اصلی توسط adelavr110
              برای راحتی کار از ارتباط Spi سخت افزاری استفاده کنید
              چرا هنگ میکنه ؟ شما برنامه رو میتونید کامپایل کنید یا ارور میده؟
              توی سمپل های بسکام فایل config_mmc رو اینکلود کن تو برنامه و دستورهایی که مربوط به مموروی نوشتی رو پاک کن ببین میتونی کامپایل کنی اگه تونستی در این حالت یا پایه Cs مموروی رو به پورت B0 میکرو وصل کن یا توی همون فایل پورت دیگه ای رو انتخاب کن و نتیجه رو بگو در ضمن پول اپ هم برای مموری لازم نیست فقط اگه به میکرو 5 ولت میدی به پایه های ارتباطی به جز پایه MISO باید تقسیم مقاومتی بذاری

              ' define Chip-Select Pin
              Config Pinb.0 = Output ' define here Pin for CS of MMC/SD Card
              Mmc_cs Alias Portb.0
              Set Mmc_cs

              ' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
              Config Pinb.6 = Output ' define here Pin of SPI SS
              Spi_ss Alias Portb.6
              Set Spi_ss ' Set SPI-SS to Output and High por Proper work of
              ' SPI as Master

              ' HW-SPI is configured to highest Speed
              Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
              Spsr = 0 ' Double speed on ATMega128
              Spiinit
              این از ارتباط سخت افزاری من
              cs رو زدم به b.0 و spi رو زدم به b.6
              دیگه باید چیکار کنم
              ببین درسته؟؟

              من پول اپ زدم به زمین
              قطع کنم؟
              برای میکرو 5 ولت دادم برای مموری 3.3 منظورتو از تقسیم مقاومتی نمیدونم میشه مثال بزنین؟
              ممنونم ازتون

              دیدگاه


                #8
                پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

                نوشته اصلی توسط zamanyad
                این از ارتباط سخت افزاری من
                cs رو زدم به b.0 و spi رو زدم به b.6
                دیگه باید چیکار کنم
                ببین درسته؟؟
                من پول اپ زدم به زمین
                قطع کنم؟
                برای میکرو 5 ولت دادم برای مموری 3.3 منظورتو از تقسیم مقاومتی نمیدونم میشه مثال بزنین؟
                ممنونم ازتون
                پول پ رو زدم به زمین یعنی چی ؟ خب یا پول پ میشه یا پول داون !
                تقسیم مقاومتی نذاشتی ؟ مگه نگفتی از چند تا شماتیک استفاده کردم اونها هم نذاشته بودن؟
                اگه به میکرو 5ولت بدی باید یه تقسیم مقاومتی بذاری یه 3.3k و یه 2.2k و تقسیم مقاومتی وصل کن
                Spi_ss و MMC_CS هم باید هردو یکی باشن
                در ضمن گفتم که :
                نوشته اصلی توسط adelavr110
                توی سمپل های بسکام فایل config_mmc رو اینکلود کن تو برنامه و دستورهایی که مربوط به مموروی نوشتی رو پاک کن ببین میتونی کامپایل کنی اگه تونستی در این حالت یا پایه Cs مموروی رو به پورت B0 میکرو وصل کن
                [br /][hr]http://pcenter.ir[hr][br /]

                دیدگاه


                  #9
                  پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

                  نوشته اصلی توسط adelavr110
                  پول پ رو زدم به زمین یعنی چی ؟ خب یا پول پ میشه یا پول داون !
                  تقسیم مقاومتی نذاشتی ؟ مگه نگفتی از چند تا شماتیک استفاده کردم اونها هم نذاشته بودن؟
                  اگه به میکرو 5ولت بدی باید یه تقسیم مقاومتی بذاری یه 3.3k و یه 2.2k و تقسیم مقاومتی وصل کن
                  Spi_ss و MMC_CS هم باید هردو یکی باشن
                  در ضمن گفتم که :
                  یعنی پول داون زدم به گراند دیگه

                  برای ارتباط میکرو با مموری مقاومت 2.2 کیلو برای همه پایه ها بجز mso زدم
                  و 2.2 کیلو به گراند برای همه پایه ها بجز mso

                  همون جوری که شما گفتین کردم
                  خطا نداد اما کار هم نکرد
                  یعنی تو همون قست اول که میره کد مربوط به تنظیمات سخت افزاری spi رو بخونه هنگ میکنه میمونه
                  انگار نمیتونه باهشا ارتباط برقار کنه و هنگ میکنه

                  ممنون میشم کمکم کنین

                  دیدگاه


                    #10
                    پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

                    دوست عزیز پول پ به ولتاژ بالا و پول دان به ولتاژ پایین(معمولا زمین) وصل می شود.اگه مقاومت رو به زمین متصل کردین پول دان حساب میشه
                    اگه براتون مقدوره اول دستورات ارسالیتون رو توی پروتئوس شبیه سازی کنید .بنظرم میکروتون هنگ نمیکنه توی ارسال یا دریافت spi گیر میکنه

                    دیدگاه


                      #11
                      پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

                      نوشته اصلی توسط 4tan
                      دوست عزیز پول پ به ولتاژ بالا و پول دان به ولتاژ پایین(معمولا زمین) وصل می شود.اگه مقاومت رو به زمین متصل کردین پول دان حساب میشه
                      اگه براتون مقدوره اول دستورات ارسالیتون رو توی پروتئوس شبیه سازی کنید .بنظرم میکروتون هنگ نمیکنه توی ارسال یا دریافت spi گیر میکنه
                      میبخشین کمی گیج میزنم!!! اخه این پروژه گیجم کرده
                      بله تو ارتباط با spi هنگ میکنه
                      اما سوال اینجاست که چرا؟
                      تو شبیه سازی که درسته
                      خیلی ها این مشکل منو داشتن نمیدونم چیکار کردن
                      الان خطا عوض شده
                      تو مد نرم افزاری 226 میده اما تو سخت افزاری تو قسمت ارتباط با spi میمونه
                      نمیدونم چیکارش کنم و مشکل از کجاست

                      دیدگاه


                        #12
                        پاسخ : مشکل اساسی در رابطه با ارتباط mmc!!! تو رو خدا کمک کنین هرچی باشه

                        از رگولاتور 3.3 برای تغذیه استفاده کن که مشکلات تقسیم ولتاژ مقاومتی حل بشه و دیگه نیازی به مقاومت نداشته باشی و مموری رو مستقیم بزنی به میکرو
                        و حتما یک خازن 22 میکرو در خروجی رگولاتور بزار
                        مقاومت پول پ یا پول دان هم لازم نداری شاید مشکل هنگ از همینا باشه

                        اگه راجع به فیوز بیت ها اطلاع نداری و میکرو رو از وقتی خریدی فیوز هاشو تنظیم نکردی برنامه رو با فرکانس 1000000 بنویس وگرنه همه چیز قاطی میشه
                        و اگه مگا 32 یا 16 داری از پورت c استفاده نکن تا کار با فیوز بیت ها رو یاد بگیری و jtag رو غیر فعال کنی

                        دیدگاه

                        لطفا صبر کنید...
                        X