PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cypress AN2131SC --> paar Fragen



04.03.2005, 16:32
Guten Tag

wie die Überschrift schon sagt, hätte ich mal ein paar Fragen zu dem USB-Controller AN2131 von Cypress. Habe schon mal etwas im Netz geschaut aber das meiste ist leider auf English (nicht mein Fachgebiet).

Ich kann ja in den AN2131 ne Firmware laden die der interne 8051 dann ausführt --> nur wozu?? Bestimmt der 8051 was mit den USB-Daten passiert z.B. USB nach serielle Schnittstelle (AN2131 hat ja 2 Stück).

Wie kann ich mit einer "eigenen Win-Software C#" auf den den AN21xx zugreifen nur so im groben??
C# kommuniziert mit dem Treiber EZUSB --> der Treiber EZUSB schreibt/liest dann die Daten aus dem RAM des AN21xx oder wie??

Kennt jemand gute "DEUTSCHE" Literatur/Links sonst was über den AN21xx und Windows programmierung in C#??

Thaks @ all

Jan_Weber
05.03.2005, 21:56
Der AN2131 ist ein gewöhnlicher Microcontroller mit USB-Peripherie, das bedeutet, er braucht eine Firmware, um überhaupt etwas Sinnvolles tun zu können. Zu diesem Zweck lädt der AN2131 nach jeden Reset/Anschalten seine Firmware vom PC (Host). Da dieser Prozessor einen flüchtigen Programmspeicher hat, ist dieser Prozess bei jedem Einschalten des USB-Geräts erforderlich.

Die Firmware entspricht sozusagen einem kleinen Betriebssystem.

Wie die Kommunikation von Host und AN2131 im Detail abläuft, ist dir überlassen - du kannst das vollständig ändern und deinen ANforderungen anpassen. Von Cypress gibt es eine Grundversion des Treibers, die du dann weiter ausbauen kannst. Das war, wenn ich mich recht erinnere, ein C++-Projekt. Daraus wird eine DLL erstellt, die du dann zur Kommunikation duch die Hostapplikation laden musst.

Genaueres weiß ich leider auch nicht. Es gab mal eine kurze Serie in Elektor, die sich damit beschäftigt hat.

Es scheint mir aber, dass du von der gesamten Thematik noch keinen guten Überblick hast - leider eignet sich ein Windowstreiber nicht zum Einstieg in die Programmierung, ganz im Gegenteil.

Und ohne Englisch wirst du nicht weit kommen. Die Datenblätter sind immer auf Englisch.

Jan

WhiteTiger
05.03.2005, 23:38
Hallo Jan_Weber

Es gibt jemand der Ahnung hat, super.

Habe mir das Buch "Messen, Steuern und Regeln mit USB" von Franzi`s zugelegt. Das geht auf den AN2131 ein.
So das bringt schon mal einiges an wissen. Die Kommunikation mit Windows sollte auch gehen --> habe ne .dll von www.braintechnology.de wo ich in C# auf den Cypress zugreifen kann --> das funktioniert auch prima.
Das Prob ist jetzt nur das ich ne eigene Firmware brauche, da die USB Daten auf eine andere Schnittstelle übertragen werden sollen. So dazu muß der 8051 programmiert werden. Da ich mit AVR`s arbeite sollte das gehen nach etwas einarbeitung in den 8051.
Ich sende jetzt per USB Daten an den AN21xx --> die Daten muß der 8051 jetzt weiter verarbeiten --> ja aber in welchem Register des 8051 stehen die Daten???
Hoffe du/ihr versteht was ich meine! Die Daten die per USB kommen müssen ja wo im 8051 hinterlegt sein das sie weiter verarbeitet werden können.

P.S. bin Elektroniker -> ok 6 Jahre nett mehr gearbeitet dirn.

Thanks @ all

Jan_Weber
06.03.2005, 08:45
ja aber in welchem Register des 8051 stehen die Daten???


