Hallo, so da ich mich mal mit den ARMen einarbeiten will, habe ich mal ein Test-Board entworfen (will keins kaufen, selebr bauen macht doch auch mehr Spass ;)) für den LPC2468. Da drauf sind: am externen Bus 128k x 8 RAM, sowie ein Farb-TFT mit integriertem Controller (dieses hier: http://www.newhavendisplay.com/pdf/nhd-24-240320yf-ctxi.pdf). Dann noch ein 40poliger Stecker, um dann ne Festplatte anzuschliessen (Wird ne Notebook-Festplatte sein mit passendem Converter auf 2.5mm Raster). Ein VS1033 soll auch mit drauf, sowie ein Ethernet PHY. Nachher halt noch das Standard-Zeug: paar Taster + LEDs. Die restlichen Pins, die nicht belegt sind, werde ich einfach auf Lötpads führen, damit ich da später mal was anschliessen kann. Jetzt: - Könnten nicht die ARM-Profis hier mal das Schema anschauen und mir sagen, ob ich Grundsätzlich das Zeug richtig verdrahtet habe? Wär echt toll. - Beim Ethernet PHY habe ich einfach mal vorgesehen, dass ich da denselben LAN-Stecker verwende, der auch beim ENC28J60 zum Einsatz kommt (PulseJack, wenn ich mich recht erinnere), da ich hier noch solche Stecker hab. Passt der? Denn eigentlich sollte der Übertrager ja eine Übersetzung von 1:1 haben, mein Stecker hat aber 1:1 und 1:2.5. Könnte das trotzdem funktionieren? - Wegen dem Display und der HD: Beide haben 16 Bit breite Datenports. Bei beiden gibts keine gesonderten Output Enables / Write Strobes für das Upper und das Lower Byte. Kann ich dann den /WR einfach mit /WE vom ARM verbinden? Sollte passen, oder? Dann ist einfach jeder Zugriff 16 Bit breit, macht aber nichts. - Zum VS1033: Der bräuchte ja normal eine Frequenz von 12.288 MHz. Lt. Datenblatt gehen aber auch 12.0 bis 14.0. Deshalb habe ich den mal mit dem seben Takt verbunden, mit dem auch die CPU läuft. Kann mir das Probleme bereiten, wenn der mit 12 anstatt 12.288 MHz läuft? Soo, ich hoffe ich hab da nicht allzu viele Fehler drin. Will nämlich möglichst schnell loslegen mit Basteln ;) Grüsse Tobias
>Da drauf sind: am externen Bus 128k x 8 RAM Ich wuerde das RAM auf 32Bit Breite auslegen sonst bremst du den Prozessor aus wenn du da Programme ablaufen lassen willst. Es gibt auch RAM die haben 16Bit Busbreite. Die Datenleitungen zum IDE Busstecker wuerde ich ueber einen Buffer laufen lassen. 1. Wegen der Kabelkapazitaeten 2. Wegen eventueller 5V Signale von der Platte. Der Prozessor mag ja 5V Tolerante Eingaenge haben das RAM aber bestimmt nicht. Im Anhang ist mein LPC2214 Board Gruss Helmi
Hoi Helmi, danke erstmal. Anscheinend liefern moderne Notebook-Festplatten annähernd 3V-Pegel am IDE-Anschluss (habs erst selbst nicht geglaubt). Die ATA-Spezifikation erlaubt zwar maximale Ausgangspegel von 5.5V, aber ich hab bis jetzt bei 3 Platten gemessen - die höchste Ausgangsspannung war 3.5V. Meinst du nicht, dass das passen könnte? Ansonsten müssen da wohl 2x 74....245 hin oder? Das habe ich mir eben auch schon überlegt, aber ich war mir nicht sicher, mit welchem Signal ich die Datenrichtung des Puffers umschalten soll (74..245 hat ja nur 1x Eingang DIR). Das RAM ist nur dran, um den externen Bus Controller mal ein bisschen zu testen. Wills nur als Datenspeicher nutzen ;) Um z.B. MP3-Daten von der Platte zwischenzuspeichern und die dann per DMA dem VS1033 zu geben. Aber werde das trotzdem gleich auf 16 Bit erweitern ;) Macht dann auch mehr Spass mit grösserem RAM :D Grüsse
Ich habe in meiner Schaltung einen 74AC16245 verwendet also quasi einen doppelten 74xx245. Der kann mit 3.3V Betrieben werden ist aber 5V Tolerant von daher waere das sicherer und von der geringeren Busbelastung ganz zu schweigen. Den DIR Eingang habe ich mit der Readleitung umgeschaltet. >Aber werde das trotzdem gleich auf 16 Bit erweitern Richtig ! Der Apetitt kommt beim Essen wie man so schoen sagt. Ich habe da bei mir 256 * 16 RAMS drin. Aufpassen wenn du die volle geschwindigkeit aus dem Prozessor rausholen willst muessen die ganz schoen schnell sein. Ich habe die hier verbaut: http://www.alldatasheet.com/datasheet-pdf/pdf/99809/SAMSUNG/K6R4016C1C-C.html Wenn du RAM genug hast kannst du ja von der Festplatte Programme nachladen. Und ausserdem RAM kann man nie genug haben. Bei mir sind es 1MByte Gruss Helmi
Hallo, Tobias Plüss schrieb: >> Der bräuchte ja normal eine Frequenz von 12.288 MHz. Lt. >> Datenblatt gehen aber auch 12.0 bis 14.0.Deshalb habe ich den mal mit >> dem seben Takt verbunden, mit dem auch die CPU läuft. Kann mir das >> Probleme bereiten, wenn der mit 12 anstatt 12.288 MHz läuft? Könnte sein, dass die MP3's dann langsamer abgespielt werden. Warum taktest du die CPU nicht auch mit 12,288MHz? Ich denke, dass wird ihr nichts ausmachen. Gruß Udo
@Helmi: > Wenn du RAM genug hast kannst du ja von der Festplatte Programme > nachladen. Das wär' dann so ne Art DOS, was? Klingt ziemlich interessant. Fast wie n richtiger PC! :D Weisst du was? Ich werde das genau so machen - 512k x 16 mit 55 ns Zugriffszeit (solche SRAMs habe ich hier noch massig rumliegen - BS62LV4006). Schnellere hab ich nicht (und sind wohl dann auch Sauteuer)... @Udo: Ich hab keinen gescheiten Quarzoszillator gefunden mit 12.288 MHz.... Quarz würd' ich nur ungern verwenden, da die doch relativ empfindlich sind. Ausserdem komme ich dann mit 12.288 MHz nicht mehr genau auf die max. 72 MHz CPU-Takt, aber ich möcht' den ARM schon mit maximaler Geschwindigkeit takten.
>Schnellere hab ich nicht (und sind wohl dann >auch Sauteuer)... nicht teuer nur schlecht zu bekommen http://cgi.segor.de/user-cgi-bin/sidestep2.pl?foto=1&Q=K6R4016&M=1 >Das wär' dann so ne Art DOS, was? Klingt ziemlich interessant. Fast wie >n richtiger PC! :D Weisst du was? Ich werde das genau so machen Genauso ein rudimentaeres DOS. Und wenn du den Graphic Controller am laufen hast auch noch ein bisschen "FENSTERCHEN" seh schon mal einen Port fuer die MAUS vor und die Tastatur >Quarz würd' ich nur ungern verwenden, da die doch relativ empfindlich sind. Damit habe ich bisher keine Problem gehabt. Und ich habe schon viele Quarzoszillatoren am laufen gebracht. Sehe einfach im Layout die beiden C's und den Quarz mal vor und den Oszillatorbaustein. Dann kannst du dir immer noch ueberlegen was du einsetzt. Gruss Helmi
Hey Helmi, kennst du den VS1033 denn? Oder vielleicht einen seiner 'Brüder' ?
Nein tut mir leid Tobias mit den Sachen habe ich bisher noch nichts zu tuen gehabt. Da kann ich dir nichts zu sagen. Noch eine andere Sache. Ohne mich jetzt in das Datenblatt vom LPC2468 genauer anzusehen. Beim LPC2214 und auch bei den ARM CPU von Atmel gibt es sogenannte Bootstrap Pins. Damit kann man festlegen in welcher Betriebsart der Prozessor booten soll. Ob direkt ins Programm gesprungen werden soll oder in einen speziellen Bootstraploader. Bei mir sind das die beiden PINS links oben. Mach dich in dem Punkt mal im Datenblatt schlau ob der LPC2468 nicht auch so was hat sonst koennte das ein kleines Problem werden. Der LPC2214 liesst die beim RESET ueber den Datenbus mit ein . Deshalb auch die Widerstaende dort in reihe zum Jumper. Gruss Helmi
Helmut, hmm von Bootstrap-Pins habe ich bisher noch nichts gelesen. Ich will zwar nicht behaupten, dass ich das Manual 100%ig gelesen habe, aber doch die wichtigsten Teile ;) Also ich weiss, dass mit dem Pin PORT2.0 bei Reset ausgewählt wird, ob der Bootloader für RS-232 aktiviert wird oder ob das Programm im FLash gestartet wird. Ist P2.10 bei Reset auf High, dann kann man über RS-232 Programme ins Flash laden. Bei P2.10 = L wird das Programm, was im Flash ist, gestartet. Meinst du sowas? Die Pins habe ich über einen Transistor-Pegelwandler mit der RS-232 Seite verbunden, dann kann man bequem vom PC her P2.10 umschalten und Programme runterladen und dergleichen. Aber ich habe sowieso nicht vor, das zu tun, denn gestern ist mein Segger J-Link gekommen. Damit sollte ein Flash-Download über JTAG möglich sein ;)
>Meinst du sowas? Genau das meine ich. Man sollte sowas ja vorsehen . Im Prinzip kostet es ja fast nichts. Aber wenn du ueber den J-TAG Port gehst ist das ja nicht so wichtig. Noch was ich sehe gerade der LPC2468 unterstuetzt SDRAM. Wenn du nun da mal 16MByte SDRAM dran machen wuerdest dann koenntes du auch sowas wie ucLinux darauf starten. Nur so ein Gedanke. Gruss Helmi
> Wenn du nun da mal 16MByte SDRAM dran machen wuerdest jau, das wär geil. Hab ich auch schon darüber nachgedacht. Aber es gab hier mal einen Thread, wo jemand auch sowas tun wollte. Dort wurde dem Typen allerdings vom SDRAM abgeraten, da dies nicht geeignet sei, wenn man noch nie was damit gemacht habe. Ich habe auch keine Ahnung von SDRAMs - das einzige was ich darüber weiss, ist dass man einen Refresh benötigt ;) Aber da gibts ja hunderte verschiedener Refresh-Arten. CAS-Before-RAS-Refresh und solches Zeug. Und dann noch 'asynchronous Burst Mode' und 'asynchronous Burst Mode', sowie SDRAMs mit self-refresh und solche ohne. Für mich schaut das nach ner halben Wissenschaft aus... Ich glaube, die Wahrscheinlichkeit, dass es funktioniert, ist relativ klein ;) Hab auch noch nie was mit SDRAM gemacht. Aber passende Chips habe ich hier rumliegen (naja, ich kann nicht 100%ig beurteilen ob sie wirklich passen :p hab ja keine Ahnung^^), die da wären: GM72V161621CT10K (siehe http://www.alldatasheet.com/datasheet-pdf/pdf/108048/ETC/GM72V161621.html) oder aber IS42S16160B7 (http://www.alldatasheet.com/datasheet-pdf/pdf/153628/ISSI/IS42S16160B.html)... Was meinst du? Gruss
Na da "Ein Fall fuer 2" aus ist. Ich habe da auch noch mal ein Board mit dem AT91SAM7SE512 gemacht und da habe ich SDRAM dran. Als SDRAM habe ich SAMSUNG K4S281632F genommen. Da war an fuer sich kein Problem. Das wird fast genauso angeschlossen wie normales RAM. Um die ganzen anderen Sachen kuemmert sich ja der Controller selber. Da must du nur noch ein paar Register einstellen und das wars auch schon. Dann hat man 16MByte. Vielleicht einfach den Platz dafuer vorsehen zusaetzlich zum normalen RAM . Das einzige was zu beachten ist Leiterbahnen so kurz wie moeglich. Wolltes du die Platine selber machen oder machen lassen ? Gruss Helmi
> Na da "Ein Fall fuer 2" aus ist. :D du liest fleissig mit, was? ;) auch gesehen? > Da must du nur noch ein paar Register einstellen und > das wars auch schon. Ist das wirklich so einfach? :o > Wolltes du die Platine selber machen oder machen lassen ? Also Layout wollte ich selber machen (ist wohl auch nicht ganz trivial bei den hohen Taktraten fürs SDRAM...). Selber ätzen kann ich gar nicht, ich dachte an den Conrad Ätzservice... Leiterplatte darf ruhig 4 Layer haben, der Preis bei Conrad ist ja relativ günstig und es wird auch einfacher mit 4 Layern. Bisher habe ich allerdings nur relativ simple Leiterplatten gemacht (zB. mit nem 12 MHz 8051 :p). Fürs Layout setze ich Altium Designer ein, der unterstützt einem dann schon bei z.B. impedanzkontrolliertem Layout und man kann auch dafür sorgen, dass er z.B. alle Datenbus-Leitungen gleich lang macht. Kann ich dir ein Bild von meinem Layout schicken, wenn es fertig ist? Du scheinst ein rechter Profi zu sein ;)
>:D du liest fleissig mit, was? ;) auch gesehen? Nöö Ich habe dich nur in dem anderen Thread gesehen. >Ist das wirklich so einfach? :o Wenn du da schon eine 4 Lagen Leiterkarte draus machen willst sollte das elektrisch kein Problem sein. Dann sind die Bahnen ja alle kurz und du hast ein GND b.z.w. VCC Layer. Aber dann wie eben schon gesagt den extern Bus zur Platte bitte mit Treiberbaustein sonst wird das da nichts. Und die paar Register setzen ist ja nun auch kein Problem. Ich habe es ja auch geschafft mit einer selbstgemachten 2 Layer karte. Was du noch vorsehen koenntest ein Port fuer SD Speicherkarten und eine Uhr. >Kann ich dir ein Bild von meinem Layout schicken, wenn es fertig ist? Du >scheinst ein rechter Profi zu sein ;) Sicher kannst du das. Gruss Helmi
Coole Sache. Treiber hab ich für die Platte jetzt auch eingebaut, hab da 2x 74LCV245 genommen (hab noch n paar gefunden in meinem 'Lager'). > mit einer selbstgemachten 2 Layer karte Geht das? Ich meine, gibt das nicht extrem lange VCC und GND-Bahnen? Hast wohl von Hand geroutet oder? Ich muss nämlich eingestehen: Normalerweise mach ich das auch so. Aber häufig komme ich an einen Punkt, wo ich nicht mehr weiter weiss... da lass' ich dann den Autorouter laufen. > eine Uhr. Ist im ARM drin ;) wird über einen 0.47 F Goldcap versorgt. > Sicher kannst du das du bekommst dann mal Mail von mir ;) (oder ICQ wäre auch machbar...) wird aber wohl noch n Weilchen dauern bis ich so weit bin. Ich geh jetzt nämlich erst mal pennen ;) Nen schönen Abend wünsche ich allerseits! Grüsse & gute Nacht
Hallo Tobias, kann Dir den Vs1033 nur empfehlen, habe hier jede Menge Samples von VLSI. Sehr gute Qualität die Dinger, nur die Spannungsversorgung muss anständig konstruiert werden (am besten siehe die Application Notes von VLSI). Wünsche Dir viel Spass beim Löten ;-) Gruss
Hoi fubu1000, bekommt man als privat gut Samples von denen? (VLSI) Ich hab' nämlich keine Kreditkarte, und andere Zahlungsmöglichkeiten werden von denen im Shop gar nicht erst akzeptiert.... Gruss
Udo wrote:
> Könnte sein, dass die MP3's dann langsamer abgespielt werden.
Halbwissen ist bekanntlich das gefährlichste Wissen. Wie das Datenblatt
schon sagt, kann der Chip zwischen 12 und 13 MHz Takt verarbeiten. Damit
die Sounddaten in der richtigen Geschwindigkeit abgespielt werden,
stellt man beim VS1033 selbst die Taktrate, mit der er selber getaktet
wird, ein.
Seite 35 im Datenblatt, bits CLOCKF
Habe das alles nur kurz überflogen, dennoch zwei Anmerkungen: 1. Der VS1033 etc. hat eine unterdurchschnittliche Klangqualität. Das S/N liegt bei erbärmlichen 70dB. Mein Vorschlag: Nimm den 1053 und packe einen DAC dahinter. Selbst ein CS4334 (SO8) ist um Klassen besser. 2. Falls du den LPC dekodieren lassen willst, brauchst für das richtige I2S Timing einen 11.2896MHz Takt. Bei 12.288MHz landest du bei 48Khz, ich nehme aber an das du 44.1kHz haben willst. Der LPC würde damit auf etwas über 67MHz kommen.
@let Danke für die Info. Kann das jemand sonst noch bestätigen, dass der VS1033 so schlecht ist? @let: Den LPC das MP3 decodieren zu lassen ist sehr verlockend, aber ich wage zu bezweifeln, dass ich da nebenher noch viel anderes machen kann. Ausserdem wäre das wieder sehr aufwendig, sowas zu programmieren... MP3 decodieren stelle ich mir nicht so simpel vor. @Simon du meinst also das passt problemlos mit 12 MHz?
Tobias Plüss wrote: > @Simon > du meinst also das passt problemlos mit 12 MHz? Absolut. Ich betreibe hier einen VS1011 mit 12.5MHz. Wobei ich gerade im Datenblatt vom VS1033 sehe, dass die Takteinstellung anders funktioniert als im VS10x1.. Auf Seite 39 steht die Beschreibung. Müsste man mal durchrechnen ob das geht.
Jup, passt aber: SC_FREQ = (12000000 - 8000000) / 4000 = 1000
> Ich hab keinen gescheiten Quarzoszillator gefunden mit 12.288 MHz....
Google mal nach "PETERMANN", die haben alles, was Du brauchst, und sind
echt o.k.
MP3 dekodieren und Rechenzeit: Ich meine gelesen zu haben das der Helix-Dekoder theoretisch 55MHz braucht. Mir ist erst jetzt aufgefallen das du noch ein TFT betreiben willst. Unabhängig vom Auwand der Softwareanpassungen für den Dekoder und dem I2S Geraffel (DMA!) würde ich deshalb den VS verwenden. Der VS1053 hat noch den Vorteil das er AAC dekodieren kann (ungeschützte Itunes Dateien). Anscheinend unterstützt das Display im 'System' Mode nur das 18Bit Farbformat. Das wären dann ~170kB die für ein Bild übertragen werden müssen. Wenn man dann noch bedenkt das der TFT-Controller keinen Blitter hat (dafür hat er auch zu wenig RAM), dürfte der LPC damit schon gut beschäftigt sein.
Achja, wegen dem S/N des VS: Das steht im Datenblatt. Ich habe den VS1011E mal an vernünftigen Standlautsprechern betrieben. Das Teil klingt furchtbar. Überhaupt kein Vergleich zum MAS3507 + DAC3550. Das betrifft aber nur den internen DAC. Ansonsten bin ich mit den VLSI Teilen zufrieden.
@ Frank B.: Danke, schaut gut aus. Werde mal schauen ob sich da was machen lässt ;) @ let: Was meinst du für einen 'System'-Mode? Das Displaykann auch auf 16 Bit Farbe eingestellt werden... meine ich.
>Coole Sache. Treiber hab ich für die Platte jetzt auch eingebaut, hab da >2x 74LCV245 genommen (hab noch n paar gefunden in meinem 'Lager'). Die sollten auch gehen. Sind auch 5V Tolerant am Eingang >> mit einer selbstgemachten 2 Layer karte >Geht das? Ich meine, gibt das nicht extrem lange VCC und GND-Bahnen? >Hast wohl von Hand geroutet oder? Ich muss nämlich eingestehen: >Normalerweise mach ich das auch so. Aber häufig komme ich an einen >Punkt, wo ich nicht mehr weiter weiss... da lass' ich dann den >Autorouter laufen. Autorouter kommt mir nicht ins Haus. Das geht nur wenn man von Hand routet. Gruss Helmi
Hey Helmi, kannst mal ein hochauflösenderes Bild hochladen? würd mich interessieren wie die LP aus der Nähe ausschaut.
Hallo, @let: Also bei mir ist der Sound vom Vlsi 1002 im Auto betrieben und dem 1033 an einer Soundanlage super. Kann es sein das deine Spannungsversorgung nicht optimal ist (nicht böse nehmen)? Hatte zu Anfangs im Auto auch nen rauschen, aber nach Anpassung klingt das Super. Vergleichbar mit nem IPod von nem Freund. @Tobias: Ja Samples sind gut zu bekommen von VLSI als Student, habe denen nur kurz beschrieben was ich schon damit gemacht habe(siehe oben) und das ich Student bin an ner HochSchule und am nächsten Tag haben die mir freundlicherweise gleich jede Menge Samples geschickt. Also ich bin von der Klangqualität angetan ! GRUSS
Achso schalte nen TDA 7318 oder so dahinter wegen dem Bass, der ist sonst nen bissl schwach. Ausserdem nicht den GBUF PIN benutzen, der ist nur für Batteriebetriebene Systeme gedacht (der macht den Sound echt schwach). GRUSS
und nochmal ich ;-) Kann dir wenn du willst nen VLSI (1003 oder 1033) kostengünsitig abtreten. Habe davon jede Menge :-/ Ist zwar eigentlich nicht rechtens, aber wir drücken da mal nen Auge zu ;-) Gruss
Fabian Ostner wrote: > Ist zwar eigentlich nicht rechtens, aber wir drücken da mal nen Auge zu > ;-) Ist nicht rechtens, aber DU drückst ein Auge zu? Sollte das nicht lieber der machen, der möglicherweise Rechtsansprüche stellen könnte? (Also VLSI wahrscheinlich) :P
Hast ja Recht Simon , werde vorher bei VLSI anfragen, falls Interresse bei Tobias besteht. Gruss
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.