Forum: Mikrocontroller und Digitale Elektronik NXP verschenkt ARM-Chips


von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Omega G. schrieb:
> Also ich gebe die Double Layer Idee auf. Ich kann einen Prototypen
> machen, bei dem ich die noch unbelegten Pins auf Vias legen werde.

Also mach eine 4-Layer Platine und verwende einen 32bit SDRAM

Dan dreh noch den SDRAM um 90° und diu kannst über 80% der Leiterbahnen 
WAAGRECHT verlegen und auch WESENLICH kürzer machen...

Also ich habe jetzt in weniger als 30 Minuten eine testplatine auf EAGLE 
runtergehackt und nur mal den LPC2478 sowie ein mit verfügbares SDRAM 
drangehängt...  Das Autorouting hat nicht mehr als 5 Sekunden 
gedauert...

> Für eine spätere Version wäre ein 4 Lagen Platine nötig. Kann jemand
> sowas in Eagle erstellen? Oder hat jemand eine passende Bibliothek für
> diesen Controller in Eagle 4.x erstellt?

Eagle 4?  Das ist doch Steinzeit...   Habe hier 5.6pro.

> Ich mache für heute gleich Feierabend...

Und ich geh ins bett...

Muß morgen in den Copyshop und mir 6 dutzend PDF's mit Specs 
ausdrucken...

Grüße
Michelle

EDITIERT:  Uups... es ist bereits morgen...

von Omega G. (omega) Benutzerseite


Lesenswert?

Morgen bzw. nach'm schlafen gehts weiter. Dann ätze ich mein krüppeliges 
Board und setze was neues auf mit 32 Bit RAM.

von wartenderGnom (Gast)


Lesenswert?

UPS Versandbestätigung ist "gestern" eingetroffen, soll heute ankommen; 
wenn ich nicht da bin; ;-) hat auch sieben Wochen und paar zerqutschte 
gedauert.
Aber ich bin froh, dass überhaupt etwas kommt, da ich überall kein 
Projekt, kein Design etc. eingetragen hatte. und bei Company "for 
private use only". --- also freu --- danke nxp

An einer Platine (für 2478) (und Display, SDRAM) wäre ich auch 
interssiert.
Muss ich mich wohl mal anmelden.

meinte natürlich LQFÜ und nicht TQFP in den anderen Posts

von Tobias P. (hubertus)


Lesenswert?

Mal eine Frage, so rein aus Neugier:
einige haben hier schon Interesse bekundet an einer Sammelbestellung 
Leiterplatten für den 2478er.
Frage: Was sollte denn auf einer solchen Platine alles mit drauf sein?
Allenfalls würde ich ein solches Board machen. Vielleicht wäre auch das 
Board, dessen Schema ich gestern hochgeladen habe, interessant? vllt. 
mit gewissen Erweiterungen oder so.
Sowas würde ich schon machen.
Man könnte sich überlegen, eine 4lagige Platine zu machen; beim PCB-Pool 
kosten die auch nicht mehr alle Welt, wenn man eine gewisse Menge 
einkauft.

von blup (Gast)


Lesenswert?

Meine Versandbestätigung auch da :)
Bestellt vor 3,5 Wochen.

Wer hätte ein Interesse an einem günstigen PC1768 Eval-Board?
Angedacht ist ein LCD mit QVGA, USB-Buchse, Sub-D9 für CAN + UART, RJ45 
und JTAG-Stecker für nen günstigen Adapter (kA noch welchen genau).

Das würde ich zu Selbstkosten in der Ukraine entwickeln und produzieren 
lassen. Für mich ist das einfach ein Test des künftigen Personals + 
Fertigungspartners. Nur macht das ganze natrülich keinen Sinn für 2-3 
Boards :) Ab 20 etwa würde ich das machen (lassen).

von xtx (Gast)


Lesenswert?

sobald ich meinen 2478 in den händen halte hätte ich auch 
interesse....ich bräuchte usb, sdhc und ethernet ;-)

von Tobias P. (hubertus)


Lesenswert?

> ich bräuchte usb, sdhc und ethernet ;-)

Das gehört zum Standard ;-)
Mal ne Frage wegen dem USB: lässt sich das denn sinnvoll einsetzen? Ich 
meine, wenn du das USB-Interface des LPC2478 verwenden willst, musst du 
ja eh eine Vendor ID und eine Product ID haben (oder irgendwie so), und 
ausserdem musst du dann noch einen Treiber für Windows schreiben, da 
sich die USB-Schnittstelle sonst nicht ansprechen lässt.
Lohnt sich der Aufwand bzw. ist es überhaupt machbar?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Mal eine Frage, so rein aus Neugier:
> einige haben hier schon Interesse bekundet an einer Sammelbestellung
> Leiterplatten für den 2478er.
Habe ebenfalls Interesse.

> Frage: Was sollte denn auf einer solchen Platine alles mit drauf sein?
Ethernet
FPGA ist ebenfalls interessant
USB-Ports (Client / Host)
RS232  USB über FT232  CAN
SD/microSD
(Anschluss für LCD)

Also eigentlich alles, was der 2478 so bietet.
Jedoch keinen zusätzlichen Schnickschnack wie Taster, Leds, Drehgeber, 
Kaffekocher, ...
Sowas kann man extern dranhängen.

D.h. kein Alles-drauf-Experimentierkasten, sondern ein universelles 
Prozessorboard mit dem notwendigsten. Sinnvolles (Ethernet/USB...) 
sollte aber mit drauf.

Ich möchte damit den Prozessor austesten, also alles mit machen können, 
was er bietet.

Bei Ports mit Mehrfachbelegung, sollten die Varianten entweder per 
Jumper oder über den FPGA umstellbar sein.

Ach ja; alles so klein wie möglich.
SMD für alle Bauteile ist kein Problem. Jedoch kein BGA(!).
Bitte für Hobbybaster günstig beschaffbare Bauteile.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
>> ich bräuchte usb, sdhc und ethernet ;-)
>
> Das gehört zum Standard ;-)
> Mal ne Frage wegen dem USB: lässt sich das denn sinnvoll einsetzen?
Ja

> Ich meine, wenn du das USB-Interface des LPC2478 verwenden willst, musst du
> ja eh eine Vendor ID und eine Product ID haben (oder irgendwie so),
Im Privatbereich kann man sich irgendeine von einem anderen Gerät klauen 
oder sich irgendeine aussuchen, die nicht bereits durch einen 
installierten Treiber belegt ist.

> und
> ausserdem musst du dann noch einen Treiber für Windows schreiben, da
> sich die USB-Schnittstelle sonst nicht ansprechen lässt.
> Lohnt sich der Aufwand bzw. ist es überhaupt machbar?
Es gibt nicht nur Windows. Ich arbeite unter Linux/Mac. LibUSB ist da 
dein Freund.

von Matthias N. (vbchaos)


Lesenswert?

Mein Sample ist ebenfalls endlich auf dem Weg.

Andere Frage: Ich hab mit dem LPC2388 viel in meinem letzten Job zu tun 
gehabt, und hab mir deswegen auch mal mein eigenes Board entworfen. Mit 
n paar LEDs, displays, USB, JTAG, Display und ner Menge Pinouts fuer 
spaetere Erweiterungen. Das Board laeuft auch, soweit ich es testen 
konnte. Controller is via Flashmagic erreichbar. Aber ich hab keine 
Ahnung, wo man standard linker files und Startup Codes herbekommt. Das 
Projekt damals im Job hab ich uebernommen, deswegen bestand das alles 
schon. Ich hab mich damals so an die Yagarto-Umgebung mit Eclipse 
gewoehnt, dass ich das gerne weiterhin benutzen will.
Hat da jemand ne Idee?
Danke schonmal

von Tobias P. (hubertus)


Lesenswert?

Christian,
also bei dem mit den Tastern, LEDs und Kaffeekochern stimme ich dir zu. 
Allerdings würde ich sagen ist man immer mal froh, wenn vielleicht eine 
oder zwei LEDs montiert sind, die man blinken lassen kann, und 
vielleicht ein einzelner kleiner Taster, um schnell was zu testen oder 
so. Dann kann man gleich los legen, ohne vorher extern was dran basteln 
zu müssen.... Siehe mein Board. Ich habe da 4 Tasten mit dem MC 
verbunden (hardwaremässig entprellt), und 2 mit dem FPGA. Die kosten 
nix, und brauchen kaum Platz... Auch eine LED für Power oder Reset oder 
so ist immer mal gut. Also ich würde sicher sowas einplanen.
Wie stellst du dir ein Interface nach aussen vor? Einfach alles auf eine 
grosse Stiftleiste raus geführt, oder wie?

von Christian H. (netzwanze) Benutzerseite


Angehängte Dateien:

Lesenswert?

Tobias Plüss schrieb:
> Christian,
> ... nix, und brauchen kaum Platz... Auch eine LED für Power oder Reset oder
> so ist immer mal gut. Also ich würde sicher sowas einplanen.
Gegen einen dezenten Einsatz derselben habe ich nichts. Nur kein Board, 
wo alles drauf ist.

> Wie stellst du dir ein Interface nach aussen vor? Einfach alles auf eine
> grosse Stiftleiste raus geführt, oder wie?

Eventuell im PC/104-Formfaktor:
http://de.wikipedia.org/wiki/PC/104
http://commons.wikimedia.org/wiki/Category:PC/104?uselang=de
http://www.pc104.org/technology/pc104_tech.html

Zumindest etwas abgewandelt, damit Standard-PC/104-Karten nicht passen. 
Damit ist das ganze dann stapelbar und man kann sich mit passenden 
Zusatzkarten ein kompaktes Würfelchen zusammen bauen.

Leiterplattengröße von 90,17 mm x 95,89 (PC/104-Standard) oder ähnlich.

Die Anschlussleisten sind dann nach oben Buchsenleisten und nach unten 
Stiftleisten. Spezialanschlüsse (USB, RS232, microSD,...) zu den Seiten 
raus.
Besser gewinkelte Stiftwannen anstatt Stiftleisten (Verpolungsschutz).

von Tobias P. (hubertus)


Lesenswert?

Diese PC104-Boards sehen cool aus. Genauso machen wir das auch!
Aber ich bezweifle, dass das, was ich eingeplant habe, auf eine solch 
kleine Karte passt - immerhin, der LPC ist nicht klein, dann kommt ein 
Flash dazu, sowie SDRAM. Dann noch Ethernet, dann noch USB ... das wird 
eng. Ich würde Europakarten machen, was meinst du?
Das mit diesen kombinierten Buchsen-/Stiftleisten erscheint mir auch 
eine gute Idee. Das dumme ist nur: Wenn du keiin Zusatzboard hast, dann 
ragen unten diese Stifte raus, und man kann die Leiterplatte nicht so 
gut irgendwo hin legen. MAn könnte sich vielleicht darauf einigen, dass 
der Basis-Rechner nur eine Buchsenleiste hat, und Zusatzboards werden 
dann mittels dieser Stift-/Buchsenleisten oben drauf gesteckt.

> Nur kein Board, wo alles drauf ist.

Das ist auch nicht das Ziel, denn es wird immer genau das, was man 
braucht, eben NICHT drauf sein.
Aber ich denke, so sachen wie Ethernet und RS-232 sollten vorhanden 
sein, erstens damit man gleich loslegen kann mit experimentieren, und 
zweitens weil es vielleicht nicht so klug wäre, diese Highspeed-Signale 
über solch lange Stiftleisten zu führen.

Was meinen die anderen dazu?

von wartenderGnom (Gast)


Lesenswert?

mir reicht auch der Standard (SDRAM, usb, sdhc, ethernet, lcd)

von Tobias P. (hubertus)


Lesenswert?

> mir reicht auch der Standard (SDRAM, usb, sdhc, ethernet, lcd)

Klar, aber es ist auch doof, wenn du mal z.B. einen Schrittmotor 
anschliessen willst, und nirgends irgend einen GPIO oder sonst einen Pin 
hast, wo man was anschliessen kann. Oder?
Deshalb muss irgendwo noch eine Stiftleiste sein, damit man 
Erweiterungen machen kann. Die kostet nix, und benutzen muss man sie 
auch nicht, wenn man nicht will ;-)

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Aber ich bezweifle, dass das, was ich eingeplant habe, auf eine solch
> kleine Karte passt - immerhin, der LPC ist nicht klein, dann kommt ein
> Flash dazu, sowie SDRAM. Dann noch Ethernet, dann noch USB ... das wird
> eng.
Schon an zweiseitiger Bestückung gedacht? Im Hobbybereich sicherlich 
kein Problem.

> Ich würde Europakarten machen, was meinst du?
Naja, wenn es kleiner geht, um so besser. 100x100 sollte das Maximalmaß 
sein. Wenn es nicht passt, besser eine Huckepackkarte (zB Ethernet). Wer 
das nicht braucht, kann sie ja weglassen.

> Das mit diesen kombinierten Buchsen-/Stiftleisten erscheint mir auch
> eine gute Idee. Das dumme ist nur: Wenn du keiin Zusatzboard hast, dann
> ragen unten diese Stifte raus, und man kann die Leiterplatte nicht so
> gut irgendwo hin legen.
Man muß ja nicht die Buchsenleisten mit den langen Stiften verwenden. 
Dann schaut nach unten nichts raus.

> MAn könnte sich vielleicht darauf einigen, dass
> der Basis-Rechner nur eine Buchsenleiste hat, und Zusatzboards werden
> dann mittels dieser Stift-/Buchsenleisten oben drauf gesteckt.
Auch Ok.

Ach ja. Alles was mit Versorgung (Schaltregler) zu tun hat, kann auch 
gut auf ein Extraboard.

von Omega G. (omega) Benutzerseite


Lesenswert?

Wie wäre es so:
LAN, USB, SDRAM, evtl Flash, SD, LCD on Board und ansonsten GPIOs auf 
Stiftleisten.

P.S.: Wenn jemand anderes so ein Layout machen will, will ich mich nicht 
vordrängen!

von Tobias P. (hubertus)


Lesenswert?

Christian,
doppelseitige Bestückung ist zwar kein Problem, aber ich möchte das 
soweit als möglich vermeiden. Denn dann hat man halt wieder das Problem, 
dass auf der Unterseite auch Komponenten sind, deren Pads dann beim 
Routen im Weg sind - Dann wird es auch mit 4 Lagen nicht mehr so 
einfach, wenn beide Seiten voll sind.

100 x 100 - nicht schlecht, aber sicher nicht ganz einfach ;)
Ich werde es einfach mal versuchen. Vielleicht auch 100 x 80, das wäre 
halbes Europaformat, das passt dem LP-Hersteller vielleicht besser.
Mal schauen - ich werds einfach versuchen, so klein wie nur irgend 
möglich zu machen.
Die Spannungsversorgung wollte ich bei meinem Board eigentlich mit drauf 
haben - wie schnell hat man vergessen, dass das Board nur 3.3 Volt 
verträgt. Wenn man dann das 24 Volt Schaltschranknetzteil anschliesst, 
raucht's ;-)
Ich würd gerne, wenn das geht, das Board mit 12..24 Volt versorgen 
können.

von Tobias P. (hubertus)


Lesenswert?

Omega,
> P.S.: Wenn jemand anderes so ein Layout machen will, will ich mich nicht
> vordrängen!

Ich sage nicht, dass ich es unbedingt machen WILL, ich sage nur, dass 
ich eh eins am machen bin :D Und da einige Interesse zu haben scheinen, 
prüfe ich, was ich an meinem Entwurf noch ändern / hinzufügen könnte, 
dann kann ich euch gerne Leiterplatten geben.
Wenn du auch Layouten willst, hindere ich dich sicher nicht daran, das 
hat nichts mit vordrängen zu tun! :-)

von Omega G. (omega) Benutzerseite


Lesenswert?

So meine ich das auch nicht! Du kannst das gerne machen! ich bin auch 
gespannt was du machst! An deiner Platine fehlt mir nur das Display und 
stört mich der FPGA, ansonsten will ich ja ähnliches.

Ich habe jetzt ein 32 Bit SDRAM gefunden, W986432DH-6, ich denke andere 
32 bitter haben gleiches Pinout... Ich werde mal prüfen wie es sich mit 
einem 32 bit SDRAM layouten lässt.

von Tobias P. (hubertus)


Lesenswert?

Omega,
meine Platine war auch ursprünglich für den 2468er ;-)
Aber das lässt sich schnell ändern. Ausserdem weiss ich noch nicht, was 
ich mit dem Display machen soll... erstens müsste es eines sein, wo ein 
Datenblatt dazu erhältlich ist. Pinbelegung, mechanische Abmessungen 
usw. Dann wäre es gut, wenn man dazu auch den passenden FFC-Stecker 
irgendwo beziehen könnte. Das Display müsste man natürlich auch irgendwo 
kaufen können und so weiter. Das waren so die Gründe, warum ich bisher 
kein solches Display eingesetzt habe.
Aber offenbar scheint ja Michelle da was am Organisieren zu sein, dann 
sieht die Sache schon wieder anders aus ;-)

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
>> ich bräuchte usb, sdhc und ethernet ;-)
>
> Das gehört zum Standard ;-)
> Mal ne Frage wegen dem USB: lässt sich das denn sinnvoll einsetzen?

Selbverständlich...

> Ich
> meine, wenn du das USB-Interface des LPC2478 verwenden willst, musst du
> ja eh eine Vendor ID und eine Product ID haben (oder irgendwie so)

JEDER USB-Chip hat eine voreingestellte VID/PID die mit dem Hersteller 
des Chips übereinstimmt.

ABER, da es ARM chips sind und mit Linux funktionieren, kannste die 
VID/PID im USB-Gadget-Treiber wunsch einstellen nach.

, und
> ausserdem musst du dann noch einen Treiber für Windows schreiben, da
> sich die USB-Schnittstelle sonst nicht ansprechen lässt.
> Lohnt sich der Aufwand bzw. ist es überhaupt machbar?

Hä???  Wie währe es mit lesen der Doku?
Die Treiber (genaugenommen Sourcecodes) gibt es von NXP kostenlos.

However,  --  Windows interessiert mich nicht!

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Ethernet
> FPGA ist ebenfalls interessant
> USB-Ports (Client / Host)
> RS232  USB über FT232  CAN

???  --  Wieso willste für die RS232 über einen FT232 gehen?
Der LPC2478 hat zwei UARTS wofür du lediglich einen MAX232 benötigst.

> SD/microSD
> (Anschluss für LCD)
>
> Also eigentlich alles, was der 2478 so bietet.
> Jedoch keinen zusätzlichen Schnickschnack wie Taster, Leds, Drehgeber,
> Kaffekocher, ...
> Sowas kann man extern dranhängen.

:-)

> Ach ja; alles so klein wie möglich.
> SMD für alle Bauteile ist kein Problem. Jedoch kein BGA(!).
> Bitte für Hobbybaster günstig beschaffbare Bauteile.

Dann eben TQFN  :-D

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Leiterplattengröße von 90,17 mm x 95,89 (PC/104-Standard) oder ähnlich.

