سلام دوستان
طبق مطالعه ای که از دیتاشیت lpc1788 داشتم ... ما می تونیم توسط رجیستر PCLKSEL ، کلاک cclk رو به اعداد 1 تا 4 تقسیم کنیم و به همه پریفرال ها اعمال کنیم(pclk) .برای adc میشه همین کلاک یعنی pclk رو توسط بیت های 8:15 رجیستر ADCR به یک عدد دیگه تقسیم کرد . یعنی pclk به عددی که توی این بیت ها قرار می گیره به علاوه 1 تقسیم میشه .چون تعداد این بیت ها 8 هست پس بزرگترین عددی که pclk به اون تقسیم میشه 256 +1 یعنی 257 هست .(8^2=256)
از طرفی حداکثر کلاک قابل اعمال به واحد adc معادل 12.4 مگاهرتز می باشد.
من مثال adc سی دی همراه با برد lpc1788 که از فروشگاه کویر الکترونیک خریدم رو نگاه کردم و گیج شدم. یا مثال اشتباه هست و یا من اشتباه کردم. توی این مثال cclk تقسیم نشده. پس کلاک اعمال شده به پریفرال ها (pclk) معادل 120 مگاهرتز هست . بعد بیت هشتم از رجییستر ADCR رو 1 کرده . و مقابلش کامنت گذاشته که الان کلاک اعمال شده به ADC معادل 12.5 مگاهرتز هست .
ولی طبق دیتاشیت با این مقداردهی به رجیسترها cclk به عددی تقسیم نمیشه و همون 120 مگاهرتز هست . بعد هم توسط رجیستر ADCR به عدد 1+1 تقسیم میشه و کلاک اعمالی به adc معادل 60 مگاهرتز خواهد بود که قطعا غلط هست ...
کسی می تونه در این مورد کمکی کنه ؟ من یکم گیج شدم