Hallo Miteiander Ich designe gerade eine Controllerplatine Als Controller kommt ein LPC2294 zum Einsatz. Als Speicher kommen folgende Bausteine zum Einsatz: 2 SRAM (SRAM_8MBit_16_512k_10NS) CY7C1051DV33 2 Flash (Flash_8MBit_16_512k_45NS) M29W800DT Die Bausteine werden kaskadiert damit ich einen 32-Bit-Breiten Datenbus bekomme. Ein SRAM hat eine Ein-/ Ausgangskapazität von 12pF/12pF Ein Flash hat eine Eingangskapazität von max. 6pF / Ausgangskapazität max 12pF Bisschen Leitung (10pF) kommen noch hinzu. Macht zusammen ca 60pF. Mein Controller schafft min. 4mA @ 3,3V. Um die Kapazität umzuladen benötigt er 43,5ns. Rechnung zum Ergebnis: C=I*t/U --> t= C*U/I Jetzt hat der SRAM eine Zugriffszeit von 10ns. Die möchte ich auch gerne nutzen. --> Theoretisch bräuchte ich jetzt doch Treiber-Bausteine oder? Ich weiß ich habe den exp. Verlauf der Ladekurve des C's linearisiert. Aber als grober Schätzwert müsste das doch gehen. --> Auf einem Eval-Board der Fa. Olimex (mit ähnlichen Speichern) werden keine Treiber verwendet und es funktioniert trotzdem Jetzt kommen meine Fragen: 1. Habe ich bei der Formel einen Denkfehler oder wo kommt die Diskrepanz her? 2. Wenn z.B. die Speicher nicht aktiviert sind (CS=logisch 0) sind die Eingänge ja Tristate. Kann ich dann die Kapazitäten der nicht aktivierten Bausteine weglassen? 3. Beim SRAM kann ich ja die Adressleitungen miteinander vertauschen (genauso auch die Datenleitungen) damit das Layout schöner wird (siehe mikrocontroller.net-Artikel). Kann ich das bei den Flash-Bausteinen auch machen? VG Martin
Achja... Ich bin erst draufgekommen weil NXP geschrieben hat, dass wenn ich mehr als 2 (oder 3) Bausteine ansteuern möchte einen Treiber einsetzen soll. Viele Grüße Martin
Hallo Miteiander Jetzt muss ich leider nochmal posten. Ich hab die bisherigen Angaben ein bisschen erweitert und erbitte noch immer hilfreiche Kommentare ;). Ich designe gerade eine Controllerplatine Als Controller kommt ein LPC2294 zum Einsatz. Als Speicher kommen folgende Bausteine zum Einsatz: 2 SRAM (SRAM_8MBit_16_512k_10NS) CY7C1051DV33 2 Flash (Flash_8MBit_16_512k_45NS) M29W800DT 1 Ethernet-Controller (CS8900A) Die Speicher-Bausteine werden kaskadiert damit ich einen 32-Bit-Breiten Datenbus bekomme. Das /CS-Signal des Ethernet-Controllers ist über einen Pulldown-R auf GND gezogen. An diesem kann ich nichts ändern, da dies auf einer ext. Platine ist die zugekauft wird. Ich steuere deswegen den Zustand der Datenpins über die /OE und /WE in Kombination mit meinem /CS-Signal (Veroderung /OE und /CS bzw. /WE und /CS) Ein SRAM hat eine Ein-/ Ausgangskapazität von 12pF/12pF Ein Flash hat eine Eingangskapazität von max. 6pF / Ausgangskapazität max 12pF. Eine Angabe zu der Eingangskapazität der Datenpins des Ethernet-Controllers habe ich nicht gefunden. Bisschen Leitung (10pF) kommen noch hinzu. Macht zusammen ca 60pF. Mein Controller schafft min. 4mA @ 2,9V (Vdd-0,4V). Um die Kapazität umzuladen benötigt er 43,5ns. Rechnung zum Ergebnis: C=I*t/U --> t= C*U/I Jetzt hat der SRAM eine Zugriffszeit von 10ns. Die möchte ich auch gerne nutzen. Mein Controller läuft zwar "nur" mit 60MHz (t_cyc= 16,6ns; --> CPU ist Flaschenhals) aber dennoch möchte ich nicht das meine Speicheranbindung zum Flaschenhals wird. --> Theoretisch bräuchte ich jetzt doch Treiber-Bausteine oder? Ich weiß ich habe den exp. Verlauf der Ladekurve des C's linearisiert. Aber als grober Schätzwert müsste das doch gehen. --> Auf einem Eval-Board der Fa. Olimex (mit ähnlichen Speichern) werden keine Treiber verwendet und es funktioniert trotzdem Jetzt kommen meine Fragen: 1. Habe ich bei der Formel einen Denkfehler oder wo kommt die Diskrepanz her? 2. Wenn z.B. die Speicher nicht aktiviert sind (CS=logisch 0) sind die Eingänge ja Tristate. Kann ich dann die Kapazitäten der nicht aktivierten Bausteine weglassen? Ich meine so wären dann höchstens 2 Bausteine aktiv (beide SRAM oder beide Flash). 3. Beim SRAM kann ich ja die Adressleitungen miteinander vertauschen (genauso auch die Datenleitungen) damit das Layout schöner wird (siehe mikrocontroller.net-Artikel). Kann ich das bei den Flash-Bausteinen auch machen? 4. Wie würdet Ihr die Speicher physikalisch auf dem Speicher anordnen? Dürfen die Speicher mit Stichleitungen angeschlossen werden? VG Martin
Hi, lass doch einfach die Cs weg. schau dir mal controllerboards an, da sind auch keine Cs in den Daten und adressleitungen drin (siehe olimex). MfG
Hallo Dankeschön für die Antwort. Jetzt ist es halt so, dass ich gerade meine DA schreibe, und das ganze "wissenschaftlich" begründet werden sollte. Ich meine ich kann ja schreiben "... erfahrungsgemäß wurde auf den Einsatz der Treiber verzichtet..." Hier in der Fa. ist es die erste Hardware was heir entwickelt wird. Dementsprechend ist wenig Wissen vorhanden. Und ich soll hier das auch wissenschaftlich begründen. Ich persönlich habe keine Erfahrung ab wann man Treiber benötigt. Mein PL möchte auch wenn es geht auf den Einsatz von SMD-Bauteilen verzichten (z.B. sind die Abblock-Kondis auch bedrahtet obwohl die schlechtere Werte für ESR und ESL haben). Also lieber DIL-Gehäuse verwenden. Nur wären das zusätzlich noch 8 DIL's Deswegen hab ich ja so "theoretisch" umeinandergerechnet. Später wenn ich mal die Erfahrung habe würde ich es auch "aus dem Bauch heraus" entscheiden. Könnte mir vielleicht jemand ein Buch empfehlen? TS habe ich bereits. Übrigends sind in dem Thread auch noch andere Fragen ;) Viele Grüße Martin
Hi, wie ist denn genau die formulierung in der DA. das projekt heist doch nicht ,etwa, leitungskapazitäten kompensieren. deine DA ist doch iregnedeine software-hardware zum laufen ngen, oder. diese leitungssch.. ist doch totale neben sache. man kann übrigens bei vielen 74hc typen die last -load- im datenblatt lesen.
Hi Das Thema ist "Konzeptionierung, Entwicklung und Aufbau eines ...Test-Adapters". Mein PL hätte halt gerne wissenschaftliche Belege warum ich etwas so mache wie ich es mache. Und in der DA soll ich halt immer mehrere Lösungsmöglichkeiten aufzeigen, bisschen die Möglichkeiten diskutieren und mich dann für eine Lösungsvariante entscheiden und begründen warum ich das so mache. VG Martin
hi, da ist doch mehr die frage, wieviele eingangskanäle, abtastrate, =bandbreite, ubnd die darauffolgende datenverarbeitung.muß der adapter in echtzeit arbeiten => cpu-speed.etcetc du solltest das problem mal aufschlüsseln,in eingänge ,ausgänge etc
Hallo Es ist ein Diplomanden-Projekt. Das heißt es entwickelt sich mit der Zeit immer weiter. Das heißt, dass sich auch die Anforderungen mit der Zeit immer schwieriger werden. Ansage vom PL war: Je schneller desto besser. Es soll halt die Speicheranbindung nicht der Datenflaschenhals sein. Die Speicheranbindung soll sollte keine Waitstates der CPU erursachen. Kannst Du mir vielleicht noch eine (oder mehrere) der bereits gestellten Fragen beantworten 1. Habe ich bei der Formel einen Denkfehler oder wo kommt die Diskrepanz her? 2. Wenn z.B. die Speicher nicht aktiviert sind (CS=logisch 0) sind die Eingänge ja Tristate. Kann ich dann die Kapazitäten der nicht aktivierten Bausteine weglassen? Ich meine so wären dann höchstens 2 Bausteine aktiv (beide SRAM oder beide Flash). 3. Beim SRAM kann ich ja die Adressleitungen miteinander vertauschen (genauso auch die Datenleitungen) damit das Layout schöner wird (siehe mikrocontroller.net-Artikel). Kann ich das bei den Flash-Bausteinen auch machen? 4. Wie würdet Ihr die Speicher physikalisch auf dem Speicher anordnen? Dürfen die Speicher mit Stichleitungen angeschlossen werden? Dankschee VG Martin
Hallo Martin, zu 2.) Auch abgeschaltete Bausteine haben eine Eingangskapazität. Es wird nur kein (Versorgungs)-Strom gezogen. zu 3.) Ich denke bei Flash geht das nicht, allein schon wegen des "Command Interfaces" zu 4.) Leider verstehe ich die Frage nicht. Was meinst Du mit "Stichleitung", kenn' ich nur aus der Sanitärtechnik. Gruß
Hallo Michael Bei 2.) ist der Baustein ja nicht wirklich abgeschaltet. Die Eingänge sind nur hochohmig. Das bedeutet, dass die Speicher den angeschlossenen Bus nicht beeinflussen. Zu 3. Ich habe die Aussage eines Labormitarbeiters, dass das "gehen müsste" Er schaut sich im Moment das Datenblatt an. Das ein Flash ein Command-Interface hat ist mir neu. Ich dachte bisher immer: Ein Flash ist ein Speicher ohne großen Pipapo. Dem ist aber leider nicht so. Er hat tatsächlich so ein Command-Interface. Zu 4. Eine Stichleitung sieht in etwa so aus: | Flash | |__________________________| | |Stichleitung -----| | | | |--------- SRAM | | | |---------------------| CPU | Busleitung | -----| |--------- Also ein Abzweig. Wahrscheinlich wie in der Sanitärtechnik @ all Hat irgendjemand das schon mal berechnet wegen den Eingangskapazitäten; Umladedauer usw.? VG Martin
hi, der lpc2294 hat doch schon 250 kB internen Flash und 16 kB sram, okay das ram ist wenig, aber sonst müsts doch reichen. 4. Wie würdet Ihr die Speicher physikalisch auf dem Speicher anordnen? DAS versteh ich nicht -- den speicher auf dem speicher anordnen????? Kannst du mir mal den unterschied zwischen einem Bussystem und einer stichleitung erklären-elektrisch gesehen. ------------------------------------ etc | | | ---- ----- ------- data / | data | data adr / | adr | adr von / | von sram | von flash cpu /
anhang Jetzt hat der SRAM eine Zugriffszeit von 10ns. Die möchte ich auch gerne nutzen. Mein Controller läuft zwar "nur" mit 60MHz (t_cyc= 16,6ns; --> CPU ist Flaschenhals) aber dennoch möchte ich nicht das meine Speicheranbindung zum Flaschenhals wird. Ansage vom PL war: Je schneller desto besser. Es soll halt die Speicheranbindung nicht der Datenflaschenhals sein. Die Speicheranbindung soll sollte keine Waitstates der CPU erursachen. Dein flash hat doch nur 45ns zugriffszeit, hier hättest du auch einen flaschenhals , oder? Jetzt ist es halt so, dass ich gerade meine DA schreibe, und das ganze "wissenschaftlich" begründet werden sollte. Ich meine ich kann ja schreiben "... erfahrungsgemäß wurde auf den Einsatz der Treiber verzichtet..." Du kannst aber schreiben,zum einsatz kommt ein herkömliches microcontrollerboard-aus!!
Guten Morgen schablonski schrieb: > Kannst du mir mal den unterschied zwischen einem Bussystem und einer > stichleitung erklären-elektrisch gesehen. Ich meinte das vom Layout gesehen. Ich könnte ja versuchen alle Data0-Pins in einer Reihe anzufahren ohne dass ich einen Abzweig mache. Hat sich aber erledigt die Frage. Meine neue Frage lautet: Muss ich denn zwingend das Command-Interface benutzen oder kann ich den Flash einfach wie ein SRAM anbinden (also mit OE, WE, CE)? Immerhin hat er die Pins und wozu wären die denn ansonsten da? Aussage vom Prof.: Wenn ich das Command-Interface benutzen muss dann kann ich die Daten und Adressleitungen nicht untereinander vertauschen. Mit dem Flash als Flaschenhals hast Du recht. Ist mir auch schon aufgefallen. Aussage vom PL: Wenn wir aber Daten in den RAM schreiben habe ich keinen Flaschenhals. Ich kann bei dem uController je Speicher-Bank einstellen wieviele Waitstates er benötigt bis die gültigen Daten anliegen. schablonski schrieb: > Du kannst aber schreiben,zum einsatz kommt ein herkömliches > microcontrollerboard-aus!! Naja... Ganz herkömlich ist das nicht. Immerhin designe ich das mit viel Herz und hoffentlich auch viel Verstand ;) VG Martin
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.