اطلاعیه

Collapse
No announcement yet.

چگونه این خروجی را می توان ساخت

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چگونه این خروجی را می توان ساخت

    سلام
    خسته نباشید
    باید برنامه ای بنویسم که در دو پایه ی خروجی یک موج مربعی با فرکانس 0 هرتز تا 16 مگاهرتز تولید کنه . به این شرح که همیشه دو پایه عکس هم باشند یعنی زمانی که یکی 1 است دیگری 0 باشد .
    اگر نشد از 0 تا 8 مگا هم قبوله
    اگر باز هم نمیشه از 0 تا 5 مگا هم قبوله
    خب
    حالا راهنمایی کنید
    آیا این چیزی که من مد نظرمه جواب میده یا نه
    ابتدا دو خروجی تعریتف میکنیم و همچنین دو ورودی برای تغییر فرکانس
    بعدش از تایمر یک استفاده میکنیم و پرسکال رو یک قرار میدهیم تا بتونیم حداکثر فرکانس رو تولید کنیم
    بعد توسط کلید های ورودی هر مقداری که در رجیستر تایمر قرار دهیم یک فرکانسی تولید میکنه آیا درسته .
    ولی فقط میتونیم به اندازه ی یک عدد 16 بیتی فرکانس بسازیم یعنی یعنی بعضی از فرکانس ها حذف می شوند . ایا این راه هایی که گفتم درسته ؟
    لطفا در نوشتنش کمکم کنید .
    سپاس

    #2
    پاسخ : چگونه این خروجی را می توان ساخت

    نوشته اصلی توسط کارجو
    سلام
    خسته نباشید
    باید برنامه ای بنویسم که در دو پایه ی خروجی یک موج مربعی با فرکانس 0 هرتز تا 16 مگاهرتز تولید کنه . به این شرح که همیشه دو پایه عکس هم باشند یعنی زمانی که یکی 1 است دیگری 0 باشد .
    اگر نشد از 0 تا 8 مگا هم قبوله
    اگر باز هم نمیشه از 0 تا 5 مگا هم قبوله
    خب
    حالا راهنمایی کنید
    آیا این چیزی که من مد نظرمه جواب میده یا نه
    ابتدا دو خروجی تعریتف میکنیم و همچنین دو ورودی برای تغییر فرکانس
    بعدش از تایمر یک استفاده میکنیم و پرسکال رو یک قرار میدهیم تا بتونیم حداکثر فرکانس رو تولید کنیم
    بعد توسط کلید های ورودی هر مقداری که در رجیستر تایمر قرار دهیم یک فرکانسی تولید میکنه آیا درسته .
    ولی فقط میتونیم به اندازه ی یک عدد 16 بیتی فرکانس بسازیم یعنی یعنی بعضی از فرکانس ها حذف می شوند . ایا این راه هایی که گفتم درسته ؟
    لطفا در نوشتنش کمکم کنید .
    سپاس
    فکر میکنم اگر با تراشه های اوسیلاتور این کار رو انجام بدید، جواب بهتری میگیرید.
    تقریبن مطمین هستم بکمک میکروهای AVR نمیتونید پالس با فرکانس مثلآ 6943 تولید کنید.

    دیدگاه


      #3
      پاسخ : چگونه این خروجی را می توان ساخت

      فرض کنید شما یک پایه ی میکرو رو خروجی کنین.
      برای یک کردن یک پایه دو سیکل صفر کردن هم دو سیکل لازمه.
      یعنی اگه شما کلاک میکرو رو روی 16 مگاهرتز تنظیم کنین ماکسیمم کلاک خروجی از io برابر 4 مگاهرتز می شه(تازه اگه با اسمبلی بنویسی)

      دیدگاه


        #4
        پاسخ : چگونه این خروجی را می توان ساخت

        تو C (با اسمبلی داخلش) منم بیشتر از 2.6 مگ نتونستم بگیرم حتی با اور کلاک میکرو هم فرکانسش بهتر که نمیشد بدتر هم میشد

        head<=
        ...تشکر خدا...
        [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

        دیدگاه


          #5
          پاسخ : چگونه این خروجی را می توان ساخت

          نوشته اصلی توسط MReza.p
          فکر میکنم اگر با تراشه های اوسیلاتور این کار رو انجام بدید، جواب بهتری میگیرید.
          تقریبن مطمین هستم بکمک میکروهای AVR نمیتونید پالس با فرکانس مثلآ 6943 تولید کنید.
          سپاس
          تراشه های اسیلاتوور چه مقدار ولتاژ خروجی دارند ؟
          حداقل 2 ولت ولتاژ لازم داریم تا بدیم به یک ترانزیستور و بعدش بتونیم یک ماسفت رو به اشباع ببریم
          نوشته اصلی توسط vahid_22002
          فرض کنید شما یک پایه ی میکرو رو خروجی کنین.
          برای یک کردن یک پایه دو سیکل صفر کردن هم دو سیکل لازمه.
          یعنی اگه شما کلاک میکرو رو روی 16 مگاهرتز تنظیم کنین ماکسیمم کلاک خروجی از io برابر 4 مگاهرتز می شه(تازه اگه با اسمبلی بنویسی)
          سپاس
          بله شما درست میگید
          16 مگا اصلا نمیشه
          حتی هشت هم نمیشه
          این که میگید میشه ماکزیموم کلاک خروجی حداکثر 4 مگا یعنی چی ؟
          وقتی که با سرعت 16 مگا دستورات و بخونیم خوب مشخصه که نمیتونیم تا 16 مگا بسازیم چون تو خروجی نصف میشه
          واسه هشت مگا هم خوب بخشیش میره روی خوندن دستورات , خب , پس لااقل باید بتونیم با 5 مگا بسازیم دیگگه
          من گفته ی شما رو متوجه نمیشم نمیشه بیشتر توضیح دهید چرا میگید باید با اسمبلی بننویسیم و حداکثر تا 4 مگا شاید بتونیم جواب بگیریم ؟

          دیدگاه


            #6
            پاسخ : چگونه این خروجی را می توان ساخت

            درود
            با تایمر می تونی تا نصف کلاک رو بندازی تو خروجی. با 16 مگ می تونی 8 مگ بگیری.
            همین مشکلی که گفتی وجود داره. یعنی نمی تونی هر فرکانسی رو بگیری.
            علاوه بر ای سی های آنالوگ اسیلاتور می تونی از ad9833 استفاده کنی.(فقط ولتاژ خروجیش کمه که باید تقویت بشه.)
            مـن هیچ ندانم که مرا آن که سرشت
            از اهل بهشت کرد یا دوزخ زشت
            جامی و بتی و بربطی بر لب کشت
            اين هر سه مرا نقد و تو را نسیه بهشت

            دیدگاه

            لطفا صبر کنید...
            X