اطلاعیه

Collapse
No announcement yet.

روش ساخت پروگرمر STK200/300

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

    روش ساخت پروگرمر STK200/300

    برای دانلود روش ساخت پروگرمر STK200/300 بر روی آدرس زیر کلیک نمایید:

    http://www.saghaei.com/downloads-cat4.html


    www.saghaei.com


    چون در توضیحات زیر اشکال مربوطه قابل مشاهده نمی باشند دانلود از مسیر بالا پیشنهاد می شود.




    مقدمه
    «زبانآ‌های سطح بالا» به سرعت در حال تبدیل شدن به زبان برنامهآ‌نویسی استاندارد برای میکروکنترلرها (MCU) هستند. زبان برنامهآ‌نویسی Basic و C بیشترین استفاده را در برنامهآ‌نویسی میکروکنترلرها دارند ولی در اکثر کاربردها، کدهای بیشتری را نسبت به زبان برنامهنویسی اسمبلی تولید میکنند. شرکت ATMEL با ایجاد تحولی در معماری ساخت تراشهآ‌های برنامهآ‌پذیر، از معماری RISC برای ساخت میکروکنترلرآ‌های AVR استفاده میآ‌کند که این معماری در مقایسه با معماری CISC دارای دستورات با اندازه (سایز) ثابت، رجیسترآ‌های (ثباتآ‌های) همهآ‌ منظوره بیشتر و دستورات سادهآ‌تر و قابل اجرا تنها در یک یا دو پالس ساعت هستند، میآ‌باشد که در نهایت منجر به افزایش سرعت اجرای دستورات توسط میکروکنترلر میآ‌شود. سرعت اجرای دستورات در میکروکنترلرهای AVR در مقایسه با میکروکنترلرهای 8051 و PIC به ترتیب 12 و 4 برابر میآ‌باشند.
    تکنولوژی حافظه کم مصرف غیر فرار برای برنامهریزی AVR مورد استفاده قرار گرفته است. در نتیجه حافظهآ‌های FLASH و EEPROMآ‌ در داخل مدار قابل برنامهآ‌ریزی هستند. میکروکنترلرهای اولیه AVR دارای 1 ، 2 و 8 کیلوبایت حافظه FLASHآ‌ و به صورت کلمهآ‌های 16 بیتی سازماندهی شده بودند. AVR ها به عنوان
    میکروکنترلرهای RISC با دستورات فراوان طراحی شدهآ‌اند که باعث میآ‌شود حجم کد تولید شده کم و سرعت بالاتری حاصل شود. با انجام دستورات تک سیکلی، اسیلاتور با کلاک داخلی سیستم یکی میآ‌شود. هیچ تقسیمآ‌کنندهآ‌ای در داخل AVR قرار ندارد که منجر به اختلاف فاز کلاک سیستم با سرعت اجرای دستورات شود. بیشتر میکروکنترلرها، فرکانس کلاک اسیلاتور سیستم را بر 4 یا 12 تقسیم میآ‌کنند که این امر منجر به کاهش سرعت اجرای دستورات میآ‌شود. بنابراین AVR ها 4 تا 12 بار سریعتر و توان مصرفی آنآ‌ها نیز 4 تا 12 بار نسبت به میکروکنترلرهای کنونی کمتر است. زیرا در تکنولوژی CMOS استفاده شده در میکروکنترلر های AVR، مصرف توان سطح منطقی متناسب با فرکانس است. شکل (1-1)، افزایش MIPS را به علت انجام عملیات تک سیکلی AVR در مقایسه با PIC و 8051 نشان میآ‌دهد.


    شکل (1-1): نمودار توان مصرفی برحسب اجرای میلیون دستور بر ثانیه برای میکروکنترلرهای AVR، PIC و 8051
    1-1-2- طراحی برای زبانآ‌های Basic و C:
    زبانآ‌های Basic و C بیشترین استفاده را در دنیای امروز به عنوان زبانآ‌های HLL دارند. پیش از طراحی چنین معماری، بیشتر میکروکنترلرها برای زبان اسمبلی طراحی شده و کمتر از زبانآ‌های HLL حمایت میآ‌کردندآ‌. هدف شرکت ATMEL طراحی معماری بود که هم برای زبان اسمبلی و هم برای زبانآ‌های HLL مفید باشد. به عنوان مثال در زبانآ‌های Basic و Cآ‌ میآ‌توان یک متغیر محلی به جای متغیر سراسری در داخل زیربرنامه تعریف کرد. بنابراین تنها در زمان اجرای زیربرنامه مکانی از حافظه SRAM برای متغیر اشغال میآ‌شود. در صورتی که اگر متغیر به عنوان متغیر سراسری تعریف گردد، در تمام زمانآ‌ اجرای برنامه مکانی از حافظه SRAM را اشغال کرده است. برای دسترسی سریعتر به متغیرهای محلی و کاهش کد، نیاز به افزایش رجیسترآ‌های همه منظوره است. AVR ها دارای 32 رجیسترآ‌ همهآ‌ منظوره هستند که مستقیما به «واحد محاسبه و منطق» متصل شدهاند و تنها در یک پالس ساعت به این واحد دسترسی پیدا میآ‌کنند. سه جفت از این رجیسترآ‌ها میآ‌توانند به عنوان رجیسترآ‌های 16 بیتی استفاده شوند. نتیجه تمام موارد بیان شده، این است که میکروکنترلرهای AVR با سرعت بالا و سازماندهی RISCآ‌ هستند.
    میکروکنترلرهای AVR به سه خانواده اصلی AT90S AVR، Tiny AVR و Mega AVR تقسیمآ‌بندی میآ‌شوند. البته خانواده XMega نیز توسط شرکت سازنده، به صنعت معرفی شده است. در این کتاب برای پیادهآ‌سازی بسیاری از پروژهآ‌ها از میکروکنترلر ATmega16 استفاده شده است و همانطور که از نامش مشخص است از خانواده Mega AVR میآ‌باشد. در ادامه به خلاصهآ‌ای از خصوصیات و پیکربندی این میکروکنترلر میآ‌پردازیم.
    1-1-3- خصوصیات ATmega16 و ATmega16L
    • با استفاده از معماری RISC طراحی و ساخته شدهآ‌اند.
    - کارایی بالا و توان مصرفی کم.
    - دارای 131 دستورالعمل، با کارایی بالا که بیشتر دستورات، تنها در یک سیکل ساعت اجرا میآ‌شوند.
    - دارای 32 رجیسترآ‌ همهآ‌منظوره هشت بیتی.
    - دارای بیشینه سرعت تا 16 MIPS در فرکانس 16 MHz.
    • حافظه برنامه و داده غیرفرار
    - 16 کیلوبایت حافظه FLASH داخلی قابل برنامهآ‌ریزی.
    پایداری حافظه FLASH با قابلیت 10000 بار نوشتن و پاک کردن.
    - 1024 بایت حافظه داخلی SRAM .
    - 512 بایت حافظه EEPROM داخلی قابل برنامهآ‌ریزی.
    پایداری حافظه EEPROM با قابلیت 100000 بار نوشتن و پاک کردن.
    - قفل برنامه FLASH و EEPROM .
    • خصوصیات جانبی
    - دو تایمر/کانتر 8 بیتی با مقسم مجزا.
    - یک تایمر/کانتر 16 بیتی با مقسم مجزا و دارای حالتآ‌های تسخیر و مقایسه.
    - 4 کانال مدولاسیون عرض پالس (PWM).
    - 8 کانال مبدل آنالوگ به دیجیتال 10 بیتی.
    - یک مقایسه کننده آنالوگ داخلی.
    - Watchdog قابل برنامهآ‌ریزی با اسیلاتور داخلی.
    - قابلیت ارتباط با پروتکل «سریال دو سیمه» و I2C.
    - قابلیت ارتباط سریال SPI به صورت Master یا Slave.
    - USART سریال قابل برنامهریزی.
    • خصوصیات ویژه میکروکنترلر
    - دارای اسیلاتور RC داخلی کالیبره شده.
    - منابع وقفه داخلی و خارجی.
    - توان مصرفی پایین و سرعت بالا توسط تکنولوژی CMOS.
    - ولتاژ کاری 2.7 تا 5.5 ولت برای Atmega16L و 4.5 تا 5.5 ولت برای Atmega16 .
    - فرکانسآ‌های کاری 0 تا 8MHz برای Atmega16L و 0 تا 16MHz برای Atmega16 .
    - 32 خط ورودی خروجی قابل برنامه ریزی.
    شکل (1-2) شمای پایهآ‌های میکروکنترلر Atmega16 را نشان میآ‌دهد. همانطور که در شکل زیر مشاهده میآ‌شود ATmega16 دارای چهار پورت A، B، C و D است.

    شکل (1-2): شمای پایهآ‌های میکروکنترلر ATmega16
    افزون بر اینآ‌که پورتآ‌ها به عنوان ورودی خروجی مورد استفاده قرار میآ‌گیرند، کاربردهای جانبی دیگری نیز دارند. که در فصلآ‌های بعد به آنآ‌ها خواهیم پرداخت.
    1-2- برنامهآ‌ریزی میکروکنترلرهای AVR
    به طور کلی، چهار روش برای برنامهآ‌ریزی میکروکنترلرهای AVR وجود دارد که به ترتیب: برنامهآ‌ریزی موازی، برنامهآ‌ریزی توسط پروتکل JTAG، خود برنامهآ‌ریز و ISP میآ‌باشند.
    برای برنامهآ‌آ‌ریزی میکروکنترلر AVR، از روش ISP استفاده میآ‌کنیم. در این روش: بدون برداشتن تراشه میکروکنترلر AVR از روی برد مربوطه، اقدام به پروگرم نمودن آن میآ‌آ‌نمائیم. انتقال کدهای برنامه از کامپیوتر به میکروکنترولر، مطابق شکل (1-3) به روش سریال میآ‌باشد. در روش ISP، با استفاده از ارتباط SPI (که در فصلآ‌های بعد توضیح داده میآ‌شود) میآ‌توانیم علاوه بر برنامهآ‌ریزى میکروکنترولر (Programming)، صحت برنامهآ‌ریزی را نیز تشخیص دهیم .(Verify) در این روش با استفاده از سه خط سیگنال، برنامهآ‌ریزی میکروکنترلر انجام میآ‌شود (یک خط ورودى، یک خط خروجى و یک خط پالس ساعت ((Clock. البته: پایه Reset میکروکنترلر میآ‌بایست در زمان برنامهآ‌ریزى پایین (صفر منطقى) نگه داشته شود، یعنی به صفر ولت متصل شود).

    شکل (1-3): ساختار برنامهآ‌ریزی میکروکنترولر.
    ساخت پروگرمر ISP با استفاده از کانکتور DB25 بسیار سادهآ‌ است. اتصال مستقیم میکروکنترلر به کامپیوتر، ممکن است باعث ایجاد مشکلات ناشی از جریان کشی توسط میکروکنترلر و کامپیوتر شود که در نهایت منجر به سوختن میکروکنترلر میآ‌شود. بنابراین، با استفاده از یک تراشه راهآ‌انداز به منظور تامین جریان لازم در هنگام برنامهآ‌ریزی میکروکنترلر، مشکل مذکور برطرف خواهد شد. همچنین به این دلیل که پورت موازى در مقابل اتصال کوتاه و یا اضافه بار چندان مقاوم نیست و ممکن است با قطع و وصل تغذیهآ‌ی بورد، آسیب ببیند. بنابراین، استفاده از یک بافر جریان ضروری است. در این روش، نمیآ‌توان به طور قاطع از برنامهآ‌ریزی کاملاً مطمئن میکرو صحبت کرد.
    مدار واسط STK200/300 به منظور برنامهآ‌ریزی میکروکنترولر به روش ISP استفاده شده است که مطابق شکل (1-4) میآ‌باشد. تراشه 74ALS244 به عنوان بافر جریان، جهت حفاظت از پورتآ‌های میکروکنترلر و کامپیوتر استفاده شده است. شما میآ‌توانید مطابق نقشه شکل (1-4) مدار پروگرمر را بسازید و یا آن آ‌را از فروشگاهآ‌های الکترونیکی تهیه نمائید. شایان ذکر است که صحت عملکرد صحیح مدار زیر تائید میآ‌شود.

    شکل (1-4): پروگرامر STK200/300
    1-3- آشنایی با روش نصب و کار با نرمآ‌افزار CodeVisionAVR
    1-3-1- مقدمه
    برای کار با میکروکنترلرهای AVR باید برنامهآ‌ای به یکی از زبانآ‌هایAssembly ،C یاBasic در محیط نرم افزار مربوط به آن نوشت. سپس آن را کامپایل نمود.
    کامپایل نمودن برنامه: عملی است که در آن، برنامه از زبان نوشتاری به زبان صفر و یک که توسط میکروکنترلر قابل فهم باشد، تبدیل میآ‌شود. در صورتیآ‌ که برنامه هیچ خطایی، شامل: خطای املایی، ساختاری و نظایر آن را نداشته باشد به درستی کامپایل شده و یک فایل به زبان صفر و یک (زبان ماشین) توسط کامپایلر تولید میآ‌شود. پسوند فایلآ‌هایی که حاوی برنامه به زبان ماشین هستند، HEX میآ‌باشد. اکنون برای انتقال فایل HEX ایجاد شده به درون آیآ‌سی، نیازمند یک دستگاه جانبی یا واسط سخت افزاری هستیم که کامپیوتر را به تراشه میکروکنترلر متصل کند و فایل HEX مربوطه را از کامپیوتر بر روی میکروکنترلر بارگذاری نماید. این واسط سخت افزاری، اصطلاحاً پروگرمر نامیده میآ‌شود. پس از برنامهآ‌ریزی کردن (پروگرم کردن)، میکروکنترلر را از پروگرمر جدا کرده و در مدار مورد نظر قرار داده (و یا اگر پروگرمر ساخته شده مطابق شکل (1-4) باشد بدون جدا نمون میکروکنترلر از مدار به برنامهآ‌ریزی آن اقدام میآ‌کنیم). پس از آن، عملکرد سخت افزاری آنآ‌را بررسی میآ‌کنیم.
    در این قسمت، نرم افزار CodeVisionAVR که یکی از کامپایلرهای قوی برای برنامهآ‌نویسی به زبان C میآ‌باشد، معرفی میآ‌شود. افزون بر این، روش نصب و قسمتآ‌های مختلف آن نیز آموزش داده میآ‌شود.

    #2
    پاسخ : روش ساخت پروگرمر STK200/300

    سلام :rolleyes:

    ادرسی که نوشتین ( در بالای نوشته ها ) وقتی وارد آدرس میشیم ، عکس یا طرح و نقشه ای از مدار رو ارائه نمیکنه و توضیحاتی از ساخت مدار نمیده :cry2:

    دیدگاه


      #3
      پاسخ : روش ساخت پروگرمر STK200/300

      این مطالبی که لطف کردی و نوشتی
      چخ ارتباطی با موضوع تاپیک داره
      همیشه به یاد خدا باش !

      دیدگاه

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