Dazu solltest du das Datenblatt konsultieren. Das IC hat zwei RAM-Bereiche, einen für generelle Daten und einen anderen als USB-Buffer, in dem auch die Steuerregister des USB-Interfaces gemappt sind.


Jan

22.04.2005, 08:25
Hallo
Hab mir das USB Full Speed Interface Modul V1.3 von cypress zugelegt.
Jedoch weiss ich nicht so richtig, wie ich es ausprobieren kann. Hab mir den
C-Compiler von Keil und das EZ-USB Control Panal von cypress besorgt, komm ich damit schon aus. Will mit dem Board nur ein paar Ventile für eine
Springbrunnen Steuerung ansteuern. Geht das Board überhaupt, wenn es nicht an einem USB-Port liegt????

Andre

Schwabix
25.04.2005, 17:47
Hallo Gast,

Ich stecke gerade in meinem ersten Projekt mit dem AN2131 und habe damit noch nicht viel Erfahrung, doch für den Stand-Alone-Betrieb scheint es mir bessere µC zu geben.

Wie Du schon vermutest (zumindest klingt die Befürchtung in Deiner Frage durch) erhält der AN2131 ohne USB-Verbindung keine Firmware - ohne zusätzlichen Schaltungsaufwand.

JA JA, man kann über ein I²C EEPROM eine Firmware auch ohne USB in den Programmspeicher des AN2131 laden, oder externes xROM als Programmspeicher anschalten, doch das ist jeweil zusätzlicher Aufwand.

Als eigenständigen Controller würde ich irgendeine flash-bare Variante vorziehen, z.B. AT89S8252 (weil ich mit dem 8051 vertraut bin). Wenn die Prozessorfamilie mangels Vorwissen keine Rolle spielt, öffnet sich eine riesige zusätzliche Auswahl, zu der ich keinen qualifizierten Überblick geben kann.

Markus

Schwabix
25.04.2005, 17:49
Hallo Gast,

Ich stecke gerade in meinem ersten Projekt mit dem AN2131 und habe damit noch nicht viel Erfahrung, doch für den Stand-Alone-Betrieb scheint es mir bessere µC zu geben.

Wie Du schon vermutest (zumindest klingt die Befürchtung in Deiner Frage durch) erhält der AN2131 ohne USB-Verbindung keine Firmware - ohne zusätzlichen Schaltungsaufwand.

JA JA, man kann über ein I²C EEPROM eine Firmware auch ohne USB in den Programmspeicher des AN2131 laden, oder externes xROM als Programmspeicher anschalten, doch das ist jeweil zusätzlicher Aufwand.

Als eigenständigen Controller würde ich irgendeine flash-bare Variante vorziehen, z.B. AT89S8252 (weil ich mit dem 8051 vertraut bin). Wenn die Prozessorfamilie mangels Vorwissen keine Rolle spielt, öffnet sich eine riesige zusätzliche Auswahl, zu der ich keinen qualifizierten Überblick geben kann.

Markus[/quote]

28.04.2005, 09:05
hi Markus

du hast sicher recht, das es andere µC gibt, mit denen man einfacher arbeiten
könnte, denoch benötige ich für die Projekt Arbeit im Studium einen µC mit
USB integriert. Werde also das risiko eingehen und mir erst noch einmal die Relais Platine von Braintech nachbauen. Und dann mal weiter probieren...
Wenn du Erfolge mit deinem An2131 hast....dann sag bescheid, ich bleib auch dran.

gruß Andre

Schwabix
28.04.2005, 10:52
Andre,

< Wenn Du einen Account hättest, würde nicht immer "Gast" an Deinen Postings stehen, oder nur den Login vergessen? >

Für Stand-Alone-Betrieb kann man das Programm in ein ausreichend großes EEPROM z.B. 24LC64SO mit 8KB ablegen. Hast Du das schon entdeckt?

GAST1
12.06.2005, 16:16
hab schon viel mit dem 2131 und dem FX2 gemacht