Also da nicht alle hier eine EAGLE version haben, mit der man Extended 
ATX PCB's erstellen kann, würde ich dringenst empfehlen, das PCB nur 
80x100mm groß zu machen, denn dann kann man das ganze auch mit der 
kostenlosen version von EAGLE machen

Gut, keine 4 Layer, sondern nur zwei, aber wenn die 
Pfostensteckverbinder so angebracht sind, das man Platinen stapeln kann, 
können Low-Money-Bastler eben immer doch 2-Layer Platinen kostenlos 
erstellen.

Außerdem sollten im raster des/der Pfostensteckverbinder bohrungen für 
Gewindebolzen sein...

> Die Anschlussleisten sind dann nach oben Buchsenleisten und nach unten
> Stiftleisten. Spezialanschlüsse (USB, RS232, microSD,...) zu den Seiten
> raus.
> Besser gewinkelte Stiftwannen anstatt Stiftleisten (Verpolungsschutz).

Da würde ich Kragensteckverbinder bevorzugen...
Die habe ich hier auch auf meinen PC/104

Grüße
Michelle

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Michelle Konzack schrieb:
>> RS232  USB über FT232  CAN
>
> ???  --  Wieso willste für die RS232 über einen FT232 gehen?
> Der LPC2478 hat zwei UARTS wofür du lediglich einen MAX232 benötigst.

Ja, aber die meisten PCs heutzutage haben keinen RS232 mehr.
Ist natürlich auch kein Problem, diesen extern dranzuhängen 
(Platzersparnis auf dem Board) - ist eventuell auch besser.
=> OK, überredet. Lass den FT232 weg (aber auch keinen MAX232 einbauen).

> 80x100mm groß zu machen, denn dann kann man das ganze auch mit der
> kostenlosen version von EAGLE machen
Das ist einzusehen.

Aber es muß ja nicht unbedingt EAGLE sein. (Das soll kein Aufruf zu 
einem Flamewar bezüglich der "besten" PCB-Programme sein).

> Gut, keine 4 Layer, sondern nur zwei, aber wenn die

Wenn es denn mit zwei Layern ohne viele Brücken geht, ist mir das recht. 
Ansonsten kann das Konkurenzprodukt zum Adler, meine ich, auch in der 
freien Version vier Lagen. Ich weiß aber nicht, wieviele Pins dabei 
zusammen kommen (sicherich mehr als die freien 250 bzw 400 von c't).

von wartenderGnom (Gast)


Lesenswert?

Hallo  Tobias Plüss,

>> mir reicht auch der Standard (SDRAM, usb, sdhc, ethernet, lcd)

> Klar, aber es ist auch doof, wenn du mal z.B. einen Schrittmotor
> anschliessen willst, und nirgends irgend einen GPIO oder sonst einen Pin
> hast, wo man was anschliessen kann. Oder?...

mein Posting ( Datum: 08.10.2009 10:29) bezog sich auf dein Posting
von Datum: 08.10.2009 08:09, kam dann leider zu der Frage mit den 
Stiftleisten (die halte ich nun für Standard), sorry.
Platinengröße (sollte lötbar sein, also nicht zu eng), Stiftleisten, 
Layer, das überlasse ich lieber Fachleuten. Mit meinen Mega8 und 2313 
Lochraster Erfahrungen kann ich da nichts beisteuern.
Bin schon froh, daß ich mal TQFP gelötet habe (Firma). IC fixieren, mit 
Flußmittel einkleistern, wenig Lotzinn auf die Spitze, und rüberziehen.
Bei Zinn-Brücken einfach mit sauberer Spitze nochmal rüber --- und gut 
is.
Hoffentlich klappt das noch.
Grüße

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Ja, aber die meisten PCs heutzutage haben keinen RS232 mehr.
> Ist natürlich auch kein Problem, diesen extern dranzuhängen
> (Platzersparnis auf dem Board) - ist eventuell auch besser.
> => OK, überredet. Lass den FT232 weg (aber auch keinen MAX232 einbauen).

Eben, und an einer offnen UART kann man auch z.B. einen LMX9838 
(BlueTooth Modul) anhängen oder auch GPS Module...

>> 80x100mm groß zu machen, denn dann kann man das ganze auch mit der
>> kostenlosen version von EAGLE machen
> Das ist einzusehen.
>
> Aber es muß ja nicht unbedingt EAGLE sein. (Das soll kein Aufruf zu
> einem Flamewar bezüglich der "besten" PCB-Programme sein).

Ach ja, welche denn?

Eagle dürfte so ziehmlich das verbreiteste hier sein und Bibliotheken 
gibt es bis zum abwinken...

Inclusive meiner Maxim, TI, National und nun auch Linear, Analog und 
Cypress.  Derzeit an die 400 Chips...

>> Gut, keine 4 Layer, sondern nur zwei, aber wenn die
>
> Wenn es denn mit zwei Layern ohne viele Brücken geht, ist mir das recht.
> Ansonsten kann das Konkurenzprodukt zum Adler, meine ich, auch in der
> freien Version vier Lagen. Ich weiß aber nicht, wieviele Pins dabei
> zusammen kommen (sicherich mehr als die freien 250 bzw 400 von c't).

Also mit 2-Layer meinte ich Huckepackboards...

Ich würde auf das 4-Layer LPC board exclusiv den LPC, SDRAM, NAND Flash, 
SD, Ethernet und USB machen plus einen Erweiterungs-Sockel 
(Kragenstecker).

Sowas werde ich demnächst mit verschiedenen Microcontrollern über meine 
Webseite anbieten...

Außerdem modular aufsteckbare SPI, I²C, CAN und LIN 
Experimentier-Platinen.
Fertig aufgebaut, Teilesatz und Platine einzeln

Irgendwie muß ich ja meine über 8000 Microchips allmählich loswerden...

Grüße
Michelle

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Michelle Konzack schrieb:
>> Aber es muß ja nicht unbedingt EAGLE sein. (Das soll kein Aufruf zu
>> einem Flamewar bezüglich der "besten" PCB-Programme sein).
>
> Ach ja, welche denn?
Ich verwende auch Eagle (schon deswegen, weil es unter Linux und Mac 
läuft). Nur für größere Platinen als 100x80mm verwende ich Target (um 
einen Namen zu nennen), und zwar die 400pin-Version der c't).
Jedoch habe ich hiermit bisher nur wenige und kleine Platinen erstellt.
Meine Orcad-Zeit ist schon ziemlich lange her (und jetzt habe ich nicht 
wirklich das Geld dafür, mir wieder Orcad anzutun).

> Also mit 2-Layer meinte ich Huckepackboards...
>
> Ich würde auf das 4-Layer LPC board exclusiv den LPC, SDRAM, NAND Flash,
> SD, Ethernet und USB machen plus einen Erweiterungs-Sockel
> (Kragenstecker).
Ok, ist (zumindest von mir) so freigegeben ;-)

Btw. unter "Kragenstecker" kann ich mir gerade nichts vorstellen und 
auch Google spukt mir dazu (auf die schnelle) nichts passendes aus.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
>> Ich würde auf das 4-Layer LPC board exclusiv den LPC, SDRAM, NAND Flash,
>> SD, Ethernet und USB machen plus einen Erweiterungs-Sockel
>> (Kragenstecker).
> Ok, ist (zumindest von mir) so freigegeben ;-)

;-)

> Btw. unter "Kragenstecker" kann ich mir gerade nichts vorstellen und
> auch Google spukt mir dazu (auf die schnelle) nichts passendes aus.

Das sind de zweireihigen stiftsockel, aber außen rum einen Kragen/Steg 
der etwas höher ist als die stifte...

Kragen deswegen, weil auf einer Seite eine Aussparung ist, in der die 
Nut/Nase des Buchsensteckers paßt...  siehe IDE-Kabel.

Wenn sie keine AUssparung für die Nase haben, dann nenne sie sich 
zuweilen auch Wannen-Steckverbinder.

Grüße
Michelle

von Christian H. (netzwanze) Benutzerseite


Angehängte Dateien:

Lesenswert?

Michelle Konzack schrieb:
>> ... "Kragenstecker" ...

Ok, die kenne ich unter dem Begriff Stiftwannen. Dann meinen wir das 
gleiche (siehe Bild).

> Wenn sie keine AUssparung für die Nase haben, dann nenne sie sich
> zuweilen auch Wannen-Steckverbinder.
Ohne Aussparung kenne ich sie nicht.

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Ich baue gerade board für den LPC3250, daher falls jemand den LPC3250
> BGA hat und lieber den LPC2478 QFP haben möchte dann bitte melden, ich
> tausche gerne.

jetzt bin ich überrascht ... wenn man sich den ganzen thread durchliest, 
sind einige die den LPC3250 bestellt haben, und ich bezweifle das jeder 
die auch benutzen wird\kann (ok, vllt sind die schon längst 
"verbuchtet").

naja, vllt meldet sich noch jemand die tage.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Thomas R. schrieb:
>> Ich baue gerade board für den LPC3250, daher falls jemand den LPC3250
>> BGA hat und lieber den LPC2478 QFP haben möchte dann bitte melden, ich
>> tausche gerne.
Hätte ich wissen sollen, dann hätte ich mir auch den LPC3250 
angefordert.
Da ich den aber nicht löten kann, hab ich drauf verzichtet.

von Sebastian R. (sebr)


Lesenswert?

LOL, ich habe heute den NONE bekommen ;)
Riesiger Umschlag von NXP per UPS bekommen, aus Brüssel. Drin waren jede 
Menge Werbe- und Info-Material....nur das wichtigste hat gefehlet, die 
ARM-ICs (bestellt hatte ich die beiden QFP Typen). Von Nachlieferung 
kein Wort. Sieht wirklich so aus als ob die dem Bestellansturm nicht 
gewachsen waren....

von Gast (Gast)


Lesenswert?

> Riesiger Umschlag von NXP per UPS bekommen, aus Brüssel. Drin waren jede
> Menge Werbe- und Info-Material....nur das wichtigste hat gefehlet, die
> ARM-ICs (bestellt hatte ich die beiden QFP Typen). Von Nachlieferung
> kein Wort. Sieht wirklich so aus als ob die dem Bestellansturm nicht
> gewachsen waren....

Genau das gleiche bei mir. Leider.

von Omega G. (omega) Benutzerseite


Lesenswert?

Ich habe mich dafür entschieden, alles neu anzufangen, mit einem 32 Bit 
RAM und muss sagen, es hat sich bisher gelohnt. Es lässt sich viel 
einfacher und schöner layouten.

So so der NONE kommt also auch per UPS.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@Thomas R (tinman)

> naja, vllt meldet sich noch jemand die tage.

meld.

ich hab hier noch einen 3250 und einen 3130 in BGA.

Gegen Frachtkosten und eine Leuchtdiode beliebiger Farbe (wahlweise auch 
eine 100 Ohm Widerstand oder eine 200 mA Sicherung oder sonstewas ;-) 
schick ich dir die Sachen gerne zu...

von Michael J. (jogibaer)


Lesenswert?

Sebastian R. schrieb:
> LOL, ich habe heute den NONE bekommen ;)
> Riesiger Umschlag von NXP per UPS bekommen, aus Brüssel. Drin waren jede
> Menge Werbe- und Info-Material....nur das wichtigste hat gefehlet, die
> ARM-ICs (bestellt hatte ich die beiden QFP Typen). Von Nachlieferung
> kein Wort. Sieht wirklich so aus als ob die dem Bestellansturm nicht
> gewachsen waren....

Hallo,

auch bei mir das gleiche.

Jedenfalls werde ich jetzt erstmal die ST32F103 benutzen, die ich schon 
habe.
Ich hätte diese gerne gegen die NXP antreten lassen,aber das lasse ich 
erstmal.

Wobei ich eigentlich der Meinung bin, die NXP könnten die Besseren sein.


Jogibär

von Jürgen (Gast)


Lesenswert?

Hallo,

UPS hat heute ein Päckchen gebracht, hätte nicht gedacht dass da noch 
was kommt (Bestellt am 14.08). Drinnen das bekannte Info-Material und 
ein 2478. Der 17xx den ich ebenfalls geordert hatte, wird lt. 
beiligendem Lieferschein nachgeliefert. Bei mir war der einzelne Chip in 
einem kpl. Tray untergebracht, das ganze dann nochmal in antistatische 
Folie eingeschweisst.

Jürgen

von Star K. (starkeeper)


Lesenswert?

Haha was hab ich heute gelacht, war wohl das edelst verpackte 
Werbematerial überhaupt, dass ich jeh erhalten habe und dann noch per 
UPS!

Die haben mir lediglich die Info-Unterlagen geschickt! Kein Sample, nix! 
Auf dem Lieferschein steht auch nix von irgendwelchen Samples. Lediglich 
die Unterlagen zu den zwei angeklickten Mikrocontrollern waren in dem 
Umschlag.

Dickes LOL

von Maxxie (Gast)


Lesenswert?

> Frage: Was sollte denn auf einer solchen Platine alles mit drauf sein?

Gegenfrage: wie kritisch sind die Signale des eingebauten 
TFT-Controllers herauszuleiten, ohne dass es unbrauchbar wird. Wenn's 
nicht problematisch ist, hätte ich zu dem bereits genannten Standard nur 
einen entsprechenden Verbinder auf der Wunschliste, sonst vielleicht 
Platz für einen LVDS Encoder.

Also gerne nur die kritischen Dinge (wegen Impedanz, Schirmung, 
Signallaufzeiten etc) on board und der Rest abgreifbar.

von Jürgen (Gast)


Lesenswert?

> Riesiger Umschlag von NXP per UPS bekommen, aus Brüssel. Drin waren jede
> Menge Werbe- und Info-Material....nur das wichtigste hat gefehlet, die
> ARM-ICs

Seufz. So einen finde ich dann morgen abend wohl auch
(UPS, Brüssel, 0.3kg, die Nachbarn haben ihn angenommen).

Bei Farnell sind übrigens jetzt ein paar LPC17xx lieferbar, von daher 
lohnt sich das ganze Theater nicht mehr.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Das Datum deiner Kamera ist falsch eingestellt

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, hier ein aktueller Zwischenstand einer minimal Konfiguration. SDRAM,
Quarze, UART0 und Versorgungsspannung. Ich kann's nicht lassen auf 2
Layern rumzuexperimentieren.

von Omega G. (omega) Benutzerseite


Lesenswert?

Jaein, hat damit nichts zu tun, hatte ein falsches Bild erwischt. Aber 
trotzdem kann es sein, dass das Datum meiner Kamera nicht stimmt, aber 
dass kannst du jetzt nicht wissen :P

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@Omega

ich war wohl grade in dem Moment auf deinem Bild, als es im Board hoch 
geladen war. Nu ist es wieder weg. Datum war was mit 05.03. oder 03.05.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

@omega
Kannst Du die Vias nicht kleiner machen? Die nehmen doch ungemein Platz 
weg.
Dann würde ich das Ram viel näher an den Prozessor hängen und das andere 
Teil (was ist das? Stiftwanne?) aus der Bahn werfen.

von Omega G. (omega) Benutzerseite


Lesenswert?

Joa ginge eigentlich beides.

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich mache Feierabend für heute.

Im Anhang:
- 2 Layer
- SD/MMC am MCI Port
- UART0 und BSL
- SPI/I²C/UART2 und irgendwas anderes (u.a. UART1) auf Stiftleiste
- 32 Bit SDRAM

Bestimmt habe ich was vergessen... Ist auch schon spät/früh.

von Thomas K. (muetze1)


Lesenswert?

Sieht schon recht gut aus - in meinem ungeübten Auge zumindest.

von Mark B. (markbrandis)


Lesenswert?

Sebastian R. schrieb:
> LOL, ich habe heute den NONE bekommen ;)

Es gibt ihn WIRKLICH?

!

:-)

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Oh, wenn ich mich den Tray genauer ansehe, liegen dort tatsächlich 31 
NONE und ein 2478 drin :-o

von Tobias P. (hubertus)


Lesenswert?

Omega,
wo kaufst du denn den 32 Bit RAM ein?
Ethernet fehlt noch auf deinem Board ;)
nun ja. Ich werde mich morgen auch mal ans Layout machen. Was bis jetzt 
auf meinem Board drauf ist:

- SD/MMC
- Ethernet
- 64 MByte SDRAM
- der FPGA halt
- ein 4 MByte Flash
- Eine RS-232 Schnittstelle mit DSUB-Stecker und den entsprechenden 
Leitungen, um mit FlashMagic was runterladen zu können
- ein paar LEDs
- ein paar Taster
- alle Signale auf Stiftleisten
- USB device

Also mehr oder weniger alles wie gehabt. Ich versuch dann mal, das 
entweder doppelseitig bestückt auf eine 1/2 Europakarte zu pfriemeln. 
Halt eben mit 4 Lagen.
Ach ja, was ich noch versuchen werde zu machen (aber noch nicht gross 
angeschaut): kann man beim 2478er zu allem zu noch das LCD anschliessen? 
Das braucht ja auch noch relativ viele Pins, und ich bin mir nicht 
sicher, ob es dann noch passt mit dem Ethernet / SDMMC und so weiter.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Guten morgen Tobias,

Tobias Plüss schrieb:
> - SD/MMC

Machst Du zusätzlich ESD Schutz dazu?

> - Ethernet

Welchen PHYTER verwendest Du?  Ich denke an einen DP83848 von National 
Semconductor.

> - 64 MByte SDRAM
> - der FPGA halt
> - ein 4 MByte Flash

Hmmm, 64 MByte SDRAM und nur 4 MByte Flash?

Ich habe an meinen LH7A400  bereits einen Micron MT29F4G08ABCWC-ET:C 
geklebt womit ich Linux installieren kann.

> - Eine RS-232 Schnittstelle mit DSUB-Stecker und den entsprechenden

MAX232?

> Leitungen, um mit FlashMagic was runterladen zu können
> - ein paar LEDs
> - ein paar Taster
> - alle Signale auf Stiftleisten
> - USB device

Welchen Transceiver verwendest Du?  Hast Du an ESD Schutz gedacht?
Ich verwende hier ebenfals einen Maxim Chip.
Natürlich VOLLSTÄNDIG USB-On-The-Go tauglich

Ebenso würde ich den CAN Transceiver in Automotive und ESD nehmen

> Ach ja, was ich noch versuchen werde zu machen (aber noch nicht gross
> angeschaut): kann man beim 2478er zu allem zu noch das LCD anschliessen?

Ja sicher...  Vor allem kannste LCD, Eth, CAN und USB sowie SDIO 
parallel betreiben.

> Das braucht ja auch noch relativ viele Pins, und ich bin mir nicht
> sicher, ob es dann noch passt mit dem Ethernet / SDMMC und so weiter.

Doch, nur kannste dann keine LCD mit 1024x768 anschließen...  QVGA geht 
aber alle male...   Ansonsten haste keine andere wahl, eine kleine 
Zusatzelectronic zu erstellen, damit Du multiplexen kannst.

