سلام دوستان چند مدتی بود که تو فکر ساختن یه اسیلوسکوپ بودم و بعد از مدتی تحقیق و کمک گرفتن از رفقا و دوستان گلم در ECA تونستم به یه جاهایی برسم
که حاصل اون شده این پروژه که براتون آدرسش رو گذاشتم و امیدوارم که بتونه کمکتون کنه
این پروژه برای نمایش شکل موج در GLCD و ذخیره ی اون روی MMC طراحی شده شما بعد از هر بار اجرای برنامه در proteus می تونید شکل موج و طیف فرکانسی موج رو با فراخونی Signal_Read_Display و Signal_SpectrumAnalyze در MATLAB ببینید
و اما چند نکته:
در این پروژه از 3 عدد AVR استفاده شده ! که یکی وظیفه ی نمونه برداری و یکی وظیفه ی نمایش و دیگری وظیفه ی ذخیره بر روی MMC رو به عهده دارند و دلیل این کارم هم بالاتر بردن سرعت و منظم شدن فواصل نمونه برداری بوده
چون شما در هر بار تبادل اطلاعات با MMC باید حتما 512 بایت یا یک سکتور بخوانید و بنویسید و من برای حفظ فواصل نمونه برداری مجبور به استفاده از دو عدد RAM به عنوان بافر تنظیم سرعت شدم (البته میدونم که راه اصولیش استفاده از FIFO هستش ولی چه کنم که Proteus یه FIFO درست و حسابی با ظرفیت بالا نداره)
خلاصه وقتی میکروی ADC داره روی RAM اول 512 بایت مینویسه , میکروی MMC داره 512 بایت از RAM دوم میخونه و اون رو به MMC میفرسته.
نکته ی بعدی اینکه این میکرو با استفاده از 9 بیت پر ارزش ADC از -255 تا 255 ولت رو با دقت یه ولت قراره اندازه بگیره و بیشتر بهش ندین که ADC عصبانی میشه !
من در طراحی این اسیلوسکوپ زیاد روی قسمتهای آنالوگش کار نکردم چون سوادش رو نداشتم و وقتم رو روی قسمت های دیجیتالش گذاشتم امیدوارم که بتونید با اعمال یکسری تغییرات سازنده !! ازش در عمل هم جواب بگیرید چون من در عمل تستش نکردم.
امیدوارم بتونه کمک کوچکی بهتون بکنه چون بچه های این سایت خیلی به من کمک کردند.
در ضمن حواستون باشه قبل از هربار اجرای برنامه فایل ME.mmc رو با notepad باز کنید و بعد Ctrl+A نموده و سپس Delete نمایید تا اطلاعات اجرای قبلی پاک گردد.
http://www.mediafire.com/?fk1ckwe3uqh5v42
Password:www.eca.ir
که حاصل اون شده این پروژه که براتون آدرسش رو گذاشتم و امیدوارم که بتونه کمکتون کنه
این پروژه برای نمایش شکل موج در GLCD و ذخیره ی اون روی MMC طراحی شده شما بعد از هر بار اجرای برنامه در proteus می تونید شکل موج و طیف فرکانسی موج رو با فراخونی Signal_Read_Display و Signal_SpectrumAnalyze در MATLAB ببینید
و اما چند نکته:
در این پروژه از 3 عدد AVR استفاده شده ! که یکی وظیفه ی نمونه برداری و یکی وظیفه ی نمایش و دیگری وظیفه ی ذخیره بر روی MMC رو به عهده دارند و دلیل این کارم هم بالاتر بردن سرعت و منظم شدن فواصل نمونه برداری بوده
چون شما در هر بار تبادل اطلاعات با MMC باید حتما 512 بایت یا یک سکتور بخوانید و بنویسید و من برای حفظ فواصل نمونه برداری مجبور به استفاده از دو عدد RAM به عنوان بافر تنظیم سرعت شدم (البته میدونم که راه اصولیش استفاده از FIFO هستش ولی چه کنم که Proteus یه FIFO درست و حسابی با ظرفیت بالا نداره)
خلاصه وقتی میکروی ADC داره روی RAM اول 512 بایت مینویسه , میکروی MMC داره 512 بایت از RAM دوم میخونه و اون رو به MMC میفرسته.
نکته ی بعدی اینکه این میکرو با استفاده از 9 بیت پر ارزش ADC از -255 تا 255 ولت رو با دقت یه ولت قراره اندازه بگیره و بیشتر بهش ندین که ADC عصبانی میشه !
من در طراحی این اسیلوسکوپ زیاد روی قسمتهای آنالوگش کار نکردم چون سوادش رو نداشتم و وقتم رو روی قسمت های دیجیتالش گذاشتم امیدوارم که بتونید با اعمال یکسری تغییرات سازنده !! ازش در عمل هم جواب بگیرید چون من در عمل تستش نکردم.
امیدوارم بتونه کمک کوچکی بهتون بکنه چون بچه های این سایت خیلی به من کمک کردند.
در ضمن حواستون باشه قبل از هربار اجرای برنامه فایل ME.mmc رو با notepad باز کنید و بعد Ctrl+A نموده و سپس Delete نمایید تا اطلاعات اجرای قبلی پاک گردد.
http://www.mediafire.com/?fk1ckwe3uqh5v42
Password:www.eca.ir
دیدگاه