24LC64 reicht meistens aus für Firmware (SOIC8)

Bei Cypress gibts das Komplettpakett (ca. 60Mb) mit Controlpanel und KEIL (lite).
Bei "Output" muß bei KEIL via HEX2BIX ein *.iic-File erzeugt werden.

Dann folgende Schritte einhalten:
1. Vendor_Ax.hex (aus dem Ordner Examples\Ezusb) mit dem "Download"
Button im Controlpanel übertragen
2. Das *.iic File mit dem "EEPROM" Button übertragen - fertig.

PS: damit es geht, muß der EEPROM beim RESET angschlossen sein, da die ID1 und ID0-Bytes (Aussage, ob 1- oder 2-Byte Adress-EEPROM) beim Start ausgelesen werden

13.06.2005, 11:22
Hallo Gast1.
wenn ich das jetzt richtig verstanden habe bietet Cypress einen Download einer Firmware für den AN2131 SC an, der eine USB zu Seriell RS485 Umsetzung bewerkstelligt.
Genau so was brauche ich.
Ich konnte diesen Link zum downloaden bei Cypress nicht finden.
kannst du mir den link mal zeigen?

Rage_Empire
13.06.2005, 12:06
...hm, könnte man die Firmware für rs485 nicht für nen normalen 51er µC nehmen? Oder sogar in nem AVR?

Gast1 / LAube
13.06.2005, 16:45
Hallo!

Ich glaube nicht das man dort nur eine Firmware braucht um RS422/RS485 zu realisieren. Zusätzlich ist ein Bustreiber notwendig. (gibts bei www.ti.com) Die Software/Firmware sollte in Ansi-C mit Keil leicht zu bewerkstelligen sein. (Daten über Pipe in einen Enpoint - Auslesen - an serielle Schnittstelle - dann an den Bustreiber - fertig)

gruß Laube

PS: http://www.hw.cz/english/docs/rs485/rs485.html

Tom86
08.11.2010, 10:27
Hallo,
ich hätte auch eine frage zu dem Thema und zwar bezug nehmend auf diesen Eintrag.


hab schon viel mit dem 2131 und dem FX2 gemacht

24LC64 reicht meistens aus für Firmware (SOIC8)

Bei Cypress gibts das Komplettpakett (ca. 60Mb) mit Controlpanel und KEIL (lite).
Bei "Output" muß bei KEIL via HEX2BIX ein *.iic-File erzeugt werden.

Dann folgende Schritte einhalten:
1. Vendor_Ax.hex (aus dem Ordner Examples\Ezusb) mit dem "Download"
Button im Controlpanel übertragen
2. Das *.iic File mit dem "EEPROM" Button übertragen - fertig.

PS: damit es geht, muß der EEPROM beim RESET angschlossen sein, da die ID1 und ID0-Bytes (Aussage, ob 1- oder 2-Byte Adress-EEPROM) beim Start ausgelesen werden

Ich mache das eigentlich genau so.
Ich erstelle mein *.hex file und daraus meine *.iic mit der folgenden zeile.

-f 0xC2 -i -v 0x04B4 -p 0x8613 mytest.iic mytest.hex

Es will aber einfach nicht anlaufen.

Mir ist aber auch die letzte Zeile der Beschreibung unklar. Der RESET muss angeschlossen sein. Angeschlossen auf was? Muss ich den RESET auf GND ziehen? Wenn ja zu welchem Zeitpunkt, weil wenn ich dies nach dem brennen des EEPROM mache, dann kommt eben kurz im Gerätemanager der anschluss eines "unbekannten Gerätes" und wenn ich den RESET dann wieder "in der Luft" hängen lasse komtm wieder das richtige Gerät erkannt. Allerdings läuft der µC nicht.

Ist der RESET auf dem Board gemeint ? Kann ja nur sein? Weil ich habe am EEPROM kein RESET!?

Kann mir jmd. einen Tipp geben?

Vielen Dank schonmal.