Ich bin gerade dabei, mir ein paar 4" QVGA (320x240) mit/ohne LVDS 
anzugucken.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Hi Michelle,
>> - SD/MMC
>Machst Du zusätzlich ESD Schutz dazu?

Klar. Mein ESD-Schutz sieht bei den SDMMC-Karten-Haltern einfach so aus, 
dass das metallene Gehäuse mit Masse verbunden ist. Wenn du also 
statisch geladen bist oder die Karte, die eingesteckt wird, sollte sich 
das entladen und keinen Schaden anrichten.... Sonst gibts keine 
speziellen Schutzbeschaltungen.

> Welchen PHYTER verwendest Du?  Ich denke an einen DP83848 von National
> Semconductor.

Ich setze den KSZ8001L ein, da ich davon noch einige Gurtabschnitte 
habe.

> Hmmm, 64 MByte SDRAM und nur 4 MByte Flash?

Ja, leider. Ich will auf gar keinen Fall ein NAND-Flash auf dem Board 
haben, denn die Ansteuerung davon ist murks. Deshalb nur NOR-Flash; hab 
keines gefunden, das einigermassen gut erhältlich ist und > 4M. 
Ausserdem: da man ja noch SD-Karten einsetzen kann, denke ich wird es 
reichen, wenn man 4M Flash hat. Grössere Datenmengen kann man dann ja 
auf einer Karte mit unterbringen.

> MAX232?

Ja; respektive ein pinkompatibles Derivat von Analog Devices (ADM3202). 
Hat aber selbes Pinout wie der MAX3232. Der Unterschied bestand für mich 
einfach darin, dass der ADM beim Elektronikladen um die Ecke billiger 
ist. Integrierten ESD-Schutz haben natürlich beide. Zusätzlich 
unterstützt der ADM aber auch noch höhere Baudraten bis 500 kBit/s.

> Welchen Transceiver verwendest Du?  Hast Du an ESD Schutz gedacht?
siehe oben.
Für USB benutze ich keinen Transceiver, der Microcontroller hat ja schon 
einen drin. USB OTG habe ich nicht implementiert, da ich für mich bis 
jetzt keine Verwendung davon sehe. Was soll der Vorteil von OTG sein?

> Doch, nur kannste dann keine LCD mit 1024x768 anschließen...  QVGA geht
> aber alle male...   Ansonsten haste keine andere wahl, eine kleine
> Zusatzelectronic zu erstellen, damit Du multiplexen kannst.

Habe das 2478er Datenblatt grade nicht zur Hand; wie sieht das aus: Ist 
es machbar, sagen wir mal das PSP-Display mit 16 Bit Interface zu 
betreiben, und parallel dazu Eth, SDMMC, SDRAM?

Bezüglich des Displays: du hast doch da mal was erwähnt, dass du solche 
günstig besorgen könntest. Wie sieht das aus?

von Omega G. (omega) Benutzerseite


Lesenswert?

Also ich sehe bei meinem Layout etwas Schwierigkeiten noch ein LCD und 
eine Ethernet PHY anzuschließen. Zumal ich beides noch nicht habe. 
Dieses Problem müsste sich aber durch 4 Lagen lösen lassen.

Was ich gestern Abend im Halbschlaf vergessen habe zu Fragen:
-Wie kann ich in Eagle eine Gruppe von Bauteilen und Leiterbahnen 
zusammen verschieben?
- We kann ich alle Dukos auf einemal kleiner machen? Ich habe 
dämlicherweise alles als 0,7mm Dukos -.-

Was nehme ich als 32 Bit RAM und woher?

Dafür muss wohl die Grafikkarte neben mir dran glauben, ich werde mir 
ihren RAM ausleihen.

Wer kann eine passene und lötbare Ethernet PHY besorgen? Ich habe mir 
mal die von National angeschaut, entweder ist das Ghäuse etwas 
abschrecken (Zwischending zwischen QFN und BGA) oder die sind Not 
recommend for new Design.

von Tobias P. (hubertus)


Lesenswert?

Omega,
nimm einen KSZ8001L. Wie ich ja schon erwähnt hatte, könnte vielleicht 
der Ethernet-Teil von dem  Schema, das ich gepostet habe, interessant 
sein ;) Siehe Seite 4.

Gruss

von David .. (volatile)


Lesenswert?

Omega G. schrieb:

> Was ich gestern Abend im Halbschlaf vergessen habe zu Fragen:
> -Wie kann ich in Eagle eine Gruppe von Bauteilen und Leiterbahnen
> zusammen verschieben?
> - We kann ich alle Dukos auf einemal kleiner machen? Ich habe
> dämlicherweise alles als 0,7mm Dukos -.-

Alle Layer bis auf Via ausblenden, change drill auf alles.

von Omega G. (omega) Benutzerseite


Lesenswert?

Vielen Dank!

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Klar. Mein ESD-Schutz sieht bei den SDMMC-Karten-Haltern einfach so aus,
> dass das metallene Gehäuse mit Masse verbunden ist. Wenn du also
> statisch geladen bist oder die Karte, die eingesteckt wird, sollte sich
> das entladen und keinen Schaden anrichten.... Sonst gibts keine
> speziellen Schutzbeschaltungen.

Naja, es geht nicht nur um den ESD-Schutz bei Berührung...
Der ESD Schutz ist direkt an den SDIO Datenleitungen angschlossen.
Dafür gibt es spezielle ESD-Dioden

>> Welchen PHYTER verwendest Du?  Ich denke an einen DP83848 von National
>> Semconductor.
>
> Ich setze den KSZ8001L ein, da ich davon noch einige Gurtabschnitte
> habe.

Nun gut, ich habe die National als FreeSamples bekommen und 
zwischendurch mal 100 nachgekauft...

>> Hmmm, 64 MByte SDRAM und nur 4 MByte Flash?
>
> Ja, leider. Ich will auf gar keinen Fall ein NAND-Flash auf dem Board
> haben, denn die Ansteuerung davon ist murks.

Inwiefern?

> Deshalb nur NOR-Flash; hab
> keines gefunden, das einigermassen gut erhältlich ist und > 4M.
> Ausserdem: da man ja noch SD-Karten einsetzen kann, denke ich wird es
> reichen, wenn man 4M Flash hat. Grössere Datenmengen kann man dann ja
> auf einer Karte mit unterbringen.

Naja, Linux auf nem ARM7TDMI mit 72MHz von einer SD Karte laufen lassen 
ist nicht so dolle...

> Für USB benutze ich keinen Transceiver, der Microcontroller hat ja schon
> einen drin.

Hatte es zu spät gesehen...

> USB OTG habe ich nicht implementiert, da ich für mich bis
> jetzt keine Verwendung davon sehe. Was soll der Vorteil von OTG sein?

Peripheral und Host Modus ohne Kopfzerbrechen...

> Habe das 2478er Datenblatt grade nicht zur Hand; wie sieht das aus: Ist
> es machbar, sagen wir mal das PSP-Display mit 16 Bit Interface zu
> betreiben,

Theoretisch ja...

> und parallel dazu Eth, SDMMC, SDRAM?

Eth hat ne eigene AHB (genaugenommen alleine auf der AHB2) und alles 
andere (USB, LCD, ExtMem, GPDMA) ist auf der AHB1

> Bezüglich des Displays: du hast doch da mal was erwähnt, dass du solche
> günstig besorgen könntest. Wie sieht das aus?

Jo, also so wie es aussieht könnte es ein 4" QVGA werden, die frage ist 
nur, direkte Ansteuerung oder LVDS.  Und da der LCD Controller sowieso 
nut eine Farbpalette von 32k hat, könnte das QVGA modul relativ günstig 
sein.

Aber man muß eben 100 Stück abnehmen...  je nach Ausführung kosten die 
5-18 US$

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

>>> Hmmm, 64 MByte SDRAM und nur 4 MByte Flash?
>>
>> Ja, leider. Ich will auf gar keinen Fall ein NAND-Flash auf dem Board
>> haben, denn die Ansteuerung davon ist murks.

>Inwiefern?

Nun ja, der 2468/2478 hat keinen NAND-Flash Controller. Irgendwie traue 
ich dem NAND-Flash nicht, man sollte ja z.B. auch ein wear levelling 
machen und solche Spässe. Das ist nicht so dolle, wenn man das von Hand 
machen musss...
Hab aber grade einen guten NOR-Flash gesehen, der 16 MByte x 16 gross 
ist. Allenfalls könnte man 2 davon zu 16M x 32 verschalten und hätte 
dann 32 MByte Flash. Was sagst du dazu?

Diese Displays. Was meinst du, wenn wir hier genügend Interessenten 
zusammen kriegen könnte man da was machen?

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Jetzt muß ich mich nochmal verbessern...

Michelle Konzack schrieb:
> Tobias Plüss schrieb:
>> und parallel dazu Eth, SDMMC, SDRAM?
>
> Eth hat ne eigene AHB (genaugenommen alleine auf der AHB2) und alles
> andere (USB, LCD, ExtMem, GPDMA) ist auf der AHB1
>
>> Bezüglich des Displays: du hast doch da mal was erwähnt, dass du solche
>> günstig besorgen könntest. Wie sieht das aus?
>
> Jo, also so wie es aussieht könnte es ein 4" QVGA werden, die frage ist
> nur, direkte Ansteuerung oder LVDS.  Und da der LCD Controller sowieso
> nut eine Farbpalette von 32k hat, könnte das QVGA modul relativ günstig
> sein.

Also die Tabelle 15 ist auf Seite 66.  Da komt es darauf ann, wie hoch 
Du die Farbauflösung haben willst...  bei TFT 12bit weden 3x4 pins nicht 
verwendet, was anderer Peripherie zu gute kommt.

Bei 16bit auflösung bleiben immer noch 8 pins übrig, habe aber noch 
nicht überprüft, was auf den pins ist.

Also von der theorie her würde ich das ganze für 32k oder 64k Farben 
auslegen, damit die restliche Peripherie erhalten bleibt...

Anm.:  Ich arbeite an einem 80x100mm board für den LPC3250 allerdings 
mit vollständiger Linux-Unterstützung On-Board und alle Devices 
gemultipexed...  Ist ne schweine Arbeit, 4-Layer und Handlöten ist 
abgesagt...  Wieviele Personen hier können BGA oder QFN löten?  Mein 
SDRAM und der NAND Flash ist gerade mal 3mm vom LPC entfernt.

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Nun ja, der 2468/2478 hat keinen NAND-Flash Controller. Irgendwie traue
> ich dem NAND-Flash nicht, man sollte ja z.B. auch ein wear levelling
> machen und solche Spässe. Das ist nicht so dolle, wenn man das von Hand
> machen musss...

Nagut, dafür braucht man bischen erfahrung, aber bei NXP gibt es dafür 
eine "Application Note"

> Hab aber grade einen guten NOR-Flash gesehen, der 16 MByte x 16 gross
> ist. Allenfalls könnte man 2 davon zu 16M x 32 verschalten und hätte
> dann 32 MByte Flash. Was sagst du dazu?

Kommt darauf an, was sie kosten...
Ich habe allerdings schlechte erfahrung mit NOR Flash gemacht...  Da 
gibt es öfteres Probleme mit Linux beim booten.

> Diese Displays. Was meinst du, wenn wir hier genügend Interessenten
> zusammen kriegen könnte man da was machen?

Also ich kann von denen mindestens 1 Dutzend gebrauchen, weil ich hier 
schubladenweise Mikrocontroller rumliegen habe....

Unter 100 ist es so gut wie nicht rentabel...

Nur wie ich schon mal erwähnte, solche Displays sind dann massenware und 
MIT Datenblatt, was du beim PSP1000 nicht hast.  Die können beim PSP1000 
den Controller/Display ändern und bei Deinem nächsten Einkauf 
funktioniert Deine Installation nicht mehr...

Sowas möchte ich hier vermeiden, das es zu frustration führen kann, vor 
allem, wenn hier ein paar Leute einen vollständigen Controller haben 
möchten, um alles auszuprobieren, aber nicht wirklich fit sind...  weil 
eben Anfänger.

Denke, das die Platinen soweit idiotensicher sein sollten.

Anm.:  Was USB OTG betrifft, würde ich die Schaltung nach Seite 69 
Abbildung 16 mit dem ISP1301 bevorzugen, nur habe ich von diesem NOCH 
kein Datenblatt.  Ansonsten (Device/Host getrennt) nach Abbildung 17 auf 
Seite 70.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Michelle,
Also ich selber würde nicht mehr als 5 Displays nehmen. Soviele 
Mikrocontroller wie du habe ich nicht rumliegen hier ;-) Und man baut ja 
auch nicht täglich ein neues Board. Aber ich hätte schon die eine oder 
andere Anwendung, wo ich ein farbiges Display gut gebrauchen könnte.
Man kann zwar oft aus ausgedienten PDAs oder Handys das Display 
extrahieren, das ist dann oft sogar mit Touch. Ein Datenblatt findet 
sich manchmal, das dumme ist nur, dass es von kraptischen, chinesischen 
Schriftzeichen nur so wimmelt und die Timing-Diagramme nicht vollständig 
sind oder irgendwelche anderen Angaben fehlen oder widersprüchlich sind.
Könntest du denn vielleicht einmal ein Datenblatt von so einem Display, 
wie du es vorgesehen hast, hier posten? Das wäre sehr gut.
Dann wie gesagt: ich baue nichts mit einem LCD, wenn ich mir dazu nicht 
in jedem kleinsten Detail 100%ig sicher bin, dass es funktionieren wird. 
Dazu will ich Timingdiagramme haben, vollständige Tabellen mit allen 
notwendigen Spannungen / Toleranzen und mechanische Zeichnungen, damit 
ich mir überlegen kann, wie und wo man das Display befestigen kann und 
wie der FFC-Stecker auszusehen hat (Top oder Bottom contact, Pitch, 
Dicke...).

> Kommt darauf an, was sie kosten...
Nun ja, sind sicher nicht billig, sagen wir es mal so. Sicher einiges 
teurer als die NAND-Teile. An denen stört mich einfach, dass sie sich 
nicht so ohne weiteres ansteuern lassen. Das tolle an einem NOR-Flash 
ist zum Beispiel, dass man direkt jedes Wort adressieren kann und so ein 
Programm auch aus dem Flash laufen lassen könnte. Dein Linux wird ja 
wahrscheinlich so funktionieren, dass es den Inhalt des NAND-Flashs ins 
RAM kopiert und dann dort ausführt. Das finde ich persönlich aber Murks, 
da man so viel RAM für das Programm verbraucht, den man sonst zum 
Ablegen von Daten sinnvoller nutzen könnte. In dem Sinne hat man das 
Programm da im Prinzip zwei mal - einmal im RAM, wo es ausgeführt wird, 
und einmal im Flash. Und das gefällt mir nicht. Wenn der LPC einen 
NAND-Flash Controller hätte, sähe die Sache schon wieder ansers aus.

von psy (Gast)


Lesenswert?

Hi,
Mein LPC2478 ist heut ebenfals eingetroffen.
ein einzellner LPC in einem riesen tray...

Ich würde übrigens mal mein interresse bezüglich einer platine anmelden 
für welche muss ich aber erst einmal sehen. Dann bräuchte ich allerdings 
auch die restlichen benötigten teile neben dem lpc, da ich so wie man 
sich das denken kann eher neuling in dem bereich bin...

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Michelle Konzack schrieb:
> Anm.:  Ich arbeite an einem 80x100mm board für den LPC3250 allerdings
> mit vollständiger Linux-Unterstützung On-Board und alle Devices
> gemultipexed...  Ist ne schweine Arbeit, 4-Layer und Handlöten ist
> abgesagt...
Gut, für den LPC3250 klar. Ich interessiere mich aber nur für meinen 
2478.

> Wieviele Personen hier können BGA oder QFN löten?
Ich nicht.

> Mein SDRAM und der NAND Flash ist gerade mal 3mm vom LPC entfernt.
Das ist mir ebenfalls etwas zu eng. meine Hohlkehle hat einen 
Durchmesser von etwas über 2mm, könne also noch klappen, habe ich aber 
noch nie gemacht.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Hallo Leute,

also ich habe bereits die erste Antwort bekommen und nun geht es darum, 
welche Anschlüsse das Display haben soll...

Der LPC2774 kann 12bit (4:4:4 mode), 16bit (5:6:5 mode), 16bit 
(1:5:5:5mode) und 24bit gefahren werden.

Vor kleinsten Modus bis zum größten ändert sich auch die Verfügbarkeit 
der Peripherie:

Bei Verwendung eines Displays funktioniert USB OTG nicht mehr...  :-(
genauso wie man die I²S Funktion verliert.

So, Tobias und Omega, wollt ihr eine LVDS De/Serializer verwenden, oder 
das Display direkt anschließen?

Das war wohl nichts:
  BT8073  8" TFT 800x600
  For sample, FOB HK, US87/pc
  For 1K order, FOB HK, US52/pc

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Michelle Konzack schrieb:
>> Mein SDRAM und der NAND Flash ist gerade mal 3mm vom LPC entfernt.
> Das ist mir ebenfalls etwas zu eng. meine Hohlkehle hat einen
> Durchmesser von etwas über 2mm, könne also noch klappen, habe ich aber
> noch nie gemacht.

Habe ne ultimative superidee  :-D  zum löten von BGA/QFN...

Man tropfe Kleber in die mitte der Pads, trage dan die lötpaste auf und 
positioniere den Chip...

Danach nimmste einen 150W Hammerlötkolben (der hat vorne ne schöne brete 
Spitze (4cm oder so) und dannfährste einfach mal so über die Chips...

LOL

Grüße
Michelle

P.S.:   Du kannst kannst den Chip aber auch draufbügeln...
        http://www.lrr.in.tum.de/~acher/bga/index.html  ROTFL!
        Der Typ ist echt drauf!

von Phil S. (zippi)


Lesenswert?

Michelle Konzack schrieb:

> Vor kleinsten Modus bis zum größten ändert sich auch die Verfügbarkeit
> der Peripherie:
>
> Bei Verwendung eines Displays funktioniert USB OTG nicht mehr...  :-(
> genauso wie man die I²S Funktion verliert.
>
> So, Tobias und Omega, wollt ihr eine LVDS De/Serializer verwenden, oder
> das Display direkt anschließen?

Man könnte das Display doch auch an den speicherbus hängen, dann würde 
es keine weiten Pins verbrauchen. Brauch man nur ein Display mit 
internem Controller.

Habe selber hier QVGA displays liegen aus China. Sind aber nur 2,4".
Wenn ihr 4" Displays kauft wäre ich aufjedenfall auch interessiert.

gruß

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe erste Ergebnisse!

Okay, nur die Device ID ausgelesen... Aber immerhin.

von Tobias P. (hubertus)


Lesenswert?

Michelle,
hmm. Dass das Display so viele Pins benötigt ist schon ein ziemlicher 
Mist. Was würden die LVDS-Bausteine da helfen?
Interessant wäre es für mich vielleicht, da der FPGA auf meinem Board ja 
integrierte LVDS-Schnittstellen hat...

Omega:
coole Sache. Was sagt das SDRAM?

von Omega G. (omega) Benutzerseite


Lesenswert?

Das SDRAM ist noch nicht aufgelötet...

von Tobias P. (hubertus)


Lesenswert?

> Das SDRAM ist noch nicht aufgelötet...

Mach mal!

;-))))
bin gespannt, ob es funktioniert. Ist das jetzt mit dem Layout, das du 
heute gepostet hast?

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Michelle,
> hmm. Dass das Display so viele Pins benötigt ist schon ein ziemlicher
> Mist. Was würden die LVDS-Bausteine da helfen?

