Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:flink [2014-12-03 17:54] grafsoftware:flink [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== flink, Universal Serial Interface to FPGA's ====== 
  
-<box blue right 38% | **Downloads**> 
-  * [[https://github.com/flink-project/ | flink on Github]] 
-</box> 
-flink is .. 
-  * an universal serial interface to FPGA's 
-  * is open-source 
-  * is highly flexibel 
-  * is real-time capable 
- 
-flink can be read as //fast link// or as the German "flink" meaning fast. It enables any processors to communicate with an external FPGA over a serial interface. The FPGA may contain several blocks such as counters or pulse-width modulation. Such blocks are extensively used in robotics for control applications.  
- 
-===== Overview ===== 
-<box green right 38% | **flink Modules**> 
-  * [[.:flink:flink_vhdl|flink VHDL modules and interfaces]]  
-  * [[.:flink:flink_linux|flink Linux Kernel Modules]]  
-  * [[.:flink:flink_lib|flink Userspace Library]] 
-  * [[.:flink:flink_liblite|flink Userspace Library Lite]] 
-  * [[.:flink:flink_utils|flink Utilities]] 
-  * [[.:flink:flink_deep|flink Java Library]] 
-</box> 
- 
-flink can be used on a multitude of targets and with various setups. \\ 
-flink includes the following modules 
-  * flinkVHDL: Configuration for an external FPGA toghether with a suitable hardware link 
-  * flinkLinux: Kernel Modules 
-  * flinkLib: Userspace library for C/C++ 
-  * flinkLibLite: Userspace library for OS-less systems for C/C++ 
-  * flinkUtils: Utilities and test programs for the flink library 
-  * flinkDeep: Library for Java  
- 
-=== Typical use with C/C++ under an operating system === 
-Implement all necessary hardware modules with [[.:flink:flink_vhdl|flink VHDL modules and interfaces]] and choose a suitable interconnection with the available [[.:flink:flink_linux|flink Linux Kernel Modules]]. Develop your application using the [[.:flink:flink_lib|flink Userspace Library]]. The following picture shows the system setup. 
-[{{ .:flink:flinkoverviewlinux.png?500 | //flink with OS and C/C++ programming//}}] 
- 
-===== System Architecture ===== 
-An external FPGA contains hardware modules, which provide certain functions such as a pwm generator or an analog input channel. Such an external FPGA is represented by a ''flink device''. Every ''flink device'' contains one or more ''subdevices''. A ''subdevice'' represents a function. At last every ''subdevice'' has one or more ''channels''. 
-  * device: An external FPGA, group of subdevices. 
-  * subdevice: Modul with a specific function, such as ''digital IO'' or ''analog input''. 
-  * channel: Single channel of a subdevice, corresponds to a single pin of a ''digital IO'' subdevice. 
- 
-[{{ .:flink:systemarchitectureexample.png?700 | //System architecture for an example system with a motor drive. The drive controlled by an analog output signal. The motor position is determined with a counter module. //}}]