ZYNQ چیست و چه کاربردی دارد؟ بطور خیلی خلاصه ZYNQ یک SoC شامل ARM و FPGA میباشد. قبل از تعریف ZYNQ بهتره یک تعریفی از FPGA داشته باشیم برای کسانی که نمیدانند FPGA چیست. ترکیب قدرت پردازندههای ARM با پردازش موازش FPGA.
FPGA چیست ؟
FPGA مخفف Field Programmable Gate Array است. در FPGA شما به جای برنامه نویسی نرم افزار برنامه نویسی سخت افزار انجام میدهید. در برنامه نویسی سخت افزار با اتصال مدارات منطقی داخل تراشه به هم مدارات مختلفی را طراحی میکنید. در حقیقت شما گیتها و اجزای دیگر دیجتالی را بهم وصل میکنید و مداراتی را داخل چیپ طراحی یا توصیف میکنید. مزیت FPGA سرعت آن است. چون عملیات موازی انجام میشوند پس در نتیجه سرعت بالایی را داریم.
شما FPGA را با زبان توصیف سخت افزار یا HDL پروگرام میکنید. دو نوع زبان توصیف سخت افزار مشهور وجود دارد که عبارت اند از VHDL و Verilog، مزیت زبانهای توصیف، موازی اجرا شدن دستورات است. بر خلاف میکروکنترلرها که دستورات ردیفی اجرا میشوند.
ZYNQ چیست؟
حالا بریم سر این قطعات ZYNQ، برخلاف تصور ZYNQ یک نوع FPGA نیست. در حقیقت یک سیستم روی چیپ (SOC ) هست. بدین معنا که داخل ZYNQ یک میکروپروسسور ARM در کنار یک FPGA هست البته این ساده ترین ترکیب است و ممکن است داخل این تراشهها خیلی پر از موارد دیگر باشد که در ادامه نمونههایی را برسی خواهیم کرد.
کاردبرد های ZYNQ
- پردازش تصویر
- بینایی ماشین
- دوربینهای حرفهای
- آندوسکوپی پزشکی
- تلویزیونهای 4K
- پرینترهای چندکاره
- کنترل CNC
- سیستم کمک داننده پیشرفته
- و…
پس خیلی ساده بدون بحثهای علمی میتوانیم به این نتیجه برسیم که هر جا نیاز به پردازش موازی اطلاعات (FPGA ) کنار یک میکروکنترلر یا میکروپروسسور قدرتمند بود، میتوانیم از این چیپها استفاده کنیم. از تراشه Zynq-7000 با سریهای مختلف برای کاربردهای مختلف با امکانات و پیکربندیهای مختلف میتوانید در پروژههای خود استفاده کنید.
نگاهی کلی به امکانات Zynq UltraScale + MPSoC
- 64-bit quad-core ARM Cortex-A53 application processing unit
- 32-bit dual-core ARM Cortex-R5 real-time processing unit
- ARM Mali-400 MP2 graphics processing unit
- Video codec unit
- Dynamic power management
- High-speed connectivity
یکسری فیلم آموزشی توسط آقای دکتر محمد صادق صدری به زبان انگلیسی تهیه شدن که در این فیلمهای آموزشی با معماری تراشهها آشنا میشوید و سپس در محیط نرم افزار Vivado نحوه طراحی سیستمهای نهفته با استفاده از ZYNQ را یاد میگیرد. که سرفصل مقدماتی آن را در لینک زیر ببینید.
سرفصلهای این آموزشها :
- مقدمهای بر معماری
- AXI چیست؟
- چگونه از برد ZYNQ موجود در بازار استفاده کنیم. مانند ZED Board ، ZC-702 ، ZC-706 و…
- استفاده از LINQ PS بالا آوردن لینوکس روی ZYNQ
- استفاده از محیط Vivado برای طراحی با ZYNQ
- ساخت custom AXI interfaces and Peripherals
- ساخت Packaged IP blocks با استفاده از Vivado
- طراحی با AXI: ساخت قطعات Hierarchies مبتنی بر AXI
- ساخت سیستمهای چند هستهای CPU
- پروژه …
منابع :
مقدمه آقای Ritesh Kanjee ، سایت Xilinx ، وبسایت آقای دکتر صدری