سلام دوستان
با at91sam7x256 و هدر بورد سایت می خوام یه ولتاژ AC که سینوسی 50 هرتز بین 3 تا 1 ولت رو اندازه بگیرم و شکل موجو شبیه سازی کنم، ولی مشکل داره، حالت های زیر برام پیش اومده:
(اول بگم، من 1000 تا نمونه ذخیره میکنم تو یک آرایه و با Usart بعد از این که نمونه گیری تموم شد میفرستم رو MAtlab، اما این کارم کردم که حین نمونه برداری اطلاعاتو بفرستم و فرقی در جواب نداشته و فقط usart باعث شده تعداد نمونه هام در هر سیکل کم بشه)
1- فرکانس کاری adc در پایین ترین حد ممکن (با توجه به این که ورودیم 50 هرتزه بازم پایین ترین فرکانس adc جواب کارمو میده) و هر نمونه 1 بار خروجی adc : خروجی دارای شکل عجیب که در هر حدود 40 درجه روی موج سینوسی ، انگار adc هنگ می کنه و یه بخش ار موج ورودیو از دست میده و اصلا سینوسی نمیشه به حساب اوردش.
2- فرکانس کاری adc در پایین ترین حد ممکن و و هر نمونه میانگین 20 الی 100 بار خروجی adc : موج سینوسی شبیه سازی میشه ، تقریبا قابل قبوله ولی باز هم در هر 2-3 سیکل یک جا پرش داره، انگار adc هنگ میکنه و یه قسمت از موجو از دست میده و از یک جای شیفت پیدا کرده ادامه میده...
3- فرکانس کاری adc در بالاترین حد ممکن و و هر نمونه 1 بار خروجی adc : کلا نابود میشه خروجی و اطلا شبیه سینوسی در نمیاد.
4- فرکانس کاری adc در بالاترین حد ممکن و و هر نمونه میانگین 20 الی 100 بار خروجی adc : تقریبا شبیه حالت 2 ولی بدتر.
5- با آزمون و خطا بهترین جوابی که گرفتم تو این حالته : فرکانس Acd برابر 4.6mhz و میانگین گیری 20 نمونه... که کمترین شیفت ها رو رو خروجی داشت ولی بازم قابل قبول نیست.
6- خیلی عجیب: با هر فرکانس acd و یک نمونه ولیییی با اظافه کردن تاخیر 50 میکرو ثانیه ای قبل از خوندن adc و 100 میکرو ثانیه بعد از خوندن: مانند حالت 2 (یعنی به راحتی میشد رو هر یک نمونه حساب باز کرد ولی بازم تو هر چند سیکل یه قسمتو از دست میداد).
* در همه حالات وضعیت ریجستر ADC_MR که ریجستر مد adc هست و فرکانس، زمان استارت، زمان LOCK ، مد sleep ، چند بیتی بودن، و تریگر رو معلوم میکنه به این قرار بوده:
مد sleep خاموش
زمان استارت: بیشترین مقدار 7f
زمان lock : بیشترین مقدار f
10 بیتی
تریگر: نرم افزاری
(فرکانس مرجع میکرو pll و مقدار 96mhz با ps 2)
به نظرتون مشکل چیه؟ (به نظر خودم بسته به فرکانس کاری adc ایم، adc یا کلا پروسرور داره وسط کار هنگ میکنه و این باعث میشه یک قسمت از موجو از دست بده)
oo:
با at91sam7x256 و هدر بورد سایت می خوام یه ولتاژ AC که سینوسی 50 هرتز بین 3 تا 1 ولت رو اندازه بگیرم و شکل موجو شبیه سازی کنم، ولی مشکل داره، حالت های زیر برام پیش اومده:
(اول بگم، من 1000 تا نمونه ذخیره میکنم تو یک آرایه و با Usart بعد از این که نمونه گیری تموم شد میفرستم رو MAtlab، اما این کارم کردم که حین نمونه برداری اطلاعاتو بفرستم و فرقی در جواب نداشته و فقط usart باعث شده تعداد نمونه هام در هر سیکل کم بشه)
1- فرکانس کاری adc در پایین ترین حد ممکن (با توجه به این که ورودیم 50 هرتزه بازم پایین ترین فرکانس adc جواب کارمو میده) و هر نمونه 1 بار خروجی adc : خروجی دارای شکل عجیب که در هر حدود 40 درجه روی موج سینوسی ، انگار adc هنگ می کنه و یه بخش ار موج ورودیو از دست میده و اصلا سینوسی نمیشه به حساب اوردش.
2- فرکانس کاری adc در پایین ترین حد ممکن و و هر نمونه میانگین 20 الی 100 بار خروجی adc : موج سینوسی شبیه سازی میشه ، تقریبا قابل قبوله ولی باز هم در هر 2-3 سیکل یک جا پرش داره، انگار adc هنگ میکنه و یه قسمت از موجو از دست میده و از یک جای شیفت پیدا کرده ادامه میده...
3- فرکانس کاری adc در بالاترین حد ممکن و و هر نمونه 1 بار خروجی adc : کلا نابود میشه خروجی و اطلا شبیه سینوسی در نمیاد.
4- فرکانس کاری adc در بالاترین حد ممکن و و هر نمونه میانگین 20 الی 100 بار خروجی adc : تقریبا شبیه حالت 2 ولی بدتر.
5- با آزمون و خطا بهترین جوابی که گرفتم تو این حالته : فرکانس Acd برابر 4.6mhz و میانگین گیری 20 نمونه... که کمترین شیفت ها رو رو خروجی داشت ولی بازم قابل قبول نیست.
6- خیلی عجیب: با هر فرکانس acd و یک نمونه ولیییی با اظافه کردن تاخیر 50 میکرو ثانیه ای قبل از خوندن adc و 100 میکرو ثانیه بعد از خوندن: مانند حالت 2 (یعنی به راحتی میشد رو هر یک نمونه حساب باز کرد ولی بازم تو هر چند سیکل یه قسمتو از دست میداد).
* در همه حالات وضعیت ریجستر ADC_MR که ریجستر مد adc هست و فرکانس، زمان استارت، زمان LOCK ، مد sleep ، چند بیتی بودن، و تریگر رو معلوم میکنه به این قرار بوده:
مد sleep خاموش
زمان استارت: بیشترین مقدار 7f
زمان lock : بیشترین مقدار f
10 بیتی
تریگر: نرم افزاری
(فرکانس مرجع میکرو pll و مقدار 96mhz با ps 2)
به نظرتون مشکل چیه؟ (به نظر خودم بسته به فرکانس کاری adc ایم، adc یا کلا پروسرور داره وسط کار هنگ میکنه و این باعث میشه یک قسمت از موجو از دست بده)

دیدگاه