اینبار در سری مقالههای آموزش الکترونیک در آیسکت میخواهیم به بررسی تفاوت چیپهای FTDI و AVR Programmerها بپردازیم.
FTDI که مخفف Future Technology Devices International است، نام شرکتی اسکاتلندی است که تخصص آن در تولید چیپهای مبدل پورت سریال یا TTL به USB است. همانطور که میدونید سالهاست که پورتهای سریال از روی کامپیوترها حذف شدهاند و جای خود را به پورتهای USB دادهاند، در صورتی که ارتباط سریال یکی از شیوههای اصلی ارتباط با میکروکنترلرهاست. بوسیله جادوی چیپهای FTDI ما قادرخواهیم بود پورت USB کامپیوتر خود را به پورت سریال تبدیل کنیم و بوسیله این پورت با میکروکنترلر خود ارتباط برقرار کنیم.
اما تفاوت آن با سختافزارهایی که آنها را با نام AVR Programmer میشناسیم چیست؟
برای پروگرام کردن یک میکروکنترلر AVR ما دو روش داریم. روش اول Re-Program کردن کل چیپ با استفاده از AVR Programmer و روش دوم استفاده از برنامه از قبل قرار داده شدهای به نام بوتلودر بر روی میکرو است که به AVR اجازه میدهد خودش را باز برنامهنویسی (Re-Program) کند.
استفاده از یک AVR Programmer به شما قدرت بیشتری میدهد، چراکه میتوانید همه چیز را تغییر دهید و تمام حافظه موجود (مثلاً ۳۲ کیلوبایت) را استفاده کنید. اما استفاده از روش Bootloader امنتر است، چرا که نمیتوانید با دستکاری fuseهای میکروکنترلر، آنرا بسوزانید و کاملاً بلااستفاده کنید. گرچه از سوی دیگر ۲ کیلوبایت از فضای موجود به بوتلودر شما اختصاص داده خواهد شد و ۳۰ کیلوبایت فضا برای برنامه شما باقی خواهد ماند. کم شدن این ۲ کیلوبایت در اکثر موارد کاملاً بی اهمیت است، اما ممکن است در پروژههای بزرگ به آن نیاز داشته باشید.
شکل ۱: تصویری از یک AVR Programmer
برای پروگرام کردن یک AVR به شیوه بوتلودر نیاز به یک کامپیوتر و یک پورت سریال داریم. اینجاست که چیپ FTDI به یاری ما میآید و پورت سریالی که اکنون بر روی کامپیوترها جای خود را به USB داده است را در اختیار ما میگذارد. اگر شما مبتدی هستید یا خوره میکروکنترلر نیستید، پیشنهاد ما استفاده از شیوه FTDI (بوتلودر) برای پروگرام کردن AVR است. این روش سریعتر بوده و امکان دیباگ کردن را نیز به شما میدهد، ضمن اینکه به دلیل عدم امکان دستکاری فیوزها امن بوده و میشه گفت تقریباً امکان نداره به این روش به میکروکنترلر خود آسیبی بزنید.
شکل ۲: تصویری از یک کابل FTDI
نتیجهگیری
AVR Programmerها بسیار پرقدرتتر بوده و بوسیله آن میتوانید هر AVRی را پروگرام کنید، حتی AVRهایی که Blank هستند و مستقیم از کارخانه بیرون آمدهاند. اما این موضوع همچنین به این معنی است که در صورت تجربه نداشتن و بی دقتی میتوانید به AVR خود صدمه بزنید.
آداپتورهای FTDI میتوانند از طریق پورت سریال اطلاعات را ارسال و دریافت کنند و AVR را بواسطه بوتلودر موجود بر روی آنها آپدیت کنند، اما لازم است که قبلاً بر روی AVR شما بوتلودر قرار داشته باشد.
آقا خدا خیرتون بده. همین فکر اشتباه رو داشتم