Wenn das Display auf dem board des LPC ist, dann ist der LVDS 
De/Serializer unnötig.  Wen Du aber Board und LCD getrennt hast, ist 
LVDS die PERFECTE Lösung.  Du kannst dann nämlich die Leitungen SEHR 
LANG machen und vor allem sind es nur ein paar Adern und nicht über 2 
Dutzend.

> Interessant wäre es für mich vielleicht, da der FPGA auf meinem Board ja
> integrierte LVDS-Schnittstellen hat...

Hmmm...

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Bin nochmal da...

Tobias Plüss schrieb:
> Interessant wäre es für mich vielleicht, da der FPGA auf meinem Board ja
> integrierte LVDS-Schnittstellen hat...

Hat das dan den gesamten Grafik-Controller drin oder wie?  Ich meine, um 
ein Display anzusteuern bedarf es ein bischen mehr, als nur einen LVDS 
De/Serialize.

Grüße
Michelle
die sich jetzt erst mal ausschläft...

von Omega G. (omega) Benutzerseite


Lesenswert?

Ja, das ist das Layout.

Habe mich bis eben mit GNUARM rumgeschlagen... Auf meinem PC mag's 
nicht, auf'm Notebook geht's, aber da habe ich nur ein Monitor...

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

So, bin wieder da....

Nun hat der nächste TFT Hersteller geantwortet:

    * Size: 4.0 inches
    * Resolution 480 x 272 pixels (RGB)
    * Interface: RGB data bus, 24 bits parallel data
    * Color: 16.7M color
    * Technology type: a-si TFT
    * Pixel pitch: 0.183 x 0.183mm
    * Pixel configuration: RGB vertical
    * DIM. LCD: 98.3 x 62.6 x 6.15mm
    * Active area: 87.84 x 49.776mm
    * With/without TSP, with touch panel

Also die TFT's mit LVDS controller zu bekommen ist schweine teuer, 
sprich ungefähr 12 US$ mehr.

Jetzt ist nur das Problem, das ich das PDF Datasheet nicht öfffnen kann 
und Wochenende ist und er mir außerdem keine prise (50-100 Stück) 
genannt hat.

Was ich aber definitiv bei MEINEM Board machen werde ist, das TFT nicht 
drauf bauen, sondern als Huckepack-Modul aufsteckbar...  Deswegen 
bevorzuge ich die Größe von unter 100x80mm.  Aufsteckbar ergibt den 
Vorteil, das wenn man das USB/I²S Zeugs braucht, das Display entfernen 
kann.

Grüße
Michelle

von Phil S. (zippi)


Lesenswert?

Das Display ist doch ganz Cool.

An sich würde mich Display auch für andere Projekte interessieren. 
Kannst du mal den Namen vom Display sagen oder das Datenblatt online 
stellen.

Was für ein Connector braucht das Display?

Ich werde erstmal anfangen ein 1Layer Board für den LPC1766 zu machen.

@ Omega G.
Wie hast du bei dir die Durchkontaktierung gemacht?

gruß
Zippi

von Omega G. (omega) Benutzerseite


Lesenswert?

Ich habe Durchkontaktiernieten dafür. Ich kann später/morgen bei Licht 
ein Foto machen.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Phil S. schrieb:
> Das Display ist doch ganz Cool.
>
> An sich würde mich Display auch für andere Projekte interessieren.
> Kannst du mal den Namen vom Display sagen oder das Datenblatt online
> stellen.

Wie ich schon schrieb, ich kann das PDF nicht öffnen.  Die obigen Daten 
habe ich aus der E-Mail...  Habe nochmal angefragt und um mehr auskunft 
gebeten.

Ansonsten habe ich nette 8" Displays (digital RGB oder LVDS) gefunden, 
aber da denke ich, das die wenigsten gut 120-160 US$ ausgeben wollen.

> Was für ein Connector braucht das Display?

Das ist ein ganz normales Folienkabel.

Also wenn da steht "RGB data bus, 24 bits parallel data" dann sind das 
mindestens 28 Leitungen plus Spannungsbesorgung.

Grüße
Michelle

von Omega G. (omega) Benutzerseite


Lesenswert?

Und wieder ein Tag rum...

warum macht mir GCC aus:
1
init_uart0(115200);
und
1
void init_uart0(unsigned int baud)
2
{
3
  PINSEL0 |= (1<<4)|(1<<6);
4
  U0FCR = 7;
5
  U0LCR = 0x83;
6
  U0DLL = ((PCLK/16)/baud)%256;
7
  U0DLM = ((PCLK/16)/baud)/256;
8
  U0LCR = 3;
9
}

ohne -Os das:
1
23:main.c        ****   init_uart0(115200);
2
169                  .loc 1 23 0
3
170 0100 0709A0E3     mov  r0, #114688
4
171 0104 020C80E2     add  r0, r0, #512
5
172 0108 FEFFFFEB     bl  init_uart0

und
1
4:uart.c        **** void init_uart0(unsigned int baud)
2
5:uart.c        **** {
3
...
4
45 0030 E10AA0E3     mov  r0, #921600
5
...

Ich wundere mich den ganzen Abend, dass UART0 immer mit 921600 Baud 
läuft, mit einem -Os geht's nun.

von Phil S. (zippi)


Lesenswert?

Omega G. schrieb:
> Ich habe Durchkontaktiernieten dafür. Ich kann später/morgen bei Licht
> ein Foto machen.

Ja wäre mal cool. Würde mich echt interessieren.

Bis wieviel mm kannst du dann machen? Wie gut Funktioniert das? Und wie 
teuer ist das ganze?

gruß

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, hier ist ein nicht ganz gutes Foto. Die Dukos haben einen 
Durchmesser von 0,6 mm außen und 0,4 mm innen.

Kosten: ca. 20€ pro 1000 Stück
Funktionieren: Viel Arbeit, aber weniger Arbeit als Drähte durch und 
löten.

von Star K. (starkeeper)


Lesenswert?

Jetzt verstehe ich auch die eckigen Vias.. du musst nach dem Nieten die 
Vias noch verlöten, oder?

Wie produzierst du die Platinen, mit Folien und Belichter oder anders?

von Tobias P. (hubertus)


Lesenswert?

Hi Omega,
wo hast du denn jetzt das SDRAM so schnell auftreiben können?
Ich hab nur 16 Bit Teile hier :-(
Denkst du, es bringt auch noch weitere Vorteile, abgesehen vom 
vereinfachten Layout? Ich könnte mir vorstellen, dass z.B. die Belastung 
des CLKOUT-Signals weniger gross ist, wenn nur 1 Eingang getrieben 
werden muss, statt 2 (wenn man 2 16 Bit Bausteine nimmt).
Was ist es für ein Typ?

von Omega G. (omega) Benutzerseite


Lesenswert?

Also ich verlöte diese Dukos sicherheitshalber, es könnte aber auch ohne 
gehen. Meine Platinen mache ich mit fotopositv beschichtetem 
Basismaterial. Belichten mit einer älteren Höhensonne, ätzen mit HCl und 
H2O2.

So kann ich die hier verwendeten 7 mil problemlos herstellen. 
erstaunlicherweise sogar mit 20 Jahre altem Basismaterial.

Das SDRAM habe ich von einer alten Grafikkarte entlötet. Es ist ein 
Samsung K4S643232E, 512K x 32bit x 4 Banks.

Ein Vorteil ist das einfacherere Layout, aber es könnte in der Tat sein, 
dass der CLKOUT weniger belastet wird. Bei 70 MHz ist die kapazitive 
Belastung nicht zu vernachlässigen.

Ich habe den RAM aufgelötet, aber noch nicht zum laufen bekommen. 
Scheinbar habe ich noch irgendwo einen Fehler im Linkerscript oder 
Startup-code.

Egal was ich mache, ab einer bestimmten Anzahl Befehle passiert einfach 
nichts mehr. (Ob RAM Initialisierung, oder S65 LCD, dabei ist es egal, 
welche Befehle ich ausführe)

Hat da jemand eine Idee?

von Tobias P. (hubertus)


Lesenswert?

Zeig doch mal deinen Startup-Code. Mit Linkerscripten kann ich leider 
wenig anfangen; aber es könnte vielleicht schon am Startup-Code liegen.
Vielleicht wird irgendwas nicht korrekt initialisiert beim Startup, und 
der Rechner 'stürzt' ab, sprich geht in den prefetch abort oder data 
abort. Könnte der Stack sein oder so?
Oder vielleicht hast du einen 'spurious interrupt'. Was hast du für 
einen Debugger? Kannst du damit die CPU anhalten und dann schauen, wo im 
Code er sich 'aufhängt' ? Dass einfach nichts passiert, kann ja nicht 
sein, irgendwas muss die CPU ja immer tun ;-) Und meist hat man in den 
Handlern für prefetch/data-abort einfach einen Loop.

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier ist mein Startup-code

Ich habe von Assembler keine Ahnung und habe das hier von meinem LPC2103 
übernommen...

Edit:
Debugger habe ich leider nicht. Aber der µC springt in die UNDEF 
Funktion.

von Tobias P. (hubertus)


Lesenswert?

Hi,
also, das sieht so aus, als wären alle Stacks initialisiert und die 
Interrupts gesperrt. Soweit so gut. Der Code läuft also auf einem 
anderen Board? Hmm.
Solche mysteriösen Programmfehler und -abstürze deuten oft auch auf den 
Stack hin. Bist du sicher, dass der gross genug bemessen ist? Mach ihn 
sonst testweise mal ein paar 100 Bytes oder so grösser. Wenn der Stack 
korrupt ist, und der Rechner von einer Subroutine irgendwo ins Nirvana 
springt, sieht es natürlich auch so aus, als ob 'nichts' passieren würde 
;-) oder aber er geht dann in den Abort mode, wenn der Stackpointer auf 
was ungültiges Zeigt.
Kannst du sonst mal deinen C-Code posten? Und vielleicht das Map-File. 
Dann sieht man, wo der Stack liegt bzw. die Variablen und so weiter....

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die *_STACK_SIZE meinst du, oder? Wenn ich die auf 0x104 setze springt 
der Controller immernoch in die UNDEF Routine... Im Anhang ist die .map 
Datei.

Die main.c ist auch dabei, aber nicht erschrecken, da ist viel 
auskommentiertes, weil ich am experimentieren bin.

Der Code läuft auf einem anderen ARM Prozessor... Vielleicht stimmen 
auch meine Compiler oder Assemblerflags nicht.

ASFLAGS = -mno-fpu

CFLAGS = -c -mcpu=arm7tdmi -march=armv4t -g -nostartfiles -nostdlib 
-Wall -Os

von Omega G. (omega) Benutzerseite


Lesenswert?

Habe eine Lösung gefunden, aber suche noch eine Erklärung:

Wenn ich im Linkerscript den Flash ab 0x1000 anfangen lasse 
funktioniert's. komme ich evtl. mit dem Bootloader in die Quere?

von Tobias P. (hubertus)


Lesenswert?

Hi,
nein, ich meine nicht die *_STACKSIZE, sondern das Symbol _stack_end. 
Dieses gibt ja die grösste Adresse des Stacks an, und der wächst dann 
von 'oben' nach 'unten'. Wenn jetzt _stack_end eine zu geringe Adresse 
ist, dann zeigt der Stackpointer irgendwann in den Bereich des Memory, 
wo z.B. eine Variable liegt. Einerseits wird diese Variable dann vom 
Stack überschrieben, andererseits wir der Inhalt des Stacks dann auch 
korrupt, wenn du auf diese Variable zugreifst und ihr einen Wert 
zuweist.
Dass er in den UNDEF-Handler springt ist meiner Meinung nach ein 
weiteres anzeichen dafür. Stell die folgendes Szenario vor:

- Eine long-Variable (also 32 Bits) liegt an Adresse 0x40001000.
- Der SP zeigt auf die Adresse 0x40001004.
- Jetzt springst du in eine Subroutine. Beachte: die Rücksprungadresse 
kommt auf den Stack! Da die Adresse 32 Bits breit ist, zeigt der SP nun 
auf die Adresse 0x40001000.
- In deiner Subroutine greifst du nun auf die Variable zu, und weist ihr 
einen Wert von sagen wir mal beispielsweise 1200 zu. Nun gehst du 
mittels return; aus der Subroutine raus.
- Der Wert, auf den der SP zeigt, wird in den PC geladen - in dem Falle 
12, weil den Stack zu klein war und du ihn überschrieben hast :-(
- Der Rechner springt an Adresse 1200, und 'guckt', was dort steht. 
Dummerweise steht da vielleicht irgend eine String-Konstante, die 
irgendwo in deinem Programm vorkommt. Irgend ein Opcode auf jeden Fall, 
den die CPU nicht kennt - eine UNDEFinierte Instruktion also! Und 
dadurch wird dann der UNDEF-Handler aufgerufen.
Ich würde an deiner Stelle mal versuchen, den _stack_end im Linkerscript 
anzupassen.

von Omega G. (omega) Benutzerseite


Lesenswert?

Also das von vorhin stimmte nur einmal, leider geht das jetzt auch nicht 
mehr.
Stack end habe ich auf:
_stack_end = 0x4000FFFF;

Verkleinern und vergrößern brachte keinen Erfolg.

von Tobias P. (hubertus)


Lesenswert?

PS: hab grade dein Mapfile angeschaut. Sieht ein bisschen ander aus, als 
ich es kenne; man sieht nicht, wo die einzelnen Variablen im RAM 
untergebracht sind (oder ich hab es auf die Schnelle nicht gesehen). Auf 
alle Fälle sagt das Mapfile, dass das RAM von Adresse 0x40000000 bis 
0x40010000 geht. Das ist auch richtig. Irgendwelche Daten sind auf alle 
Fälle in dem Bereich 0x40000000 bis 0x4000400c abgelegt. Wenn du deinen 
Stack nun an der Adresse 0x40010000 platzierst, dann hast du sicher 
ausreichend Platz, sodass nichts überschrieben wird. Versuch das doch 
mal. Warum es funktioniert, wenn du den Flash ab Adresse 1000 anfangen 
lässt, kann ich mir auch nicht erklären. Aber ich würds nicht so machen, 
weil es ist ja nicht richtig - der Flash kommt schon ab 0, und nicht 
erst 0x1000.

von Tobias P. (hubertus)


Lesenswert?

Omega,
> _stack_end = 0x4000FFFF;

Uuuups, das könnte der Grund sein!
Der Stack muss word-aligned sein; d.h. der SP DARF ZWINGEND immer nur 
auf Adressen zeigen, die durch 4 teilbar sind! Also 0x4000FFFF mal durch 
0x4001000 ersetzen. Das wäre die oberste Adresse im internen SRAM. Beim 
PUSHen wird nämlich der SP erst um 4 dekrementiert, danach wird gePUSHt. 
Beim POPen ist es dann natürlich umgekehrt - erst wird gePOPt, dann wird 
der SP um 4 inkrementiert.
4 aus dem Grunde, dass immer nur ganze Wörter auf dem Stack liegen 
können. Selbst wenn du nur ein einzelnes Byte auf den Stack legst oder 
vom Stack nimmst. Die CPU macht daraus automatisch einen Wort-Zugriff 
(also 32 Bits).

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Muss ich nicht dafür sorgen, dass mein Programm erst nach 0x1c anfängt? 
Da davor die "Exception vector" liegen? Wenn ja, wie mache ich das?

von Tobias P. (hubertus)


Lesenswert?

Nein, dein Programm beginnt ab 0. Denn die Vectors liegen ja im Startup 
Code ;-)

Mein Startup-Code sieht etwa so aus:
1
  .text
2
  .code 32
3
  .global reset
4
  .global reset_handler
5
  .align 0
6
  .arm
7
  .section .vectors, "ax"
8
9
start:
10
  b reset_vector
11
  b undef_vector
12
  b swi_vector
13
  b pabort_vector
14
  b dabort_vector
15
  .word 0x99FFFFD8 /* bootloader checksum */
16
  b irq_vector
17
  b fiq_vector
18
19
  .section .init, "ax"
20
  .code 32
21
  .align 0
22
23
reset_vector:
24
  b reset
25
undef_vector:
26
  b undef
27
swi_vector:
28
  b swi
29
pabort_vector:
30
  b pabort
31
dabort_vector:
32
  b dabort
33
irq_vector:
34
  b irq
35
fiq_vector:
36
  b fiq

wozu man .text und so weiter genau braucht - bitte nicht fragen, das 
weiss ich auch nicht. Aber offensichtlich wird es benötigt, damit der 
Assembler weiss, was wohin gehört....
Hier der ganze Code:
1
  .equ MODE_USR, 0x10
2
  .equ MODE_FIQ, 0x11
3
  .equ MODE_IRQ, 0x12
4
  .equ MODE_SVC, 0x13
5
  .equ MODE_ABT, 0x17
6
  .equ MODE_UND, 0x1B
7
  .equ MODE_SYS, 0x1F
8
9
  .equ I_BIT, (1 << 7)
10
  .equ F_BIT, (1 << 6)
11
  .equ T_BIT, (1 << 5)
12
13
  .equ VICINTENCLR, 0xFFFFF014
14
  .equ VICSOFTINTCLR, 0xFFFFF01C
15
  .equ VICADDRESS, 0xFFFFFF00
16
17
  .equ PCON, 0xE01FC0C0
18
  .equ PM0, (1 << 0)
19
  .equ PM1, (1 << 1)
20
  .equ PM2, (1 << 7)
21
  .equ POWERDOWN, PM0 | PM1 | PM2
22
23
  .global fEnableIRQ
24
  .global fDisableIRQ
25
  .global fEnableFIQ
26
  .global fDisableFIQ
27
  .global MCI_ReadFifo
28
  .global MCI_WriteFifo
29
30
  .text
31
  .code 32
32
  .global reset
33
  .global reset_handler
34
  .align 0
35
  .arm
36
  .section .vectors, "ax"
37
38
start:
39
  b reset_vector
40
  b undef_vector
41
  b swi_vector
42
  b pabort_vector
43
  b dabort_vector
44
  .word 0x99FFFFD8 /* bootloader checksum */
45
  b irq_vector
46
  b fiq_vector
47
48
  .section .init, "ax"
49
  .code 32
50
  .align 0
51
52
reset_vector:
53
  b reset
54
undef_vector:
55
  b undef
56
swi_vector:
57
  b swi
58
pabort_vector:
59
  b pabort
