Abstrakt: Komunikace mezi řadičem sériové linky v FPGA a PC (komunikačním kanálem A obvodu FTDI)
Cílem aplikace je ukázat, jak je možné uvnitř FPGA vytvořit řadič seriové linky a jak lze pomocí řadiče přenášet data z/do PC. Řadič je připojen k USB převodníku FTDI, kanálu A.
Jelikož data v této jednoduché aplikaci putují (kvůli zjednodušení kódu) záměrně znak po znaku z FPGA do MCU a zpět, je nutné mít na paměti s tím související problémy. Vzhledem k latenci mezi vyvoláním žádosti o přerušení, vlastní obsluhou přerušení a vyčtení přijatého bytu přes SPI může docházet ke ztrátě přijatých dat v případě, že bude odvysíláno více bytů současně. Obyčejně není potřeba data přeposílat přes MCU a pokud ano, pak je nutné vytvořit uvnitř FPGA FIFO paměť, která bude shromažďovat přijaté byty.
Zdrojové kódy aplikace lze nalézt v SVN.
přeložte aplikaci
fcmake && make
pro správnou činnost je nutné povolit přerušení z FPGA do MCU
FITkitu verze 2.x:
propojit propojku J5, která je určena k povolení přerušení
FITkit verze 1.x:
propojit pin JP10(5) vedoucí z FPGA s pinem JP9(26) vedoucím do MCU
naprogramujte MCU a FPGA a spusťte terminálový program (např. QDevKit), případně rozpojte propojky J8,J9
make load make term
připojte se pomocí vhodného terminálového programu na kanál A USB převodníku (buď přímo nebo přes virtuální COM port, jehož číslo naleznete ve správci zařízení - viz dokument Instalace USB ovladačů pro FTDI FT2232). Parametry nastavte následovně: komunikační rychlost 57600 Bd, 8 datových bitů, lichá parita, 1 stop bit.
Při každém stisku klávesy v terminálu připojeném ke kanálu A se v tomtéž terminálu zobrazí odpovídající znak (echo) a dioda D4 zhasne/se rosvítí. Jste-li připojeni k mikrokontroleru, je každý přijatý znak zobrazen také v příslušném terminálovém okně QDevKitu.