در قسمت دوم از از این مجموعه آموزشی در رابطه با ساختار و چگونگی عملکرد FPAA صحبت کردیم و تکنیک سوئیچ خازنی که اصول عملکرد FPAA را شکل میدهد را برای شما تشریح کردیم. در نهایت هم یکی از تراشههای شرکت anadigm را معرفی کردیم و بخشی از منابع درونی آن را برای شما توضیح دادیم. در این قسمت قصد داریم یک مدار بسیار ساده را با استفاده از نرمافزار AnadigmDesigner2 پیادهسازی کنیم.
در این قسمت ابتدا با یک برد توسعه آشنا میشویم و سپس نحوهی راهاندازی و استفاده از این برد را توضیح میدهیم و در نهایت هم با استفاده نرمافزار مخصوصی که برای پیکرهبندی تراشههای FPAA در نظر گرفته شده است یک مثال را به صورت عملی بر روی برد تست خواهیم کرد.
برد توسعه AN221K04-v3
این برد، یک برد توسعه است و به نحوی طراحی و ساخته شده است تا شما بتوانید به راحتی طرحهای آنالوگ خود را بر روی این برد پیادهسازی کنید.
در زیر تصویر واقعی و یک شمای کلی از این برد توسعه را مشاهده میکنید:
در ادامه امکانات، و نحوهی راهاندازی این برد را بررسی خواهیم کرد.
در قسمت تغذیه شما میتوانید هم با استفاده از آداپتور و هم با استفاده از سیمهای مثبت و منفی یک منبع تغذیه متغیر، ولتاژ لازم برای این برد را تامین کنید. محدوده ولتاژ مجاز برای تغذیهی این برد بین 5.5+ ولت تا 20+ ولت میباشد. توصیه میشود که تغذیه برد را از آداپتورهای با ولتاژ 6، 9 و یا 12 ولت تامین کنید. به هیچ عنوان تغذیهای بیشتر از 20+ ولت به این برد وصل نکنید. همچنین برد در برابر اشتباه وصل کردن پلاریتهی تغذیه محافظت شده است.
اگر تغذیه را به درستی و به نحو صحیح متصل کرده باشید، LED سبز رنگ قسمت تغذیه روشن خواهد شد.
قبل از اینکه FPAA را پیکرهبندی کنید و هنگام وصل کردن تغذیه، برد باید 25mA جریان بکشد. اما جریانی که پس از پیکرهبندی کشیده میشود، بستگی به این دارد که چه چیزی روی FPAA پروگرام شده باشد.
در سرتاسر برد پینهدرهایی را مشاهد میکنید. شما با استفاده از این پینهدرها میتوانید به پایههای مختلف برد، از جمله I\Oهای آنالوگ، ولتاژهای رفرنس، تغذیههای آنالوگ و دیجیتال و … دسترسی داشته باشید.
پینهای ولتاژ رفرنس
ولتاژهای 2+، 3.5+ و 0.5+ ولت به عنوان ولتاژ رفرنس در نظر گرفته شدهاند. سه عدد سوراخ (via) در کنار FPAA وجود دارد که هر کدام از این سوراخها یکی از ولتاژهای رفرنس را در اختیار ما قرار میدهد. توجه داشته باشید که این ولتاژهای رفرنس برای تامین جریان طراحی نشدهاند. به علاوه ولتاژ رفرنس 2+ ولت با دو ردیف پین هدر در مجاورت ورودی-خروجیهای آنالوگ قرار دارد (عکس شماره 1 در کنار تراشه FPAA پین هدری با اسم VMR)
همچنین پینهدرهایی برای اینکه چندین برد را به هم متصل کنیم وجود دارد. برد توسعه FPAA به نحوی ساخته شده است که میتوانیم آنها را با استفاده از جامپرها به همدیگر متصل کنیم. در این صورت هر FPAA کار خاص خود را انجام میدهد و همگی آنها با هم تشکیل یک سیستم میدهند. در نرمافزار نیز میتوان چندین FPAA را کنار هم قرار داد و آنها را به هم متصل کرد.
آرایشهای مختلفی برای وصل کردن بردها به همدیگر وجود دارد، یک نمونه از این آرایش را در زیر مشاهده میکنید:
سناریو پروگرام
روی برد یک کانکتور DB9 برای پورت سریال وجود دارد که شما میتوانید با استفاده از یک کابل استاندارد RS232 پورت سریال را به کامپیوتر وصل کنید و FPAA را پیکرهبندی کنید. وقتی خواستیم برد را پروگرام کنیم در این رابطه بیشتر توضیح میدهیم.
این برد از دو طریق میتواند پروگرام شود. همانطور که قبلا گفتیم در درون FPAA یک SRAM وجود دارد که اطلاعات پیکرهبندی درون این حافظه ذخیره میشود. اما همانطور که میدانید حافظه SRAM تا زمانی که تغذیه وصل باشد دادهها را درون خود نگه میدارد و وقتی تغذیه قطع شود این دادهها هم از بین خواهند رفت. پس اگر تغذیه بردمان وصل باشد و همان موقع برد را پروگرام کنیم مشکلی نداریم و همه چیز به درستی صورت میپذیرد. اما اگر تغذیه برد قطع شود، دادههای ذخیره شده در SRAM از بین خواهند رفت و هیچ دادهای برای پیکرهبندی FPAA وجود نخواهد داشت.
اما راهحل چیست؟ راهحل استفاده از یک حافظه دائمی میباشد که با قطع تغذیه اطلاعات پیکرهبندی از بین نرود. از آنجایی که درون خود FPAA هیچ حافظهی دائمی وجود ندارد، باید از یک حافظه دائمی خارجی استفاده کنیم. به همین منظور بر روی برد توسعهای که به شما معرفی کردیم این حافظههای خارجی در نظر گرفته شدهاند. و دادههای پیکرهبندی در این حافظهها قرار میگیرند و در نهایت این دادهها توسط FPAA خوانده میشوند و پیکرهبندی انجام میشود.
همانطور که اشاره کردیم، از دو طریق میتوانیم FPAAای که بر روی این برد قرار دارد را پروگرام و پیکرهبندی کنیم. برای این دو راه، یک میکروکنترلر PIC و یک حافظهی EPROM بر روی برد قرار دارد که ما میتوانیم اطلاعات پیکرهبندی را بر روی میکروکنترلر یا EPROM ذخیره کنیم تا FPAA پس از هر بار روشن شدن در ابتدا دادههای پیکرهبندی را از حافظههای دائمی خارجی بخواند و پیکرهبندی خود را انجام بدهد.
بر روی برد جامپرهای زیادی وجود دارد که با تغییر و جابهجایی آنها میتوانیم مدهای مختلفی را تعیین کنیم. به وسیله جابهجایی جامپرها میتوانیم تعیین کنیم که برد از طریق میکروکنترلر PIC پروگرام شود یا از طریق EPROM. به صورت پیش فرض جامپرها در حالتی قرار دارند که برد از طریق میکروکنترلر پروگرام شود. ما نیز جامپرها را تغییر نمیدهیم تا برد از طریق میکروکنترلر پروگرام شود.
در تصویر زیر عملکرد جامپرها و همچنین توضیحاتی دیگر از این برد توسعه را مشاهده میکنید:
نرمافزار AnadigmDesigner2
نرمافزار AnadigmDesigner2 محصول شرکت anadigm و برای برنامهریزی تراشههای FPAA توسعه داده شده است. کار با این نرمافزار بسیار راحت بوده و شما میتوانید با استفاده از بلوکهای آنالوگ و بدون درگیر شدن با کد یک مدار آنالوگ را درون FPAA پیادهسازی کنید.
این نرمافزار همچنین این توانایی را دارد که کد زبان C را به عنوان خروجی برای ما تولید کند.
در تصویر زیر قسمتهای مختلف، برای کار با نرمافزار تشریح شده است.
CAM (Configurable Analog Module)
CAM یا ماژولهای آنالوگ قابل برنامهریزی زیادی وجود دارند که شما میتوانید با استفاده از کشیدن و رها کردن آنها را به طراحی خود اضافه کنید. از جمله این ماژولها، میتوان به جمعکننده، انتگرالگیر، ضربکننده، تقسیمکننده، مقایسهکننده، جذرگیر، نمونهگیر، فیلتر و بسیاری از ماژولهای دیگر اشاره کرد.
نحوهی کار به این صورت است که ابتدا چیپ موردنظر را انتخاب میکنیم (در اینجا AN221E04)، سپس بلوکها یا همان ماژولهای آنالوگ را اضافه و در نهایت متناسب با آن چیزی که نیاز داریم بین بلوکها و چیپ سیمکشی را انجام میدهیم.
برای دسترسی به ماژولهای آنالوگ (CAM) هم باید ابتدا بر روی صفحه خالی راست کلیک کنید تا با تصویر زیر مواجه شوید:
سپس با کلیک بر روی گزینهی Insert New CAM وارد پنجره زیر میشویم:
طبق تصویر بالا میتوانیم ماژول آنالوگ مورد نیاز را انتخاب کنبم و آن را به پروژه اضافه کنیم.
در ادامه ما با یک مثال ساده با چگونگی پیادهسازی، پروگرام و شبیهسازی بیشتر آشنا خواهیم شد.
این مثال یکی از مثالهای خود نرمافزار میباشد که شما میتوانید از طریق مسیری مانند مسیر زیر (این مسیر ممکن است در کامپیوتر شما کمی متفاوت باشد) به آن دسترسی داشته باشید:
C:\Program Files (x86)\Anadigm\AnadigmDesigner2\Circuits\ANx21 Examples
برای اینکه یک مثال را از مسیر بالا انتخاب کنیم، ابتدا در نرمافزار از منوی File گزینهی Open را انتخاب میکنیم و سپس مانند تصویر زیر عمل میکنیم:
ما میخواهیم یک ولتاژ سینوسی به FPAA بدهیم و در خروجی یک ولتاژ سینوسی با اختلاف فاز 180 درجه و همچنین بهرهی 2 برابر ورودی دریافت کنیم (عملکردی شبیه به تقویتکننده امیتر مشترک یا تقویتکننده معکوسکننده آپ-امپی). برای این کار لازم است که یک طبقه با بهره (گین) 2- به طراحی اضافه کنیم. اسم این ماژول GainInv است. این ماژول را به طراحی اضافه میکنیم و یک سر آن را به ورودی و سر دیگر را به خروجی وصل میکنیم.
دو عدد پراب اسکوپ هم به طراحی اضافه میکنیم تا بتوانیم مدار را شبیهسازی کنیم.
پس از اینکه مراحل بالا را انجام دادیم و شبیهسازی را انجام دادیم به نتایج زیر دست خواهیم یافت:
حال نوبت به آن رسیده است که مدار طراحی شده را بر روی برد پروگرام کنیم.
شما پس از اینکه دکمه “پروگرام برد” را زدید، ممکن است با خطای زیر مواجه شوید:
این خطا به این معناست که اتصال کابل از کامپیوتر به برد به درستی صورت نگرفته است و پورت سریال شناسایی نمیشود.
برای رفع این خطا باید از منوی Settings گزینهی Preferences را انتخاب کنید و سپس قسمت Port را انتخاب کنید:
همانطور که از تصویر بالا مشخص است، پورتی انتخاب نشده است و پیام میدهد که پورت وجود ندارد. برای رفع این مشکل باید همانند تصویر زیر پورت را انتخاب کنیم:
پس از اینکه دکمه پروگرام را زدیم، اگر پروگرام به درستی انجام گرفته باشد، همانند تصویر زیر LED سبز رنگ کنار میکروکنترلر روشن خواهد شد در غیر این صورت LED قرمز رنگ روشن خواهد شد.
امیدوارم که این مقاله نیز برای شما مفید واقع شود و بتوانید با استفاده از توضیحاتی که دادیم مثالهای بیشتری را در نرمافزار تست کنید. در قسمت بعدی این مجموعه آموزشی با امکانات بیشتری از این نرمافزار و همچنین تراشههای FPAA آشنا خواهیم شد و به بحث جذاب فیلترها و نحوهی طراحی و پیادهسازی آنها خواهیم پرداخت و نتایج را به صورت کاملا عملی بر روی برد تست خواهیم کرد و بر روی اسکوپ نمایش خواهیم داد.
همچنین شما میتوانید نرمافزار AnadigmDesigner2 را از طریق لینک زیر دانلود کنید:
لینکهای دانلود
دانلود رایگان نرم افزار AnadigmDesigner2 – حجم 13.24 مگابایت
اسم فایلSetupV2.6.0.8.exE
منبع :سیسوگ