60
dabort_vector:
61
  b dabort
62
irq_vector:
63
  b irq
64
fiq_vector:
65
  b fiq
66
67
/* handler for undef vector */
68
undef:
69
  b undef
70
71
/* handler for software interrupts */
72
swi:
73
  stmfd sp!, {r4, r5, lr}
74
  mrs r5, spsr
75
  ldr r4, [lr, #-4]
76
  bic r4, r4, #0xff000000
77
  cmp r4, #MAX_SWI
78
  ldrls pc, [pc, r4, lsl #2]
79
  b swi_user
80
81
switable_start:
82
  .word disable_irq
83
  .word enable_irq
84
  .word disable_fiq
85
  .word enable_fiq
86
switable_end:
87
  .set MAX_SWI, ((switable_end - switable_start) / 4) - 1
88
89
/* swi #0 -> disable irq */
90
disable_irq:
91
  mov r0, r5
92
  orr r5, r5, #I_BIT
93
  b swi_exit
94
95
/* swi #1 -> enable irq */
96
enable_irq:
97
  mov r0, r5
98
  bic r5, r5, #I_BIT
99
  msr spsr_c, r4
100
  b swi_exit
101
102
/* swi #2 -> disable fiq */
103
disable_fiq:
104
  mov r0, r5
105
  orr r5, #F_BIT
106
  b swi_exit
107
108
/* swi #3 -> enable fiq */
109
enable_fiq:
110
  mov r0, r5
111
  bic r5, #F_BIT
112
  b swi_exit
113
114
/* swi handler for user swi functions */
115
swi_user:
116
  stmfd sp!, {r1-r12}
117
  ldr r12, =fDispatchSWI
118
  mov r0, r4
119
  mov lr, pc
120
  bx r12
121
  ldmfd sp!, {r1-r12}
122
123
swi_exit:
124
  msr spsr_c, r5
125
  ldmfd sp!, {r4, r5, pc}^
126
127
/* handler for prefetch abort */
128
pabort:
129
  b pabort
130
131
/* handler for data abort */
132
dabort:
133
  b dabort
134
135
/* interrupt handler - it acknowledges interrupts automatically!
136
   no need to write VICAddress. */
137
irq:
138
  sub lr, #4
139
  stmfd sp!, {lr}
140
  mrs lr, spsr
141
  stmfd sp!, {lr}
142
  msr cpsr_c, #MODE_SVC | I_BIT
143
  stmfd sp!, {r0-r3, r12, lr}
144
  mov r12, #0
145
  ldr r12, [r12, #VICADDRESS]
146
  mov lr, pc
147
  bx r12
148
  ldmfd sp!, {r0-r3, r12, lr}
149
  msr cpsr_c, #MODE_IRQ | I_BIT
150
  mov lr, #0
151
  str lr, [lr, #VICADDRESS]
152
  ldmfd sp!, {lr}
153
  msr spsr_cxsf, lr
154
  ldmfd sp!, {pc}^
155
156
/* fast interrupt handler */
157
fiq:
158
  b fiq
159
160
/* reset entry point */
161
reset:
162
reset_handler:
163
  /* first, loop for a while so that a debugger can halt the cpu */
164
  mov r0, #(1 << 17)
165
1:
166
  sub r0, #1
167
  cmp r0, #0
168
  bne 1b
169
170
  /* create a temporary stack to call the low-level init function */
171
  ldr sp, =__SRAM_segment_end__
172
  ldr r12, =fLowLevelInit
173
  mov lr, pc
174
  bx r12
175
176
  /* switch to UND mode and initialize its stack pointer */
177
  msr cpsr_c, #MODE_UND | I_BIT | F_BIT
178
  ldr sp, =__stack_und_end__
179
180
  /* switch to ABT mode and initialize its stack pointer */
181
  msr cpsr_c, #MODE_ABT | I_BIT | F_BIT
182
  ldr sp, =__stack_abt_end__
183
184
  /* switch to FIQ mode and initialize its stack pointer */
185
  msr cpsr_c, #MODE_FIQ | I_BIT | F_BIT
186
  ldr sp, =__stack_fiq_end__
187
188
  /* switch to IRQ mode and initialize its stack ponter */
189
  msr cpsr_c, #MODE_IRQ | I_BIT | F_BIT
190
  ldr sp, =__stack_irq_end__
191
192
  /* switch to SVC mode and initialize its stack pointer */
193
  msr cpsr_c, #MODE_SVC | I_BIT | F_BIT
194
  ldr sp, =__stack_svc_end__
195
196
  /* clear all pending interrupts */
197
  ldr r1, =VICINTENCLR
198
  mov r2, #0xFFFFFFFF
199
  str r2, [r1]
200
201
  /* clear all pending software interrupts */
202
  ldr r1, =VICSOFTINTCLR
203
  mov r2, #0xFFFFFFFF
204
  str r2, [r1]
205
206
  /* zero-out the bss */
207
  ldr r3, =__bss_start__
208
  ldr r4, =__bss_end__
209
  bl zeromemory
210
211
  /* copy initialized data from ROM to RAM */
212
  ldr r3, =__data_load_start__
213
  ldr r4, =__data_start__
214
  ldr r5, =__data_end__
215
  bl copymemory
216
  ldr r3, =__text_load_start__
217
  ldr r4, =__text_start__
218
  ldr r5, =__text_end__
219
  bl copymemory
220
  ldr r3, =__fast_load_start__
221
  ldr r4, =__fast_start__
222
  ldr r5, =__fast_end__
223
  bl copymemory
224
  ldr r3, =__ctors_load_start__
225
  ldr r4, =__ctors_start__
226
  ldr r5, =__ctors_end__
227
  bl copymemory
228
  ldr r3, =__dtors_load_start__
229
  ldr r4, =__dtors_start__
230
  ldr r5, =__dtors_end__
231
  bl copymemory
232
  ldr r3, =__rodata_load_start__
233
  ldr r4, =__rodata_start__
234
  ldr r5, =__rodata_end__
235
  bl copymemory
236
237
  /* call C++ constructors for objects in global space */
238
  stmfd sp!, {r0-r12}
239
  ldr  r4, =__ctors_start__
240
  ldr  r5, =__ctors_end__
241
1:
242
  cmp r4, r5
243
  beq 1f
244
  ldr r12, [r4], #4
245
  mov lr, pc
246
  bx r12
247
  b 1b
248
1:
249
  ldmfd sp!, {r0-r12}
250
251
  /* switch to USR mode and initialize its stack pointer */
252
  msr cpsr_c, #MODE_USR | I_BIT | F_BIT /* irq and fiq enabled */
253
  ldr sp, =__stack_end__
254
255
  /* now let's start */
256
  mov r0, #0
257
  mov r1, #0
258
  mov r2, #0
259
  mov r3, #0
260
  mov r4, #0
261
  mov r5, #0
262
  ldr r12, =fStart
263
  mov lr, pc
264
  bx r12
265
266
  /* call C++ destructors */
267
  ldr  r4, =__dtors_start__
268
  ldr  r5, =__dtors_end__
269
1:
270
  cmp r4, r5
271
  beq 1f
272
  ldr r12, [r4], #4
273
  mov lr, pc
274
  bx r12
275
  b 1b
276
277
  /* when the main program returns (which may never occur), power down the
278
     cpu and go into an endless loop. */
279
1:
280
  ldr r1, =PCON
281
  mov r2, #POWERDOWN
282
  strb r2, [r1]
283
1:
284
  b 1b
285
286
/* fill a given memory block with zero */
287
zeromemory:
288
  cmp r3, r4
289
  beq 2f
290
  mov r5, #0
291
1:
292
  strb r5, [r3], #1
293
  cmp r3, r4
294
  bne 1b
295
2:
296
  mov pc, lr
297
298
/* copy data from one memory block to an other */
299
copymemory:
300
  cmp r3, r4
301
  moveq pc, lr  
302
  subs r5, r5, r4
303
  moveq pc, lr  
304
1:
305
  ldrb r6, [r3], #1
306
  strb r6, [r4], #1
307
  subs r5, r5, #1
308
  bne 1b
309
  mov pc, lr
310
311
fEnableIRQ:
312
  swi #1
313
  bx lr
314
315
fDisableIRQ:
316
  swi #0
317
  bx lr
318
319
fEnableFIQ:
320
  swi #3
321
  bx lr
322
323
fDisableFIQ:
324
  swi #2
325
  bx lr
326
327
  .equ fifo, 0xe008c080
328
329
MCI_ReadFifo:
330
  stMFD   sp!,{r4,r5,r12,lr}
331
  LDR     r4, =fifo
332
  mOV     r5, r0
333
  LDMIA   r4, {r0-r3}
334
  STMIA   r5!, {r0-r3}
335
  LDMIA   r4, {r0-r3}
336
  STMIA   r5!, {r0-r3}
337
  MOV     r0, r5
338
  LDMFD   sp!,{r4,r5,r12,pc}
339
340
MCI_WriteFifo:
341
  STMFD   sp!,{r4,r5, r12,lr}
342
  LDR     r5, =fifo
343
  MOV     r4, r0
344
  LDMIA   r4!, {r0-r3}
345
  STMIA   r5, {r0-r3}
346
  LDMIA   r4!, {r0-r3}
347
  STMIA   r5, {r0-r3}
348
  MOV     r0, r4
349
  LDMFD   sp!,{r4,r5,r12 ,pc}
350
  .end

von Omega G. (omega) Benutzerseite


Lesenswert?

Ich sage einfach mal Danke! Danke für die Hilfe und danke für diesen 
startup-code!
Ich verstehe zwar nur wenig, aber ich glaube es funktioniert besser als 
meiner. Abgesehen davon, dass deiner ein gaaaanzes Stück länger ist.
Mein Linker meldet: arm-elf-ld: error: no memory region specified for 
loadable section `.vectors'

Aber scheinbar läuft's.

von Tobias P. (hubertus)


Lesenswert?

Ja, mein Code beinhaltet auch einen Interrupt- und SWI-Dispatcher. 
Ausserdem initialisiert er alle Stacks, und er stellt 4 kleine 
Funktiönchen bereit, die sich aus dem C-Code aufrufen lassen: 
fEnableIRQ, fDisableIRQ, fEnableFIQ, fDisableFIQ. Aber Achtung!

- die Funktionen MCI_Read_FIFO und MCI_Write_FIFO benötigst du nicht. 
Die sind für mich, zum testen des MCI, da.
- Die Symbole (_stack_end_ und so weiter) wirst du ein wenig an deine 
Umgebung anpassen müssen, reskeptive an dein Linkerscript.

Stürzt dein Rechner denn jetzt nicht mehr ab?

von Omega G. (omega) Benutzerseite


Lesenswert?

Sorry in der Eile vorm Abendessen habe ich die falsche HEX File 
erwischt. Ich muss erstmal das Script bzw. meine .c Datei anpassen, dann 
kann ich's testen.

von Tobias P. (hubertus)


Lesenswert?

Ja, also - du wirst meinen Startup Code eh noch anpassen müssen ;-)

>   ldr r12, =fDispatchSWI

fDispatchSWI ist eine C-Funktion, die aufgerufen wird, wenn man einen 
SWI generiert. Entweder umbenennen, oder löschen, wenn du das nicht 
brauchst.

>   ldr sp, =__SRAM_segment_end__

SRAM_segment_end ist beim LPC24xx gleich 0x40010000.

>   ldr r12, =fLowLevelInit

Mit der Funktion fLowLevelInit initialisiere ich das externe SDRAM, 
sowie die PLL und weitere Spielereien. Ich will das in C machen, da es 
um einiges bequemer ist; ausserdem kann man dann die Stacks auch im 
externen SDRAM platzieren, wenn man möchte. Dazu muss aber dieses SDRAM 
eben schon während des Startens aktiv sein, deshalb erst diese 
Initialisiererei. Ich hab im Moment den Stack sowie den Heap im externen 
Memory. IRQ und FIQ stack sind im internen, weils schneller ist.

>   ldr r12, =fStart

Die Start-Funktion. Dort kann man noch weitere Initialisierungen machen, 
bevor man main aufruft. Du kannst aber auch gleich schreiben: ldr r12, 
=main, wenn dir das besser gefällt.

Gib dann nach dem Abendessen Bescheid, obs klappt ;-)
und guten Appetit :D

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Omega G. schrieb:
> So, hier ist ein nicht ganz gutes Foto.

Sag mal, woher haste denn den Speicherchip "Samsung K4S043232P-IC70"?

Das bekomme ich über keinen Distributor, denn er wird nicht mehr 
produziert. Das ist ein ganz spezieller Chip welcher AUSSCHLIESSLICH für 
PC-Speichermodule gefertigt wurde.

Denke es ist besser, sich an einen Hersteller (z.B. Micron) zu wenden, 
der frei verkäufliche Chips hat, welche man auch noch in 2 oder 4 Jahren 
nachbekommen kann, denn mit Deinem Samsung werden sich die meisten hier 
nen Schuß geben können.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Michelle,
guck mal weiter oben.
Er hat den Chip von seiner Graphikkarte entlötet.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Habe noch was vergesen:

Ich würde lieber den "Micron Mobile SDRAM MT48H16M32LF/LG" ­(4M x 32 x 
4banks) einsetzen...

Ist allerdings ein VFBGA und endet in einer Bügeleisen Orgie...

Zwei von den Teilen will ich an den LPC3250 kleben plus ne 512MByte oder 
1 GByte NAND Flash.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Michelle,
willst du das mit dem Bügeleisen wirklich versuchen? Irgendwie scheint 
mir das sehr riskant. Wenns nicht klappt, oder wenn eine Brücke unter 
dem BGA entsteht, kannst du die Leiterplatte weg schmeissen, das BGA 
natürlich auch.... Ausserdem habe ich fast das Gefühl, dass die Gefahr, 
die Leiterplatte anzukokeln, recht gross ist.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Tobias Plüss schrieb:
> Michelle,
> willst du das mit dem Bügeleisen wirklich versuchen? Irgendwie scheint
> mir das sehr riskant. Wenns nicht klappt, oder wenn eine Brücke unter
> dem BGA entsteht, kannst du die Leiterplatte weg schmeissen, das BGA
> natürlich auch.... Ausserdem habe ich fast das Gefühl, dass die Gefahr,
> die Leiterplatte anzukokeln, recht gross ist.

Nee, nicht doch...

Ich habe eine Ayoue 720 InfraRot Lötstation womit das geht...  Weshalb 
ich auch die Speicher (DDR und NAND Flash) beim LPC3250 in weniger als 
3mm enfernung positionieren kann.

Abgesehen davon würde ich sowas wie "Micron Synchronous DRAM 
MT48LC32M16A2" (8M x 16 x 4banks) einsetzen, wenn für normalsterbliche 
zum löten, da ein Massenprodukt und TSSOP.  Bin aber noch auf der Suche 
nach einem 32bit'er.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Du hast ja voll die Hightech-Ausstattung. Bastelst du denn zum Spass 
oder machst du das kommerziell? So eine Lötstation hat ein(e) 
Hobbybastler(in) wohl kaum einfach so, oder?
Also ich kann mich über die Ausstattung meines Bastelkellers ja nicht 
beschweren, aber eine ordentliche Lötstation hab ich nicht. :-( Nur so 
ein Conrad-Müll, der völlig überteuert war und ganz und gar nicht zu 
gebrauchen ist.

> Bin aber noch auf der Suche nach einem 32bit'er.

Wenns weiter nichts ist: MT48LC32M16. Es gibt auch von ISSI 
pinkompatible Typen: IS42S32160B zum Beispiel.

von David .. (volatile)


Lesenswert?

Tobias Plüss schrieb:
> Du hast ja voll die Hightech-Ausstattung. Bastelst du denn zum Spass
> oder machst du das kommerziell? So eine Lötstation hat ein(e)
> Hobbybastler(in) wohl kaum einfach so, oder?

Einfach mal Benutzerseite lesen.

von Omega G. (omega) Benutzerseite


Lesenswert?

Also scheinbar geht's jetzt wirklich. Tja der RAM... wie gesagt 
ausgelötet. Ich denke aber jeder SDRAM in diesem Gehäuse müsste dieses 
Pinout haben, bis auf wenige Ausnahmen.

Ich habe jetzt das als Startup:
1
#/***********************************************************************/
2
#/*  This file is part of the uVision/ARM development tools             */
3
#/*  Copyright KEIL ELEKTRONIK GmbH 2002-2004                           */
4
#/***********************************************************************/
5
#/*                                                                     */
6
#/*  STARTUP.S:  Startup file                                           */
7
#/*                                                                     */
8
#/***********************************************************************/
9
10
# *** Startup Code (executed after Reset) ***
11
12
13
# Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
14
15
        .equ    Mode_USR,       0x10
16
        .equ    Mode_FIQ,       0x11
17
        .equ    Mode_IRQ,       0x12
18
        .equ    Mode_SVC,       0x13
19
        .equ    Mode_ABT,       0x17
20
        .equ    Mode_UND,       0x1B
21
        .equ    Mode_SYS,       0x1F
22
23
        .equ    I_Bit,          0x80    /* when I bit is set, IRQ is disabled */
24
        .equ    F_Bit,          0x40    /* when F bit is set, FIQ is disabled */
25
26
27
        .equ    Top_Stack,      0x40001000
28
        .equ    UND_Stack_Size, 0x00000000
29
        .equ    SVC_Stack_Size, 0x00000008
30
        .equ    ABT_Stack_Size, 0x00000000
31
        .equ    FIQ_Stack_Size, 0x00000000
32
        .equ    IRQ_Stack_Size, 0x00000080
33
        .equ    USR_Stack_Size, 0x00000400
34
35
36
# Starupt Code must be linked first at Address at which it expects to run.
37
38
        .text
39
        .arm
40
41
        .global _startup
42
        .func   _startup
43
_startup:
44
45
46
# Exception Vectors
47
#  Mapped to Address 0.
48
#  Absolute addressing mode must be used.
49
#  Dummy Handlers are implemented as infinite loops which can be modified.
50
51
Vectors:        LDR     PC, Reset_Addr         
52
                LDR     PC, Undef_Addr
53
                LDR     PC, SWI_Addr
54
                LDR     PC, PAbt_Addr
55
                LDR     PC, DAbt_Addr
56
                NOP                            /* Reserved Vector */
57
#               LDR     PC, IRQ_Addr
58
                LDR     PC, [PC, #-0x0FF0]     /* Vector from VicVectAddr */
59
                LDR     PC, FIQ_Addr
60
61
Reset_Addr:     .word   Reset_Handler
62
Undef_Addr:     .word   Undef_Handler
63
SWI_Addr:       .word   SWI_Handler
64
PAbt_Addr:      .word   PAbt_Handler
65
DAbt_Addr:      .word   DAbt_Handler
66
                .word   0                      /* Reserved Address */
67
IRQ_Addr:       .word   IRQ_Handler
68
FIQ_Addr:       .word   FIQ_Handler
69
70
Undef_Handler:  B       Undef_Handler
71
SWI_Handler:    B       SWI_Handler
72
PAbt_Handler:   B       PAbt_Handler
73
DAbt_Handler:   B       DAbt_Handler
74
IRQ_Handler:    B       IRQ_Handler
75
FIQ_Handler:    B       FIQ_Handler
76
77
78
# Reset Handler
79
80
Reset_Handler:  
81
82
# Setup Stack for each mode
83
84
                LDR     R0, =Top_Stack
85
86
#  Enter Undefined Instruction Mode and set its Stack Pointer
87
                MSR     CPSR_c, #Mode_UND|I_Bit|F_Bit
88
                MOV     SP, R0
89
                SUB     R0, R0, #UND_Stack_Size
90
91
#  Enter Abort Mode and set its Stack Pointer
92
                MSR     CPSR_c, #Mode_ABT|I_Bit|F_Bit
93
                MOV     SP, R0
94
                SUB     R0, R0, #ABT_Stack_Size
95
96
#  Enter FIQ Mode and set its Stack Pointer
97
                MSR     CPSR_c, #Mode_FIQ|I_Bit|F_Bit
98
                MOV     SP, R0
99
                SUB     R0, R0, #FIQ_Stack_Size
100
101
#  Enter IRQ Mode and set its Stack Pointer
102
                MSR     CPSR_c, #Mode_IRQ|I_Bit|F_Bit
103
                MOV     SP, R0
104
                SUB     R0, R0, #IRQ_Stack_Size
105
106
#  Enter Supervisor Mode and set its Stack Pointer
107
                MSR     CPSR_c, #Mode_SVC|I_Bit|F_Bit
108
                MOV     SP, R0
109
                SUB     R0, R0, #SVC_Stack_Size
110
111
#  Enter User Mode and set its Stack Pointer
112
                MSR     CPSR_c, #Mode_USR
113
                MOV     SP, R0
114
115
#  Setup a default Stack Limit (when compiled with "-mapcs-stack-check")
116
                SUB     SL, SP, #USR_Stack_Size
117
118
119
# Relocate .data section (Copy from ROM to RAM)
120
                LDR     R1, =_etext
121
                LDR     R2, =_data
122
                LDR     R3, =_edata
123
LoopRel:        CMP     R2, R3
124
                LDRLO   R0, [R1], #4
125
                STRLO   R0, [R2], #4
126
                BLO     LoopRel
127
128
129
# Clear .bss section (Zero init)
130
                MOV     R0, #0
131
                LDR     R1, =_bss_start
132
                LDR     R2, =_bss_end
133
LoopZI:         CMP     R1, R2
134
                STRLO   R0, [R1], #4
135
                BLO     LoopZI
136
137
138
# Enter the C code
139
                B       main
140
141
142
        .size   _startup, . - _startup
143
        .endfunc
144
145
146
        .end

Mein S65 Display funktioniert jetzt. Jetzt ist der RAM dran...

Mit BGA will ich nur ungern was anfangen, obwohl ich eine 
Heißluftlötstation habe.

von Tobias P. (hubertus)


Lesenswert?

Der RAM funktioniert jetzt auch?
Bei vollen 72 MHz?

von Omega G. (omega) Benutzerseite


Lesenswert?

Da bin ich jetzt dabei es auszuprobieren. Aber es liegt an CLKOUT 72 MHz 
an.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Von Micron gibt es den kleinsten

MT48LC2M32B2P-7   64Mb  2Mb  x32   3.3V  TSOP  86-pin  7ns  0C to +70C

@Tobias:  Ich arbeite professionell, und die 720 hatte mich gut 2000 
Euro gekostet, nur würde ich NIEMANDEN raten, von Ayoue was zu kaufen. 
Funktioniert, ist aber schrott und ich habe mir am IR Griffel schon 
paarmal die Bratzen erheblich verbrannt.

Ich bin nun auf der Suche nach einem kleinen VPS aber KEINEN PIZZAOFEN.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

> Ich arbeite professionell

eigene Firma, wie ich sehe? Coole Sache. Bin ich auch schon am Planen, 
obwohl ich mir mit meinen 20 Jahren noch ein bisschen Zeit lassen kann 
;-)

>  nur würde ich NIEMANDEN raten, von Ayoue was zu kaufen.

Ich würde eh nur Weller nehmen. Was ich demnächst auch mal tun werde. 
Zwar kein IR-Gerät, einfach so ein Multifunktionsding (also Entlötanlage 
sowie normaler Lötkolben).

@Omega
> Aber es liegt an CLKOUT 72 MHz an.

Na das sieht schonmal gut aus. Jetzt müssten es eigentlich so 'Pakete' 
sein, wo immer paar Takte lang 72 MHz raus kommen, und danach ist wieder 
für eine gewisse Zeit ein fester High-Pegel. So sieht es jedenfalls bei 
mir aus. Ich muss zugeben, die Initialisierung des EMC ist nicht so 
einfach. Hier mal mein Code:
1
void initsdram(void)
2
{
3
  int i;
4
  PCONP |= (1 << 11);
5
  PINSEL5 = 0x55010115;
6
  PINMODE5 = 0xAA02022A;
7
  PINSEL6 = 0x55555555;
8
  PINMODE6 = 0xAAAAAAAA;
9
  PINSEL7 = 0x55555555;
10
  PINMODE7 = 0xAAAAAAAA;
11
  PINSEL8 = 0x15555555;
12
  PINMODE8 = 0x2AAAAAAA;
13
  PINSEL9 = (1 << 18);
14
  PINMODE9 = 0x80000;
15
  EMCControl = 1;
16
  EMCDynamicReadConfig = 1;
17
  EMCDynamicRasCas0 = 0x203;
18
  EMCDynamictRP = 3;
19
  EMCDynamictRAS = 5;
20
  EMCDynamictSREX = 2;
21
  EMCDynamictAPR = 2;
22
  EMCDynamictDAL = 5;
23
  EMCDynamictWR = 3;
24
  EMCDynamictRC = 6;
25
  EMCDynamictRFC = 6;
26
  EMCDynamictXSR = 2;
27
  EMCDynamictRRD = 3;
28
  EMCDynamictMRD = 3;
29
  EMCDynamicConfig0 = ((1 << 14) | (1 << 10) | (1 << 9) | (1 << 7));
30
  for(i = 0; i < 100; i++);
31
  EMCDynamicControl = 0x181; // nop
32
  for(i = 0; i < 100; i++);
33
  EMCDynamicControl = 0x101; // precharge all
34
  EMCDynamicRefresh = 1;
35
  for(i = 0; i < 100; i++);
36
  EMCDynamicRefresh = 19;
37
  EMCDynamicControl = 0x081;
38
  i = (*(volatile int*)(0xA0000000 | (0x22 << 13))); // 4 burst 2 cas
39
  EMCDynamicControl = 0;
40
  EMCDynamicConfig0 |= 0x80000;
41
}

Besonder die Zeile

>   EMCDynamicConfig0 = ((1 << 14) | (1 << 10) | (1 << 9) | (1 << 7));

wirst du anpassen müssen (siehe LPC24xx Manual Seite 89).
Vielleicht das Timing noch ein bisschen auf deinen RAM tunen... Ich habe 
IS42S16160 drin. Weiss nicht, ob das zu deinem Samsung-RAM passt...

von Stephan (Gast)


Lesenswert?

Hi Michelle

TME hat auch noch den von Micron:

MT48LC4M32B2 SDRAM 3V3 4Mx32 167MHz TSOP86

mfg
Stephan

von Omega G. (omega) Benutzerseite


Lesenswert?

Schön, dass es hier noch andere 20 jährige gibt, die sich mit moderner 
Elektronik befassen, sieht man viel zu selten!

Tja, mein RAM hat ein dauerhaftes Signal auf CLK und lässt sich nicht 
lesen.

Müsste CLK nicht paketweise anliegen?

Es kann natürlich sein, dass ich das RAM gekillt habe beim auslöten.

von Tobias P. (hubertus)


Lesenswert?

Omega,
> Schön, dass es hier noch andere 20 jährige gibt, die sich mit moderner
> Elektronik befassen, sieht man viel zu selten!

ah, du bist auch so einer? ;-)

> Müsste CLK nicht paketweise anliegen?

Doch, genau das habe ich ja weiter oben geschrieben ;-)
Wenn CLK nicht paketweise anliegt, dann hast du den EMC nicht korrekt 
initialisiert.

Dass der RAM beim Auslöten kaputt gegangen ist bezweifle ich. Wenn du 
nicht grade mit deinem 400°C Dachrinnenlötkolben dran gegangen bist, 
sollte das Teil noch ganz sein, die sind relativ robust. Meine ISSI habe 
ich auch ausgelötet, und bisher keine Probleme. Hast du die Timings alle 
überprüft?

von Omega G. (omega) Benutzerseite


Lesenswert?

Ja, ich bin auch so einer...

Ja ich habe es versucht, wobei ich mich etwas schwer tue. Ich habe 
einfach mal ein paar Werte aus verschiedenen Beispielen ausprobiert. 
Erfolglos.

Ich habe im Datenblatt z.B. die Angabe: "Row active to row active delay" 
= 2 CLK

Für welches Register ist die jetzt relevant? Irgendwie fühle ich mich 
leicht erschlagen mit diesen zig Werten...

von Tobias P. (hubertus)


Lesenswert?

Ist mir am Anfang auch so gegangen.
Schau dir mal meinen Code an. Kopier den mal, und schau, wie CLKOUT 
aussieht. Dann sollten wirklich einzelne Clock-Pakete kommen.
Und dann kannst du Schritt für Schritt die Werte anpassen, bis es läuft.

von Omega G. (omega) Benutzerseite


Lesenswert?

Leider tut es das bei mir nicht...

Habe ich was übersehen?
1
void init_ram(void){
2
  int i;
3
4
  PCONP|=(1<<11);
5
    
6
  PINSEL5 = 0x55010115;
7
  PINMODE5 = 0xAA02022A;
8
  PINSEL6 = 0x55555555;
9
  PINMODE6 = 0xAAAAAAAA;
10
  PINSEL7 = 0x55555555;
11
  PINMODE7 = 0xAAAAAAAA;
12
  PINSEL8 = 0x15555555;
13
  PINMODE8 = 0x2AAAAAAA;
14
  PINSEL9 = (1 << 18);
15
  PINMODE9 = 0x80000;
16
 
17
  
18
19
  EMC_CTRL=1; // enable EMC
20
  EMC_DYN_RD_CFG=1;//Configures the dynamic memory read strategy(Command delayed strategy)
21
  EMC_DYN_RASCAS0|=0x203;
22
  EMC_DYN_RP= 3;
23
  EMC_DYN_RAS = 5;
24
  EMC_DYN_SREX = 2;
25
  EMC_DYN_APR = 2;
26
  EMC_DYN_DAL = 5;
27
  EMC_DYN_WR = 3;
28
  EMC_DYN_RC = 6;
29
  EMC_DYN_RFC = 6;
30
  EMC_DYN_XSR = 2;
31
  EMC_DYN_RRD = 3;
32
  EMC_DYN_MRD = 3;
33
  EMC_DYN_CFG0 = ((1 << 14) | (1 << 10) | (1 << 9) | (1 << 7));//(1<<14)|(1<<9)|(1<<8);//8,9,14
34
  //64 MB (2Mx32), 4 banks, row length = 11, column length = 8
35
  
36
  for(i = 0; i < 100; i++);
37
  EMC_DYN_CTRL = 0x0181; // NOP
38
  for(i = 0; i < 100; i++);
39
  EMC_DYN_CTRL|=0x101; 
40
  EMC_DYN_RFSH = 1;
41
  for(i = 0; i < 100; i++);
42
  EMC_DYN_RFSH = 19;
43
44
  EMC_DYN_CTRL|=0x81; 
45
  i = (*(volatile int*)(0xA0000000 | (0x22 << 13)));
46
  EMC_DYN_CTRL = 0;
47
48
  EMC_DYN_CFG0|=0x80000;  
49
}

von Omega G. (omega) Benutzerseite


Lesenswert?

Wer kennt den Unterschied zwischen |= und =

Ich schiebe die Schuld jetzt einfach auf die späte Stunde, dass ich's 
übersehen habe.

So, mein RAM wird jetzt päkchenweise angesprochen! Danke Tobias!

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Guten Morgen Stefan,

Stephan schrieb:
> Hi Michelle
>
> TME hat auch noch den von Micron:

Welche Firma meinst Du mit TME?

Habe nur "TME electronic GmbH" gefunden, aber da ist nichts auf der 
Webseite.

> MT48LC4M32B2 SDRAM 3V3 4Mx32 167MHz TSOP86

Also den oder auf die 64Mbit variante fürde ich sowieso nur 25 Stück 
weise direkt einkaufen...  Was kostet der bei TME?  Bei Micron über 
DigiKey 142,69 US$ für 25 Stück...  plus ~80 US$ Versand.

Bei 100 Stück währen es allerdings nur noch 516,80 US$.

Sollte man sich echt überlegen...

Grüße
Michelle

von Tom (Gast)


Lesenswert?

> Wer kennt den Unterschied zwischen |= und =

Eine einfache Zuweisung:
1
a = b
Eine veroderde Zuweisung:
1
a |= b
entspricht
1
a = a | b

von Thomas K. (muetze1)


Lesenswert?

@Tom: das war eine rhetorische Frage...

von Omega G. (omega) Benutzerseite


Lesenswert?

Genau, und das zu Übersehen kann einen Haufen Ärger machen!

Also der RAM läuft scheinbar.
1
for (i = 0; i < 64; i+=sizeof(unsigned int))
2
  {
3
    *(unsigned int*)((unsigned int)&SDRAM_BASE_ADDR+i) = i;
4
  }
5
6
  for (i = 0; i < 64; i+=sizeof(unsigned int))
7
  {
8
    if (*(unsigned int*)((unsigned int)&SDRAM_BASE_ADDR+i) != i)
9
    {
10
      return(i);
11
    }
12
  }

Läuft perfekt, aber sobald ich die Grenze von 64 auf 65 oder mehr erhöhe 
gibts schon einen Fehler bei Adresse 0, ich vermute es ist ein Problem 
mit den timings.

von Stephan (Gast)


Lesenswert?

>Welche Firma meinst Du mit TME?

http://www.tme.eu/de/index.phtml

mfg
Stephan

von Stephan (Gast)


Lesenswert?

Nachtrag:

MT48LC4M32B2P-6  SDRAM 3V3 4Mx32 167MHz TSOP86

Menge:             1+     13+
Bruttopreis [EUR]: 3.172  3.001
Nettopreis [EUR]:  2.60   2.46

MT48LC4M32B2P7I  SDRAM 3V3 4Mx32 143MHz TSOP86

Menge:             1+     6+
Bruttopreis [EUR]: 6.551  6.21
Nettopreis [EUR]:  5.37   5.09

das sind die Preise.
Das kleine Problem dort ist der Lagerbestand.
Im Browser werden immer nur kleine Mengen angezeigt (so um < 20 
meistens)
und wie das mit der Wartezeit ist bei größeren Mengen hab ich noch nicht 
ausprobiert.

mfg
Stephan

PS: der kleine liegt da zwischen:
MT48LC2M32B2P7I SDRAM 3V3 2Mx32 143MHz TSOP86

Menge:             1+    10+
Bruttopreis [EUR]: 4.16  3.928
Nettopreis [EUR]:  3.41  3.22

von Tobias P. (hubertus)


Lesenswert?

Warum finde ich nirgends einen SDRAM-Chip mit 8M x 32? Bisher habe ich 
16M x 16 gehabt, und das zwei mal damit ich auf 32 Bits komme. Wenn ich 
schon einen 32 Bit Chip habe, dann sollder doch auch bitteschön gleich 
gross sein.
Gibts sowas? Schön wäre ein 256 MByte Chip, sodass man die Bankgrösse 
vom LPC voll ausnutzen könnte. Man hat schliesslich nie genug RAM ;-)

> So, mein RAM wird jetzt päkchenweise angesprochen! Danke Tobias!

Bitteschön.
Dass dein Progrämmchen mit einem anderen Wert als 64 nicht läuft, könnte 
wirklich am Timing liegen. Hast du denn alle Werte noch einmal durch 
gerechnet? Wenn du alles schön nach Datenblatt eingegeben hast, müsste 
es laufen.

von Omega G. (omega) Benutzerseite


Lesenswert?

Dafür war es mir gestern zu spät, das kommt heute dran.

von Stephan (Gast)


Lesenswert?

Morgen

> Tobias:
>Warum finde ich nirgends einen SDRAM-Chip mit 8M x 32? Bisher habe ich
>16M x 16 gehabt, und das zwei mal damit ich auf 32 Bits komme. Wenn ich
>schon einen 32 Bit Chip habe, dann sollder doch auch bitteschön gleich
>gross sein. Gibts sowas?

kennst du den?

IS42S32800B
ISSI  SDRAM  8Mx32  256Mbit  143MHz/166MHz  Commercial/Industrial 3.3V 
86TSOP2/90BGA

gibs bei Digi-Key, RS und Farnell! Ist aber sehr teuer! (für mich ;-) )
Obwohl bei Farnell ab 10Stk. ist er für ca. 10 € zu haben, das wäre noch 
ok.

mfg
Stephan

von Tobias P. (hubertus)


Lesenswert?

Stephan,
danke! den habe ich gar nicht gesehen. Und ja - verglichen mit den 
anderen Bausteinen ist das Ding ja schweineteuer :-(

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Stephan schrieb:
> kennst du den?
>
> IS42S32800B
> ISSI  SDRAM  8Mx32  256Mbit  143MHz/166MHz  Commercial/Industrial 3.3V
> 86TSOP2/90BGA

Cool...

> gibs bei Digi-Key, RS und Farnell! Ist aber sehr teuer! (für mich ;-) )
> Obwohl bei Farnell ab 10Stk. ist er für ca. 10 € zu haben, das wäre noch
> ok.

Ich habe mich gestern bei Micron/DigiKey beschwert, wegend er 70 US$ 
Frachtkosten von USA-> Europa.

Also die Micron Chips bekomme ich bei AVNET-MEMEC und die Samsung bei 
EBV.  Beides in Illkirch-Grafenstaden/Strasbourg.  Und WESENTLICH 
billiger.

Naja, muß mir mal das Datenblatt vom ISSI angucken, in wie weit der 
256Mb mit dem 128Mb und 64Mb pinkompatibel ist.

Ich meine, 4 davon an meinen Marvel hängen und ich habe die ABSOLUTE 
Rennschüssel von einem ARM-PC.  Shit nur, das dann Eagle nicht darauf 
läuft.

> mfg
> Stephan

Grüße
Michelle

von Gast (Gast)


Lesenswert?

>Ich habe mich gestern bei Micron/DigiKey beschwert, wegend er 70 US$
>Frachtkosten von USA-> Europa.

Dir ist bekannt das über digikey.de ab 65€ Bestellwert keine 
Versandkosten anfallen?
Kreditkarte wollen die aber immer noch haben.

von Tobias P. (hubertus)


Lesenswert?

Hi Michelle,
dein Marvell-Prozessor scheint ja echt cool zu sein.
Ist es denn ein ARM7 oder ARM9? Wenn Linux drauf läuft wohl ein 9er mit 
MMU, oder? Wie schnell taktest du das Teil denn.

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Gast schrieb:
> Dir ist bekannt das über digikey.de ab 65€ Bestellwert keine
> Versandkosten anfallen?
> Kreditkarte wollen die aber immer noch haben.

Im August lezten Jahres habe ich 100 Freescale i.MX35 gekauft und selbst 
dort nicht allzuknapp Versandkosten bezahlen müssen, weil Future in UK 
nicht liefern konnte.

Grüße
Michelle

von Tobias P. (hubertus)


Lesenswert?

Hey Michelle,
mal ne kurze Frage wegen dem 32 Bit SDRAM.
Ich bin das Schema meines Boards grade am umzeichnen, da ich trotz des 
teuren Preises gerne den IS42S32800 SDRAM einsetzen möchte (8M x 32).
Dazu habe ich ein paar Fragen:

- Kann ich DQM0..3 direkt mit DQM0..3 vom LPC2478 verbinden? Im Manual 
ist nämlich nicht explizit erklärt, welches DQM für welches Byte ist. In 
meinem ersten Testboard hatte ich es einfach mal auf gut Glück 
verbunden, aber im Layout ist irgendwas durcheinander geraten; deshalb 
lief es nicht auf anhieb und ich musste es mit Wrapdraht reparieren. 
Also: DQM0..3 vom LPC = DQM0..3 vom SDRAM?

- Bei all diesen SDRAM's habe ich festgestellt, dass die Pins für den 
SDRAM selber und für die IO-Treiber separat sind (VDDQ bzw. VSSQ und VDD 
bzw. VSS). Meine Frage daher: wäre es vielleicht EMV-technisch gesehen 
klug, VDDQ irgendwie von VDD zu entkoppeln oder sonst besondere 
Massnahmen zu ergreifen?

von Omega G. (omega) Benutzerseite


Lesenswert?

Ich habe DQM0...3 mit DQM0...3 verbunden.

Bin aber heute nicht weitergekommen mit dem RAM testen. (Semester hat 
wieder angefangen)

von Mario P. (mariopieschel)


Lesenswert?

LPC2478, jetzt ist er endlich da. Wer will ihn haben im Tausch gegen 
einen LPC3250?

mariopieschel(ÄHT)web(PUNKT)de

von Phil S. (zippi)


Lesenswert?

Können ja auch mal ne Samelbestellung bei Digikey machen. Die haben den 
LPC3250 und den LPC2478.

Aber wieso Michelle bei Digikey Versandkosten Zahlen musste versteh ich 
auch nicht. Habe dort schon mehrmals bestellt, und ich musste höchstens 
MWST zahlen mehr nicht.

Also wenn Interesse besteht würde ich eine Bestellung aufgeben.
Der LPC3250 kostet 8,72Euro + MWST
Der LPC2478 kostet 11,15Euro + MWST

IS42S32800B-7TL kostet 14,59Euro + MWST
MT48LC2M32B2P kostet 3,99Euro + MWST
MT48LC4M32B2P kostet 6,02Euro + MWST

Preise ohne Gewähr

Gruß
Zippi

von Thomas K. (muetze1)


Lesenswert?

Klingt gut, am RAM würde ich mich beteiligen. Ich muss mich ja nun auch 
mal mit einem LPC2478 Board beschäftigen (oder ich häng mich bei 
jemanden mit ran).

von Phil S. (zippi)


Lesenswert?

OK gut,

Dann schickt mir einfach mal eine PN was ihr und wie viel ihr haben 
wollt. Wenn wir bis Freitag 65Euro (ohne MWST) zusammen bekommen, dann 
werde ich die Bestellung fertig machen. Wenn nicht, naja dann nicht^^.

Falls jemand noch das 1 oder andere Teil braucht was hier nicht 
aufgelistet ist, sollte das Kein Problem sein.
Aber bitte nicht 100 verschiedene Bauteile.

Ab Freitag werde ich dann noch mal alle anschreiben und fragen ob es 
verbindlich ist, bzw ob wir 65Euro zusammen haben.

@ Omega G.
Von welcher Graka hast du den RAM runtergelötet?

Gruß
Zippi

von David .. (volatile)


Lesenswert?

Phil S. schrieb:
> OK gut,
>
> Dann schickt mir einfach mal eine PN was ihr und wie viel ihr haben
> wollt. Wenn wir bis Freitag 65Euro (ohne MWST) zusammen bekommen, dann
> werde ich die Bestellung fertig machen. Wenn nicht, naja dann nicht^^.
>
> Falls jemand noch das 1 oder andere Teil braucht was hier nicht
> aufgelistet ist, sollte das Kein Problem sein.
> Aber bitte nicht 100 verschiedene Bauteile.
>
> Ab Freitag werde ich dann noch mal alle anschreiben und fragen ob es
> verbindlich ist, bzw ob wir 65Euro zusammen haben.

Hm, digikey... Ich rede mal mit meinem Konto :(

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich würde sagen die haben seit leztem Jahr die Preis gut 20% 
angezogen...

4" KWH040GM05-F02 (with touch panel)
US$19.8 per unit for 100pcs/lot, FCA HongKong.

Per carton: 50pcs, 9kg, US$180 (estimated shipping cost)

Hmmm, davon bräuchte ich 10 Stück...

Grüße
Michelle

von Phil S. (zippi)


Lesenswert?

Michelle Konzack schrieb:
> Ich würde sagen die haben seit leztem Jahr die Preis gut 20%
> angezogen...
>
> 4" KWH040GM05-F02 (with touch panel)
> US$19.8 per unit for 100pcs/lot, FCA HongKong.
>
> Per carton: 50pcs, 9kg, US$180 (estimated shipping cost)
>
> Hmmm, davon bräuchte ich 10 Stück...
>
> Grüße
> Michelle

Ich würde 3-5 Nehmen. Aber ich denke nicht das wir 100 ST zusammen 
Bekommen.

Gruß
Zippi

von Omega G. (omega) Benutzerseite


Lesenswert?

Irgendjemand hat gefragt welche Grafikkarte ich geopfert habe: es 
handelte sich um eine Hercules 3D Prophet 4000 XT da sind 4 Stück dieser 
RAMs drauf, zusammen 32 Mbyte.

Eine Hercules 3D Prophet II hat auch 32 bit SDRAM: HY57V653220B

je nachdem wie hoch der Gesamtpreis für das Display ausfällt würde ich 
ein bis zwei nehmen.

Wegen Digikey werde ich dir bis Freitag Bescheid geben.

von Tobias P. (hubertus)


Lesenswert?

Also von den Displays würde ich je nach Preis bis zu circa 5 St nehmen, 
da man sowas immer mal wieder brauchen kann. Gut wäre es auch, wenn man 
die passenden Stecker gleich mitbestellen würde.
Bei Digikey mache ich nicht mit, das rentiert für den Besteller wohl 
nicht, mir in die Schweiz ein paar poplige ICs zu schicken. Leider.
Ich werde mal versuchen, ob ich über die Firma Muster von dem RAM 
beziehen kann...

von David .. (volatile)


Lesenswert?

@ Phil S.: Wie siehts aus, kannst du schon sagen ob das was wird mit 
Digikey? Ich braeuchte noch einen ADUM1201ARZ-RL7...

von wartenderGnom (Gast)


Lesenswert?

Hallo,
habe jetzt auch etwas bekommen, sogar mit lpc2478; das sind also Trays, 
aha.
Wieso bekomme ich einen (danke an NXP) und die anderen nicht?
Beitrag "Re: NXP verschenkt ARM-Chips"
Beitrag "Re: NXP verschenkt ARM-Chips"
Beitrag "Re: NXP verschenkt ARM-Chips"
Beitrag "Re: NXP verschenkt ARM-Chips"

An RAM habe ich interesse, aber welches brauche ich?
Ich möchte mich ja an einer Sammelbestellung der Platine beteiligen, das 
RAM sollte dazu passen.

Grüße
Gnom

von Phil S. (zippi)


Lesenswert?

@Tobias
Also maxi Brief in die Schweiz kostet Glaube ich 3 oder so vll auch 
unter 2Euro, sollte ja in einen schmalen gepolsterten Brief passen.
Ich würde dir es aufjedenfall zuschicken, aber die Versandkosten musst 
du natürlich auch zahlen^^.
Aber das ist denke ich klar.

Also 65Euro haben wir schon zusammen.

Gruß
Zippi

von Tobias P. (hubertus)


Lesenswert?

Phil,
kann ich sonst noch ein paar weitere Bauteile mitbestellen. Denn wenn 
ich dir 3€ überweise, dann zahle ich horrende Spesen für diesen kleinen 
Betrag ;-)

von David .. (volatile)


Lesenswert?

@ Phil S.: Wieviel willst du denn haben fuer ADUM1201ARZ-RL7 und Versand 
nach Deutschland?

von Phil S. (zippi)


Lesenswert?

Tobias Plüss schrieb:
> Phil,
> kann ich sonst noch ein paar weitere Bauteile mitbestellen. Denn wenn
> ich dir 3€ überweise, dann zahle ich horrende Spesen für diesen kleinen
> Betrag ;-)

Naja wenn es grad nicht 5x100 verscheidene Wiederstände sind^^.
Also hier in dem Forum soll es ja um die NXP gehen, deswegen schreibt 
mich bei fragen wegen der bestellung lieber an.

Schick mir einfach was du wie wieviel willst.

Gruß
Zippi

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Phil S. schrieb:
> Naja wenn es grad nicht 5x100 verscheidene Wiederstände sind^^.

besser als 100 mal 5 Stück...

Grüße
Michelle

von Björn (Gast)


Lesenswert?

Hallo,
ich bräuchte auch noch etwas von digikey, solange noch nicht bestellt 
ist würde ich mich gerne mit drei W681310R-ND anschließen.


Gruß
Björn

von Phil S. (zippi)


Lesenswert?

Björn schrieb:
> Hallo,
> ich bräuchte auch noch etwas von digikey, solange noch nicht bestellt
> ist würde ich mich gerne mit drei W681310R-ND anschließen.
>
>
> Gruß
> Björn

hmm.............

1. E-mail an mich, bzw PN.
2. Digikey hat keine W681310R mehr.

Michelle Konzack schrieb:
>besser als 100 mal 5 Stück...

:D Genau so meinte ich es auch^^

Wäre cool wenn Omega mal ein paar mehr infos gibt über seine Funktionen, 
also ob soweit alles läuft, 1/2 Pics wären auch ganz cool. Und wie er 
den Prozessor so findet bis jetzt.

Gruß
Zippi

von Tobias P. (hubertus)


Lesenswert?

@Phil,
also wenn du wissen willst, wie der LPC2478 so ist. Ich kann dir 
vielleicht auch ein paar subjektive Informationen geben, da ich ja 
bereits ein 2468er Board gebaut habe (der 2468er ist mit dem 2478er 
identisch bis auf den LCD-Controller).
Also, ich finde den Prozessor recht gut. Was nicht so toll ist:

- das MCI ist so grottenschlecht dokumentiert, dass man nicht umhin 
kommt, den Code zu verwenden, den man auf der NXP-Website runterladen 
kann. Dieser ist noch viel grottenschlechter Dokumentiert; erstens 
versteht den keine Sau und zweitens ist er ziemlich .... eigenartig 
programmiert, stellenweise. Er läuft, aber naja...
- die 6 PWM-Blöcke sind ziemlich cool, damit lassen sich BLDCs oder so 
ansteuern. Was ein bisschen schade ist: es ist nicht möglich, alle 6 
PWMs unabhängig voneinander zu benutzen, wenn man den double Edge Mode 
verwendet (der wäre z.B. für einen Frequenzumrichter mit 
Raumzeigermodulation vonnöten). Wirklich frei lassen sich nur die PWMs 
2, 4 und 6 kontrollieren. Möchte man also eine RZM machen, muss man 
entweder beide PWM-Blöcke benutzen, oder mit externer Gluelogic etwas 
tricksen.
- Der PWM-Block 0 lässt sich nicht verwenden, wenn man gleichzeitig 
Ethernet und den externen 32 Bit Datenbus benutzt.
- Ein weiterer Wermutstropfen des Prozessors ist, dass er keine 
Instruktion für Divisionen hat. Wenn irgendwo im Programmcode eine 
Division vorkommt, dann wird immer eine sehr hässliche softwaremässige 
Division eingefügt an der Stelle. Wobei - da kann weder der LPC24xx noch 
NXP was dafür, da dies ARM7 spezifisch ist.
- Das Pinout ist etwas ungünstig. Ich würde s vorziehen, wenn die Pins, 
die zusammen gehören, auch ein bisschen näher beieinander wären; z.B. 
die Datenbus-Pins. Die sind dann halt ein bisschen doof zum Layouten, da 
sie wild und völlig zufällig irgendwie unter den Pins verteilt sind.

Ansonsten: toller Prozessor, damit lässt sich gut was machen. 
Vorausgesetzt, man hat einen brauchbaren Debugger. Was ich von meinem 
nicht behaupten kann... der J-Link ist einwandfrei, aber die 
Rowley-Umgebung nicht so das wahre. Kann ich nicht weiter empfehlen.

Pics von Omegas Platine findest du übrigens weiter oben. Hat er mal 
gepostet.
Wegen Digikey kriegst du dann noch Mail. OK?

Gruss
    Tobias

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Meine Meinung zum LPC2478 bisher: Schönes Stück Technik, teils schlecht 
dokumentiert und das Pinout mag ich gar nicht.

Was läuft bei mir bisher: SSP, UART0, PLL, MAM, SDRAM (zumindest die 
ersten 128 kByte, irgendwo habe ich noch immer einen 
Konfigurationsfehler)

Wenn jemand mir das erklären könnte würde ich mich sehr freuen (Zeile 
2):
1
EMC_DYN_CTRL=0x81; 
2
i = (*(volatile int*)(0xA0000000 | (0x32<<12)));
3
EMC_DYN_CTRL = 0;

Übrigens lässt sich der Controller bis ca. 110 MHz übertakten und dann 
läuft ein S65 LCD auch mit rund 50 MHz SPI Takt.

Im Anhang habe ich mal ein Video von einem Plasma 
(http://www.student.kuleuven.be/~m0216922/CG/plasma.html)

Das Plasma und der Framebuffer liegen im SDRAM (macht keinen deutlichen 
Unterschied ob interner SRAM oder externer SDRAM). Display wird über SSP 
im 16 bit Modus angesteuert. Das Bild wird Pixel für Pixel übertragen 
(sehr ineffizient) und ein Frameaufbau dauert etwas übertaktet rund 200 
ms.

Ich werde nachher versuchen den Framebuffer einfach ins Display zu 
kopieren. Ich glaube an der Stelle könnte man auch versuchen mit DMA zu 
arbeiten.

von Tobias P. (hubertus)


Lesenswert?

110 MHz ist ja mal nicht schlecht :D läuft er damit noch zuverlässig?
Robert Teufel hat hier zwar mal erzählt, dass die Teile bis 90 MHz 
locker laufen sollten. Aber 110 ist ja echt cool :D geht damit SDRAM 
noch?

Ja, den Framebuffer für das LCD kannst du natürlich per DMA übertragen. 
Der SSP lässt sich explizit so betreiben! Allerdings die 
SPI-Schnittstelle nicht. Aber man kann den SSP ja auch als SPI 
konfigurieren...
Wenn du das mit DMA zum Laufen kriegst, wäre ich echt interessiert. Ich 
blick bei diesem DMA-Kram noch nicht wirklich durch, es wäre aber 
nützlich wenn man wüsste wie das funktioniert. Da ich das MCI benutze, 
liessen sich damit die Sektoren von der Karte lesen...

Wegen deinem nicht richtig funktionierenden SDRAM.
Suche mal auf nxp.com/microcontrollers unter LPC24xx Support Docs nach 
einer Application Note "Using the LPC24xx EMC to drive SDRAM" (oder so 
ähnlich). Dort ist diese Initialisierung

> i = (*(volatile int*)(0xA0000000 | (0x32<<12)));

beschrieben. Ich weiss auch nicht mehr genau auswendig, was die macht, 
aber ich glaube damit programmiert man das Mode-Register des SDRAM. Um 
dies zu tun muss man nämlich einen "Program Mode Register Command" 
ausführen, und danach auf eine bestimmte Adresse zugreifen. Dabei werden 
dann einige bestimmte Adressbits in das Mode-Register programmiert. 
Welches Bit wozu dient, steht in deinem SDRAM-Datenblatt.

Gruss Tobias

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Jetzt muß ich nochmal hier posten wegen dem Display:

Wer eins oder mehrere haben möchte, mich bitte privat unter

    michelle.konzack@tamay-dogan.net

kontaktieren.  Wir sind bereits zu zweit mit 13 Displays.

Preis ist 21 Euro.da ich noch 40 Euro SWIFT Gebühren habe zuzüglich 
Versandkosten, allerdings habe ich erheblichen zweifel, ein 4" Display 
in einem Polsterumschalg zu versenden.

Kennt jemand in Baden-Würtemberg einen Verpackungsmittelhersteller 
(wieso ist das Wort so lang) welcher mir Schaumstoffgepolsterte Kartons 
(Innenmaße 140x120x10mm) liefern kann?

Ich habe nur vom Bürklin die 19L3849 ESD Versandboxen (innen 138x93x6mm) 
verfügbar und die kosten gut 2 Euro das Stück, was für ein einzelnes 
Display gehen würde.  Habe 40 Stück verfügbar.

Grüße
Michelle

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Mein SDRAM läuft jetzt. Auch wenn ich es erst ohne Bit 12 im 
EMC_DYN_CFG0 Register und dann mit Bit 12 initialisieren muss. Der RAM 
funktioniert auch mit 110 MHz

DMA bleibt für einen anderen Tag, heute habe ich nur die Übertragung 
umgestellt. Ich erreiche jetzt eine deutlich höhere Framerate (war ja 
zu erwarten, SSP bremst): übertaktet sind rund 50 fps möglich. Auf 
normaler Frequenz habe ich bei 130 * 130 Pixel 30 fps.

Für neugierige ist wieder ein Video im Anhang.
Wenn ihr wollt, räume ich morgen den Code auf und stell ihn hier rein.

von David .. (volatile)


Lesenswert?

Nett, auch wenn man nicht viel sieht ;)

von Omega G. (omega) Benutzerseite


Lesenswert?

Sorry, ist recht dunkel hier und leicht unscharf ist's auch. Aber das 
wesentliche sieht man: es ist ruckelfrei!

von Phil S. (zippi)


Lesenswert?

Omega G. schrieb:
> Mein SDRAM läuft jetzt. Auch wenn ich es erst ohne Bit 12 im
> EMC_DYN_CFG0 Register und dann mit Bit 12 initialisieren muss. Der RAM
> funktioniert auch mit 110 MHz
>
> DMA bleibt für einen anderen Tag, heute habe ich nur die Übertragung
> umgestellt. Ich erreiche jetzt eine deutlich höhere Framerate (war ja
> zu erwarten, SSP bremst): übertaktet sind rund 50 fps möglich. Auf
> normaler Frequenz habe ich bei 130 * 130 Pixel 30 fps.
>
> Für neugierige ist wieder ein Video im Anhang.
> Wenn ihr wollt, räume ich morgen den Code auf und stell ihn hier rein.

Jop sieht schonmal gut aus. Mit DMA solltest du noch ein paar mehr FPS 
bekommen. Auf welcher geschwindigkeit läuft die SPI jetzt?

Gruß

von Omega G. (omega) Benutzerseite


Lesenswert?

Die SPI läuft auf halber Prozessorfrequenz, also etwas über 35 MHz.

Als nächste möchte ich mir mal das MCI Interface vornehmen, mal sehen ob 
ich SD Karten Daten entlocken kann.

von Stephan (Gast)


Lesenswert?

Hi

kann mir einer einen guten LCD-Controller empfehlen, so das ich das LCD 
auch an anderen ARMs einsetzen kann. (mit Speicherbus!)

Wenn ich einen guten und preislich akzeptablen Controller finde, würde 
ich mich bei der Bestellung der Displays beteiligen.

mfg
Stephan

von Thomas K. (muetze1)


Lesenswert?


von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Ups...  habe Dich ganz übersehen...

Tobias Plüss schrieb:
> Hi Michelle,
> dein Marvell-Prozessor scheint ja echt cool zu sein.
> Ist es denn ein ARM7 oder ARM9? Wenn Linux drauf läuft wohl ein 9er mit
> MMU, oder? Wie schnell taktest du das Teil denn.

Es ist ein ARM1176JZF-S und unter NDA... :-/

Da muste schon Marvel was bieten, damit sie dir schon mal das Datasheet 
geben.  Außerdem MUSST Du vorher das Evaluation_Kit für 2800 US$ kaufen.

Ohne wirste mit diesem Monster auch nicht klar kommen...

Er rennt übrigends mit 1200 MHz und ist so schnell wir ein Intel/AMD mit 
3000MHz.

Das ist ein High-Performance Application-Processor.

Das gleiche problem besteht übrigends auch mit dem Freescale i.MX37. 
Den bekommet man NUR gegen ein NDA und ich meine hier KEIN ONLINE-NDA.

Das gleiche Problem ist derzeit mit den MLC NAND Flash von Micron.

Schon mal versucht das Datenblatt runterzuladen?  Geht nicht, Denn Du 
mußt Dich erst mal registirieren, und Wenn Du dann auf NDA Material 
zugreifen willst einen Antrag mist SEHR guter Begründung liefern...

Nun, ich will die 32/64/128/256 Gb NAND Flash haben...

Am Montag hatte ich die Samples bestellt...  nun muß ich auf den 
Distributor (AVNET-MEMEC) wrten, das er mir die Papiere für das NDA 
zusendet, dann bekomme ich auch die Samples und kann ECHTE Bestellungen 
machen...

Das ist echt zum Kinderkriegen...

Nen anständigen Microcontroller mit ner 32 GByte NAND dran ist schon 
cool nur bezweifele ich, das ich das Teil auf die Platine löten werde... 
Da baue ich mir lieber ein SDIMM basierendes Modul oder so.  Für den 
Fall, das er mal hops geht.

Grüße
Michelle

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Hallo Stefan,

Stephan schrieb:
> Hi
>
> kann mir einer einen guten LCD-Controller empfehlen, so das ich das LCD
> auch an anderen ARMs einsetzen kann. (mit Speicherbus!)
>
> Wenn ich einen guten und preislich akzeptablen Controller finde, würde
> ich mich bei der Bestellung der Displays beteiligen.

Also ich bin auch noch auf der Suche nach einem geeigneten Controller... 
Das was ich gefunden habe ich meistens einer für Laptops, welche eine 
PCI Bus oder LPC erfordern, was es beides bei ARM basierenden 
Microcontrollern nicht gibt.

Gut stimmt nicht ganz, denn es gibt mindestens 4 ARM11 basierende die 
PCI emulieren...

Also ich bin auf der suche nach einem High-Speed SPI controller den ich 
unabhängig einsetzen kann, aber einen mit externen Speicher...

Auf der anderen Seite kann man allerdings einen ARM Microcontroller 
einsetzen der LCD und SPI hat, und denn dann mit einem minimum 
konfiguieren, das er das Protocoll spricht.  Sprich, man baut sich das, 
was die kleinen SPI-LCD's bereits drin haben, nur WESENTLICH 
leistungsfähiger.

Hey, das währe ein tierisches Project...

Ne SPI Grafikkarte für TFT Displays...

Hmmm, da währe vieleicht der "Atmel AT91SAM9261" interessant, denn er 
kann Display mit 2048x2048 verwalten, hat leider nur Fullspeed USB Host 
aber SSC und Master/Slave SPI.  Ein High-Speed USB-Device könnte man 
extern dranhängen. EBI für NAND und SDRAm ist auch vorhanden.

Verflixt...  jetzt habe ich Lust sowas zu bauen!

Grüße
Michelle

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wie versprochen, hier die Quelltexte für das komplette Projekt.

von Lutz N. (lutzn)


Lesenswert?

Hallo,
bei der DigiKey SDRAM bestellung (von Zippi) mochte ich auch gerne 
mitmachen, nur welches brauche ich?
Beitrag "Re: NXP verschenkt ARM-Chips"
Es soll dann ja auch zum Board passen, oder sind die Kompatibel?

>IS42S32800B-7TL kostet 14,59Euro + MWST
>MT48LC2M32B2P kostet 3,99Euro + MWST
>MT48LC4M32B2P kostet 6,02Euro + MWST

Danke für die Hilfe.

Lutz

von Phil S. (zippi)


Lesenswert?

Lutz N. schrieb:
> Hallo,
> bei der DigiKey SDRAM bestellung (von Zippi) mochte ich auch gerne
> mitmachen, nur welches brauche ich?
> Beitrag "Re: NXP verschenkt ARM-Chips"
> Es soll dann ja auch zum Board passen, oder sind die Kompatibel?
>
>>IS42S32800B-7TL kostet 14,59Euro + MWST
>>MT48LC2M32B2P kostet 3,99Euro + MWST
>>MT48LC4M32B2P kostet 6,02Euro + MWST
>
> Danke für die Hilfe.
>
> Lutz

Die sind Fast Pinkompatibel. Also der MT48LC2M32B2P ist genauso wie der 
K4S643232E den Omega eingesetzt hat.

Der MT48LC4M32B2P und der IS42S32800B haben eine Adressleitung(AD11 an 
pin21) mehr. Bei den anderen ist dieser pin NC.

Gruß
Zippi

von Omega G. (omega) Benutzerseite


Lesenswert?

Ich habe A11 auf Pin 21 angeschlossen, obwohl mein RAM diese nicht hat, 
sodass auch größere RAMs eingesetzt werden können.

von Tobias P. (hubertus)


Lesenswert?

> Ich habe A11 auf Pin 21 angeschlossen

bist du sicher, dass das eine gute Idee ist? ich würde in der 
A11-Leitung wenigstens 2 Pads vorsehen, wo man eine 0 Ohm Brücke 
einsetzen kann, wenn man ein grösseres RAM hat, oder wo eben nichts 
bestückt wird, wenn das kleinere RAM drauf ist.
Denn bei einigen ICs sind die Pins, an denen N.C. steht, eben NICHT 
N.C., es sollte vielmehr heissen: D.N.C. (do not connect), da bei auf 
diese nicht verwendeten Pins oft irgendwelche Test-Signale geführt 
werden. Ich hatte mal bei einem IC (weiss nicht mehr was es genau war) 
auch versehentlich einen NC-Pin beschaltet. Das Ding ist explodiert beim 
Einschalten der Stromversorgung, eben weil wohl irgendwelche internen 
Signale für Testzwecke auf diesen Pin geführt waren. So viel zum Thema 
"Not connected"...

von TimTo (Gast)


Lesenswert?

Hast du noch nen schaltplan, dann ist das Basispaket komplett ;)

Danke

von Omega G. (omega) Benutzerseite


Lesenswert?

Im Datenblatt steht "This pin is recommended to be left No connection on 
the device." Da der µC Port als GPIO Eingang konfiguriert ist, wird es 
dem RAM wohl nichts ausmachen.

Ich werde es aber für andere RAMs im Layout ändern. Und versuchen auch 
für großere RAMs noch A12 und evtl. A13 anschließen, mal sehen was es 
maximal in diesem Gehäuse gibt. Das ermöglicht eine Platine für 
verschiedenen RAMs.

Schaltplan ist noch ganz primitiv gehalten. Ich werde ihn die Tage etwas 
aufräumen und dann hier zeigen. Es ist aber nur Step-down Wandler, 
SDRAM, µC, SD (teste ich als nächstes) sowie wenige herausgeführte Pins. 
Ich überlege die Displayleitungen an ein LVDS Transmitter zu führen und 
dann auf eine Buchse. Dann könnte man je nach verwendetem LCD einen 
Adapter bauen und den auch problemlos über längere Leitungen 
anschließen.

Ich möchte nur ungerne hier was zeigen, was sich dann vielleicht der ein 
oder andere nachbaut, dass dann nicht funktioniert.

von Phil S. (zippi)


Lesenswert?

Omega G. schrieb:
>
> Ich möchte nur ungerne hier was zeigen, was sich dann vielleicht der ein
> oder andere nachbaut, dass dann nicht funktioniert.

Hehe, ok. Da dein board schonmal Funktioniert wäre es gut wenn du es 
erweiterst. Hier ist mal ein SD slot(3M5646CT) den man noch auf das 
board mache könnte.

1,39 Euro für das Ding bei digikey ist echt günstig. Habe den slot 
selber im einsatzt. Kann dir auch die Eagle Lib dafür geben.

Gruß

von Omega G. (omega) Benutzerseite


Lesenswert?

Okay, dann geb' mir doch bitte deine Eagle Library, ich habe einen Slot 
verplant aber ich weiß nicht, was das für einer ist (ausgeschlachtet). 
Ich verplane dann den erhältlichen.

von David .. (volatile)


Lesenswert?

Soeben ist mein LPC1766 eingetroffen :)

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Bei mir kam gerade der Nachschlag an...

5 x LPC1766
5 x LPC3250

Jetzt muß ich erst mal wieder ewigkeiten auf das PCB warten...
Mal sehn, ob ich es wage, den BGA selber zu löten...

So nen BGA löten zu lassen kosten 25-40 Euro extra.

Grüße
Michelle

von Lutz (Gast)


Lesenswert?

David P. (volatile)
>Soeben ist mein LPC1766 eingetroffen :)

dto., eben war ups da, bringt wieder alle Projekte durcheinander. ;-)

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Da bist Du nicht die einzige Person, denn ich habe hier 15 Cypress 
8051er und 5 NXP 8051er und 14 NXP LPCs in massen und muß mich 
totlangweilen weil ich noch nicht die PCBs habe.

Mist und wir haben Wochenende...

Das sind 8 Projekte und ich kann nicht weitermachen... Das ist doch zum 
kinderkriegen.

Grüße
Michelle

von David .. (volatile)


Lesenswert?

Hat wer vor, ne Platine fuer den LPC1766 zu basteln? Sonst setz ich mich 
da mal dran...

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Michelle Konzack schrieb:
> Das ist doch zum kinderkriegen.
Naja, auch das dauert seine Zeit ;-)

von Michelle K. (Firma: electronica@tdnet) (michellekonzack) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Michelle Konzack schrieb:
>> Das ist doch zum kinderkriegen.
> Naja, auch das dauert seine Zeit ;-)

:-/

Grüße
Michelle

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

So,

also alle die, welche noch etwas von digikey wollen, sollen mir noch 
heute bis 22 Uhr schreiben.
Ihr könnt auch gerne eure bestellung aktualisieren, falls ihr auch den 
SD slot, bzw. sonst noch was wollt.

Im Anhang mal das Datenblatt vom SD_slot.

Gruß
Zippi

von David .. (volatile)


Lesenswert?

Ich habe gerade die Lib fuer den 1766 gemacht... Grausig die 
Pinbelegung, ich fand die vom AVR schon immer doof, aber gegen den ARM 
ist die ja perfekt :(

von Maxxie (Gast)


Lesenswert?

Hier auch.
Macht mich etwas mutiger beim Löten, auch wenn ich natürlich beide gerne 
verwenden will und Ideen für habe, ist das nicht gleich ein 
Totalverlust.

Was ich dieses Wochenende mache ist damit aber klar.

von Frank B. (f-baer)


Lesenswert?

Wäre jemand mal so freundlich, seine erstellte Eagle-Lib für den 
LPC2478/LPC1766 anzubieten?

Danke!

von Mark B. (markbrandis)


Lesenswert?

Frank Bär schrieb:
> Wäre jemand mal so freundlich, seine erstellte Eagle-Lib für den
> LPC2478/LPC1766 anzubieten?
>
> Danke!

Ja das wäre super, auch haben will :-)

von Sascha F. (sascha_focus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die Lib für den LPC1766 ist doch bei Cadsoft downloadbar.
Ansonsten im Anhang

Gruß Sascha

von Omega G. (omega) Benutzerseite


Lesenswert?

Und hier gibts eine für LPC2478: 
Beitrag "Eagle Library für LPC2478"

von Sherb (Gast)


Lesenswert?

Hallo Leute,
hätte da mal ne Frage bzgl. der GPIOs des LPC2478.
Angenommen ich nutze das UART-Modul welches die erweiterten MODEM
Steuersignale mitbringt und möchte hier nur
TXD1, RXD1, CTS1 und RTS1 nutzen, kann ich die PINs des LPC
auf welche die restlichen MODEM Steuersignale geführt sind
auch als stink normale GPIOs nutzen oder schließt die Verwendung
des UART-Moduls diesen Fall aus ?

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe mich jetzt dafür entschieden ein Board zu machen, auf dem nur 
das Nötigste drauf ist: RAM, Spannungsversorgung, LPC2478, LVDS Encoder. 
(SD und eine Mini USB Buchse soll noch drauf; Platine ist etwa 70 mm * 
80 mm groß, zwei Lagen) Auf diese Platine wird eine weitere Platine 
aufgesteckt.

Als Steckverbinder verwende ich: 
http://www.samtec.com/technical_specifications/overview.aspx?series=ERM8 
(gab's auf der letzen Embedded World zum mitnehmen) Wie man sieht, ist 
an diese Steckverbindung noch nicht viel angeschloßen. Ich werde so viel 
wie möglich anschließen.

Es wäre schön, wenn jeder der an so einer Platine Interesse hat sich 
melden würde, dann würde ich mich informieren wie hoch die 
Platinenkosten sein werden.

Wünsche für die Platinen werden noch entgegen genommen und so weit 
möglich umgesetzt. Der Wunsch nach einer RGB LED zur Diagnose etc. wird 
berücksichtigt. (Am liebsten auf dem Basis Board)

Die Spule für den Step down auf 3,3V kann ich höchstwahrscheinlich 
besorgen, falls weitere Spulen für Schaltwandler o.ä. (LCD Backlight) 
anfallen werde ich diese auch beschaffen können)

von Star K. (starkeeper)


Lesenswert?

@Omega
Hast du für den geplenten Stecker schon eine Eagle-Lib? Den will ich 
auch demnächst auf eine Platine machen, hatte bisher aber nicht die Muße 
eine Lib dafür zu machen oder zu suchen.

von Omega G. (omega) Benutzerseite


Lesenswert?

Du kannst dir das: 
http://www.samtec.com/technical_specifications/Pad_Schematics.aspx?series=ERM8&m=pi&SeriesID=1229 
bei Samtec runterladen und in Eagle im Library Editor ausführen. Dann 
erstellt es dir das das Package für die 40 Pad Variante.

von Omega G. (omega) Benutzerseite



Lesenswert?

Kann es sein, dass Ethernet, Display Controller und MCI nicht möglich 
ist, da die Pins mehrfach belegt wären? Allerdings müsste ein 1 Bit 
betrieb mit MCIDAT0 möglich sein, oder?

von Sherb (Gast)


Lesenswert?

Meine PinOut Map sagt da was anderes ...
Ethernet PHY im RMII Mode -> MCI Interface frei!
Display-Signale liegen auf anderen PINs.

Kann mir mal bitte jmd ne Anwort auf meine Frage 5 Posts weiter
oben geben ?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

@Omega
Gibst Du die SCH- und BRD-Files später auch raus?
Ich hätte sicherlich noch einige Mondifikationen (habe aber im Moment 
keine Zeit dazu) und würde Dein Layout dann ggf als Basis verwenden 
wollen (privat!). Wenn Du es freigibst, würde ich meine Modifikation 
natürlich auch freigeben.

von Omega G. (omega) Benutzerseite


Lesenswert?

@Sherb: Ich denke das geht, dass du die nicht genutzten Leitungen als 
GPIO nutzen kannst. Man kann ja die Funktion jedes Pins einzeln 
schalten. Beim LPC2103 weiß ich, dass man bei SPI, z.B.: nur CLK und 
MISO nutzen kann.

Aber 100% sicher kann ich dir nicht sagen, das es so funktionieren wird 
wie du es vor hast!

@Christian. Ja du kannst die Daten dann dafür haben.

von David .. (volatile)


Lesenswert?

Bei meinem Board sind die absoluten Grundlagen fertig. Irgendwie kann 
ich aber nicht weitermachen, da ich keinen Schimmer habe was ich mit den 
Dingern anstellen soll. Linux? Ich glaube der Spass bleibt auf der 
Strecke bei 72/100MHz, da macht jeder Router mehr (zumal ich zB ein 
Bifferboard hier liegen habe). Man braeuchte schon eine sehr spezielle 
Anwendung, irgendwas was kein Router kann und was die Arbeit wert ist. 
MP3-Player etc ist mir zuviel Arbeit fuer zu wenig Nutzen, man muss das 
Rad ja nicht dauern neu erfinden. Also, was macht man mit einem Haufen 
Schnittstellen und noch mehr Pins, aber "kaum" Leistung? Ein 
universelles "Heute-probier-ich-ARM"-Board finde ich uninteressant...
:(

von Tobias P. (hubertus)


Lesenswert?

Hey Omega,
wozu dient denn der Samtec-Stecker? Etwa zum Anschliessen des Displays? 
Mit LVDS, nehme ich an? Kann man denn den LCD-Controller des 2478 so 
konfigurieren, dass er über LVDS funktioniert oder wie.

Gruss

von Omega G. (omega) Benutzerseite


Lesenswert?

Über den Stecker von Samtec werden alle benötigten Signale für ein 
Display (LVDS wird mit zusätzlichem Encoder erzeugt) und Ethernet PHY 
sowie ein paar weitere Ports auf eine Aufsteckplatine geführt.

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
Noch kein Account? Hier anmelden.