Hallo Zusammen, ich möchte mein erstes Layout mit einem FPGA erstellen. Ich möchte später aber eine serielle Schnittstelle zur Datenübertragung von PC zum FPGA und umgekehrt benützen können. Kann mir vielleicht jemand sagen, was ich dabei für externe Bauteile brauche(wie z.B. einen MAX232). Super toll wäre es wenn man ein Schematic mit den entsprechenden Bauteilen hätte, welches ich in meine Schaltung integrieren könnte. Wisst Ihr aus Erfahrung auf was ich bei der Wahl eines Oszillators achten muß, wenn dieser mehrere Bauteile(8 Inputs) treiben muß? Ich galube, dass hierbei die Lastgröße in pF wichtig ist, aber nicht mehr. Ich möchte keine Fehler machen und hoffe, ihr könnt mir viel Ärger sparen helfen.
Hallo Markus Mit dem MAX 232 wird es wohl nichts. 5V <-> RS232 Da brauchst du einen anderen Konverter. z.B.: SP385 Mit welchen IO-Spannungen wolltest du den arbeiten? (LVCMOS 3,3V) Du kannst auch einen USB<-> Seriell-Konverter vorsehe. z.B.: FT232R Was wolltest du mit dem EVA-Board machen? Schreib mal eine Liste, was alles drauf soll. Oder zeichne ein Blockschaltbild. Bei dem Oszillator musst du auf die maximale Last achten. Unter Umständen benötigst du noch einen Buffer. Du solltest alle Taktleitungen herausführen, so dass du später die Leitung noch benutzen kannst, aber alle mit dem gleichen Taktquelle verbinden, sollte man nicht. MfG Holger
Hi Holger, in den FPGA sollen 16-Datenleitungen reinführen. (16 Inputs) Über diese kommen kontinuierlich Signale von 16-Bit-Breite aus einer Signalquelle) Über die serielle Schnittstelle soll man in den FPGA einen 16-Bit-Wert reinschreiben können. Die Daten auf diesen Leitungen sollen ab einem Start-Zeichen (über die serielle Schnittstelle eingegeben oder über Tastendruck) kontinuierlich in ein SDRAM reingeschrieben werden(Ringspeicher).(Also nochmals 16 I/O + Steuerleitungen für den Speicher) Wenn nun an den 16-Datenleitungen das selbe Signal anliegt wie der eingegebene Wert, soll der Schreib-Zyklus aufhören. Danach sollen die Daten vom Speicher ausgelesen werden und über die Schnittstelle zum PC gesendet werden. Aber ich möchte 3 verschiedene Signalquellen parallel abhören, die empfangenen Informationen spiechern und auslesen. (Auswertung der Daten soll zeitgesteuert erfolgen) Daher werden 3 Platinen wie zuvor aufgebaut. Allerdings ist einer Master, die anderen Slaves. Die Slaves sollen nur Informationen speichern. Der Master soll steurn, speichern und aus allen Spiechern zudem auslesen können. Dazu ist eine Taktquelle für alle 4-Platinen und den Signalquellen nötig. Sie sollen ja sychnron takten. Alternativ möchte ich für später noch eine USB Schnittstelle vorsehen. Ein paar Status-LEDs und ein paar Taster sollen auch drauf. Gruß Markus
Hallo Markus Hast du schon ein Blockschaltbild gezeichnet? Wie sollen die drei Platinen miteinander verbunden werden. Weist du schon, welchen FPGA du verwenden willst? Es gibt mehr als einen Cyclone II. Was für einen SRAM willst du verwenden. SRAM 512kB (16 Datenleitungen + 18 Adressleitungen + 5 Steuerleitungen) Für Steuerungszwecke könnte es auch interessant sein eine CPU mit zu integrieren. Da für bräuchtest du dann auch noch Speicher (RAM und (Flash-)EEPROM). Die CPU selber kann man noch in den FPGA integrieren. Die Kommunikation mit dem PC könnte man über die CPU erledigen. MfG Holger
Hi Holger, Ja ich möchte einen SRAM 1MB(16Data,16Adress+5Steuerleitungen verwenden. Nein das Blockschaltbild habe ich noch nicht gezeichnet. Ich versuche mich in VHDL. Habe noch keine Erfahrung damit. Wird interessant, dies zu lernen. Die Cyclone-II sind günstig, und ich könnte mit den weiteren I/O´s für spätere Weiterentwicklungen vorsorgen. Man weis ja nie wozu man sie noch gebrauchen kann. Die Platinen möchte ich parallel, übereinandergestapelt mit möglichst kurzen Leitungen(bzw. PINS) verbinden. Jede Platine soll einen eigenen EPCS4-Conf. Device besitzen. Über JTAG soll die Konfiguration mit dem ByteblasterMV erfolgen. Bei so wenig Erfahrung kann ich nichts über einen CPU aussagen. Wie und woher soll ich so einen CPU einbinden? Wie funktioniert dies? Ich gehe die Sache langsam aber sicher an. Bei meinem Wissensstand sollte dies erlaubt sein :)
Hallo Markus Was soll das werden? (Studienarbeit oder Hobby) Hast du schon jemanden, der dir die Platine Layoutet? Mit 4 Lagen Minimum kannst du schon mal rechnen. Eine Lage sollte schon als GND-Fläche ausgeführt werden. (EMV) Was darf es den Kosten? Hast du dir schon überlegt, wie du den FPGA auflötest. http://www.altera.com/products/devices/cyclone2/overview/cy2-overview.html Spätestens beim BGA benötigst du eine Lötpastenmaske und die richtige Ausrüstung um den Chip richtig zu platzieren, ohne Kurzschlüsse zu verursachen. Währe es nicht einfach auf ein fertiges EVA-Board zurückzugreifen? Bevor du dich komplett verrennst. Schreib erst einmal die Spezifikation für dein Board. Überlege dabei, was du in VHDL erstellen kannst. Falls Steuerungsaufgaben in Software einfacher zu erledigen sind, überlege, ob du die CPU in den FPGA erstellen willst. Der NIOS II (32Bit RISC) benötigt ca. 2000 Logikelemente. Für die CPU benötigst du auch Speicher! Um den NIOS II Core in das Configuration Devices schreiben zu können benötigst du von Altera eine Lizenz für den NIOS II. Kannst auch mal auf http://www.opencores.org/ schauen. Alternativ kann man auch extern einen µC anbringen. Wie wolltest du die Platinen miteinander verbinden? (elektrisch) Hast du schon eine Idee, wie die Platinen miteinander kommunizieren sollen? (seriell, parallel) Bandbreite? Adressierung? Protokoll? Um mit VHDL anzufangen sollte man zu einem fertigen Board greifen. MfG Holger
Hallo Markus Ich habe mal kurz die Anzahl der IO-Pins überschlagen. ADC 14Bit (14 + ca. 5 ) SRAM 1MB (16 + 19 + 5) Speicher für NIOS II Gemeinsamer Bus für SRAM und Flash-EEPROM (16 + 20 + 6) Serielle Schnittstelle (TxD, RxD, [CTS, RTS, ]) -> 103 IO-Pins Dazu kommen noch die Taster und LEDs. z.B. 8 LEDs + 8 Taster/Schalter + 2* 7-Seg.+ Hex-Schalter 36 Vergesse auch nicht die Verbindung zuwischen den Modulen und die Takteingänge. Den EP2C20 bekommst du noch im 240-Pin PQFP Gehäuse mit 142 IO-Pins. Alles darüber ist nur noch als BGA verfügbar. Ich rechne bei dem BGAs mit mindestens 6 Lagen. MfG Holger
Hallo Markus Habe ich dich jetzt vor deinem Projekt abgeschreckt? :-) Die Anfertigung einiger Prototypen muss schon gut durchdacht werden. Ein Großteil der Kosten geht dabei auf die Anfertigung der Platinen. (Einrichtkosten) Bei einer Multilayer-Platine ist das schon einiges. Dann ist es auch noch fraglich, ob du überhaupt in der Lage bist, die Chips selber zu bestücken. (technische Ausrüstung, Erfahrung) Ansonsten musst du sie Bestücken lassen. So wird ein Prototyp schnell um einiges teurer als ein EVA-Board. Schau dir mal das Terasic TREX C1 Development Kit an. Ist nur ein Cyclone, aber um erstmal Erfahrungen zu sammeln reicht es. http://www.terasic.com/english/fpga_01.htm FPGA: Altera EP1C6Q240C8 RAM: SDRAM (1M x 4 x 16) Flash: 1MByte Flash Memory CF Card Socket (True IDE mode) An den beiden Wannenleisten kannst du den SRAM und den ADC anbringen. Erst, wenn deine Idee auf dem Board läuft, lohnt sich ein Prototyp. Jetzt gibt es dafür noch viel zu viele offene Fragen wegen dem Protokoll zwischen PC und Messhardware. Das Protokoll mittels State-Maschinen zu integrieren hat etwas vom Masochismus. :-) 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.