آی سی AD9850 یک تولید کننده شکل موج سینوسی و مربعی با فرکانس متغیره که به صورت ماژول آماده توی بازار پیدا می شه. این آی سی در بهترین حالت می تونه فرکانس تا 125MHz که البته در فرکانسهای بالا ممکنه Duty Cycle 50 درصد نداشته باشه.

این ماژول یک DDS Synthesizer محسوب می شه و برای راه اندازی باید از یک میکروکنترلر استفاده بشه. اگه از آردوینو استفاده می کنین احتمالا کتابخونه آماده براش بتونین پیدا کنین. اما اگه خودتون بخواین برنامه میکرو بنویسین خیلی بعیده بتونین حداقل به زبان فارسی راهنمای مناسبی پیدا کنین. به همین علت راهنمای راه اندازی این ماژول به کمک میکروکنترلر AVR آماده شده و برنامه ش هم به زبان بیسیک تحت کامپایلر BASCOM توضیح داده شده.
بهترین راه برای راه اندازی این ماژول مراجعه به دیتاشیت و بعد مثال های موجود در اینترنته. طبق گفته دیتاشیت باید 5 بایت به ماژول فرستاده بشه. دو راه سریال و موازی برای برنامه ریزی این ماژول وجود داره که در اینجا مد سریال معرفی شده.
اول باید پایه D2 رو به زمین و D0 و D1 رو به vcc وصل کنید. بعد پایه RESET رو به مدت خیلی کوتاه high و بعد low کنید. بعد همین کار رو با پایه W_CLK و بعد با پایه FQ_UD انجام بدید. بعد باید کل 40 بیت داده رو به ترتیب روی پایه DATA قرار بدید. قالب این بیتها به این صورته:

W0 W1 W2 W3 W4 W5 ————- W28 W29 W30 W31 0 0 0 0 0 0 0 0

از بیت اول تا 32 مربوط به فرکانس دلخواه شماست و W0 بیت LSB شماست و اول فرستاده می شه. اول بیت مورد نظر رو تنظیم می کنید و بعد یه پالس روی پایه W_CLK بفرستید. محاسبه این 32 بیت طبق رابطه زیر انجام می شه:

Value = Frequency * 4 294 967 296 / 125 000 000

که فرکانس مورد نظرتون رو به جای Frequency قرار می دین و با تغییر مبنا یک عدد 32 بیتی به دست میارین که بیتهای اونو باید به ترتیب طبق روال بالا به آی سی بفرستین.
دو تا بیت بعدی کنترلی هستند و حتما باید 0 باشند. بقیه بیتها رو هم 0 قرار بدید و با همون روال قبل برای هر کدوم یه کلاک بفرستین. حالا یه پالس دیگه روی FQ_UD بفرستید و دیگه برنامه باید همین جا تموم شه. می تونید نتیجه سینوسی یا مربعی رو با اسکوپ مشاهده کنید.
برای اطمینان بیشتر بین قرار دادن هر بیت روی پین DATA و ارسال کلاک به W_CLK یه تاخیر کوچیک مثلا 10 میکرو ثانیه قرار داده شده.
قابل ذکره که اگه vcc ماژول رو برابر 5 ولت قرار بدید احتمالا دامنه خروجیتون بزرگتر خواهد بود. ولی 3.3 هم می تونید بهش وصل کنید.
برنامه نمونه رو می تونین در زیر مشاهده کنین:

برای اینکه فرکانس دلخواه خودتون رو داشته باشین لازمه که بیتها رو مطابق با عددی که از رابطه بدست آوردین تنظیم کنین یا حتی براش یه تابع بنویسین. با اضافه کردن دکمه یا ولوم یا انکدر به مدار و تغییر برنامه هم می تونین یه DDS با فرکانس متغیر داشته باشین.
در صورتی که دامنه ولتاژ خروجی این DDS براتون کافی نیست و یا ممکنه بار جریان زیادی بکشه باید از یک مدار تقویت کننده استفاده کنین که در همین سایت معرفی شده.