فهرست مطالب:

سیستم توسعه منطق قابل برنامه ریزی (CPLD): 13 مرحله
سیستم توسعه منطق قابل برنامه ریزی (CPLD): 13 مرحله

تصویری: سیستم توسعه منطق قابل برنامه ریزی (CPLD): 13 مرحله

تصویری: سیستم توسعه منطق قابل برنامه ریزی (CPLD): 13 مرحله
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, نوامبر
Anonim
سیستم توسعه منطق قابل برنامه ریزی (CPLD)
سیستم توسعه منطق قابل برنامه ریزی (CPLD)

در چند ماه گذشته از سیستم توسعه گتو برای پردازنده های AVR لذت بردم. در واقع ، این ابزار تقریباً صفر دلاری آنقدر جذاب و مفید بوده است که باعث شد من تعجب کنم که آیا امکان توسعه این مفهوم به توسعه FPGA/CPLD نیز وجود دارد یا خیر. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) بنابراین من کمی در وب جستجو کردم و یک سیستم توسعه برای CPLD های Atmel ارائه دادم. مقایسه با دستگاه های Altera نشان می دهد که pinout آنها یکسان است (در محدودیت هایی که در زیر توضیح می دهم) ، بنابراین آنها نیز کار خواهند کرد. با ساخت برد توسعه و کابل رابطی که ارائه می دهم ، سپس بارگیری ابزارها ، می توانید برنامه های کاربردی CPLD خود را توسعه دهید. لطفاً به محدودیت ها و محدودیت های زیر توجه کنید. من سعی کردم بین قابلیت و سادگی توازن ایجاد کنم تا بتوانید چیزی بسازید که از آن لذت ببرید و فقط از دستگاه های 5V یاد بگیرید. گسترش سیستم برای پوشش ولتاژهای اضافی (3.3V ، 2.5V ، 1.8V توسط دستگاه های Atmel در یک خانواده پشتیبانی می شود) کار دشواری نیست ، اما هم برد توسعه و هم کابل برنامه نویسی را پیچیده می کند. فعلا بگذریم. توجه داشته باشید که باید منبع تغذیه 5 ولت را به برد ارائه دهید. فقط PLCC 44 پین. به طور خاص ، من Atmel ATF1504AS را برنامه ریزی کرده ام. مفهوم GTHTO CPLD را می توان به راحتی به سایر دستگاه های Atmel گسترش داد ، اما این دستگاه سازگاری خوبی بین قیمت ، سهولت استفاده و قابلیت به نظر می رسید. این مفهوم همچنین باید به دستگاه های دیگر مانند دستگاه های Altera ، Xilinx ، Actel و غیره گسترش یابد. در حقیقت ، خانواده Max7000 EPM7032 و EPM7064 تا زمانی که از نسخه های PLCC 44 پین استفاده می کنید در یک سوکت کار خواهند کرد. تا کنون من فقط از کابل برنامه نویسی Atmel استفاده کردم ، اما Altera Byte-Blaster توسط نرم افزار Atmel پشتیبانی می شود و همچنین باید خوب کار کند. در واقع طراحی آن کمی ساده تر از کابل Atmel است. (من نسخه Atmel را ساختم و کار می کند ، بنابراین نسخه Altera را امتحان نکرده ام.) SparkFun نسخه 15 دلاری کابل Altera را ارائه می دهد. از آنجا که این مورد برای Atmel و Altera کار می کند ، من آن را توصیه می کنم. اگر قصد دارید با قطعات Altera توسعه دهید ، می خواهید نرم افزار Altera را نیز دریافت کنید. من در واقع این را امتحان نکرده ام ، اما هیچ دلیلی وجود ندارد که بتوانم فکر کنم که کار نمی کند. سرعت محدود است. از آنجا که سیستم توسعه گتو CPLD با سیم کشی دستی و بدون سطح زمین ساخته شده است ، انتظار عملکرد مطمئن با سرعت بیش از چند مگاهرتز را نداشته باشید. حتی تضمین نمی شود که مسافت پیموده شده شما متفاوت باشد! البته ، اگر نمونه اولیه سخت افزاری بسازید که دارای سطح زمین باشد ، CPLD شما ممکن است در سرعت های بالاتر به خوبی کار کند. فقط انتظار نداشته باشید که به سرعت در سیستم توسعه گتو نصب شود.

مرحله 1: به قطعات سفارش دهید

برو قطعات سفارش دهید
برو قطعات سفارش دهید

