اطلاعیه

Collapse
No announcement yet.

ارتباط سخت افزاری با mmc

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

    #16
    پاسخ : ارتباط سخت افزاری با mmc

    نوشته اصلی توسط طراح
    من امشب بطور خاص برای راهنمایی شما به انجمن مراجعه کردم. تابع disk_initialize در کدویژن در دسترس نیست. اما من تابع معادل آن در فایل mmc.c را که در سورس های Chan وجود دارد، بصورت خط به خط تحلیل کرده ام و در این تابع یک مکانیزم timeout وجود دارد که حتی در صورتی که SDC وجود هم نداشته باشد، نباید منجر به هنگ کردن تابع شود. بنابراین با فرض اینکه در کدویژن هم به درستی از آن استفاده شده باشد و در آن Bug وجود نداشته باشد، نباید چنین وضعیتی پیش بیاید. در این شرایط به موارد مختلفی می توان شک کرد که یکی از آنها استفاده از mega32 است که به دلیل کم بودن حافظه ممکن است مشکل ساز باشد. بحث فیوزبیت ها هم ممکن است به احتمال کم تاثیر گذار باشد که باید محتوای فیوزبیتی را که برنامه ریزی کرده اید بصورت دقیق بیان کنید. شاید بهتر بود که شما در گام اول همان سخت افزار توصیه شده برای مثال کدویژن را تامین می کردید و درصورت جواب گرفتن از آن برای تغییرات اقدام می کردید. در شرایط فعلی هم مورد خاصی به غیر از موارد بیان شده به نظر من نمی رسد، مگر آنکه در فرصت مقتضی آزمایش عملی را با mega32 انجام دهم و نتیجه را به شما هم اطلاع دهم.
    خیلی ممنون
    راستش من مجبورم از mega32 استفاده کنم.(پروژه کارشناسی).اما مجبور به راه اندازی mmc نیستم.
    اما فکر کنم من توی همین انجمن و جاهای دیگه دیده بودم که با استفاده از mega32 این کار رو می کردن(mmc)
    بازم ممنون از توجهتون. بی زحمت هر وقت وقت کردین این آزمایش رو عملی انجام بدین من منتظر جوابتون هستم.

    با این اوصاف احتمالا باید بیخیال mmc بشم و به جای استفاده از mmc با کامپیوتر به تابلو روان دستور بدم.
    هستم اگر می روم گر نروم نیستم

    دیدگاه


      #17
      پاسخ : ارتباط سخت افزاری با mmc

      آزمایشی با mega32 و mmc و SDHC و micro sd انجام دادم که درست عمل می کرد و هر 3 نوع حافظه را می شناخت. اما در حالتی که کارت متصل نبود و کلاک روی 1 مگاهرتز داخلی بود، حدود 75 ثانیه طول می کشید تا از تابع disk_initialize خارج شود. شما در درجه اول فیوزبیت ها را به درستی تنظیم کنید تا روی 8 مگاهرتز داخلی تنظیم شود و در تنظیمات پروژه هم همین مقدار را برای فرکانس کلاک وارد کنید و نتیجه را اطلاع دهید.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        #18
        پاسخ : ارتباط سخت افزاری با mmc

        نوشته اصلی توسط طراح
        آزمایشی با mega32 و mmc و SDHC و micro sd انجام دادم که درست عمل می کرد و هر 3 نوع حافظه را می شناخت. اما در حالتی که کارت متصل نبود و کلاک روی 1 مگاهرتز داخلی بود، حدود 75 ثانیه طول می کشید تا از تابع disk_initialize خارج شود. شما در درجه اول فیوزبیت ها را به درستی تنظیم کنید تا روی 8 مگاهرتز داخلی تنظیم شود و در تنظیمات پروژه هم همین مقدار را برای فرکانس کلاک وارد کنید و نتیجه را اطلاع دهید.
        راستش من عکس فیوز بیت ها رو گذاشتم توی چند تا پست بالاتر:
        http://santooristan.persiangig.com/eca/fuses.png
        میشه شما چک کنین ببینین درسته یا نه؟
        کلاک پروژه روی 14 مگاهرتز بود کردمش 8 مگاهرتز(شاید مشکلم همین جا بود. چون پروژه مگا128 رو تغییر داده بودم)
        من الان تست می کنم نتیجه رو بهتون میگم
        هستم اگر می روم گر نروم نیستم

        دیدگاه


          #19
          پاسخ : ارتباط سخت افزاری با mmc

          حق با شما بود.
          در بزنامه قبلی که روی میکرو بود (14 مگاهرتز) بعد از 75 ثانیه از تابع خارج میشه.
          اما چه کارت توی سوکت باشه چه نباشه در هر دو حالت مینویسه disk init failed

          کلاک پروژه رو روی 8 مگاهرتز گذاشتم با اون فیوز بیت هایی که واستون فرستادم
          حالا چیزی حدود 30 ثانیه طول میکشه باز هم مینویسه disk init failed

          الان دارم میرم از کتاب اقای مهندس ره افروز بخونم ببینم فیوز بیت ها درست تنظیم شدن یا نه.
          در ضمن ممکنه هر لحظه اینترنت ما قطع بشه(از صبح تا حالا صد دفعه قطع شده. خودتون میدونین واسه چی دیگه . اگه دیر جواب میدم ببخشید)
          هستم اگر می روم گر نروم نیستم

          دیدگاه


            #20
            پاسخ : ارتباط سخت افزاری با mmc

            توی کتاب مهندس نوشته برای 8 مگاهرتز داخلی باید فیوزبیت های CLSEL3:0 به این صورت باشن:
            0100

            یعنی CKSEL.2 = 1 وبقیه صفر باشن که ظاهرا مال من اینجوری نبود و روی 1 مگاهرتز تنظیم بود.
            خوب من رفتم توی برنامه پروگرمر (ECA AVR Programme) بخش bit configing
            فیوز بیت ها رو از میکرو خوندم.بعد فیوز بیت CLKSEL.0 که 1 بود رو کردم 0 و CLKSEL.2 که 0 بود رو کردم 1
            write fuses رو زدم. روی نوار وضعیت نوشت write fuse bits successful اما وقتی دوباره فیوز بیت ها رو میخونم همون حالت قبلی میشه. یعنی بر می گرده به 1 مگاهرتز!!!!
            چیجوری باید این مشکل رو رفع کنم؟
            چیزی مثل قفل کردن فیوز بیت ها داریم؟
            هستم اگر می روم گر نروم نیستم

            دیدگاه


              #21
              پاسخ : ارتباط سخت افزاری با mmc

              مشکل قطعی اینترنت برای من هم وجود دارد و برای ارسال همین پست از چند خط مختلف Dialup سعی کردم. اگر LockBit ها پروگرام شده باشند، امکان تغییر فیوزبیت ها وجود ندارد. آیا در تنظیمات پروگرامر شما این بیت ها در وضعیت Lock قرار ندارند؟
              جدا از مسئله فرکانس کلاک، اگر پیغام disk init failed می دهد یعنی برنامه درست عمل می کند، اما به هر دلیل ارتباط با mmc برقرار نمی شود که ممکن است از نوع اتصالات شما باشد. برای مشاهده پایه های mmc/sdc و صحت اتصال آن به شکل دوم در این لینک مراجعه کنید:

              elm-chan.org/docs/mmc/mmc_e.html
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                #22
                پاسخ : ارتباط سخت افزاری با mmc

                نوشته اصلی توسط طراح
                مشکل قطعی اینترنت برای من هم وجود دارد و برای ارسال همین پست از چند خط مختلف Dialup سعی کردم. اگر LockBit ها پروگرام شده باشند، امکان تغییر فیوزبیت ها وجود ندارد. آیا در تنظیمات پروگرامر شما این بیت ها در وضعیت Lock قرار ندارند؟
                جدا از مسئله فرکانس کلاک، اگر پیغام disk init failed می دهد یعنی برنامه درست عمل می کند، اما به هر دلیل ارتباط با mmc برقرار نمی شود که ممکن است از نوع اتصالات شما باشد. برای مشاهده پایه های mmc/sdc و صحت اتصال آن به شکل دوم در این لینک مراجعه کنید:

                elm-chan.org/docs/mmc/mmc_e.html
                فکر می کنم اون بیت هایی که فرمودین LOCK باشن
                توی عکس
                قسمت سمت راست مال این بیت ها باید باشه
                حالا میشه بگین کدوم بیت ها رو باید غیر فعال کنم؟

                درباره ارتباط MMC هم من هم همینطور فکر می کردم (تاپیک http://www.eca.ir/forum2/index.php?topic=48171.0 )
                پایه های mmc رو درست وصل کردم.(طبق مجله نویز 2)(هم با مقاومت هم بدون مقاومت های مجله امتحان کردم)
                خوب فکر کنم الان بهترین کاری که میتونم بکنم اینه که یه بار دیگه با دقت مدار رو ببندم شاید راه افتاد.
                هستم اگر می روم گر نروم نیستم

                دیدگاه


                  #23
                  پاسخ : ارتباط سخت افزاری با mmc

                  با توجه به اینکه با پروگرامر مورد استفاده شما آشنایی ندارم، از روی شکلی که قرار دادید می توان به این نتیجه رسید که فیوزبیت هایی را که 1 خوانده می شوند، با فعال کردن تیک آن نمایش داده است. اگر این مورد برقرار باشد، فیوزبیت ها در مقدار default خود قرار دارند و Lockbit ها هم برنامه ریزی نشده اند. برای اطمینان بیشتر می توانید برنامه پروگرام شده را یکبار Verify کنید و در صورت مطابقت می توانید مطمئن شوید که میکروکنترلر در وضعیت Lock نیست.
                  یک مورد مهم دیگر بحث تغذیه mmc است که در مورد آن توضیح ندادید و باید در مقدار 3.3 ولت باشد. جمله ای نوشته اید که
                  هم با مقاومت هم بدون مقاومت های مجله امتحان کردم
                  آیا منظور شما این است که سیگنال با سطح 5 ولت را به mmc متصل کرده اید؟ در اینصورت احتمال دارد به آن آسیب رسیده باشد که یکبار با ram reader باید آن را امتحان کنید.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #24
                    پاسخ : ارتباط سخت افزاری با mmc

                    نوشته اصلی توسط طراح
                    با توجه به اینکه با پروگرامر مورد استفاده شما آشنایی ندارم، از روی شکلی که قرار دادید می توان به این نتیجه رسید که فیوزبیت هایی را که 1 خوانده می شوند، با فعال کردن تیک آن نمایش داده است. اگر این مورد برقرار باشد، فیوزبیت ها در مقدار default خود قرار دارند و Lockbit ها هم برنامه ریزی نشده اند. برای اطمینان بیشتر می توانید برنامه پروگرام شده را یکبار Verify کنید و در صورت مطابقت می توانید مطمئن شوید که میکروکنترلر در وضعیت Lock نیست.
                    یک مورد مهم دیگر بحث تغذیه mmc است که در مورد آن توضیح ندادید و باید در مقدار 3.3 ولت باشد. جمله ای نوشته اید که آیا منظور شما این است که سیگنال با سطح 5 ولت را به mmc متصل کرده اید؟ در اینصورت احتمال دارد به آن آسیب رسیده باشد که یکبار با ram reader باید آن را امتحان کنید.
                    نه
                    من برای تغذیه Vcc میکرو از LF33 استفاده کردم (باتری کتابی رو به یک 7805 دادم خروجی 7805 رو به میکرو، ال سی دل ، و ورودی LF33 دادم. خروجی LF33 رو دادم به mmc
                    کارت رو با رم ریدر امتحان کردم.سالم بود.
                    من فردا باید برم واسه حذف و اضافه. توی اولین فرصت میشینم مدار رو دوباره میبندم ببینم چی میشه.
                    اون بحث فیوز بیت ها رو هم باید کامل از کتاب بخونم ببینم چی میشه.
                    در هر صورت ممنون از راهنماییهاتون
                    هستم اگر می روم گر نروم نیستم

                    دیدگاه


                      #25
                      پاسخ : ارتباط سخت افزاری با mmc

                      سلام
                      من هم تازه با mmc آشنا شدم و فقط همین برنامه ی تستی که از مجله نویز گرفتم کار کردم و جواب گرفتم ، هر چند یه جاهایی دستکاری کردم. یعنی تونستم یک فایل بسازم، تو فایل بنویسم و بخوانم (باید توی mmc یک فایلی به نام s.txt ایجاد کنی و متنی را درون آن قرار دهی تا روی lcd نمایش دهد، lcd هم روی پورت D است)
                      این هم فایل برنامه با همین کد ویژن 2.05 نوشته شده
                      http://telec.persiangig.com/Micro/fat/m2.c
                      مشکل در پروگرام کردن داشتید طبق همین شکل تیک هارا بگذارید و ضمنا فقط فقط Program>>Fuse Bits رو بزنید و هیچ وقت از ALL استفاده نکنید

                      این هم طریقه اتصال mmc به میکرو ، من از mega32 سری L استفاده کردم و تغذیه میکرو را هم 3.3V دادم

                      ببخشید تا همین قدر بیشتر بلد نیستم ،امیدوارم کمکت کنه :redface:
                      هیچ کس و هیچ چیز نمی تونه مانع رسیدنت به آرزوهات بشه مگر خودت

                      دیدگاه


                        #26
                        پاسخ : ارتباط سخت افزاری با mmc

                        نوشته اصلی توسط savameri
                        سلام
                        من هم تازه با mmc آشنا شدم و فقط همین برنامه ی تستی که از مجله نویز گرفتم کار کردم و جواب گرفتم ، هر چند یه جاهایی دستکاری کردم. یعنی تونستم یک فایل بسازم، تو فایل بنویسم و بخوانم (باید توی mmc یک فایلی به نام s.txt ایجاد کنی و متنی را درون آن قرار دهی تا روی lcd نمایش دهد، lcd هم روی پورت D است)
                        این هم فایل برنامه با همین کد ویژن 2.05 نوشته شده
                        http://telec.persiangig.com/Micro/fat/m2.c
                        مشکل در پروگرام کردن داشتید طبق همین شکل تیک هارا بگذارید و ضمنا فقط فقط Program>>Fuse Bits رو بزنید و هیچ وقت از ALL استفاده نکنید

                        این هم طریقه اتصال mmc به میکرو ، من از mega32 سری L استفاده کردم و تغذیه میکرو را هم 3.3V دادم

                        ببخشید تا همین قدر بیشتر بلد نیستم ،امیدوارم کمکت کنه :redface:
                        ممنون
                        1. میشه فایل شبیه سازی که ازش جواب گرفتین رو بفرستین؟
                        2. من از پروگرمر سایت استفاده می کنم و فکر نمی کنم بتونم مستقیما از کد ویژن استفاده کنم.اما باز هم فیوز بیت هاییی که گذاشتین می تونه کمک کنه.
                        3. اما در مورد اتصال پایه ها:
                        شما با همین اتصال جواب گرفتین؟؟!!!!!!!!!!!!!!!!!!
                        آخه توی دیتا شیت mmc و سایت آقای chan یه چیز دیگه نوشته!!
                        http://elm-chan.org/docs/mmc/mmc_e.html
                        شما پایه ی 9 رو 1 گرفتین. 1 رو 2 گرفتین و . . .
                        میشه یه بار عکستون رو چک کنین؟

                        (من خیلی مشتاق فایل شبیه سازی هستم.اگه اونو لطف کنین ممنون میشم)
                        هستم اگر می روم گر نروم نیستم

                        دیدگاه


                          #27
                          پاسخ : ارتباط سخت افزاری با mmc

                          راستش من تو شبیه سازی نتونستم جواب بگیرم اما عملی بستم جواب داد
                          آخه توی دیتا شیت mmc و سایت آقای chan یه چیز دیگه نوشته!!
                          شما درست می گید اما من این شماره گذاری رو همین جوری که بستم نوشتم یعنی به ترتیب از 1 شروع می شه بعد 2 و .. تا بیاد به 9 و شماره ای که نوشتم ربطی به شماره واقعی mmc نداره
                          اما سعی می کنم یک بار دیگر تو شبیه سازی پیادش کنم :agree:
                          هیچ کس و هیچ چیز نمی تونه مانع رسیدنت به آرزوهات بشه مگر خودت

                          دیدگاه


                            #28
                            پاسخ : ارتباط سخت افزاری با mmc

                            تو شبییه ساز هم جواب گرفتم :nice:
                            مشکل توی فایلی بود که برای کارت MMC باید انتخاب می کردم . دو نوع قالب فایل می توانیم برای mmc درون پروتئس انتخاب کرد.
                            1- اگر از فرمت FAT نمی خواهیم استفاده کنیم و می خواهیم سکتور به سکتور فقط از mmc بخوانیم در این حالت یک فایل text که پسوندش txt می باشد، را بسازیم و به پسوند mmc تغییر دهیم
                            2- اگر بخواهید از فرمت FAT اسفاده کنیم در این حالت باید با استفاده از نرم افزارهایی که برای ساختن image استفاده می شوند یک فایل با پسوند ima یا img به اندازه ای که مد نظرتون هست (16MB,32MB,..) و درون پروتئس انتخاب می کنیم می سازیم سپس فایلهایی که می خواهیم را درون Image File قرارمی دهیم یکی از نرم افزارهای که این کار را انجام می دهد UltraISO می باشد.بعد پسوند فایل را از ima یا img به mmc تغییر میدهیم.
                            ضمنا کدویژن از فرمت FAT استفاده می کند پس باید از گزینه 2 استفاده کنید.
                            تو برنامه هم یه 3 -4 خطی اضافه بود که از برنامه قبلی که کپی کرده بودم مانده بود که حذف کردم و فایل را دوباره پلود کردم (البته در حالت قبل هم تقریبا همین جواب را می گرفتید فرقی چندانی ندارد هنگام خواندن فایل یک کاراکتر غیر معقول (که قرار بود تعداد را نشان دهد) در آخر فایل نشان داده می شد که حذف شد).
                            این هم فایل شبیه ساز با پروتئس 7.7 sp2
                            http://telec.persiangig.com/Micro/fat/FAT.zip
                            هیچ کس و هیچ چیز نمی تونه مانع رسیدنت به آرزوهات بشه مگر خودت

                            دیدگاه


                              #29
                              پاسخ : ارتباط سخت افزاری با mmc

                              نوشته اصلی توسط savameri
                              تو شبییه ساز هم جواب گرفتم :nice:
                              مشکل توی فایلی بود که برای کارت MMC باید انتخاب می کردم . دو نوع قالب فایل می توانیم برای mmc درون پروتئس انتخاب کرد.
                              1- اگر از فرمت FAT نمی خواهیم استفاده کنیم و می خواهیم سکتور به سکتور فقط از mmc بخوانیم در این حالت یک فایل text که پسوندش txt می باشد، را بسازیم و به پسوند mmc تغییر دهیم
                              2- اگر بخواهید از فرمت FAT اسفاده کنیم در این حالت باید با استفاده از نرم افزارهایی که برای ساختن image استفاده می شوند یک فایل با پسوند ima یا img به اندازه ای که مد نظرتون هست (16MB,32MB,..) و درون پروتئس انتخاب می کنیم می سازیم سپس فایلهایی که می خواهیم را درون Image File قرارمی دهیم یکی از نرم افزارهای که این کار را انجام می دهد UltraISO می باشد.بعد پسوند فایل را از ima یا img به mmc تغییر میدهیم.
                              ضمنا کدویژن از فرمت FAT استفاده می کند پس باید از گزینه 2 استفاده کنید.
                              تو برنامه هم یه 3 -4 خطی اضافه بود که از برنامه قبلی که کپی کرده بودم مانده بود که حذف کردم و فایل را دوباره پلود کردم (البته در حالت قبل هم تقریبا همین جواب را می گرفتید فرقی چندانی ندارد هنگام خواندن فایل یک کاراکتر غیر معقول (که قرار بود تعداد را نشان دهد) در آخر فایل نشان داده می شد که حذف شد).
                              این هم فایل شبیه ساز با پروتئس 7.7 sp2
                              http://telec.persiangig.com/Micro/fat/FAT.zip
                              داداش دمت گرم.
                              ایشالا هر چی تو زندگی میخوای خدا بهت بده.

                              من الان دانشگاهم بابت حذف و اضافه.توی اولین فرصت چک میکنم ببینم چه خبره.

                              بابت توضیحاتتم ممنون. فکر کنم مشکل من این بود که از روش 1 برای FAT استفاده می کردم.

                              البته مشکل برقرار نشدن ارتباط سخت افزاری بین mmc و mega32 همچنان برقراره
                              که ایشالا با یه کمی تلاش بیشتر بتونم رفعش کنم.
                              بازم ممنون
                              هستم اگر می روم گر نروم نیستم

                              دیدگاه


                                #30
                                پاسخ : ارتباط سخت افزاری با mmc

                                درود بر همه دوستان
                                من یه سوال دارک که یه جور هایی به این MMC ربط داره
                                من میخوام یک فلش مموری رو به میکرو وصل کنم شما راه کاری برای این منظور دارید
                                معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                                دیدگاه

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