راه اندازی USB3.0 با استفاده از تراشه FX3 شرکت Cypress

اتصال تراشه FX3 و FPGA با استاندارد FIFO انجام شده است. در این ارتباط FPGA به عنوان Master و FX3 به عنوان Slave میباشد و از طریق یک باس 32 یا 16 بیتی داده به همراه تعدادی خطوط کنترلی و کلاک است. راه اندازی این تراشه از دو بخش برنامه نویسی Firmware در FX3 و راه اندازی اینترفیس ارتباطی با FX3 در یک سو و کاربر از سوی دیگر، در FPGA است.

برای راه اندازی برنامه USB روی هر برد شامل تراشه FX3 لازم است که ابتدا تراشه FX3 با استفاده از نرم افزار USB Controller برنامه ریزی شود و سپس برنامه FPGA به کار گرفته شود.

تراشه FX3 توسط شرکت Cypress به منظور پیاده سازی پروتکل USB3.0 یا USB SuperSpeed طراحی شده است. این شرکت در زمینه تراشه های USB سابقه ی چندین ساله دارد و قبلا سری های FX2 و FX1 را برای USB2.0 و USB1.0 نیز ارائه کرده است.

مزیت اصلی این تراشه که آنرا برای کاربردهای با نرخ انتقال بالا مناسب میکند، I/O های سرعت بالایی است که امکان تبادل داده با تراشه های جانبی را فراهم میکند. این I/O ها که توانایی پیاده سازی پروتکل های

مختلف را دارند، توسط نرم افزار مستقلی طراحی میشوند و اطلاعات آن در قالب یک فایل هدر به پروژه Firmware افزوده میشود. نرم افزار طراحی I/O در FX3 با نام GPIFII ارائه شده است. این نرم افزار علاوه با طراحی ساختار I/O امکان شبیه سازی شکل موج را بر اساس انتخاب های مختلف، داراست.

ساختار این تراشه به صورت زیر است:

راه اندازی USB FX3 Cypress

ساختار تراشه FX3 شرکت cypress

USB Interface امکان برقراری ارتباط SuperSpeed و high Speed را با کامپیوتر فراهم میکند که تا 32End-Point در آن قابل راه اندازی است.

در حالت عادی یک Endpoint کنترلی و دو Endpoint، یکی برای ارسال و یکی برای دریافت داده بکار گرفته میشود. میتوان در صورت نیاز endpoint های داده یا کنترلی بیشتری راه اندازی کرد. Endpoint ها در سمت کامپیوتر و پردازنده داخلی FX3 به صورت مجزا قابل دسترسی هستند و بافر های جداگانه به آنها تخصیص داده میشود. مثلا اگر از Hub استفاده شود، به تعداد دستگاه های متصل به Hub Endpoint های کنترلی و داده راه اندازی میشود و هر دستگاه به صورت جداگانه شناسایی و راه اندازی میشود و داده های دستگاههای مختلف به این وسیله از هم تفکیک میشوند و از تداخل جلوگیری میشود. در یک دستگاه هم میتوان چند Endpoint راه اندازی کرد که هر کدام خط داده مخصوص به خود را دارا هستند.

پردازنده ARM9 هم به همراه حافظه SRAM داخلی و DMA های متعدد، ابزار قدرتمندی در دست طراح Firmware است که برای تبادل داده سرعت بالا که عموما بین USB و GPIF است، میتوان از آنها استفاده کرد.

GPIF که مخفف General Purpose Interface است. همانطور که قبل اشاره شد، این اینترفیس سرعت بالا امکان تبادل داده تا سقف 400MB/s به صورت دو طرفه (Half-duplex) را با دستگاه خارجی مانند FPGA فراهم میکند.

ارتباطات سریال هم برای تبادل داده با دستگاههای خارجی مانند حافظه، Sensor، یا ارتباط با پردازنده، FPGA و … می تواند استفاده شود.

اطلاعات کامل تر نظیر: نحوه طراحی پایه های تراشه FX3، آشنایی با نرم افزار های موردنیاز و نمونه کد پیاده سازی شده در قالب فایل PDF ارائه شده است.