معرفي پروتكل STK200\300 براي پروگرام كردن ميكروكنترلرهاي خانوادهي AVR، ساخت يك پروگرامر بسيار ساده و...
به نام خدا
با سلام خدمت همهي دوستان عزيزم
ابتدا بايد يك نكته رو از مطالب جلسهي پيش گوش زد كنم، براي بستن مدار Reset و همچنين كرستال خارجي، در ATMEGA16L هيچ الزامي وجود ندارد و صرفاً براي دقت بيشتر ميباشند.
در ضمن ياد آوري ميكنم كه ميكروكنترلرهاي ATMEGA16L و ATMEGA16 تفاوت خاصي در ترتيب پايهها و كارايي با يكديگر ندارند. مهمترين تفاوت اين 2 آي سي در فركانس كاري اين 2 آي سي است كه ATMEGA16L نميتواند با فركانس بيش از 8 مگاهرتز كار كند.
خوب، همانطور كه قول داده بوديم، قراره اين جلسه ساخت يك پروگرامر بسازيم كه بتوانيم به وسيلهي آن، برنامههايي كه در كامپيوتر مينويسيم را به ميكروكنترلر منتقل كنيم.
براي پروگرام كردن ميكروكنترلرهاي خانوادهي AVR روشها و پورتكولهاي متعددي وجود دارد. يكي از معروفترين و پركاربردترين پروتكولهاي موجود، STK200\300 نام دارد كه ما در اين جلسه سعي ميكنيم نحوهي استفاده از اين پروتكول را آموزش دهيم.
همانطور كه گفته شد، ميكروكنترلرهاي خانوادهي AVR اين قابليت را دارند كه ميتوان آنها را مستقيماً به وسيلهي يك كابل 5 رشته به كامپيوتر متصل نموده و پروگرام كرد، و در نتيجه، نيازي به يك دستگاه مجزا براي پروگرام كردن ندارند. اين روش پروگرام كردن STK200/300 نام دارد. اين روش، به خاطر عدم نياز به هرگونه مدار جانبي و سهولت كار با آن، از محبوبيت زيادي در بين كاربران حرفهاي برخوردار است.
اولين نكته اين است كه اگر كامپيوتر شما پورت LPT(موازي) نداشته باشد، شما نمي توانيد به اين روش(يعني فقط با يك كابل 5 رشتهي ساده) ميكروكنترلر خود را پروگرام كنيد و بايد از مدارهاي پروگرامر USB استفاده كنيد. با استفاده از پروگرامرهاي USB، شما ميتوانيد با استفاده از درگاه USB هم ميكروكنترلر خود را پروگرام كنيد. ساختن اين پروگرامرها كار سادهاي نيست، اما انواع مختلف آنها در بازار موجود است كه بين 20 تا 200 هزار تومان هم قيمت دارند.
براي ديدن پورت يا درگاه LPT (موازي) ، به پشت كيس كامپيوتر خود نگاه كنيد.
اين درگاه، درگاه ارتباط موازي(Parallel) يا LPT نام دارد و يكي از رايجترين كاربردهاي آن براي ارتباط با پرينتر است. البته اكثر پرينترهاي امروزي از طريق درگاه USB با كامپيوتر ارتباط برقرار ميكنند.
درگاه LPT داراي 25 پايه است كه به شكل زير شماره گذاري ميشوند.
براي ساختن اين پروگرامر ساده، شما احتياج به نيم متر كابل فِلَت 5 رشته و يك عدد سوكت نَري LPT داريد. البته الزامي در استفاده از اين نوع كابل نيست و ميتوان از هر كابل 5 رشتهي ديگري براي اين منظور اسفاده كرد.
سوكت نَري LPT.
كابل فلت نيز در شكل زير نشان داده شده است.
شما بايد اين 5 رشته را به پايههاي شمارهي 6و7و9و10و24 از اين سوكت لحيم كنيد.
حالا ميتوانيد به وسيلهي اين 5 سيم ميكروكنترلر خود را پروگرام كنيد. كافيست اين سيمها را به ترتيب زير به پايههاي ميكروكنترلر وصل كنيد.
سيمي كه به پايهي شمارهي 6 سوكت متصل شده است، بايد به پايهي SCK در ميكروكنترلر شما وصل شود. در SCK, ATmega16 پايهي شمارهي 8 است.
پايهي شمارهي 7 سوكت، بايد به پايهي MOSI در ميكروكنترلر وصل شود. در MOSI ,ATmega16 پايهي شمارهي 6 است.
پايهي شمارهي 9 سوكت، بايد به پايهي Reset در ميكروكنترلر وصل شود. در ATmega16 Reset پايهي شمارهي 9 است.
پايهي شمارهي 10 سوكت، بايد به پايهي MISO در ميكروكنترلر وصل شود. درMISO,ATmega16 پايهي شمارهي 7 است.
و در نهايت، پايههاي شمارهي 18تا 25 نيز، بايد به GND يا همان زمين در ميكروكنترلر وصل شود. پايهي 11و 31 در ATmega16L ، - ياهمان GND است.بهتر است براي اتصال اين پايه به ميكروكنترلر، از يك مقاومت 1 كيلو اهم استفاده كنيد.
در ضمن دقت كنيد، كه اگر طول سيم بيش از نيم متر باشد، ممكن است در پروگرام كردن دچار مشكل شويد، به همين خاطر بهتر است تا جاي ممكن طول سيم را كوتاه انتخاب كنيد.
جلسهي آينده در مورد نحوهي انجام تنظيمات مربوط به پروگرامر را در CodeVision نيز توضيح خواهيم داد.
منتظر سولات و نظرات دوستان خوبم هستم
پيروز باشيد
دوست شما،فراز اميرغياثوند