اطلاعیه

Collapse
No announcement yet.

sram خارجی میکرو

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

    sram خارجی میکرو

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

    #2
    پاسخ : sram خارجی میکرو

    مورد خاصی نداره. در راه حل های اولیه به تنها چیزی که احتیاج دارین تنها یک آی سی لچ مثل 74373 یا 74573 هست. و ایضا به خاطر تعداد زیاد ترکها احتمالا یه یک فیبر دورو یا یک رو با کلی جامپر!
    از چیزی مثل مگا162 میتونین استفاده کنین تا مگا 64 و مگا 128 یا بالاتر.
    اگر تو شماتیکش هم موردی هست یه ایمیل بدین براتون یک نقشه کوچولو ارسال کنم. توضیحاتشم بعد میشه توی فروم داد.
    (بعد از صد سال هنوز بلد نیستم عکس توی این فروم بذارم) :sad:

    دیدگاه


      #3
      پاسخ : sram خارجی میکرو

      ببخشید اسم این مدل رمها چیه ؟ میخوام سفارش بدم ولی نمیدونم. لطفا چندتاشو بگین.

      مثلا 64KB
      یا 64Kx8

      اسمشون معمولا چیه ؟

      (بعد از صد سال هنوز بلد نیستم عکس توی این فروم بذارم) :sad:
      برای فرستادن از هاردتون ؛ یه سایت پلود پیدا کنین مثل :
      http://www.up98.com
      بعد از پلود فایل ، آدرس داده شده رو کپی کنین و موقع نوشتن تاپیک از این کلید استفاده کنید و آدرس و بینش Paste کنید.
      وقتی تو نیستی
      نه هست های ما چونانکه بایدند
      نه باید ها...
      هر روز بی تو http://www.up98.org/upload/server1/0...158wwayrz3.jpg
      روز مباداســـت !

      دیدگاه


        #4
        پاسخ : sram خارجی میکرو


        اینم یک شماتیک راحت. آدرس شروع رم از 0x8000 به حجم 32 کیلو بایت. من خودم از cache ram های مادر برد های قدیمی استفاده میکنم. معمولا 15 یا 20 نانو ثانیه هستن و تا سرعت 50 مگا هرتز هم جواب میدن. البته رم های 60 و 70 نانو ثانیه که حداکثر تا حول و حوش 13 مگا هرتز هم توی بازار فراوونه که البته سرعت کلاک میکرو رو به همین میزان و یا با کلاک بالاتر با حداقل یک wait state محدود میکنه.
        اون ترانزیستور کذایی هم یک NOT ساده هست که آی سی رو موقعی فعال میکنه که دسترسی به آدرس 0x8000 به بالا صورت بگیره. برای امنیت. وگرنه اگر اصلا این پایه رو زمین کنین نوشتن در آدرس 0x6000 با 0xE000 هیچ فرقی نداره.
        ضمنا یادم نبود اگر بخوایین میتونین از DRAM هم استفاده کنین. ولی یه کمی کند تره. حداکثر 60 تا 70 نانو ثانیه بیشتر نیست و هر 15 میلی ثانیه 1024 پالس برای رفرش میخواد. اگر دوست داشتین میتونین توی گوگل دنبال monster memory بگردین. یک MP3 Player با آی سی های DRAM ساخته. اما چون فرم آدرس دهی این رم ها با SRAM فرق میکنه مستقیما قابل دسترسی نیست. و باید با استفاده از یک تابع توش بنویسین و ازش بخونین.

        دیدگاه


          #5
          پاسخ : sram خارجی میکرو

          سلام
          اقا دست درد نکنه :wow: ولی چه جوری باید به میکرو وصل کنم برنامه رو باید چی کارکنم

          دیدگاه


            #6
            پاسخ : sram خارجی میکرو

            پایه هایی که با >> مشخص شده به پایه های مربوطه روی میکرو وصل میشه. مثلا برای مگا 64 پایه های پورت A و پورت C به انظمام پایه های G0 - G1 - G2 رو باید استفاده کنی. یا برای مگا 162 پورت A و C به همراه E0 - E1 - E2.
            در برنامه هم میتونی با آدرس دهی آدرس 0x8000 به بالا به این حافظه دسترسی پیدا کنی.

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

            دیدگاه


              #7
              پاسخ : sram خارجی میکرو

              سلام
              کامپلیر بسکام هست می شه یکم بیشتر از برنامه صحبت کنی اگه یه مثال هم بزنی ممنون میشم

              دیدگاه


                #8
                پاسخ : sram خارجی میکرو

                اول برنامه ات این چهار خط رو اضافه کن. بقیه اش حله.

                $XRamStart = &H8000
                $XRamSize = &H8000
                $XA
                CONFIG XRAM = Enabled

                دیدگاه


                  #9
                  پاسخ : sram خارجی میکرو

                  سلام

                  XRamStart = &H8000
                  $XRamSize = &H8000

                  این اعداد رو از کجا باید بدست اورد اگر یه توضیح هم در بارهی اعداد هگز دهید ممنون میشم
                  شما از رو کامپیوتر استفاده کرده اید :question:

                  دیدگاه


                    #10
                    پاسخ : sram خارجی میکرو

                    روی شماتیک نگاه کن. 15 بیت آدرس A0 تا A14 به بیت های آدرس آی سی رم وصله پس رنج آدرسمون میشه 2 به توان 15 یا 32 کیلو بایت یا همون H8000 اما پایه فعال سازی آی سی از طریق یک NOT به A15 وصله. و چون این پایه باید صفر باشه تا آی سی رم فعال بشه پس NOT اش باید 1 باشه و این یعنی تمامی آدرس هایی از حافظه که بیت 15 اونها 1 هست. یعنی از آدرس H8000 تا HFFFF که میشه 32768 بایت یا همون H8000.
                    توی اون چهار خط قید شده که:
                    آدرس رم خارجی از 32768 یا همون H8000 هست.
                    حجم حافظه خارجی 32768 بایت یا 32 کیلو بایت هست که هگز اش میشه H8000.
                    ضمنا من میخوام از رم خارجی هم استفاده کنم پس باید دسترسی به رم خارجی فعال بشه. مسلما از این موقع به بعد پورتهای مورد استفاده دیگه تحت کنترل من برای ورودی خروجی نیستن و مستقیما برای آدرس دهی رم خارجی استفاده میشه.

                    دیدگاه


                      #11
                      پاسخ : sram خارجی میکرو

                      از کجا باید بفهمم چقدر از حافظه اس رم اشغال شده

                      دیدگاه


                        #12
                        پاسخ : sram خارجی میکرو

                        این تیکه اش رو شرمنده. احتمالا خود بسکام باید گزارش بده. ولی چون شما معمولا (!!) از طریق تعریف متغیر رم رو استفاده میکنین این مورد نبایستی ربطی به کار شما داشته باشه. فقط یک مورد هست که من نمیدونم بسکام حالیش هست یا نه. در سری های قدیم AVR (سری A رو نمیدونم) یک باگ داخلی بود که اگر پشته در رم خارجی تعریف میشد در هنگام برگشتن از روتین وقفه؛ میکرو آدرس گم میکرد. به خاطر همین مورد بسکام و کدویژن اومدن چیزی به عنوان پشته نرم افزاری و پشته سخت افزاری تعریف کردن. قاعدتا پشته سخت افزاری کما فی السابق بایستی در رم داخلی میکرو بمونه و پشته نرم افزاری در رم خارجی قرار بگیره. ضمنا سرعت دسترسی به رم خارجی نسبت به رم داخلی حداقل 30 درصد کند تره. بنا براین بهتره که اطلاعاتی که یا حجیم هستن و یا کمتر از بقیه یا مقطعی مورد استفاده قرار میگیرن رو داخل رم خارجی قرار بدین. (دسترسی به رم داخلی همیشه در 2 سیکل انجام میشه. اما رم خارجی حداقل 3 سیکل میخواد).

                        دیدگاه


                          #13
                          پاسخ : sram خارجی میکرو

                          ببخشید توی خیلی جاها نوشته سیکل سیکل یعنی چی

                          دیدگاه


                            #14
                            پاسخ : sram خارجی میکرو

                            یه چیز دیگه یعنی وقتی از رو خارجی استفاده میکنیم سرعت کم تر میشه
                            مثلا اگر از رم داخلی استفاده کنیم 1 ثانیه زمان میره که روی ال سی دی یه چیزی بنویسه اگر از رم خارجی استفاده کنم 2 ثانیه زمان میبره که بنویسه

                            دیدگاه


                              #15
                              پاسخ : sram خارجی میکرو

                              اقا، من سالهاااااااااااااااااااااای ساله دنبال این چنین چیزی میگردم :eek: اما هیچ وقت نرفتم دنبالش
                              اگه میشه چند مدل Sram رو هم معرفی کنید که حجمشون حدود 64KByte باشه یرای کار با mega 64 or 128 ؟
                              راستی میشه sram مگا 32 رو زیاد کرد چون پایه برای این کار نداره؟
                              می بینیم و نادیده می گیریم!

                              دیدگاه

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