اطلاعیه

Collapse
No announcement yet.

امکان ساخت تابلو روان با MMC و فرمت FAT

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

    امکان ساخت تابلو روان با MMC و فرمت FAT

    سلام دوستان .
    آیا کسی تونسته تابلو روان با MMC و فرمت فت بسازه و لرزش در صفحه نداشته باشه ؟؟
    اگه چنین کاری امکان پذیر نیست من برم سراغ روش سکتوری.
    ممنون از اساتید محترم.
    http://www.sharjweb.com/

    #2
    پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

    سلام دادا.
    فرق آنچنانی نداره دادا. توی فت فقط محل ریختن دیتاها پیدا میشه و بقیه کارها مثل همه.
    برای اینکه صفحه لرزش نداشته باشه صرفاً استفاده از روش سکتوری کارساز نیست. هرچند این روش هم مشکلات خودشو داره.
    اما چیزی که قطعا مشخصه اینه که اینگونه تابلوها نمیتونن زیاد بزرگ باشن.
    تشکر لازم نیست!

    دیدگاه


      #3
      پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

      نوشته اصلی توسط iman-63
      سلام دادا.
      فرق آنچنانی نداره دادا. توی فت فقط محل ریختن دیتاها پیدا میشه و بقیه کارها مثل همه.
      برای اینکه صفحه لرزش نداشته باشه صرفاً استفاده از روش سکتوری کارساز نیست. هرچند این روش هم مشکلات خودشو داره.
      اما چیزی که قطعا مشخصه اینه که اینگونه تابلوها نمیتونن زیاد بزرگ باشن.
      سلام آقا ایمان . ممنون از پاسختون.
      حالا پیشنهاد شما برای یه تابلوی بزرگ ، مثلا 24 در 112 چیه؟
      اگه من از MMC استفاده نکنم باید از چه چیزه دیگری استفاده کنم. میشه کمی راهنماییم کنید.
      آخه من به صورت آزمایشی همین تابلو رو با MMC و فت ساختم . حالا هم توقسمت خوندن از MMC با مگا 32 حدود 8 میلی ثانیه و با مگا 128 حدود 5 میلی ثانیه میشه که این امر باعث لرزش میشه .
      به نظر شما تو تابلو های حرفه ای از چه شیوه ای استفاده میکنن؟؟
      فدایت.
      http://www.sharjweb.com/

      دیدگاه


        #4
        پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

        سلام دادا.

        حالا پیشنهاد شما برای یه تابلوی بزرگ ، مثلا 24 در 112 چیه؟
        اینطوری نمیشه چیزی گفت. اگه تابلوت تک رنگ باشه میتونی 128*128 رو هم بسازی. اما وقتی میشه سه رنگ، هفت رنگ، دیگه نمیشه....
        اگه من از MMC استفاده نکنم باید از چه چیزه دیگری استفاده کنم. میشه کمی راهنماییم کنید.
        mmc صرفاً برای ذخیره متن ها استفاده میشه. این مشکل mmc نیست. میکرو کم میاره دادا.
        من به صورت آزمایشی همین تابلو رو با MMC و فت ساختم . حالا هم توقسمت خوندن از MMC با مگا 32 حدود 8 میلی ثانیه و با مگا 128 حدود 5 میلی ثانیه میشه که این امر باعث لرزش میشه.
        به نظر شما تو تابلو های حرفه ای از چه شیوه ای استفاده میکنن؟؟
        این مشکل برنامه نویسیه دادا. شما احتمالاً همه پردازش هاتو توی یه حلقه انجام میدی. در صورتی که باید تقسیم کار بشه.
        بهتره برنامه روشن بودن تابلو رو توی تایمر بذاری و در زمان خاموش بودن led ها، دیتاها رو از mmc بخونی. اینطوری از زمان مرده هم استفاده می شه.
        من خودم یه بافر توی میکرو مبسازم و توی این زمان ها دیتاها رو میخونم و توی بافر میریزم. و درنهایت از بافر میخونم.

        امید وارم مطلب رو رسونده باشم.
        تشکر لازم نیست!

        دیدگاه


          #5
          پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

          نوشته اصلی توسط iman-63
          سلام دادا.
          اینطوری نمیشه چیزی گفت. اگه تابلوت تک رنگ باشه میتونی 128*128 رو هم بسازی. اما وقتی میشه سه رنگ، هفت رنگ، دیگه نمیشه....mmc صرفاً برای ذخیره متن ها استفاده میشه. این مشکل mmc نیست. میکرو کم میاره دادا.این مشکل برنامه نویسیه دادا. شما احتمالاً همه پردازش هاتو توی یه حلقه انجام میدی. در صورتی که باید تقسیم کار بشه.
          بهتره . اینطوری از زمان مرده هم استفاده می شه.
          من خودم یه بافر توی میکرو مبسازم و توی این زمان ها دیتاها رو میخونم و توی بافر میریزم. و درنهایت از بافر میخونم.

          امید وارم مطلب رو رسونده باشم.
          فدایت . اما من آخرش نفهمیدم " برنامه روشن بودن تابلو رو توی تایمر بذاری و در زمان خاموش بودن led ها، دیتاها رو از mmc بخونی " یعنی چه ؟
          یجا دیگه هم اینو خونده بودم . آقا ایمان میشه لطف کنید کمی بیشتر در این مورد توضیح بدین .
          من دارم همون کاری رو که شما عرض فرمودید رو انجام میدم . یعنی تو یه حلقه همه پردازشمو انجام میدم .
          ابتدا از MMC یه آرایه 336 از نوع وورد رو پر می کنم (چون همون طور که شما بهتر میدونید تو هر بایت MMC معادل اسکی یک کاراکتر که تو فایل تکست ذخیره کردم قرار میگیره) . حالا میام این دیتای خونده شده رو از طریق SPI به شیفت رجیستر ها میریزم (البته همون SPI سخت افزاری که MMC رو میخونه .) و بعد اسکن میکنم و دوباره از MMC میخونم . تو این لحظه لرزش ایجاد میشه.
          داش ایمان من با بیسیک کا میکنم

          http://www.sharjweb.com/

          دیدگاه


            #6
            پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

            سلام دادا.

            برنامه روشن بودن تابلو رو توی تایمر بذاری و در زمان خاموش بودن led ها، دیتاها رو از mmc بخونی
            اساس کار تابلو رو کامل نخوندی دادا. حالا کلی میگم. ایشاله که بگیری. :rolleyes:
            فرض کن که از روش جاروب ستونی استفاده میکنیم. (البته انتخاب این جاروب هم توی نور تابلو و پرش تاثیر داره)
            ما دیتای ستون اول رو میریزیم. بعد ستون اول رو روشن میکنیم و بقیه ی ستون ها رو خاموش. سپس دیتا رو صفر میکنیم و ستون دوم رو روشن میکنیم و دیتای اون ستون رو روی باس می ریزیم. اگه دقت کرده باشی 2 تا تاخیر داریم که یکیش مدت زمان روشن موندن اون ستون led های روشنه و دیگریش که خیلی کمتره مدت زمان صفر کردن دیتا هاست! که خیلی ناچیزه. حالا شما باید بجای این تاخیر (مخصوصاً زمان روشن موندن دیتای روشن موندن) یه تابع بذاری تا میکرو بجای تلف کردن زمان دیتاها رو از mmc برداره. yesterday?????????

            بعارت دیگه بجای استفاده از delay شما از یه تابع استفاده کن تا توی اون لحظه دیتاها برداشته بشن. من C کار میکنم دادا وگرنه یه مثال میزدم. اما فکر نکنم متوجه منظورم نشده باشی.
            بازم نفهمیدی بگو دادا.

            موفق باشی.
            تشکر لازم نیست!

            دیدگاه


              #7
              پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

              سلام داش ایمان .
              جاروب من سطری هست . یعنی ابتدا من از MMC دیتای یک فریم کامل رو از MMC میخونم بعد دیتای سطر اول و نهم و هفدهم رو میریزم و بعد اسکن میکنم و یک میلی ثانیه تاخیر میدم .
              بعد دیتای سطر دوم و دهم و هجدهم رو میخونم و بعد اسکن میکنم و یه میلی ثانیه تاخیر میدم و الی آخر
              حالا منظور شما اینه که من تو این تاخیرهای یک میلی ثانیه بجای waitms 1 برم دیتای MMC رو بخونم . درست متوجه شدم؟؟
              اگه من بخوام این کارو کنم به فرض این که بجای تاخیر waitms=1 برم MMC رو بخونم که نمیشه . چون خوندن MMC 6 یا 7 میلی ثانیه زمان میبره .
              اگه هم بخوام دیتارو کمتر از MMC بخونم تا این زمان 6الی 7 میلی ثانیه کمتر بشه و مثلا بشه 3 الی 4 ملی ثانیه باز هم که نمیشه !!
              میشه بگید شما دیتا رو چند بایت چند بایت از MMC می خونید ؟؟ و چقدر خوندن هر فریمتون از MMC طول میکشه؟
              http://www.sharjweb.com/

              دیدگاه


                #8
                پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                شرمنده من باز پابرهنه پریدم وسط تاپیک آقا محسن
                اول باید از راهنمایی داش محسن بابت خوندن از حافظه تشکر کنم
                دوم می خواستم از داش ایمان خواهش کنم اگه کدی (به همون زبان سی) واسه این کار داره بزاره ما استفاده کینیم
                ممنون
                بازم ببخشید پابرهنه اومدم
                هستم اگر می روم گر نروم نیستم

                دیدگاه


                  #9
                  پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                  سلام.
                  منظور شما اینه که من تو این تاخیرهای یک میلی ثانیه بجای waitms 1 برم دیتای MMC رو بخونم . درست متوجه شدم؟؟
                  بله دادا. من دقیقاً نمیدونم شما برنامت رو چطور نوشتی و متاسفانه بسکام کار نیستم. ام من یه تابلوی 24*128 تک رنگ رو با کریستال 8 مگ با mmc راه انداختم و تا 10 میلی ثانیه هم تاخیر داشت و هیچ مشکلی هم نداشتم. البته همانطور که گفتم از تایمر استفاده کردم.

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

                  دیدگاه


                    #10
                    پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                    سلام آقا ایمان .
                    شرمنده که زیاد سوال میکنم .
                    ولی باور کنید الان حدود 10 ساعته که دارم روی این گفته شما : (برنامه روشن بودن تابلو رو توی تایمر بذاری و در زمان خاموش بودن led ها، دیتاها رو از mmc بخونی ) فکر میکنم . نمیدونم ولی احساس میکنم که اگه به یه بیان دیگه این جمله رو بنویسید خیلی بهتر باشه !
                    مگه تایمر در زبان سی مثل بیسیک یه پیکره بندی و یه عبارت برای تعیین فرکانس (بخش بر 1 و 8 و 32 و 64 و ...) چیز بیشتری هم داره؟؟
                    درتایمر، یه وقفه میتونیم بزاریم که با پُرشدن پرچم سریز ، به اون وقفه بریم و عملیات وقفه رو انجام بدیم . درسته ؟؟
                    حالا من میام دیتای ستون اول و 25ام و49 ام و .... رو مثل شکل زیر میریزم رو LDE ها و بعد تمامی اون ستون ها رو یکجا یک میکنم.

                    و قبلا برای اینکه نور LED ها اثر موندگاریش در چشم باقی بمونه ، یک میلی ثانیه تاخیر میدادم . حالا با تایمر من باید کاری بکنم که پرچم وقفه اش سریز بشه و بره تو یه وقفه و اونجا بجای تاخیر یه میلی ثانیه ایی ، MMCرو بخونه؟؟
                    آخه خوندن MMC حدود 8 میلی ثانیه طول میکشه . ولی من میخوام تاخیر یک میلی ثانیه باشه . راستی مگه از MMC میشه تیکه تیکه هم خوند؟؟ مثلا وقتی که وقفه تایمر صورت گرفت به یه لیبلی پرش کنه و به مدت یک میلی ثانیه از MMC بخونه (در صورتی که هنوز مثلا یک هشتم سکتور خونده شده . چون خوندن مثلا یک سکتور کامل از MMC ، 8 میلی ثانیه طول میکشه ).
                    http://www.sharjweb.com/

                    دیدگاه


                      #11
                      پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                      سلام دادا.
                      من که معما طرح نکردم دادا. شاید بد رسونده باشم.
                      شرمنده که زیاد سوال میکنم .
                      پرسیدن که عیب نیست دادا.

                      ببین محسن جون اساس کار تابلو روان توی یه حلقه است. شما یه دیتا میریزی روی باس، اون شیفت رجیستر مربوط رو روشن میکنی و .... آخر.
                      خوب همین کارو توی یه تایمر بکن. یعنی وقتی وقفه تایمر اتفاق افتاد توی روتین وقفه، برنامه ریختین دیتا ها رو بنویس. طوری که با هر بار اجراشدن وقفه، تابلو متن رو نشون بده. تا جایی هم که ممکنه فرکانس کارو پایین بیار (تا جایی که پرش نداشته باشی).
                      در حلقه اصلی برنامه هم بطور مداوم از mmc بخون و توی یه بافر ذخیره کن. اینطوری مداوم دیتا از mmc برداشته میشه و زمانی که وقفه تایمر یک شد، دیتا برداری متوقف میشه و تابلو شروع به نمایش میکنه و دوباره دیتا برداری آغز میشه. حالا شما هرچه فرکانس کارتو پایین بیاری (ساده بگم: "وقفه تایمر دیرتر اجرا بشه&quot زمان بیشتری برای خوندن از mmc داری.
                      حله دادا؟
                      قبلا برای اینکه نور LED ها اثر موندگاریش در چشم باقی بمونه ، یک میلی ثانیه تاخیر میدادم .
                      چرا یک میلی دادا؟ بیشترش کنی مگه چی میشه؟ تصویر پرش داره؟

                      حالا با تایمر من باید کاری بکنم که پرچم وقفه اش سریز بشه و بره تو یه وقفه و اونجا بجای تاخیر یه میلی ثانیه ایی ، MMCرو بخونه؟؟
                      نه دادا. توی روتین وقفه دیتا نمایش داده بشه. تاخیر شما میشه اون مدت زمان بین اجرا شدن دو وقفه. زمانی که وقفه اتفاق افتاد تصویر رو نمایش بده و در انتها مقدار تایمر رو دوباره بار گذاری کن. توی اون مدتی که دوباره تایمر شروع به شمارش میکنه و وقفه بعدی رخ میده شما باید از mmc بخونی.

                      تشکر لازم نیست!

                      دیدگاه


                        #12
                        پاسخ : پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                        نوشته اصلی توسط mohsenjooon
                        سلام آقا ایمان .
                        شرمنده که زیاد سوال میکنم .
                        ولی باور کنید الان حدود 10 ساعته که دارم روی این گفته شما : (برنامه روشن بودن تابلو رو توی تایمر بذاری و در زمان خاموش بودن led ها، دیتاها رو از mmc بخونی ) فکر میکنم . نمیدونم ولی احساس میکنم که اگه به یه بیان دیگه این جمله رو بنویسید خیلی بهتر باشه !
                        مگه تایمر در زبان سی مثل بیسیک یه پیکره بندی و یه عبارت برای تعیین فرکانس (بخش بر 1 و 8 و 32 و 64 و ...) چیز بیشتری هم داره؟؟
                        درتایمر، یه وقفه میتونیم بزاریم که با پُرشدن پرچم سریز ، به اون وقفه بریم و عملیات وقفه رو انجام بدیم . درسته ؟؟
                        حالا من میام دیتای ستون اول و 25ام و49 ام و .... رو مثل شکل زیر میریزم رو LDE ها و بعد تمامی اون ستون ها رو یکجا یک میکنم.

                        و قبلا برای اینکه نور LED ها اثر موندگاریش در چشم باقی بمونه ، یک میلی ثانیه تاخیر میدادم . حالا با تایمر من باید کاری بکنم که پرچم وقفه اش سریز بشه و بره تو یه وقفه و اونجا بجای تاخیر یه میلی ثانیه ایی ، MMCرو بخونه؟؟
                        آخه خوندن MMC حدود 8 میلی ثانیه طول میکشه . ولی من میخوام تاخیر یک میلی ثانیه باشه . راستی مگه از MMC میشه تیکه تیکه هم خوند؟؟ مثلا وقتی که وقفه تایمر صورت گرفت به یه لیبلی پرش کنه و به مدت یک میلی ثانیه از MMC بخونه (در صورتی که هنوز مثلا یک هشتم سکتور خونده شده . چون خوندن مثلا یک سکتور کامل از MMC ، 8 میلی ثانیه طول میکشه ).

                        با سلام
                        اجازه بفرمایید ، من کمی مطلب ایشان را ساده تر بیان کنم.
                        ایشان جمله را به صورت در زمان خاموش بودن led ها نگفتند، بلکه در زمان روشن بودن led ها مد نظر بود.
                        ترتیب عملیات:
                        0-شما برای هر ستون ال ئی دی ، 1 میلی ثانیه مدت زمان روشن بودن قرار داده اید ،
                        1-سپس این ستون خاموش شده ( دیتا صفر می شود) ،
                        2-سپس ستون بعدی انتخاب و فعال می شود ،
                        3-سپس داده این ستون جدید ارسال می شود.
                        4-به مدت یک میلی ثانیه این داده برای این ستون فعال می ماند.
                        و الی آخر....
                        این عدد یک میلی ثانیه را با تاخیر ایجاد نموده اید.
                        ولی اگر یک تایمر را تنظیم کنید تا هر یک میلی ثانیه ، اینتراپت تولید کند و در این اینتراپت شما عملیات
                        1 تا 3 را در آن انجام می دهید و با فعال کردن چند پرچم نشانه گذاری و شمارنده آدرس و ... از اینتراپت خارج می شوید.
                        و مرحله 4 را رها می کنید تا اینتراپت بعدی که 1 میلی ثانیه بعد رخ می دهد ، خود بخود زمان مناسب به روشن بودن ستون تخصیص داده شده است.

                        خوب پس در برنامه اصلی چکار کنیم؟
                        موقع لزوم(نیاز به تصویر جدید) ، از MMC داده ها را می خوانیم و در بافر مستقل می ریزیم ، هر موقع نیاز شد آن بافر را به بافر نمایش انتقال می دهیم.( اگر رم کافی دارید)
                        چه موقع نیاز می شود؟ زمانی که تصویر جدیدی بخواهیم نمایش داده شود.

                        با سپاس

                        پ.ن: مطالب آقا ایمان را بعد از پست خودم دیدم ، که به خوبی توضیح داده اند.
                        گشتی در لاله زار
                        http://www.eca.ir/forum2/index.php?topic=76138.0

                        http://www.eca.ir/forum2/index.php?topic=76141

                        دیدگاه


                          #13
                          پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                          سلام ایمان جان ممنون که کمکم می کنی .
                          من گفته شما رو انجام دادم . یعنی یه حلقه درست کردم و تو اون حلقه دیتا رو به اندازه 672 بایت (یک فریم نمایش) از MMC به روش فت و SPI خوندم . و اولش هم تایمر صفر میکرو مگا 32 رو پیکره بندی کردم . از کریستال 8 مگا هم برا میکرو استفاده کردم . فرکانس تایمر رو هم به گفته شما کم کردم . یعنی فرکانس میکرو رو تو پیکره بندی تایمر تقسیم بر 1024 کردم.
                          وقتی هم که وقفه تایمرروی میده به یه لیبلی پرش میکنه و در اون لیبل دیتا رو نمایش میدم . حالا دیگه خبری از تاخیر یک میلی ثانیه نیست.وقتی که دیتا نمایش داده شد دوباره تایمر از صفر شروع به شمارش میکنه و در همین حال مجددا دیتای فریم بعد از MMC خونده میشه . تا اینجای کار درسته دیگه؟؟
                          اما زمانی که صرف میشه تا دیتا از MMC خونده بشه باعث پرش در تصویر میشه . من هرچی این فرکانسو کمتر کنم زمانی که برای خوندن MMC صرف میشه بیشتر میشه اما این امر پرش در تصویر رو زیاد تر میکنه داش ایمان . مگه این طور نیست؟
                          من اگه بخوام به صورت مداوم MMC رو بخونم در واقع دارم زمان نمایش یه ستون رو بیشتر میکنم و به عبارتی نور اون ستون بیشتر و در قبالش پرش تصویر بیشتر میشه .و اگه بخوام به صورت مداوم از MMC بخونم دیگه آرایه ام پر میشه (آرایه من از نوع وورد تعریف شده و دارای 336 متغییر هست. یعنی دقیقا فضایی جهت ذخیره دیتای یک فرم که از MMC خونده شده ) و جایی برا ذخیره دیتای خونده شده از MMC ندارم!!
                          منظور شما از بافر چیه عزیز؟؟ منظورتون همون آرایه هست که در SRAM قرار داره یا فضای EEPROM ؟؟
                          آقا ایمان اگه من دیتارو از MMC بخونم و بعد نمایشش بدم و بیام بجای تاخیر یک میلی ثانیه دوباره از MMC بخونم چه فرقی با تایمر داره . مگه تایمر داره چکار میکنه . بجز این که داره کار دستور تاخیرو ( delay 1ms) انجام میده. خوب منم داشتم دستور تاخیرو رو اینجوری از بین میبردم ؟!

                          http://www.sharjweb.com/

                          دیدگاه


                            #14
                            پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                            سلام
                            یک سوال داشتم وقتی ما از یک WAITMS 3 استفاده کنیم آیا اگر در این زمان یک اینتراپت به میکرو وارد بشه مبکرو بعد از گذشت زمان 3 میلی ثانیه
                            به اینتراپت پاسخ میده یا نه

                            دیدگاه


                              #15
                              پاسخ : امکان ساخت تابلو روان با MMC و فرمت FAT

                              نوشته اصلی توسط AFSHARAN
                              سلام
                              یک سوال داشتم وقتی ما از یک WAITMS 3 استفاده کنیم آیا اگر در این زمان یک اینتراپت به میکرو وارد بشه مبکرو بعد از گذشت زمان 3 میلی ثانیه
                              به اینتراپت پاسخ میده یا نه
                              سلام .
                              نه دوست عزیز . هروقت وقفه رخ بده پرش صورت میگیره و اگه 100 میلی ثانیه هم تو حلقه اصلی برنامه تاخیر باشه وقفه اجرا میشه .
                              http://www.sharjweb.com/

                              دیدگاه

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