Wenn Sie Ihrer NanoBoard® eigene Hardware-Funktionalitäten hinzufügen möchten, warum erstellen Sie nicht Ihre eigene Add-On-Peripheriekarte? Dieser zweiteilige Tech-Tipp erläutert den einfachen Weg, Ihre eigene benutzerdefinierte Karte für die Verwendung mit Altium Designer® zu erstellen.
In dieser ersten Ausgabe unseres zweiteiligen Tech-Tipps schauen wir uns an, wie man mit dem PCB-Design beginnt, indem man das PB30-Referenzdesign als Ausgangspunkt nimmt und es modifiziert, um eine Vorlage für Ihre eigene Peripheriekarte zu bilden. Darüber hinaus werden wir einige der IO-Verbindungen besprechen, die für benutzerdefinierte Peripheriegeräte verfügbar sind.
Im nächsten Teil werden wir den Registrierungsprozess besprechen und wie Sie mit Ihren FPGA-Designs beginnen können, unter Verwendung der neuen Peripheriekarte, die Sie erstellt haben.
Die NB2 und NB3000 werden von vielen Ingenieurschulen, Einzelpersonen und Unternehmensdesign-Teams genutzt, um neue Designideen zu erkunden und zum Leben zu erwecken.
Das NB3000 erfreut sich besonderer Beliebtheit, nicht nur wegen seines attraktiven Preises, sondern auch dank seiner umfangreichen Auswahl an IO-Geräten und Optionen. Dazu gehören USB (Host und Slave), RGB-LEDs, TFT-Touchscreen, isolierte Relaisschalter, ADCs, DACs, RS-485, RS-232, Ethernet, MIDI, SVGA und hochauflösende Audio-IO - um nur einige zu nennen!
Beide NanoBoards sind erweiterbare Entwicklungsplatinen, die über Steckplätze für Tochterplatinen verfügen, um zusätzliche IO-Fähigkeiten hinzuzufügen. Zum Zeitpunkt der Erstellung dieses Tech-Tipps sind vier Peripherieplatinen von Altium verfügbar: die vollständige PB01 (Audio-Codec, analoge Video-IO), die PB02 (Massenspeicherplatine mit SD, CF, ATA usw.), die PB03 (Ethernet, USB, IrDA) und die PB30 - eine vollständige Platine mit dem notwendigen Anschluss an das NB2/NB3000 und mehreren verschiedenen Prototyping-Bereichen zum Aufbau einfacher Zusatzschaltungen.
Während die Prototyping-Platine ein großartiger Ausgangspunkt ist, um einfache Schaltungen in Verbindung mit dem NanoBoard NB3000 auszuprobieren, bietet das Design Ihrer eigenen Peripherieplatine grenzenlose Möglichkeiten.
In dieser ersten Ausgabe unseres zweiteiligen Tech-Tipps schauen wir uns an, wie man mit dem PCB-Design beginnen kann, beginnend mit dem PB30-Referenzdesign und dessen Modifizierung, um eine Vorlage für Ihr individuelles Peripherieboard zu erstellen. Dazu werden wir einige der IO-Verbindungen besprechen, die für individuelle Peripheriegeräte verfügbar sind. Im nächsten Teil werden wir den Registrierungsprozess behandeln und wie Sie mit Ihren FPGA-Designs beginnen können, unter Verwendung des von Ihnen erstellten neuen Peripherieboards.
Der erste Schritt besteht darin, die Vorlage für das Peripherieboard zu erstellen, und in diesem Tech-Tipp basieren wir sie auf dem PB30, weil dieses Board so ausgerichtet ist, dass der Altium Nanoconnector oben links ist und der Siebdruck im Allgemeinen richtig herum angezeigt wird, wenn es in das NanoBoard NB3000 eingesteckt ist. Wenn Sie das NanoBoard NB2 verwenden, befindet sich der Platz für das vollgroße Peripherieboard oben, in diesem Fall wäre das PB-01 (Audio, Video) Board eine gute Wahl, da seine Ausrichtung um 180 Grad gedreht ist.
Die aktuelle Version von Altium hat den Standard-Speicherort des PB30-Referenzdesigns unter „C:\Program Files\Altium Summer 09\Examples\Reference Designs\PB30\“. .
Kopieren Sie den gesamten Ordner für das Peripherieboard und benennen Sie ihn für Ihre Vorlage um. In diesem Fall haben wir ihn PBUSER genannt:
Außerdem sollten Sie die tatsächlichen Dateien im Projekt umbenennen. Eine schnelle Möglichkeit, dies zu tun, ist die Verwendung des guten alten DOS-Befehls RENAME mit einigen Platzhaltern:
Wenn Sie jetzt das PBUSER.PrjPCB Projekt in Altium öffnen, erhalten Sie für jedes Dokument, das zuvor Mitglied des Projekts war, eine Warnung, dass es nicht mehr gefunden wird und entfernt wird.
Das liegt daran, dass wir jede dieser Dateien (angemessen) umbenannt haben. Das ist in Ordnung, denn alles, was wir tun müssen, ist, sie wieder zum Projekt hinzuzufügen, indem wir den Befehl Projekt» Vorhandenes zum Projekt hinzufügen... verwenden, alle PBUSER*.* Dateien auswählen und auf OK klicken.
Jetzt haben wir eine komplette Kopie des PB30, der einzige Unterschied besteht darin, dass das Projekt und alle seine Dateien umbenannt wurden.
Der nächste Schritt besteht darin, den Prototypenbereich aus dem Design zu entfernen. Das ist relativ einfach, da es tatsächlich eine Komponente ist, die wir aus dem Schaltplan entfernen können, die als PROTO1 bezeichnet wird. Das Referenzdesign PB30 enthält auch eine Schaltplankomponente, die eine Referenz auf die gefertigte Leiterplatte ist. Dies ermöglicht die Erstellung einer kompletten Montage, bei der die Leiterplatte selbst eine der benötigten Komponenten für die Montage des Produkts ist. Da dies jedoch in der Vorlage, die wir erstellen, nicht mehr relevant ist, werden wir das ebenfalls löschen.
Das PB30-Design enthält auch den 1-Draht-PROM, der für die ID und Registrierung der Platine bei Altium verwendet wird. Dies ermöglicht, dass die Einschränkungen für das FPGA-Design automatisch konfiguriert werden - wir werden diesen in dem Design belassen, da wir diese Fähigkeit für unser benutzerdefiniertes PB möchten. Sobald wir das Überflüssige aus dem Schaltplan gelöscht haben, wird durch Klicken auf Design» Update PCB Document PBUSER.PcbDoc der ECO-Prozess gestartet, um die Änderungen auf die PCB zu übertragen und letztendlich diese unerwünschten zu entfernen. Beim Ausführen dieses Befehls kann eine Warnung erscheinen, dass einige Komponenten nicht anhand eindeutiger IDs abgeglichen werden konnten. In diesem Fall klicken Sie auf Ja, um die Synchronisation fortzusetzen. Ebenso, wenn Sie aufgefordert werden, Komponentenklassen abzugleichen, klicken Sie auf Nein. (Diese Probleme werden auch einfach durch Ausführen des ECO-Prozesses gelöst.)
Wenn Sie sich das ECO vor der Ausführung ansehen, können Sie sehen, dass es alle unnötigen Komponentenpads aus der Netzliste, den PROTO1-Komponenten-Footprint (der den gesamten Prototyping-Bereich darstellt), sowie die überflüssige Komponentenklasse und den Raum entfernen wird. Eine neue Komponentenklasse und ein neuer Raum, beide benannt nach den neuen Design-Dateien, werden hinzugefügt. Die Ausführung des ECO beendet diesen Prozess und öffnet das aktualisierte PCB-Design.
Hier können Sie sehen, dass die ursprünglichen Leiterbahnen aus dem Prototypenbereich erhalten geblieben sind, inklusive Tränen. Wir können die Leiterbahnen entfernen, indem wir Werkzeuge» Entflechten» Alle verwenden. Um die Tränen zu entfernen, müssen wir sie einfach mit einem Kasten auswählen und dann Löschen drücken.
Als Teil des ECO-Prozesses wurde ein neuer Raum zum Board hinzugefügt, benannt nach dem obersten Schaltplan (in diesem Fall PBUSER Double_Sized_Proto_Board). Wenn Sie keine Räume verwenden möchten, können Sie ihn einfach auswählen und löschen. Andernfalls wählen Sie ihn aus und ziehen Sie die obere rechte Ecke, sodass seine Fläche das Board abdeckt.
Sie bemerken vielleicht, dass es zwei PCB-Dokumente in diesem Projekt gibt - PBUSER.PcbDoc, welches dieses PCB ist, und PBUSERPanel.PcbDoc. PBUSERPanel.PcbDoc ist eine zweimal-zweimal panelisierte Version des Haupt-PCB-Designs, unter Verwendung eines eingebetteten Board-Arrays. Da es sich auf das Haupt-PCB bezieht, ist sehr wenig Änderung notwendig. Das eingebettete Array selbst muss aktualisiert werden, um auf das neue PCB-Dokument zu verweisen. Dies wird durch Doppelklicken auf das Array (das wie ein kleines graues Rechteck aussieht) und die Angabe des neuen PCB-Dateinamens durchgeführt:
Wenn das Array auf das neue leere Board zeigt, können Sie es ordnungsgemäß im Panel sehen:
Zu diesem Zeitpunkt sollten alle Textstrings, die sich auf „PB30“ beziehen, ebenfalls geändert werden, um den Namen dieses neuen Boards widerzuspiegeln. Sie könnten sogar spezielle Strings als Ersatz verwenden, sodass sie automatisch aus einem Projektparameter aktualisiert werden können - besonders nützlich, wenn dies als Vorlage für viele neue Designs verwendet wird.
Außerdem ist der Barcode auf der Top-Overlay-Schicht einfach ein String mit Barcode-Schriftart. Bei Altium-Boards ist es einfach der Name des Boards. In diesem Fall sollte es auf PBUSER aktualisiert werden, aber Sie können es an den Namen Ihres Peripherieboardteils anpassen.
Sobald die aktualisierten Dateien und das Projekt alle gespeichert wurden, sind sie bereit, als Grundlage für jedes neue benutzerdefinierte Peripherieplatinen-Design verwendet zu werden. Sie können auch zusammen als Projektvorlage verwendet werden, indem das Projekt und seine Dateien in den Templates Ordner der Altium-Installation kopiert werden. Dann, vom Files Panel in Altium, klicken Sie auf PCB Projects, und im New From Template Bereich klicken Sie auf PCB Projects... und suchen nach dem PBUSER.PrjPcb-Projekt im Templates-Ordner. Wenn Sie das neu erstellte Projekt speichern, werden Sie aufgefordert, einen neuen Speicherort zu wählen, um das Projekt und alle Quelldokumente aus der Vorlage zu speichern.
Pin-Tausch und der NanoConnector
Einer der großen Vorteile der Verwendung dieser Vorlage besteht darin, dass die schematische Komponente, die den Nanoconnector repräsentiert und zur Schnittstelle zum NB3000 oder NB2-Host verwendet wird, bereits mit allen entsprechenden Pin-Zuweisungen für die festen Funktions-IOs des Hosts, wie Audio, SPI, I2C und die Host-Uhr, vorkonfiguriert ist. Zusätzlich sind die harten und weichen JTAG-Ketten des Systems zum Nanoconnector des Peripherieboards zusammen mit einer Aktivierungsleitung geführt, was es sehr einfach macht, zusätzliche FPGAs, Mikrocontroller oder Boundary-Scan-Geräte zum System hinzuzufügen. Natürlich werden auch die Stromversorgungsschienen des bereitgestellt. Verfügbare Spannungen sind 1,2V, 1,8V, 2,5V, 3,3V und 5V.
Neben den festen Funktionen der IOs ist eine Seite des Nanoconnectors den allgemeinen digitalen IOs gewidmet, die letztendlich mit dem Benutzer-FPGA auf dem NB3000 (oder NB2) verbunden sind. Diese Pins am Nanoconnector-Bauteil im Design (bezeichnet als HDR1) sind alle so vorkonfiguriert, dass sie austauschbar sind. Dies ist besonders praktisch, da die Verdrahtung um den Stecker herum aufgrund seines feinen Rasters ziemlich dicht sein kann. Es gibt keinen Zaubertrick, um diese Fähigkeit zu nutzen - im unten gezeigten Beispiel wurde der Pin-Swapper über Werkzeuge» Pin/Teil-Tausch» Automatischer Netz/Pin-Optimierer ausgeführt, und die resultierenden Änderungen wurden durch den Reverse-ECO-Prozess mit Design» Schemata in <Projekt> aktualisieren zurück in das Schaltbild eingespeist.
Es kann nützlich sein, den Pin-Swapper mehrmals während des Verdrahtungsprozesses der Platine auszuführen, wenn Ihre Leiterbahnen sich den Fertigstellungspunkten nähern. Dies hilft, Kreuzungen zu entfernen und beschleunigt den Prozess der Erstellung Ihres benutzerdefinierten Peripheriegeräts erheblich. Das oben genannte Beispiel wurde in nur ein paar Tagen fertiggestellt, und eine 3D-Ansicht wird unten gezeigt:
Ein letzter und sehr wichtiger Punkt bezüglich des Nanoconnectors ist, dass er weltweit zu geringen Kosten (und mit Mengenrabatten) über Altium verfügbar ist. Die Bestellnummer für diesen Steckverbinder auf der Peripheriekarte lautet 99-400-NBC (ein Röhrchen mit neun Steckverbindern wird bereitgestellt).
...und nächsten Monat kommt noch mehr!
Damit ist der erste Teil dieses Tech-Tipps abgeschlossen. Und nachdem Sie diesen Prozess durchlaufen und Ihre Vorlage erstellt haben, und natürlich mit Ihren eigenen Firmenlogos usw. personalisiert haben, ist es ein einfaches Unterfangen, so viele benutzerdefinierte Peripheriekarten zu erstellen, wie Sie möchten.
Im nächsten Teil dieses Tech-Tipps entdecken Sie die „weichen“ Aspekte der Verwendung Ihrer neuen benutzerdefinierten Platine - wie Sie eine wiederverwendbare Einschränkungsdatei erstellen, der Karte mit dem 1-Draht-PROM eine Persönlichkeit verleihen und ein passendes Port-Plug-in für Ihre FPGA-Projekte erstellen.