اطلاعیه

Collapse
No announcement yet.

مشکل در آدرس دهی 24C512 EEPROM

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

    مشکل در آدرس دهی 24C512 EEPROM

    با سلام خدمت دوستان
    آی سی 24C512 دارای 512 کیلوبایت حافظه و آدرس دهی اون به صورت 16 بیتی است.
    سوال من اینه که با 16 بیت فقط به 65 کیلیو بایت (65536بایت) حافظه میتونیم دسترسی داشته باشیم!!!
    به چه شکلی می توان روی بقیه حافظه هم نوشت؟؟؟؟
    ممنون میشم از دوستان پاسخ بدن :smile:

    #2
    پاسخ : مشکل در آدرس دهی 24C512 EEPROM

    معمولا برای آدرس دهی بالای 8 بیت، آدرس با استفاده از دو کاراکتر 8 بیتی ارسال میشه. دیتا شیت رو مطالعه بفرمایید.
    کد:
    twi start();
    
    // Set Register address
    twi_send_byte(add0));
    twi_send_byte(add1);
    
    
    twi send byte(data);
    
    twi_stop();
    
    delay(10);
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    >>> www.DMF313.ir <<<
    اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
    در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
    است.

    دیدگاه


      #3
      پاسخ : مشکل در آدرس دهی 24C512 EEPROM

      نوشته اصلی توسط حمید زارع
      معمولا برای آدرس دهی بالای 8 بیت، آدرس با استفاده از دو کاراکتر 8 بیتی ارسال میشه. دیتا شیت رو مطالعه بفرمایید.
      مشکلم با ارسال آدرس نیست، مشکلم اینه که من 512K حافظه دارم، ولی با 16 بیت آدرس فقط به 65K آن میتونم دسترسی پیدا کنم، این مشکل رو چه جوری حل کنم؟؟

      دیدگاه


        #4
        پاسخ : مشکل در آدرس دهی 24C512 EEPROM

        نوشته اصلی توسط سمیرا محمدی 67
        آی سی 24C512 دارای 512 کیلوبایت حافظه و آدرس دهی اون به صورت 16 بیتی است.
        آی سی 24C512 دارای 512 کیلوبیت حافظه است. میشه همون 65536 بایت.

        دیدگاه


          #5
          پاسخ : مشکل در آدرس دهی 24C512 EEPROM

          ممنون
          درسته

          دیدگاه


            #6
            پاسخ : مشکل در آدرس دهی 24C512 EEPROM

            به شما پیشنهاد میکنم کمی بیشتر راجع به مفاهیمی مثل بیت ، بایت ، کیلوبایت و ... مطالعه کنید.

            دیدگاه


              #7
              پاسخ : مشکل در آدرس دهی 24C512 EEPROM

              حافظه 512K x 8 یعنی به اندازه 512k خانه 8 تایی وجود داره. یعنی 512k خانه یک بایتی (8 بیت) وجود داره که هر کدومش قابل آدرس دهی هست.
              برای آدرس دادن به خانه اولی از آدرس 0x0000 وبرای آدرس دادن به خانه آخری (همون 65535) باید از آدرس 0xFFFF استفاده بشه که میبینید که آدرسش 4 بایتی هست که 16 بیت آدرس میگیره.
              اللهم صل علی محمد و ال محمد و عجل فرجهم
              >>> www.DMF313.ir <<<
              اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
              در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
              است.

              دیدگاه


                #8
                پاسخ : مشکل در آدرس دهی 24C512 EEPROM

                نوشته اصلی توسط امیر . م
                به شما پیشنهاد میکنم کمی بیشتر راجع به مفاهیمی مثل بیت ، بایت ، کیلوبایت و ... مطالعه کنید.
                حتما مطالعه کردم که سوال برام پیش اومده، شما به جای پیشنهاد جواب سوال رو بدید

                دیدگاه


                  #9
                  پاسخ : مشکل در آدرس دهی 24C512 EEPROM

                  ببینید ، تو دنیای دیجیتال و باینری ، کیلو 1000 نیست بلکه 1024 هست یعنی 2 به توان 10 .
                  متوجه اشتباهتون شدید؟
                  8 *1024 * 512 میشه 4,194,304 بیت یا 524,288 بایت.

                  دیدگاه


                    #10
                    پاسخ : مشکل در آدرس دهی 24C512 EEPROM

                    نوشته اصلی توسط سمیرا محمدی 67
                    با سلام خدمت دوستان
                    آی سی 24C512 دارای 512 کیلوبایت حافظه و آدرس دهی اون به صورت 16 بیتی است.
                    سوال من اینه که با 16 بیت فقط به 65 کیلیو بایت (65536بایت) حافظه میتونیم دسترسی داشته باشیم!!!
                    به چه شکلی می توان روی بقیه حافظه هم نوشت؟؟؟؟
                    ممنون میشم از دوستان پاسخ بدن :smile:
                    سلام
                    معمولا مقدار حافظه یک مموری رو برحسب تعداد بیت مشخص میکنند
                    آی سی AT24C512 کلا دارای 512 کیلو بیت فضا برای نوشتن هست ( 524288 = 512 * 1024 ) اما چیزی که این وسط شمارو به اشتباه میندازه اینکه موقع نوشتن یا خوندن با یک بیت سروکار نداریم و الزاما باید یک بایت کامل رو بنویسیم یا بخونیم

                    پس چون این آیسی 8 / (512*1024) = 65536 بایت برای خوندن یا نوشتن داره با همون 16 بیت آدرس قابل دسترسی خواهد بود

                    دیدگاه


                      #11
                      پاسخ : مشکل در آدرس دهی 24C512 EEPROM

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

                      دیدگاه


                        #12
                        پاسخ : مشکل در آدرس دهی 24C512 EEPROM

                        نوشته اصلی توسط mahdi421
                        سلام
                        معمولا مقدار حافظه یک مموری رو برحسب تعداد بیت مشخص میکنند
                        آی سی AT24C512 کلا دارای 512 کیلو بیت فضا برای نوشتن هست ( 524288 = 512 * 1024 ) اما چیزی که این وسط شمارو به اشتباه میندازه اینکه موقع نوشتن یا خوندن با یک بیت سروکار نداریم و الزاما باید یک بایت کامل رو بنویسیم یا بخونیم

                        پس چون این آیسی 8 / (512*1024) = 65536 بایت برای خوندن یا نوشتن داره با همون 16 بیت آدرس قابل دسترسی خواهد بود
                        سلام چرا
                        8 / (512*1024) = 65536
                        کردید لطفا این فرمول را اثبات کنید ؟

                        دیدگاه


                          #13
                          پاسخ : مشکل در آدرس دهی 24C512 EEPROM

                          نوشته اصلی توسط بنیامین خلیلی
                          سلام چرا
                          8 / (512*1024) = 65536
                          کردید لطفا این فرمول را اثبات کنید ؟
                          سلام
                          طبق قوانین دیجیتال هر کیلو معادل 10^2 یا همون 1024 واحد هست و نباید با واحد 1000 که مثلا برای مقاومت استفاده میشه اشتباه گرفت

                          هر هشت بیت هم معادل یک بایت هست


                          با مراجعه به دیتا شیت AT24c512 همون اول صفحه عبارت 512k-bit وجود داره که باتوجه به ظریب K مقدار 512 رو در عدد 1024 ضرب میکنیم که میشه 512*1024 = 524288 که عدد 524288 بیانگر تعداد بیتهای موجود داخل این آی سی رو نشون میده حالا اگه بخوایم این عدد برحسب بایت نشون بدیم کافیه به 8 تقسیم کنیم که میشه
                          8 / 524288 = 65536




                          دیدگاه

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