شما به یک سوکت plcc 44 پین ، برخی از درپوشهای جداکننده ، برخی از CPLD های برنامه ریزی نشده ، سوکتهایی برای اتصالات ورقه ورقه ، یک مقاومت کششی و شاید مقداری ورق ورق برای ساخت آن نیاز دارید. اگر هر کدام از این موارد را در جعبه آشغال خود دارید ، می توانید چند دلار پس انداز کنید. برای راحتی شما ، اینجا شماره های Digikey را ذکر کنید: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND تعداد: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND تعداد: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND تعداد: 1 ، C1CAP CER.10UF 50V 20٪ DISC RAD PN: 478 -4275-1-ND تعداد: 4 ، C2-C5RES METAL FILM 5.10K OHM 1/4W 1٪ PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND چند قسمت ممکن است حداقل مقدار داشته باشد ، اما هنوز هم باید بسیار ارزان باشد. اگر می خواهید چند عدد چشمک زن بسازید (مرحله 8) یا مجموعه ای از سوئیچ ها (مرحله 9) ممکن است بخواهید سفارش دهید اینها نیز به خاطر داشته باشید که Digikey حداقل 25 دلار برای جلوگیری از هزینه جابجایی دارد ، بنابراین ممکن است بخواهید چند سرگرمی اضافی برنامه ریزی نشده یا یک پردازنده AVR یا دو سرگرمی دریافت کنید. توصیه می کنم کابل برنامه نویسی Altera را از SparkFun خریداری کنید. در اینجا شماره قطعات آمده است. کابل و کانکتور را نیز دریافت کنید. (در غیر این صورت ، اگر در حال ساختن خود هستید قطعات کابل را از Digikey سفارش دهید.) برنامه نویس سازگار با Altera FPGA PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

مرحله 2: نرم افزار را دریافت و نصب کنید

دریافت و نصب نرم افزار
دریافت و نصب نرم افزار

من در حال حاضر از زنجیره ابزار Atmel Prochip Designer 5.0 استفاده می کنم. این ابزار نیاز به ثبت نام در Atmel و پر کردن فرم درخواست رسمی آنها دارد. من به آنها گفتم که من یک مهندس طراحی هستم ، در حال حاضر بیکار هستم و هدف اصلی من یادگیری دستگاه ها و VHDL آنها بود (همه درست است ، BTW). آنها درخواست مجوز را تأیید کردند. تنها نکته این است که مجوز فقط برای 6 ماه خوب است. امیدوارم تا زمان انقضاء یک زنجیره ابزار دامنه عمومی پیدا کنم. Altera همچنین دارای یک زنجیره ابزار است که ممکن است بررسی کنم. هر پیشنهادی مورد قدردانی قرار خواهد گرفت. در آخرین مرحله نظرات و پیوندها را ببینید. Atmel Prochip Designer 5.0 اینجا است. اگر آن را دریافت کردید ، حتماً Service Pack 1 را نیز برای آن تهیه کنید.

مرحله 3: کابل برنامه نویسی بسازید

کابل برنامه نویسی بسازید
کابل برنامه نویسی بسازید

ساده ترین رویکرد در اینجا خرید Altera Byte-Blaster به طور یکسان از Sparkfun است (مرحله 1 را ببینید). اگر 15 دلار بیشتر از هزینه ای است که می خواهید هزینه کنید ، می توانید از شماتیک SparkFun Altera Cable استفاده کنید یا از شماتیک کابل Atmel استفاده کنید و یکی را ایجاد کنید. (اگر علاقه زیادی به خراشیدن کابل وجود دارد ، می توانم پیشنهادهایی ارائه دهم ، اما کیت Sparkfun به نظر من پاسخ درستی است.)

مرحله 4: برنامه نویس Cradle را بسازید

گهواره برنامه نویس بسازید
گهواره برنامه نویس بسازید
گهواره برنامه نویس بسازید
گهواره برنامه نویس بسازید
گهواره برنامه نویس بسازید
گهواره برنامه نویس بسازید

به برنامه نویس Atmel نگاهی بیندازید. این برنامه بسیار انعطاف پذیر است و اگر شما پول زیادی دارید و قصد دارید توسعه CPLD زیادی انجام دهید ، گزینه بسیار خوبی است. من معتقدم که Altera چیزی مشابه ارائه می دهد. اما من با رویکرد ارزان تری رفتم - این همه چیز است! تصاویر نمای جلو و عقب گهواره ای را که من ساخته ام نشان می دهد. به سوکت های DIP که به عنوان اتصالات ورق استفاده می شوند توجه کنید. همه پین ها در یک طرف هر اتصال دهنده به زمین متصل می شوند. پین های طرف دیگر به پین های سیگنال در CPLD متصل می شوند. من چند اتصال برق را نیز شامل می شود. اینها را در محل مناسب قرار دهید نمودارها نوعی طرحواره های تصویری هستند. فقط اتصالات برق اضافی نشان داده نمی شود. برای مشاهده ایده ها در این زمینه به تصاویر نگاه کنید.

مرحله 5: ساختن گهواره - قسمت 1

