FPGA alapú PCI Express kártya eszközmeghajtó fejlesztéshez

OData támogatás
Konzulens:
Raikovich Tamás
Méréstechnika és Információs Rendszerek Tanszék

Manapság eszközmeghajtó-fejlesztés oktatására és gyakorlására szánt egyszerű és dedikált kis költségvetésű fejlesztői kártyát elég nehéz találni a piacon. FPGA alapú áramkörökön rugalmasan lehet létrehozni digitális hardver elemeket, ami megfelelne ennek a célnak és a szoftverfejlesztést is megkönnyíti. A diplomamunka célja volt egy egyszerű és olcsó, erre a célra szánt kártya megtervezése, melynek segítségével könnyedén lehet a rajta található perifériákhoz eszközmeghajtó programokat készíteni. A feladat tartalmazza a kártya megtervezését és elkészítését, a rajta található FPGA áramkör megvalósítását, valamint néhány egyszerűbb eszközmeghajtó-program elkészítését, illetve egy felhasználói program létrehozását is. Tekintve, hogy manapság a legtöbb asztali számítógéphez csatlakozó kártya PCI Express csatlakozóval rendelkezik, célszerűnek tűnt ennek kialakítása a kártyán is. Ám ennek az interfésznek a komplexitása elég nagy, a feladat céljának elegséges volt egy egyszerűbb, pl. PCI busz létrehozása is, melyhez könnyebb perifériákat illeszteni. A kártyán elhelyezésre került néhány egyszerűbb (LED-ek, néhány gomb és kapcsoló), valamint egy-két komplexebb (audio codec, Ethernet PHY) periféria is az FPGA modul mellett. Továbbá a PCI Express – PCI busz átalakításhoz szükséges volt egy buszkonvertáló IC (bridge) elhelyezése a kártyán.

A feladat több lépcsőben került megvalósításra. Először is szükséges volt felmérni a különböző perifériák fogyasztás igényét a NYÁK megtervezéséhez, illetve méretezni kellett őket. Ezután következhetett a kapcsolási rajz megrajzolása az előzőek figyelembe vételével. Következő lépésként a NYÁK huzalozási rajza készült el. A hardver élesztése után (meggyőződve annak alapvető funkcióinak működéséről), következhetett az FPGA áramkör létrehozása, mely gyakorlatilag először egy PCI slave majd master interfész megtervezését jelentette. Végül, de nem utolsó sorban, néhány alapvető eszközmeghajtó-program került megvalósításra, mely magában foglalta az egyszerűbb perifériák (LED-ek, gombok, kapcsolók) tesztelését, valamint a megszakításkezelés kipróbálását, illetve a DMA műveletek kipróbálást az audio codec közreműködésével. Ezek mellett, egy felhasználói program került létrehozásra, melynek segítségével egy egyszerű Windows-os felületen tudjuk a kártyát vezérelni és az egyszerűbb szolgáltatásait kipróbálni.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.