Hallo Leute. Ich werde demnächst mit dem EVA-Board Cypress Cy4640 arbeiten. Es hat den Controller CY7C67300 drauf. Ich hab zwar schon viel in C geschrieben (Anwendungen für Windows) und in Praktikas(Studium Elektrotechnik) kleine Programme in Assembler geschrieben und auf einen 16-Bit Controller geladen. Der Controller war aber schon komplet verkabelt und bestückt. Jetzt steh ich vor dem Problem das ich das Bord habe aber keine Ahnung habe wie ich ein C Programm auf meinem Controller zu laufen bekomme. Ein paar Tips für den Start wären nicht schlecht. Vorschlag für Enwicklungsumgebung, Möglichkeiten zum Laden auf Controller usw. Ich hoffe es ist jemand dabei der schon mal mit dem nichtso verbreiteten CY7C67300 zu tun hatte. Danke schon mal im vorraus!!
Hallo ich habe mich auch schon damit beschäftigt und wenn du das Getting Started von Cypress liest dürfte es kein Problem sein! Ließ das mal durch, wenn du es dann immer noch nicht geschafft hast poste nochmal! Und sonst halte mich auf dem laufenden, es interessiert mich nämlich wie du mit dem mitgelieferten Sourcecode zurecht kommst! Ich hatte nämlich meine Probleme damit (Geschwindigkeit)! Obwohl ich (meiner Meinung nach) den Code so gut wie möglich optimiert habe.
Was hast du eigentlich genau damit vor? Denke mal etwas mit USB und MSD. Vielleicht könnten wir ein bisschen zusammenarbeiten!?!
Tach. Sorry für die verspätete antwort. Ich baue einen Host für eine Messgerät das die Daten nur über einen Parallelen Ausgang für einen Drucker ausgibt. Meine Host soll diese Daten nun in BMP-Format auf einen USB-Stick speichern. Des weiteren soll ein LCD Display, ein RTC, 4 Taster, 1 LED, und evtl. eine Tastatur angeschlossen werden. Recht umfangreich aber ich denke machbar.
Verwendest du die Software von Cypress und änderst sie für deine Anwendung ab, oder willst du was eigenes machen?
Ich werd den C-Code von Cypress als basis verwenden. Ich reduziere ihn auf das was ich benötige (erstellen einer Datei, und schreiben in eine Datei) und füge dann denn restlichen cod selber an, fals ich nicht noch fertigen Code finde. Aber Tastatur einlesen, Display ansteuern usw. hab ich schon mal gemacht. Neu wird die Menüführung und die RTC. Ebenfalls das Wandeln des Bitflusses vom Parrallel Port (nicht = LTP beim PC/Drucker)in den Bitstrom für die Bitmap incl. Header. Dafür hab ich aber schon Berechnungstabellen erstellt. Müste auch funktionieren. Ich werd jetzt erstmal alle Teile bestellen und ein Layout für die Platine erstellen und ätzen lassen. Ich denke das ich wegen der übersicht zum schreiben Microsoft Visual C++ verwende, aber compiler, linker usw. verwende ich die Software von Cypress (von der mitgelieferten CD)
Ich habe wie gesagt auch alles von Cypress verwendet bis auf den Editor! Den Code habe ich auch auf das nötigste begrenzt. Ich hab Daten, die ich mir über SPI per DMA geholt habe auf den Stick gespeichert! Allerdings hab ich keine akzeptable Geschwindigkeiten erreicht. Das schreiben auf den Stick hat ewig gedauert (für 2MB ca.8min). Wobei ich mir sicher bin, dass das Problem nicht an der SPI Seite war. Dort ging es flott! Ich hatte das Gefühl, dass das Problem bei der FAT Verwaltung lag. Aber sicher kann ich es nicht sagen! Vielleicht kannst du mir dann ja helfen bzw. wir helfen uns gegenseitig aber im Moment weiß ich nicht mehr weiter. Wenn du fragen zum Layout hast kann ich dir helfen weil da hab ich ein funktionierendes. Mfg Clemens
Ich denke das meine Daten nicht besonders groß sein werden, da die Bilder s/w sind und maximal 600x800 Pixel, wenn überhaupt. Was hast du denn für ein Layout? Ich mache morgen die Bestellung bei Reichelt für LCD usw. fertig. Anstatt einer Realtimeclock habe ich von einem Kollegen gehört das Timekeeper eine alternative wäre. Aber er meint diese Technik ist relativ alt. Ich hab mir schon einen rausgesucht, bei dem ich den freien Speicher für den Standart Header für meine Bitmap nutzen kann. Hast du irgendeine Erfahrung mit sowas? Ich brauche: Eine Uhr mit Datum (freier Speicher ist nicht verkehrt) (-gibts da auch was von Ratiofarm?-) Ansonsten nehm ich den M48T37Y der passt ganz gut an die Schnittstelle für den Externen Speicher. Und kann ich als Uhr und Speicher verwenden. Ich denke dass ich nächste woche mit dem Platinenlayout beginnen werde. Erstellen werd ich es in Eagle. Mal sehen wie lange ich brauche, hab nämlich schon lang nichts mehr damit gemacht und sind doch relativ viele Leitungen und IC's Vom Programmieren bist Du mir noch einen Schritt voraus. Ich denke mit der Software werd ich anfangen, wenn das Layout steht. Beginn Layout, Montag nächste Woche. Fragen zu deinem Problem: -Was für ein Fat benützt du? -Speicherstickgröße? -Ist Stick Partitioniert/oder leer? -Art der Datei? (wahrscheinlich trivial) -Größer der Datei? Wie hast du übrigens die 5 Volt für den USB-STick erzeugt? Der controller läuft ja mit 3,3V. Ich hab mir das noch nicht angeschaut. Weiter laufen meine ganzen anderen Bausteine mit 5V-Logik. Gibt es da ein Problem. Ich denke die anderen Bausteine müßten bei ihrer ttl-logik, die ja bei 2,0V Hi beim IMPUT erkennt, den im datenblatt mit min. 2,4V angegebenen Hi-level des Controllers erkennen. Ebenso sind die Eingänge des Controller bis 5,5V belastbar. Hast du da Irgendwelche Probleme gehabt? Das reicht fürs erste an Text :-)
Hallo Beginner, nachdem ich lange überlegt habe, auf welchem Weg ich meinen USB Host Controller realisieren soll, habe ich mich genau wie du für den CY7C67300 entschieden. Nur kurz zur Information, mein USB Host hat die Aufgabe mehrere Gamepads auszulesen, die Daten zu multiplexen und über SPI wieder auszugeben. Nun zu meinen Fragen, ich habe mir gedacht, auch ein CY4640 Starterkit anzulegen, da es immer ganz schön ist, mit einer Hardware anzufangen, wo man weiß, das sie funktioniert. Lohnt es sich? Lassen sich hiermit auch HID-Devices (also Gamepads) ansprechen, also kann ich quasi den Mass Storage Kram rausschmeißen? Unterstützt der Controller auch in system debugging oder besitzt er wirklich nur ein Bootloader? Und hast du vielleicht schon ein Eagle Symbol erstellt für den Controller und könntest es mir zur Verfügung stellen? Vielen Dank erstmal und Gruß Michael
Entschuldigung, aber ich muss meine Frage einfach nochmal hervorkramen. Wenn mir jemand anderes helfen kann, darf er dies natrülich auch tun ;-) Gruß Michael
Hallo! @beginner Sorry dass ich erst jetzt schreibe! FAT16/32 beides schon probiert! Partitioniert bzw. formatiert! Bitmap! ca. 2,1MB Mit den 5V Bausteinen dürftest du keine Probleme haben! Aber was ich gelesen habe kannst du die i2c schnittstelle nicht per software ansteuern! Habs vielleicht auch nur zu wenig genau gelesen weil ich es nicht gebraucht habe! RTC musst du im Prinzip selber entscheiden was sinnvoll ist! Ich habe bis jetzt nur mal etwas mit einer von Phillips gearbeitet! PCF8583 glaub ich war es! Ist relativ einfach zu handhaben vorausgesetzt man hat eine I2C Schnittstelle! Sonst wird es um die I2C Schnittstelle schwerer! Aber für die gibt es einige Codebeispiele hier im Forum(zwar für AVR aber kann man sicher mit ein bischen Anpassung verwenden)! @Michael! Natürlich kannst du das MSD Zeug rauskicken! Ist halt ein kleiner aufwand weil die Software doch relativ umfangreich ist! In System Debugging unterstützt er glaub ich schon bin mir aber nicht ganz sicher => Schau mal im Datenblatt! Ich habe immer UART mit printf zum debuggen verwendet! Grüße Clemens
Tach. Mein Layout ist jetzt soweit fertig. Ab Mittwoch gehts mit Softwareprogrammieren los. Kannst du mir einen Tipp geben wo mann am besten anfängt? Wenn das nicht konkret geht werde ich schon was finden, es ist eigentlich recht gut geschrieben die I2C schnittstelle brauch ich eh nicht. @Michael : Clemens hat recht-> MSD kannst du rauskicken. Aber für deine Gamepads brauchst du Treiber. Ich denk die sind nicht so kompliziert, aber wenn du sie nicht irgendwo her bekommst, wirst du sie selber schreiben müssen. Ich kenn mich nicht näher mit den Devices aus, ob es irgendwelche Standarttreiber für Gamepads gibt oder nicht, aber das CY-4640 hat meines wissens nur die MSD Treiber.
@michael nachtrag. Für deine Gamepads mußt du selber Treiber schreiben in c und die dann in dein Projekt (oder in das vorhandene) als Treiber einfügen. Wie mann das macht findet mann in den Unterlagen vom EVA Board oder im Internet auf Cypress. siehe Kapitel oder Stichwort " your_drvr.c "
Ah danke für die Information, und ich hatte immer gedacht Gamepads laufen auch unter der Klasse HumanInterfaceDevice (HID). Aber da werden dann wirklich nur Maus und Tastatur unterstützt, sehe ich das richtig? Für meine Hardware hatte ich mir jetzt überlegt, das ich ziemlich genau die Hardware des Simplified EZ-Host Mass Storage Example" übernehmen werde, nur das beide Sie's als Host geschaltet werden. Die Festplatte wird bei mir auch gestrichen. Ich habe allerdings noch ein paar Fragen: @Beginner: Wie bootest du dein Host Controller, wenn nicht über ein I2C EEPROM? nochmal @Beginner: Könntest du vielleicht dein Eagle Symbol des CY7C67300 zur Verfügung stellen, ich würde mich sehr freuen. Kann jemand abschätzen wie viel externer SRAM für ein minimalistisches Sytem benötigt wird. Im Beispiel sind 64kB 16Bit Ram angegeben. Man soll aber auch 8Bit Ram verwenden können. Habt ihr hier schon Erfahrungen? Viele Grüße Michael
@michael Poste deine Mail dann schicke ich es Dir. Mit der Speicherverwaltung bin ich mir noch nicht ganz klar. aber ich denke das der Speicher im uC selber für den Code reicht. Zusätzlich hab ich noch den Speicher vom Timekeeper. Wie ich das sehe, steht entweder in der Board.h oder .c , oder irgendwo wo noch die DIP schalter und das CPLD erwähnt werden, von welchem EEPROM gebootet werden. (siehe CY4640 User'Manual page4-12) Ich denke wenn mann denn ganzen rest von Code den man nicht braucht rauswirft, und das ist ne menge, dann sollte der Platz im Controller reichen.
Brauchst email nicht schicken. Hab datei im Beitrag mit angehängt. Ist irgendwo in dieser LIB MFG
Ich sag einfach mal besten Dank!!! Ich habe jetzt auch angefangen mein Board zu routen. Wie gesagt, ich orientiere mich dabei an dem "Simplified EZ-Host Mass Storage Example". Dabei werde ich zunächst einfach mal das RAM mit einplanen, man weiß ja nie, weglassen kann man es ja immer noch in einer späteren Version. PS: Du hattest mich ja ein wenig verunsichert, aber Gamepads gehören mit zur HID Class. Gruß Michael
Ja gamepad gehören zu HID class, aber die vorhandenen Treiber erkennen nur einen USB-MSD. Alles andere musst du dir selber schreiben, oder von woanders daszu kopieren.
Da bin ich wieder. so erster Softwareentwurf fertig. Wie hast du die software auf deinen Controller gebracht? Beide USB- SIE's sind auf Host so wie ich das sehe, und der Computer erkennt den Controller zwar als Host Controller aber nicht als Device, für welches die Treiber schon installiert sind. Ich muss jetzt noch mal das Datenblatt wälzen, aber wäre für jeden Tipp dankbar.
Habs gefunden, muss pin 31 und 30 auf high ziehen, damit er in den stand-alone mode bootet. funktioniert aber noch nicht ganz.
Wie hab ihr den Controller geladen mit eurer Software (nicht CY4640)
Ich wollte mal hören, was aus euren Entwicklungen geworden ist? Bei mir ruht das Projekt leider seitdem ich das Hardwarelayout fertig habe. Aber nun kanns weiter gehen...:-) Wie sind denn eure Erfahrungen, die ihr bislang gemacht habt? Wie Speicherintensiv ist die Firmware, also reicht das interne RAM aus oder brucht man wirklich ein externes RAM (ich weiß ist schwierig das so pauschal zu sagen, aber ich würds gerne ihne machen) Gruß Michael
Muss es einfach nochmal hochwühlen, da ich denke, dass meine Frage verloren gegangen ist ;-) Gruß Michael
Hallo, wo kann man denn dieses EVA-Board CY4640 von Cypress bestellen? Kann man mit diesem Controller auch eine MMC-Karte per USB an einen PC anschließen und diese dann als Massenspeicher unter Windows erscheinen lassen. Da auf meiner MMC-Karte meine Messdaten in Textdateien stehen würde ich diese gern direkt per PC herunterladen können.
Hallo. Kann mann, aber es gibt unter anderem bei ebay Sticks für deine MMC-Karte für unter 5. Du schiebst die karte den Stick und schon hast du einen USB-STICK! @ Michael: Ein externes Ram wirst du denk ich schon brauchen. Das das Framework schon größer ist als der interne RAM. Tipp: nimm den selben Speicher wie auf dem EVA-Board, oder einen ähnlichen mit 16 bit Datenbus. Sonst hast du die selben Probleme wie ich gerade. Womit ich bei meiner Frage wäre: HAT JEMAND AHNUNG, WIE MAN DIE FRAMEWORK DES CY4640, und MAKEFILE und LOAD_RAM AUF EINEN 8-Bit DATENBUS EXTERNEN RAM ANPASST??
Tach, bin gerade darauf gekommen, dass mein eigentliches Problem die Aufteilung des Usercodes in hi und lo ist, da ich keinen Speicher im hi bereich habe. (ab C100) jemand nen tipp wie man der makefile modifiziert, sodass sich nicht mehr den code trennt?
@ Beginner: Mein Vorhaben ist aber ein anderes:-). Ich hab hier nämlich schon einen Datenlogger herumliegen. Die geloggten Daten werden hier auf einer SD/MMC-Karte gespeichert. Jetzt will ich nur "noch" aus Bequemlichkeit meinen Datenlogger an den PC anschließen können, um mir die geloggten Daten herunterladen zu können. Das hab ich eigentlich vor. Hat schon jemand hier etwas mit Mass Storage Devices ausprobiert? Ich würde gerne mal wissen wie schwierig so etwas ist? Ich habe bis jetzt nur etwas mit den AVRs gemacht. Eine andere Möglichkeit ist, dass ich meine Messungen mit einem AT91SAM7S64 (im SHop hier erhältlich) durchführe. Für diesen gibt es ja schließlich auch die Mass Storage Treiber.
Hallo, momentan beschäftige ich mich auch mit dem Cy7c67300. Es steckt nichts konkretes dahinter nur allgemeines Intersse. Ich will mir aber das CY4640 nicht kaufen und wollte fragen ob jemand sein Layout posten kann. Vielen Dank im Voraus.
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.