پاسخ : تاپیک سوالات درباره ADC
در مد unsigned single ended ورودی بصورت تفاضلی با Vref/2-DeltaV مقایسه می شود و حاصل بصورت خودکار با 2048 جمع می شود. بنابراین به دلیل جمع نتیجه با 2048 تنها DeltaV در مقدار جواب موثر است و اثر Vref/2 برطرف می شود. مقدار 0.05Vref نتیجه ای حدود 0.05 ضرب در 4095 را ایجاد خواهد کرد. اما به دلیل وجود offset لزوما چنین نتیجه ای ایجاد نخواهد شد و از روی مقدار خروجی می توان میزان تقریبی Offset را بدست آورد. یک روش دیگر که در کدهای اتمل برای بدست آوردن offset بکار رفته، قرار دادن adc در وضعیت تفاضلی و تنظیم دو ورودی بصورت یکسان است که در این حالت باید نتیجه تفاضل دو وردی یکسان، صفر باشد. اما از مقدار غیر صفر می توان Offset را بدست آورد. خواندن مقدار calibration byte هم از طریق NVM controller و رجیستر Z میسر است که باید با برنامه اسمبلی این کار انجام شود. در AVR1300 کد موجود در فایلadc_driver_asm.s90 برای این منظور نوشته شده است.
نوشته اصلی توسط mhm_004
دیدگاه