اطلاعیه

Collapse
No announcement yet.

مفهوم signature bytes ؟

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

    مفهوم signature bytes ؟

    با سلام
    دوستان با تجربه ممکنه در مورد کاربرد signature bytes توضیح بدن ؟


    NVM_PROD_SIGNATURES_RCOSC2M_offset = &H00 ' RCOSC 2MHz Calibration Value
    NVM_PROD_SIGNATURES_RCOSC32K_offset =&H02 ' RCOSC 32kHz Calibration Value
    NVM_PROD_SIGNATURES_RCOSC32M_offset = &H03 ' RCOSC 32MHz Calibration Value
    NVM_PROD_SIGNATURES_LOTNUM0_offset = &H08 ' Lot Number Byte 0, ASCII
    NVM_PROD_SIGNATURES_LOTNUM1_offset = &H09 ' Lot Number Byte 1, ASCII
    NVM_PROD_SIGNATURES_LOTNUM2_offset = &H0A ' Lot Number Byte 2, ASCII
    NVM_PROD_SIGNATURES_LOTNUM3_offset = &H0B ' Lot Number Byte 3, ASCII
    NVM_PROD_SIGNATURES_LOTNUM4_offset = &H0C ' Lot Number Byte 4, ASCII
    NVM_PROD_SIGNATURES_LOTNUM5_offset = &H0D ' Lot Number Byte 5, ASCII
    NVM_PROD_SIGNATURES_WAFNUM_offset = &H10 ' Wafer Number
    NVM_PROD_SIGNATURES_COORDX0_offset = &H12 ' Wafer Coordinate X Byte 0
    NVM_PROD_SIGNATURES_COORDX1_offset = &H13 ' Wafer Coordinate X Byte 1
    NVM_PROD_SIGNATURES_COORDY0_offset = &H14 ' Wafer Coordinate Y Byte 0
    NVM_PROD_SIGNATURES_COORDY1_offset = &H15 ' Wafer Coordinate Y Byte 1
    NVM_PROD_SIGNATURES_ADCACAL0_offset = &H20 ' ADCA Calibration Byte 0
    NVM_PROD_SIGNATURES_ADCACAL1_offset = &H21 ' ADCA Calibration Byte 1
    NVM_PROD_SIGNATURES_ADCBCAL0_offset = &H24 ' ADCB Calibration Byte 0
    NVM_PROD_SIGNATURES_ADCBCAL1_offset = &H25 ' ADCB Calibration Byte 1
    NVM_PROD_SIGNATURES_TEMPSENSE0_offset = &H2E ' Temperature Sensor Calibration Byte 0
    NVM_PROD_SIGNATURES_TEMPSENSE1_offset = &H2F ' Temperature Sensor Calibration Byte 0
    NVM_PROD_SIGNATURES_DACAOFFCAL_offset = &H30 ' DACA Calibration Byte 0
    NVM_PROD_SIGNATURES_DACACAINCAL_offset = &H31 ' DACA Calibration Byte 1
    NVM_PROD_SIGNATURES_DACBOFFCAL_offset = &H32 ' DACB Calibration Byte 0
    NVM_PROD_SIGNATURES_DACBGAINCAL_offset = &H33 ' DACB Calibration Byte 1

    #2
    پاسخ : مفهوم signature bytes ؟

    Production Signature Row
    The production signature row is a separate memory section for factory programmed data. It contains calibration data for
    functions such as oscillators and analog modules. Some of the calibration values will be automatically loaded to the
    corresponding module or peripheral unit during reset. Other values must be loaded from the signature row and written to
    the corresponding peripheral registers from software. For details on calibration conditions such as temperature, voltage
    references, etc., refer to the device datasheet.
    The production signature row also contains an ID that identifies each microcontroller device type and a serial number for
    each manufactured device. The serial number consists of the production lot number, wafer number, and wafer
    coordinates for the device.
    The production signature row cannot be written or erased, but it can be read from application software and external
    programmers.
    For accessing the Production Signature Row, refer to “NVM Flash Commands” on page 358.
    4.3.5 User Signature Row
    The user signature row is a separate memory section that is fully accessible (read and write) from application software
    and external programmers. It is one flash page in size, and is meant for static user parameter storage, such as calibration
    data, custom serial number, identification numbers, random number seeds, etc. This section is not erased by chip erase
    commands that erase the flash, and requires a dedicated erase command. This ensures parameter storage during
    multiple program/erase operations and on-chip debug sessions.
    اونایی که شما ماکروهاش رو گذاشتین مربوط به Production Signature Row هست.

    دیدگاه


      #3
      پاسخ : مفهوم signature bytes ؟

      ببینید مثلا برای ADC یه همچین چیزی نوشته

      NVM_PROD_SIGNATURES_ADCBCAL0_offset = &H24 ' ADCB Calibration Byte 0
      NVM_PROD_SIGNATURES_ADCBCAL1_offset = &H25 ' ADCB Calibration Byte 1

      حالا برای کار با مثلا ADC آیا باید از این گرینه ها استفاده بشه و اساسا منظور از کالیبره کردن ADC چیه؟

      دیدگاه


        #4
        پاسخ : مفهوم signature bytes ؟

        در مورد ADC در هنگام تولید هر IC، روی هر چیپ تستی در کارخانه سازنده انجام می شود و بسته به عملکرد ADC در آن IC، مقداری برای Calibration Byte بدست می آید و در آدرس مشخصی ذخیره می شود. برای عملکرد دقیق ADC این مقادیر که در آدرس مشخصی ذخیره شده اند (و از IC تا IC می توانند متفاوت باشند) باید توسط خطوط برنامه خوانده و در رجیسترهای متناظر Load شوند.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #5
          پاسخ : مفهوم signature bytes ؟

          خوب من یه تست با xmega64a3 انجام دادام که نتیجه شد

          ADCA Calibration Byte 0
          ADCA Calibration Byte 1

          Readsig(&H20)= 68
          Readsig(&H21)= 4

          حالا باید این ها رو تو کدوم ریجیستر بنویسیم؟


          اضافه شده در تاریخ :


          با یه جستجوی دیگه این دستورات رو پیدا کردام

          (Adca_call = Readsig(&H20
          (Adca_calh = Readsig(&H21

          و بصورت زیر به برنامه اضافه کردام

          _ , Config Adca = Single , Convmode = Unsigned , Resolution = 12bit , Dma = Off
          _ , Reference = Int1v , Event_mode = None , Prescaler = 512 , Tempref = Enabled
          _ , Ch0_gain = 1 , Ch0_inp = Internal , Mux0 = &B000_00
          _ , Ch1_gain = 1 , Ch1_inp = Single_ended , Mux1 = &B01_000
          _ , Ch2_gain = 1 , Ch2_inp = Single_ended , Mux2 = &B10_000
          Ch3_gain = 1 , Ch3_inp = Single_ended , Mux3 = &B11_000

          (Adca_call = Readsig(&H20
          (Adca_calh = Readsig(&H21

          به نظر شما این کدها درست به نظر میان؟ چون با دادن هر عدد دیگه بین 0 تا 255 به ریجیستر های Adca_call و Adca_calh هیچ تغییر خاصی در مقدار خوانده شده ADC ها بوجود نیومد

          دیدگاه


            #6
            پاسخ : مفهوم signature bytes ؟

            مطابق اطلاعات help بسکام باید از همین روش برای خواندن calibration byte و مقداردهی به رجیستر مربوطه استفاده شود. اما احتمال دارد که توسط دستور config ADCx این مقداردهی بصورت خودکار انجام شود که البته این مسئله در توضیحات help چندان شفاف نیست.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه

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