ساختن گهواره - قسمت 1
ساختن گهواره - قسمت 1
ساختن گهواره - قسمت 1
ساختن گهواره - قسمت 1

ساخت گهواره را با قرار دادن سوکت ها در مکان هایی که می خواهید شروع کنید. یک یا دو ردیف خالی بگذارید تا جایی برای کلاهک های جدا شود. این همچنین اتصال به پین های سیگنال CPLD را آسان تر می کند. بسته به نوع پرففوردی که استفاده می کنید ، سوکت ها را با کمی لحیم کاری یا اپوکسی متصل کنید. برای اتصال JTAG و کانکتور برق ، مقداری اتاق اضافی در بالا (بالای پین 1 سوکت CPLD) بگذارید. به تصاویری که من ساخته ام مراجعه کنید. یک سیم برهنه (20 سنج یا بیشتر) در خارج از پریزها برای یک اتوبوس زمینی مسیریابی کنید. مسیر برق را نیز مسیریابی کنید. (سیم قرمز در تصاویر.) برای راهنمایی به تصاویر مراجعه کنید ، اما تخته شما احتمالاً کمی متفاوت خواهد بود - و این خوب است. پین های خارجی سوکت ها را به اتوبوس زمینی بچسبانید. این به لنگر زدن سیم اتوبوس کمک می کند.

مرحله 6: ساختن گهواره - قسمت 2

ساختن گهواره - قسمت دوم
ساختن گهواره - قسمت دوم
ساختن گهواره - قسمت دوم
ساختن گهواره - قسمت دوم

درپوش های جدا کننده را نصب کرده و آنها را به پین های زمین و پریز برق در هر طرف سوکت CPLD وصل کنید. من پیشنهاد می کنم سیم ها را به بالا و روی ردیف های بیرونی پین ها هدایت کنید تا به ردیف های داخلی برسید. برای دریافت پین های صحیح به نمودارهای شماره پین مراجعه کنید. فضای کافی را بگذارید تا اتصال به هر پینی که سیم ها را از آنها عبور می دهید ، امکان پذیر باشد. پس از اتمام اتصالات درپوش ، گذرگاه برق و زمین را وصل کنید. همه پین های قرمز روی نمودارها Vcc هستند و باید به هم متصل شوند. پین های سیاه رنگ شده و باید به هم وصل شوند. باز هم ، هدایت آن در هوا یک روش خوب است. برای ایده گرفتن به تصاویر نگاه کنید.

مرحله 7: ساختن گهواره - نتیجه گیری

ساختن گهواره - نتیجه گیری
ساختن گهواره - نتیجه گیری
ساختن گهواره - نتیجه گیری
ساختن گهواره - نتیجه گیری
ساختن گهواره - نتیجه گیری
ساختن گهواره - نتیجه گیری

مسیرهای JTAG را به پین های مناسب هدایت کنید. به کابل برنامه نویسی خود نگاه کنید تا مطمئن شوید که کانکتور به درستی جهت گیری شده است. کشش روی پین TDO را فراموش نکنید. این فقط در تصویر نشان داده شده است و بین پین TDO و Vcc قرار می گیرد. آخرین مرحله اتصال هر پین ورودی/خروجی CPLD به یک پین روی سوکت ها است. از اعداد موجود در نمودارها برای اتصالات استفاده کنید. این طولانی ترین زمان را می گیرد! اگر از طرح شماره گذاری من پیروی می کنید ، می توانید از نمودار نمای بالا به عنوان راهنمای هنگام اتصال مدارهای خود استفاده کنید. واقعاً لازم نیست همه این موارد را به هم وصل کنید ، در ابتدا می توانید منتظر بمانید تا برای مدارهایی که طراحی می کنید به آنها نیاز داشته باشید. کار خود را با دقت بررسی کنید. مطمئن باشید که برق و زمین کوتاه نمی شوند!

مرحله 8: ایجاد چشمک زن (نسخه TTL)

ساخت پلک چشم (نسخه TTL)
ساخت پلک چشم (نسخه TTL)

البته شما می خواهید عملکرد مدارهای خود را ببینید. بنابراین شما باید چند چشمک زن (که توسط The Real Elliot معروف شده است) بخواهید. تنها نکته این است که CPLD ها خروجی های قوی مانند پردازنده های AVR را ندارند. از LED های دارای امتیاز 10ma استفاده کنید و از مقاومتهای سری 1KOhm استفاده کنید. اینها سیگنال های خروجی واضحی را بدون فشار بر خروجی های CPLD به شما می دهند.

مرحله 9: سوئیچ ها را بسازید

سوئیچ بسازید
سوئیچ بسازید
سوئیچ بسازید
سوئیچ بسازید

