در قسمت اول از این مجموعه آموزشی در رابطه با اینکه FPAA چیست و از مزایای این نوع تراشهها صحبت کردیم. و شما نیز با کلیت و کاربردهای FPAA آشنا شدید. در این قسمت با ساختار و نحوهی عملکرد FPAA آشنا خواهیم شد و در نهایت هم یکی از تراشههای موجود را به شما معرفی خواهیم کرد تا در قسمتهای پیشرو این نوع تراشه را پیکرهبندی کنیم.
FPAA چگونه کار میکند؟
اصول و مبنای عملکرد FPAA بر اساس یک سری روابط مداری که اتفاقا خیلی هم ساده هستند استوار است. ما هم سعی میکنیم این اصول را خیلی ساده بیان کنیم تا شما به خوبی با نحوهی عملکرد FPAA آشنا شوید. در یک جمله بگوییم که نحوهی عملکرد FPAA بر اساس سوئیچ خازنی است. حال اینکه سوئیچ خازنی چیست و چگونه کار میکند را برای شما تشریح خواهیم کرد.
تکنیک سوئیچ خازنی
همانطور که میدانید تمامی المانهای الکترونیکی سه خاصیت، مقاومتی، سلفی و خازنی دارند. حتی خود مقاومت، سلف و خازن به تنهایی نیز این سه خواص را درون خود دارند. هر یک از این سه المان اگرچه در حالت ایدهآل فقط یکی از سه خواص ذکر شده را دارند اما در حالت واقعی دارای هر سه خاصیت هستند. و حتی با اعمال شرایطی، به عنوان المان دیگری غیر از آن چیزی که ما میشناسیم و از آن انتظار داریم عمل کند. مثلا خازن میتواند تحت شرایطی به عنوان مقاومت عمل کند. در FPAA نیز از همین خاصیت استفاده شده است که با این تکنیک در ادامه آشنا میشویم. در FPAA خازنها با مداراتی خاص سوئیچ میشوند و با استفاده از همین سوئیچ و یک سری پارامتر دیگر، خازن میتواند به عنوان مقاومت عمل کند. همچنین با توجه به پارامترهای موجود میتوان مقدار این مقاومت را تعیین کرد و از آن به عنوان بهره یا هر چیز دیگری استفاده کرد. در شکل روابطی ساده برای مقاومت را مشاهده میکنید:
در شکل زیر هم مقدار جریان متوسط که از یک خازن عبور میکند را مشاهده میکنید:
در ادامه روابطی که در شکل اول و شکل دوم هست را باهم ترکیب میکنیم و یک نتیجه را برای شما بیان خواهیم کرد.
همانطور که در شکل بالا میبینید مقدار مقاومت معادل سوئیچ خازنی به ظرفیت خازن و دوره تناوب و یا فرکانس بستگی دارد و ما با تغییر ظرفیت خازن و فرکانس میتوانیم مقدار مقاومت معادل را تغییر بدهیم. و همچنین نسبت دو مقاومت معادل تنها به ظرفیت خازنها وابسته است و مستقل از فرکانس کلاک میباشد. مثلا اگر در مداری دو مسیر فیدبک داشته باشید و فقط نسبت مقاومتهای مسیر فیدبک برای شما مهم باشد، میتوانید فقط با تغییر مقدار خازنها این نسبت را تعیین کنید.
چرا سوئیچ خازنی؟
- مدار RC تنها شامل C میباشد
- مقدار فضای اشغال شده وقتی R بزرگ باشد بسیار کمتر است نسبت به اینکه بخواهیم از RC استفاده کنیم
- مقدار مقاومت بهتری از لحاظ تلورانس، تطابقپذیری، خطی بودن و وسیع بودن بازه خواهیم داشت
- قابلیت تغییر فاز
- وابسته بودن فرکانس مدار RC
در دو تصویر بالا نمونهای از این کاربردها را به وضوح مشاهده میکنید.
چرا FPAA؟
شاید بهتر بود که میگفتیم چرا آنالوگ! خب همانطور که میدانید اگر طراحی به صورت آنالوگ انجام بپذیرد، دیگر نیازی به مبدلهای آنالوگ به دیجیتال و دیجیتال به آنالوگ نیست و این خود کمترین بهرهای است که با این نوع طراحی عاید ما خواهد شد. اگرچه مزایای دیگری نیز در این نوع طراحی نهفته است. شکل زیر یک آپ اَمپ و تعدادی خازن را نشان میدهد که این خازنها قابلیت سوئیچ شدن را دارند.
در کل FPAAها میتوانند با استفاده از خازنهای سوئیچی، ترانزیستورها و مقاومتها ساخته شوند. با استفاده از همین خازنها و ادوات جانبی دیگر میتوان به مفاهیمی مانند بیت و سایر مفاهیم مشابه که برای ما در دنیای دیجیتال آشنا هستند دسترسی داشت. شاید برایتان این سوال پیش آمده باشد که بعضی از مفاهیمی که در بالا بیان شد، پارامترهایی از دنیای دیجیتال هستند، پس چرا میگوییم آنالوگ؟ در جواب باید گفت که این نوع تراشهها با استفاده از تکنیکهایی که در اسناد شرکت سازنده آورده شده است مثلا با استفاده از خازنها در فرکانسهای مختلف و سوئیچ کردن آنها مفاهیمی که با دنیای دیجیتال برای ما شناخته شده هستند را پیادهسازی میکنند. در واقع این مفاهیم هستند که با دنیای دیجیتال یکی هستند وگرنه نوع پیادهسازی کاملا متفاوت است. اگر بخواهیم نحوهی عملکرد FPAA و طرز کار آن را به صورت مفهومی و اینکه چه ارتباطی با دنیای دیجیتال دارد را به صورت خلاصه بیان کنیم میگوییم که FPAA ادوات آنالوگ برنامهپذیر را به ما ارائه میدهد و قابلیت برنامهپذیر بودن آنها نیز با استفاده از ادوات دیجیتال میسر میشود. FPAA برای نگهداری اطلاعات پیکرهبندی خود از یک SRAM داخلی استفاده میکند و تمامی اطلاعاتی که نیاز دارد تا یک مدار آنالوگ را پیادهسازی کند، را از دادههای درون SRAM میخواند. در ادامه با یکی از تراشههای FPAA آشنا خواهیم شد و منابع داخلی آن را برررسی میکنیم.
AN221E04
این تراشه یکی از FPAAهای شرکت anadigm میباشد که ما نیز قصد داریم در قسمتهای بعدی مثالهایمان را با استفاده از برد توسعهای که با استفاده از همین تراشه ساخته شده است پیش ببریم. بهتر است قبل از توضیحات در رابطه با منابع درونی، ابتدا شماتیکی از درون این تراشه را باهم ببینیم.
در شماتیک بالا چیزی که قبل از همه توجه ما را به خود جلب میکند بلوکهای CAB هستند. CAB مخفف عبارت Configurable Analog Blocks به معنای بلوکهای آنالوگ قابل پیکرهبندی میباشد. و طبق دیتاشیت، این بلوکها به صورت کاملا آنالوگ و مستقل از دیجیتال پیکرهبندی میشوند. اما جالب است بدانید دیتایی که قرار است این بلوکها را پیکرهبندی کند در یک SRAM ذخیره میشوند. میتوان گفت که شاکلهی اصلی FPAAها همین بلوکهای CAB میباشند و با استفاده از همین بلوکها میتوان انواع فیلترها، تقویتکنندهها، PIDها و بسیاری از توابع دیگر را پیادهسازی کرد. همانطور که مشاهده میکنید در تراشه AN221E04 بلوکهای CAB یک ماتریس 2*2 را تشکیل میدهند و بسته به اینکه قرار باشد چه عملکردی پیادهسازی شود به تعداد متفاوتی از این CABها استفاده میشود. جالب است بدانید که در FPAAها ما قادر خواهیم بود یک ADC را به صورت اختصاصی جاسازی یا پیادهسازی کنیم. اما مشکلی که وجود دارد این است که هر ADCای را نمیتوانیم پیادهسازی کنیم و انعطاف کاربر در اینجا محدود است. مثلا در نوع AN221E04 تنها میتوان یک ADC هشت بیتی را پیادهسازی کرد. همانطور که گفتیم در نوع AN121E04 تنها میتوان یک ADC هشت بیتی را پیادهسازی کرد. و اگر از این ADC استفاده نکنیم منابع مصرفی آن را میتوانیم برای کارها و عملکردهای دیگری استفاده کنیم. پس نتیجه میگیریم که یک سری منابع خام در درون FPAA وجود دارد که ما میتوانیم آنها را برای عملکردهای مختلف اختصاصی کنیم و از آنها استفاده کنیم. در شماتیک قسمتهای دیگری را نیز مشاهده میکنید که به طور مختصر به آنها اشاره میکنیم. پینهایی برای تغذیه وجود دارد که با ولتاژ 5 ولت درایو میشوند. البته در FPAAهای جدیدتر شرکت anadigm این ولتاژ به 3.3 ولت تقلیل یافته است و خود anadigm نیز توصیه میکند به دلیل اینکه عمر تراشههای با ولتاژ 5 ولت رو به پایان است و دیگر از رده تولید خارج شدند بهتر است که در طراحیهای خودمان از نوع 3.3 ولت استفاده کنیم. پینهایی مخصوص پروگرام کردن وجود دارد که این پینها فایل پیکرهبندی را از یک میکروکنترلر یا یک حافظه EEPROM خارجی دریافت میکنند و بر روی SRAM داخلی خود ذخیره میکنند و با استفاده از این فابل مدار موردنظر ساخته میشود. در قسمت بعدی مفصلا در مورد نحوه پروگرام و اینکه از چه پروتکلی برای این کار استفاده میشود مفصلا صحبت میکنیم. در شماتیک پینهای ورودی-خروجی با نوع دیفرانسیلی را مشاهده میکنید که چهار تا از این پینهای دیفرانسیلی میتوانند با استفاده از یک مالتیپلکسر انتخاب شوند. با توجه به خط فرمان مالتیپلکسر در هر لحظه فقط یک زوج دیفرانسیلی میتواند انتخاب شود و به مدار منتقل شود. ولتاژهای رفرنس و منابع کلاک از دیگر منابع درونی FPAA میباشند. خب در این قسمت باهم نحوهی عملکرد و منابع درونی FPAA را شناختیم. در قسمت سوم با یک برد توسعه و همچنین نرمافزاری که برای پیکرهبندی FPAA آشنا خواهیم شد.
منبع :سیسوگ