پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
با اسمبلی بنویس شاید بشه البته بعید میدونم بشه
آنکس که بداند و بداند که بداند /، اسب شرف از گنبد گردون بجهاند
آنکس که بداند و نداند که بداند / ، بیدارش نمایید که بسی خفته نماند
آنکس که نداند و بداند که نداند / ، لنگان خرک خویش به مقصد برساند
آنکس که نداند و نداند که نداند / ، در جهل مرکب ابدالدهر بماند
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
16 مگا هرتز سرعت باس میکرو کنترلر است نه سرعت وسایل ارتباطی جانبی
مثلا adc یک سرعت داره و Io یک سرعت و همچنینی تایمر و کانتر و usrt و حافظه ایپرام و ..... هرکدام سرعت خودشون رو دارن
شما باید ببنید ماکزیمم سرعت io میکرو چقدره
تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
داشتن عقله زیادتر از دیگر آدم ها است
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
سلام.
طبق برگه اطلاعات AVR عملیات IO در آن ها در یک کلاک انجام میشه شما می تونی از یک avr سریع مثل atmega48 استفاده کنی که تا 20MHz می تونید فرکانس کاریش رو بالا ببرید به امتحانش می ارزه.
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
نوشته اصلی توسط hamid_ec
سلام.
طبق برگه اطلاعات AVR عملیات IO در آن ها در یک کلاک انجام میشه شما می تونی از یک avr سریع مثل atmega48 استفاده کنی که تا 20MHz می تونید فرکانس کاریش رو بالا ببرید به امتحانش می ارزه.
کجا نوشته ؟شاید با خواندن و نوشتن در ریجستر اشتباه گرفتید ؟
تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
داشتن عقله زیادتر از دیگر آدم ها است
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
نوشته اصلی توسط hamid_ec
سلام.
طبق برگه اطلاعات AVR عملیات IO در آن ها در یک کلاک انجام میشه شما می تونی از یک avr سریع مثل atmega48 استفاده کنی که تا 20MHz می تونید فرکانس کاریش رو بالا ببرید به امتحانش می ارزه.
برای دسترسی به یه پین از یه پین میکرو حداقل 2 دستور میکرو نیاز هست. پس یعنی برای 0 و 1 کردن به 4 سیکل نیازه که میشه حداکثر 5مگا هرتز......
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
نوشته اصلی توسط aliila
کجا نوشته ؟شاید با خواندن و نوشتن در ریجستر اشتباه گرفتید ؟
درجواب باید بهتون بگم که حداکثر فرکانس یک سخت افزار را اجزای منطقی (سخت افزاری) داخلی آن تشکیل می دهند یعنی وقتی ATMEL حداکثر فرکانس کاری mega16 را 16MHZ اعلام میکنه یعنی گیت های منطقی داخلی تراشه در این فرکانس به خوبی کار می کنند که این گیت ها شامل پورت های I/O هم می باشد. البته کارخانه سازنده حاشیه اطمینان زیادی بکار می برد. خودم در یک پروژه مربوط به اتصال TV به میکرو فرکانس کاری ATMEGA32 را تا 24MHZ افزایش دادم که میکرو در این فرکانس به خوبی کار میکرد . البته جریان مصرفی کمی بالا رفته بود و میکرو هم کمی گرم می شد ولی مشکلی در کار کردش مشاهده نمی شد. برای اینکه از کارکر پورت های AVR مطمئن بشید اگر اسیلوسکوپ در اختیار دارید می تونید کلاک خوروجی از ماژول SPI میکرو را با کلاک 16MHz مشاهده کنید که دقیقا 16MHz است . نوشتن روی رجیستر پورت خروجی دقیقا با تغییر وضعیت پورت در یک زمان رخ میدهد و تاخیر خیلی خیلی جزئی است.
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
سلام
در avr به راحتی میشه به نصف فرکانس کلاک دست یافت. بنابراین اگر فرکانس میکرو رو 14 مگاهرتز بذاری می تونی به فرکانس 7 مگ برسی.
این بدون صفر و یک کردن io انجام میشه. چون همونطور که گفته شد صفر رو یک کردن io خودش چند سیکل کاری میکرو زمان لازم داره و در ضمن میکرو رو هم در گیر می کنه.
ولی میشه کاری کرد که بدون اینکه میکرو درگیر بشه فرکانس خاصی روی یکی از پایه های میکرو (که پایه های خاصی هستند) تولید بشه. این کار به صورت سخت افزاری انجام میشه.
حالا باید چکار کرد. فرض کنیم فرکانس میکرو 14 مگ هست و ما می خواهیم فرکانس 7 مگا هرتز تولید کنیم. نوع avr فرض کنیم atmega8 هست.
حالا تو کدویژن کدویزاد رو باز کن.
توی قسمت timers ، timer1 رو انتخاب کن.
clock source رو بذار system clock
clock value ر. بذار 14Mhz
mode رو بذار ctc top=ocr1a این در واقع قسمت اصلیه
حالا outa یا outb رو بذار toggle با انتخاب outa فرکانس مورد نظر روی پایه OCA که در atmega8 پایه PB1 هست تولید میشه. و با انتخاب outb فرکانس روی پایه OC1B (پایه PB2) تولید میشه.
حالا کد تولید شده در کدویزارد رو کامپایل کن و نتیجه رو ببین.
مـن هیچ ندانم که مرا آن که سرشت
از اهل بهشت کرد یا دوزخ زشت
جامی و بتی و بربطی بر لب کشت
این هر سه مرا نقد و تو را نسیه بهشت
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
مرسی از دوستان
من تا 5 مگا هرتز درست کردم کدویژنو امتحان کردم نشد
امید وارم اون دوستی که گفته بودن تا 5 مگا بیشتر نمیشه بیشتر توضیح بدن
در ضمن من 5 مگارو با مد مقایسه تایمر یک تولید کردم
بدرود
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
البته برنامه کدویژنو دوباره امتحان کردم جواب داد
ولی یه کم در باره برنامه توضیح بدید که مقدار رجیستر مقایسه ای A چقدر تعیین شده وکجا مشخص کردید چرا aو b رومقدار ندادید
پاسخ : شکل موج مربعی با فرکانس 7مگا هرتز با میکروهای avr
setting ها برای ابن کار در این قسمت انجام شده:
Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 14000.000 kHz
// Mode: CTC top=OCR1A
// OC1A output: Toggle
// OC1B output: Toggle
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x50;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00
در اینجا تایمر بین صورت تعریف شده که در لبه پالسها toggle بشه. toggle یعنی اگر صفر بود یک و اگر 1 بود 0 بشه. نیازی به مقدار دهی نیست.
اما میشه تایمر 2 رو روی مد کپچر گذاشت که با رسیدن به عدد خاصی toggle بشه. در این صورت میشه با مقدار دهی به فرکانس خروجی دلخواه رسید. در واقع میشه به هر تقسیمی ار فرکانس مرجع رسید.
مـن هیچ ندانم که مرا آن که سرشت
از اهل بهشت کرد یا دوزخ زشت
جامی و بتی و بربطی بر لب کشت
این هر سه مرا نقد و تو را نسیه بهشت
دیدگاه