برای ایجاد محرک برای مدارات خود ، به تعدادی سوئیچ نیاز دارید. شما گزینه هایی در اینجا دارید ، اما الزامات متفاوت از پردازنده های AVR است. خروجی های CPLD فشرده های داخلی ندارند و رفع اشکال در نرم افزار چندان آسان نیست. (این امکان وجود دارد ، اما منابعی را که احتمالاً می خواهید در مدارات خود استفاده کنید ، می گیرد.) سوئیچ های DIP نشان داده شده چندین سوئیچ را در یک بسته مناسب ارائه می دهند ، اما باید بالا کشیده شوند. من از کشش های 1K استفاده کردم. دکمه های فشار را می توان با استفاده از مداری که Atmel برای صفحه نمایشی خود توصیه می کند ، ساخت. نمودارها در صفحه 36 یا بیشتر وجود دارد. یک گزینه دیگر این است که یک پردازنده AVR را برای ارائه محرکها و حتی بررسی پاسخ ها متصل کنید. اما این یک تمرین است که به دانش آموز واگذار شده است.

مرحله 10: اولین مدار خود را ایجاد کنید

اولین مدار خود را ایجاد کنید
اولین مدار خود را ایجاد کنید
اولین مدار خود را ایجاد کنید
اولین مدار خود را ایجاد کنید

در این زمان شما باید نرم افزار را تهیه کرده و نصب کرده باشید. برای ایجاد اولین مدار ساده CPLD خود ، آموزش کامل و دقیق را دنبال کنید (دروازه AND دو ورودی ؛ خیلی ساده نمی شود). مطمئن شوید که دستگاه صحیح (44 Pin PLCC ، 5V ، 1504AS [جزئیات]) را انتخاب کرده و شماره های پین ورودی/خروجی موجود را انتخاب کنید (از 14 و 16 به عنوان ورودی استفاده کردم ؛ 28 به عنوان خروجی). این جزئیات کمی با آموزش متفاوت است ، اما نباید هیچ مشکلی برای شما ایجاد کند.

مرحله 11: اولین CPLD خود را برنامه ریزی کنید

اولین CPLD خود را برنامه ریزی کنید
اولین CPLD خود را برنامه ریزی کنید
اولین CPLD خود را برنامه ریزی کنید
اولین CPLD خود را برنامه ریزی کنید

کابل برنامه نویسی خود را به پورت موازی رایانه خود وصل کنید ، آن را به Programmer Cradle خود وصل کنید ، 5 ولت را به کانکتور Power وصل کنید و آموزش را دنبال کنید تا در واقع اولین CPLD خود را برنامه ریزی کنید. نسخه صحیح کابل را انتخاب کنید. توجه داشته باشید که Altera Byte-Blaster یکی از گزینه ها است.

مرحله 12: قسمت برنامه ریزی شده خود را آزمایش کنید

قسمت برنامه ریزی شده خود را آزمایش کنید!
قسمت برنامه ریزی شده خود را آزمایش کنید!
قسمت برنامه ریزی شده خود را آزمایش کنید!
قسمت برنامه ریزی شده خود را آزمایش کنید!

کابل برنامه نویسی خود را از گیره جدا کنید. کلیدها و چراغهای چشمک زن را به پین های مناسب وصل کنید ، برق را روشن کرده و آن را امتحان کنید. از آنجا که شما با یک مدار ساده شروع می کنید ، آزمایش یک چالش بزرگ نیست. اگر کار کرد ، خاموش هستید و کار می کنید! نمودار نمای بالا شما را در اتصال کلیدها و چراغهای چشمک زن برای آزمایش راهنمایی می کند.

مرحله 13: پایان و برخی منابع وب

پایان و برخی منابع وب
پایان و برخی منابع وب

هدف از این آموزش آموزش نحوه استفاده از VHDL نیست. (من تازه شروع به یادگیری کردم به همین دلیل برنامه نویس را ایجاد کردم ، به یاد داشته باشید؟) با این اوصاف ، من چندین آموزش بسیار مفید و منابع مفید پیدا کردم که می توانم شما را به آنها اشاره کنم. از بازخورد و سایر پیشنهادات بسیار قدردانی می شود. توجه داشته باشید که می توانید از سیستم توسعه Ghetto CPLD برای یادگیری Verilog و سایر تکنیک های برنامه نویسی CPLD که سخت افزار اهمیتی نمی دهد استفاده کنید. منابع VHDL در وب: اصول اولیه و برخی پیوندها در اینجا و اینجا. پیوندها به ابزارهای رایگان آموزشهایی که من دوست دارم اینجا و اینجا هستند ، اما موارد دیگری را خواهید یافت. در نهایت (فعلا) ، می خواهید گروه بحث را بررسی کنید. لذت ببرید ، چیزهای زیادی یاد بگیرید و آنچه را که می دانید به اشتراک بگذارید.

توصیه شده: