من برای یک پروژه مربوط به سمعک نیاز به یه موج سینوسی دارم (که بین 0.7,1.3kHz سوییپ کنه). یه FPGAدارم از محصولات آهای Microsemi-Actelو مجبورم از این استفاده کنم چون قبلا خریداری شده! متاسفانه تا به حال FPGAپروگرام نکردم (عملا)، ولیآ با Verilogقبلا کار کردم. اگه کسیآ تجربهآای در این وادی داره که آیا عملیآ هست و یا پیشنهادی ممنون میشم!
اطلاعیه
Collapse
No announcement yet.
موج سینوسی FPGA
Collapse
X
-
پاسخ : موج سینوسی FPGA
درود
این کار ساده و عملی هست.
دو تا کار می تونی انجام بدی. اول فرکانس مورد نظر رو به صورت مربعی تولید کنی و اون رو فیلتر کنی. این کار سینوسی خالص نمی گیری.
روش دوم استفاده از dac هست. برای این کار کی تونی از ای سی dac استفاده کنی و یا اگه دقت و خطی بودن زیاد مهم نیست با شبکه R2R و بافر، یک dac بسازی.
برای تولید فرکانس متغیر می تونی از counter برای حالت اول استفاده کنی. برای حلت دوم هم می تونی با ترکیب counter و یک lookup table و مثلا 256 تا عدد یک سیگل سینوسی رو بسازی و فرکانس های مختلف رو با نمونه برداری از این جدول تولید کنی. (روش dds)
گفتی قطعه شما مشخص شده، اگه این شرط رو نداشتی، چون فرکانست کمه، می تونستی با avr هم این کار رو انجام بدی. راه ساده تر و دقیق هم استفاده از ای سی های dds مثل ad9833 هست. (حتی یک ای سی analog devices خودش فانکشن سوئیپ داره).
مـن هیچ ندانم که مرا آن که سرشت
از اهل بهشت کرد یا دوزخ زشت
جامی و بتی و بربطی بر لب کشت
این هر سه مرا نقد و تو را نسیه بهشت
-
پاسخ : موج سینوسی FPGA
سلام!
ممنون از پاسخ!
برای تولید فرکانس متغیر می تونی از counter برای حالت اول استفاده کنی. برای حلت دوم هم می تونی با ترکیب counter و یک lookup table و مثلا 256 تا عدد یک سیگل سینوسی رو بسازی و فرکانس های مختلف رو با نمونه برداری از این جدول تولید کنی
گفتی قطعه شما مشخص شده، اگه این شرط رو نداشتی، چون فرکانست کمه، می تونستی با avr هم این کار رو انجام بدی. راه ساده تر و دقیق هم استفاده از ای سی های dds مثل ad9833 هست. (حتی یک ای سی analog devices خودش فانکشن سوئیپ داره).
دیدگاه
دیدگاه