Hallo, ich habe soeben für mein derzeitiges Projekt (Leiterplattenentwicklung; zentrale Steuereinheit: FPGA APA075 von Actel) die Anforderung bekommen, hardwaremäßig eine Standardschnittstelle für eventuelles Monitoring, Dateneingaben oder vieles mehr, was man momentan noch nicht absehen kann, am FPGA vorzusehen. Das heißt, ich brauche, wenn ich z.B. eine SPI Schnittstelle wähle, doch nur die 4 Signalleitung (also 2x Daten und 2xSteuerleitung) als Eingänge in den FPGA führen? Was gibt es noch zu beachten? Ist es überhaupt wirklich sinnvoll? - ist ja doch noch einmal ein ganz schöner Programmieraufwand im Nachhinein (denn das VHDL Design steht und funktioniert) Hm, ich würd mich freuen, wenn sich ein paar Leute finden, die damit schon Erfahrungen haben, also SPI in Zusammenhang mit nem FPGA und mir da ein paar allgemeine Hinweise geben können. Wenn meine kurzen Erläuterungen Fragen aufwerfen bevor man überhaupt etwas dazu sagen kann, einfach stellen :o) Vielen Dank schon vorab! Gruß Sebastian
Also mein FPGA(XC2S30) hat eine solche Schnittstelle, die wird JTAG genannt. JTAG und SPI sind schon was anderes oder? Und kann man JTAG im Design zur Steuerzwecken verwenden? SPI cores (also fertiges VHDL, das funzt) gibts bestimmt für lau im Netz, z.B. www.opencores.org . Überlicherweise verwendet man einen UART im FPGA. Muss zwar auch erst in VHDL geschrieben werden, (gibbets aber auch im Netz) und kann mit jeder seriellen schnittstelle kommunizieren.
@Feadi: ...mein FPGA hat auch eine solche schnittstelle namens JTAG. Ist nicht aber der Vorteil einer SPI Schnittstelle, dass ich keine programmierumgebung benötige. ich möchte ja nicht das eigentliche programm über die SPI Schnittstelle laden sondern kommunizieren, d.h. monitoring oder senden/empfangen ... @FPGAKüchle:wegen der software werd ich mal schauen, was mich noch interessiert hat, benötige ich wirklich nur diese 4Leitungen (CS, SCKL, SDI, SDO) ? Gruß Sebastian
>was mich noch >interessiert hat, benötige ich wirklich nur diese 4Leitungen (CS, SCKL, >SDI, SDO) ? Ja.
Ich würde fpgaküchle's Rat befolgen. Mit einem UART bist Du besser bedient. Notfalls kannst Du mit jedem x-beliebigen Computer mit serieller Schnittstelle debuggen. Zudem solltest Du beachten, daß bei SPI jedes 'Endgerät' ein CS bekommen sollte. Bei nur 4 genutzten Leitungen des FPGA (Clock, Select, DIN, DOUT) hast Du keine Erweiterungsmöglichkeit.
Wobei SPI aber mit einem (deutlich) geringeren Hardware-Aufwand verbunden ist.
Mein Problem ist, dass ich den gesamten Stromlaufplan der Leiterplatte bereits fertig habe. Da ich das Projekt "nur" übernommen habe, gab es gewisse Vorgaben, z.b. Package TQFP 100... an dem FPGA sind gerade noch 5 I/O's frei. Da auch ein gewisser Zeitdruck besteht möchte natürlich niemand etwas von Umbau, sprich 144 oder 208 Pins, hören, was ich als sehr nachteilig empfinde. Also versuche ich irgendwie mit meinen 5freien Pins hin zu kommen, da bietet sich SPI schon an ... ?!
OK ich hab mal nachgezählt wieviel Strippen zwischen FPGA und ser. Schnittstelle liegen: eins, zwei, DREI. Drei Strippen reichen aus. beachten solltest Du die allerdings die unterschiedlichen Pegel zw. FPGA und PC (ser. Schnittstelle), die einen Transceiver Chip erfordern.z.B. LT1785. Denn bekommt man bequem in den Stecker rein der das ser. Kabel mit der FPGA Platiene verbindet. Software und Beschreibung gibts für den Dinosaurier ser. Schnittstelle wie Sand am Meer.
@Ines: Wieso 'deutlich' geringerer Hardwareaufwand bei SPI? Seriell bedeutet nicht unbedingt +12V/-12V, sondern kann auch auf TTL-Level geschehen. Wie FPGAküchle schon sagt, muß man nur die Verbindung zum PC mit Pegelwandlern bestücken. Ich sehe da keinen Mehraufwand.
@FPGAküchle: RXD und TXD sollten doch reichen. Wieso 3? GND oder Hardwarehandshake?
<@FPGAküchle: <RXD und TXD sollten doch reichen. Wieso 3? GND oder <Hardwarehandshake? GND,RXD,TXD, kein HW-shaking(Buadrate: 115200 reicht).
Hallo Sebastian Lege dann aber alle 5 freien Leitungen auf den Stecker. Man weiß ja nie, wofür man die noch gebrauchen kann. MfG Holger
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.