FPGA

 

FPGA är en förkortning för Field-Programmable Gate Array, som är en typ av integrerad krets som kan konfigureras om. En FPGA är en logikmatris som ändras för att få önskad funktion. För att beskriva hur kretsen skall fungera användas ett hårdvarubeskrivande språk t.ex. VHDL eller Verilog.

Varför FPGA?

I en FPGA kan funktioner arbeta parallellt och på så kan fler uppgifter utföras samtidigt och högre prestanda fås. I många lösningar i industrin låtar man en FPGA eller  CPLD avlasta processorn på ett kort. Uppgifter som lämpar sig för en FPGA är kommunikation mot periferikretsar för A/D-omvandling, minnen m.m.

Det finns möjlighet att implementera en FPGA-lösning med en mjuk processor (IP-block) som kan programmeras med t.ex. C. På sätt kan man spara plats på kortet och funktioner kan flyttas mellan hårdvara och mjukvara för att uppnå god prestanda.

FPGA på Motion Control

På Motion Control utreder vi noga huruvida en FPGA är rätt lösning på problemet. Kretsarna är dyrare och drar generellt mer ström än processorer. Vi har arbetat med Xilinx, Alteras och Lattice kretsar och utvecklingsverktyg i ett flertal industriprojekt.

Referensprojekt

OSU800
Framtagning av VHDL-kod till Xilinx Spartan 6 LX4 för OSU-charge samt OSU-auxiliary. Gränssnitt mot A/D-omvandlare och  temperaturgivare. Information och mätdata via optolänk till övervaknade system. Syftet att övervaka och reglera spänningar för att upprätthålla nivåer hos 2 st kondensatorbankar.

Tesla
Implementering av befintlig algoritmlösning skriven i LabVIEW till VHDL för att kunna användas i en Altera Cyclone III FPGA. Syftet är att utföra avancerade DSP-beräkningar med A/D-omvandlat data från 4 kanaler och generera inkrementalsignaler på utgångarna.

JoomSpirit