Hi, ist es wirklich so einfach wie es der Gumstick-Shop (https://geppetto.gumstix.com/) aussehen lässt, oder gibt es doch massive Probleme beim Designen eines eigenen Carrier Boards für das CM3? Ich kenne das ferige Bsp. Projekt: https://www.instructables.com/id/Design-Your-Own-Raspberry-Pi-Compute-Module-PCB/ Folgendes "muss" ich auf meinem Board haben und hätte gerne eure Meinung, wo ich aufpassen muss und mir Referenzschaltpläne hinlegen sollte anstatt nur "IOs mit Klemmen zu verbinden" ;) - DSI-Connector for 5“ Touchdisplay - 250V/10A Relay NC/COM/NO - Digital Input (12V) - 0-10V Analog Input/Output - 10K Temperature Sensor Input - RS485 - SD-Card (flashing eMMC) - USB 2.0 Port - Ethernet-Port RJ45 Grüße Oekel
:
Bearbeitet durch User
D a v i d K. schrieb: > ist es wirklich so einfach wie es der Gumstick-Shop > (https://geppetto.gumstix.com/) aussehen lässt, oder gibt es doch > massive Probleme beim Designen eines eigenen Carrier Boards für das CM3? Du musst schon wissen, was Du da machst, wie differential pairs funktionieren und warum Du 4 Lagen mit einem definierten Lagenaufbau brauchst. Ich habe schon einige Boards für einen Kunden gebaut. > Folgendes "muss" ich auf meinem Board haben und hätte gerne eure > Meinung, wo ich aufpassen muss und mir Referenzschaltpläne hinlegen > sollte anstatt nur "IOs mit Klemmen zu verbinden" ;) > - DSI-Connector for 5“ Touchdisplay Du weißt, dass nur die Originaldisplays gehen wegen Binärblobs? Der Pi ist halt keine wirkliche Open Source Plattform wie Beaglebone. Aufpassen mit differential pairs. Layoutrichtlinien beachten! > - 250V/10A Relay NC/COM/NO > - Digital Input (12V) banal. > - 0-10V Analog Input/Output > - 10K Temperature Sensor Input ADC und DAC an einem SPI. Banal. > - RS485 machst Du am besten über USB und einen FT232H > - SD-Card (flashing eMMC) banal. GPIO-Ports verwenden, nicht die spezialpins, die nur beim CM3 Lite verfügbar sind. > - USB 2.0 Port > - Ethernet-Port RJ45 Dafür nimmst Du den LAN9514, der auch auf den originalen PI3b drauf ist. Der ist allerdings schwierig zu löten, aber da musst Du durch. USB und Ethernet sind auch differential pairs, auch hier Layoutrichtlinien beachten. fchk
Frank K. schrieb: >> - SD-Card (flashing eMMC) > banal. GPIO-Ports verwenden, nicht die spezialpins, die nur beim CM3 > Lite verfügbar sind. Kannst du das etwas genauer erläutern, da ich dachte genau dafür wären diese Pins. https://www.raspberrypi.org/documentation/hardware/computemodule/schematics/rpi_SCH_CMIO_3p0.pdf >> - RS485 > machst Du am besten über USB und einen FT232H Wieso hier nicht einen UART (und wenn keiner frei ist I2C->UART) ? > Dafür nimmst Du den LAN9514, der auch auf den originalen PI3b drauf ist. > Der ist allerdings schwierig zu löten, aber da musst Du durch. Kein Problem, schon oft gemacht (aber eben nicht gerne ;) Ich habe das SO-Dimm mal für AltiumDesigner in 6 Module (A-F) aufgeteilt (siehe Anhang). Zumal ich HDMI und CAM sowie viele GPIOs nicht benötige. Passt das so, oder würdet ihr anders gruppieren?
:
Bearbeitet durch User
D a v i d K. schrieb: > Frank K. schrieb: >>> - SD-Card (flashing eMMC) >> banal. GPIO-Ports verwenden, nicht die spezialpins, die nur beim CM3 >> Lite verfügbar sind. > Kannst du das etwas genauer erläutern, da ich dachte genau dafür wären > diese Pins. > https://www.raspberrypi.org/documentation/hardware/computemodule/schematics/rpi_SCH_CMIO_3p0.pdf Die SDI*-Pins 2-24 sind parallel zum onboard-EMMC und nur beim CM3 Lite frei, der eben kein EMMC hat. Du willst aber EMMC haben, weil das wesentlich zuverlässiger ist, und kaufst destwegen kein CM3 Lite. Die externe SD-Karte muss daher am zweiten SD/SDIO-Controller SD1 angeschlossen werden, der z.B. auf GPIO34-39 Alt Func 3 liegt. >>> - RS485 >> machst Du am besten über USB und einen FT232H > Wieso hier nicht einen UART (und wenn keiner frei ist I2C->UART) ? Weil die FTDI-Chips das Umschalten der Datenrichtung (DE-Pin am RS485-Transceiver) automatisch machen und Du dich nicht drum kümmern musst. Außerdem hast Du eh nur zwei UARTs, von denen der zweite gewisse Macken hat. > Ich habe das SO-Dimm mal für AltiumDesigner in 6 Module (A-F) aufgeteilt > (siehe Anhang). Zumal ich HDMI und CAM sowie viele GPIOs nicht benötige. > Passt das so, oder würdet ihr anders gruppieren? Ich habe bei mir den SODIMM-Sockel so wie er ist als Symbol genommen und ihn entsprechend verdrahtet. Aber so kannst Du das auch machen. fchk
Was soll man mit diesen Compute Modules anfangen? Sie haben etwa 1/1000 Rechenleistung eines core i7 und kosten 1/10. Ist es da nicht günstiger, einen Abakus im Formfaktor des Compute Modules zu konstruieren?
Marius W. schrieb: > Was soll man mit diesen Compute Modules anfangen? Sie haben etwa 1/1000 > Rechenleistung eines core i7 und kosten 1/10. Dann zeig mir mal das Board mit Core i7 in der Bauform einen Compute Modules mit eMMC und RAM schon drauf, um das man einfach ein Carrier Board mit nur 4 Lagen designen kann, ohne all zu viele Probleme zu haben.
Marius W. schrieb: > Was soll man mit diesen Compute Modules anfangen? Sie haben etwa 1/1000 > Rechenleistung eines core i7 und kosten 1/10. Wer sich einen Raspberry holt scheut halt die µC Programmierung. Somit muss gerade so ein "normales" OS laufen und dennoch hat man X-IOs. Nicht mehr und nicht weniger. Alles was man sich so für Bastelprojekte vorstellen kann braucht keine enorme Geschwindigkeit. Es muss nur reichen, um den Overhead des Betriebsystems dazwischen abzudecken.
Frank K. schrieb: > Die externe SD-Karte muss daher am zweiten SD/SDIO-Controller SD1 > angeschlossen werden, der z.B. auf GPIO34-39 Alt Func 3 liegt. "If you wanted to add a secondary eMMC or SD card (note you cannot use this for booting only as a secondary storage) you can do this by connecting it to GPIOs 22-27 or 34-39 and add a device tree entry to enable this interface." Also wenn ich davon booten will, muss ich doch den ersten nehmen ;) Trotzdem kann es ja nicht schaden die anderen Pins ebenfalls raus zu führen und nur den SD-Kartenhalter nicht zu bestücken. Das Bsp. von Oben verwendet ja SDX_Data0-3, wofür sind die SD1_Data4-7, welche ab GPIO40 vermerkt sind?
:
Bearbeitet durch User
D a v i d K. schrieb: > Frank K. schrieb: >> Die externe SD-Karte muss daher am zweiten SD/SDIO-Controller SD1 >> angeschlossen werden, der z.B. auf GPIO34-39 Alt Func 3 liegt. > > "If you wanted to add a secondary eMMC or SD card (note you cannot use > this for booting only as a secondary storage) you can do this by > connecting it to GPIOs 22-27 or 34-39 and add a device tree entry to > enable this interface." > > Also wenn ich davon booten will, muss ich doch den ersten nehmen ;) Du willst aber nicht davon booten! Die Teile gibts nicht ohne Grund mit EMMC, und das ist schneller und stabiler und kann deutlich mehr Schreibzyklen ab. Das erspart Dir Ärger mit kaputt geschriebenen SD-Karten. > Trotzdem kann es ja nicht schaden die anderen Pins ebenfalls raus zu > führen und nur den SD-Kartenhalter nicht zu bestücken. > Das Bsp. von Oben verwendet ja SDX_Data0-3, wofür sind die SD1_Data4-7, > welche ab GPIO40 vermerkt sind? z.B. für EMMCs, die üblicherweise 8 Datenleitungen haben und im 1-, 4- und 8-Bit Modus betrieben werden können. fchk
Hi, ich habe die Schematik nun nach bestem Wissen und Gewissen fertig (Spannungsquellen fehlen noch). Könnt ihr mir sagen, ob ihr Fehler entdeckt oder weitere Empfehlungen aussprechen könnt? Im Speziellen hätte ich da noch einige Fragen: - Reicht "U1_" um mein Rail mit 1.8 und 3.3 V zu versorgen? - Besteht eine geringe Change, dass ich das ganze auf 2 statt 4 Lagen geroutet bekomme (Ich meine wegen den DIFF90 & DIFF100) - "UB2_hib" möchte ich nicht bestücken (Keine Ahnung warum das PDF meine Variante hier nicht rendert) Ist dies möglich/ratsam? - "U1_dacB" kann ich so beschalten? - "Brauche ich "U1_usb" unbedingt? - So recht verstanden habe ich die Zusammenhänge von https://www.raspberrypi.org/documentation/hardware/computemodule/schematics/rpi_SCH_CMIO_3p0.pdf leider noch nicht: " BCM2835 BootROM boot from eMMC: - Nothing plugged into micro USB socket J15 (VBUSB=0V) OR J4 set to disable USB Boot - EMMC_DISABLE_N therefore HIGH - On power up BCM2835 boots from eMMC - EMMC_EN_N_1V8 can be used as status LED BCM2835 BootROM boot from USB: - J4 set to enable USB boot - Plug host into micro USB socket J15 (VBUSB=5V) - EMMC_EN_N_1V8 high at boot (input with 1.8k pullup) - EMMC_DISABLE_N therefore LOW - On power up BCM2835 can't access eMMC so boots from USB - Once booted, 2835 USB boot SW forces EMMC_EN_N_1V8 to enable access to eMMC" - Passen "L*" oder sind es nicht überall simple Ferite? - Kann ich HUB3V3 mit +3.3 zusammenlegen, oder übersehe ich etwas? - Was hat es mit der "USB_OTG_ID" wirklich auf sich und erfüllt diese bei mir ihren Sinn? - Die gewählte RTC braucht keinen Quarz richtig? - Was würdet ihr mir an StepDown reglern empfehlen, um: - Modbus 36V (habe irgendwo gelesen, dass 20V auch schon gehen) - 12V AnalogOut - 5V IC Versorgung abzudecken? An die USBs kommen max noch Tastatur und Maus ran. Ich würde mich riesig freuen, wenn ihr mich auf so viele Dinge wie möglich hinweisen könntet. Habe alles erdenkliche im Pdf klickbar gemacht und vielleicht kann ich dann bald einen Prototypen fertigen lassen. Schönen Sonntag.
:
Bearbeitet durch User
U1_adc: VDD wird mit 5V versorgt, muss 3.3V sein I2C-Pullups hängen auf 5V, was die Pins tötet. Die GPIO-Pins sind nicht 5V-tolerant, alles über 3.3V tötet die Pintreiber. Den Header 3x2 kannst Du Dir sparen, weil Du 3.3V-Devices an den GPIOs hast. Ich würde einen Debug-UART an GPIO14-16 hängen, damit Du eine serielle Console hast. U2_dac: VDD wird mit 5V versorgt, muss alles auf 3.3V U1_485: 5V Transceiver, obwohl VIO von FTDI-CHip max 3.3V ist Hub_3.3V kann mit den normalen 3.3V zusammengelegt werden Du hast den USB-Multiplexer aus dem Devkit nicht implementiert. Damit kannst Du das EMMC auf dem CM3 nicht flashen. Zum LM;358: beide Eingänge auf GND, dann passt das. Nein, das wird vierlagig werden müssen. fchk
Frank K. schrieb: > Du hast den USB-Multiplexer aus dem Devkit nicht implementiert. Damit > kannst Du das EMMC auf dem CM3 nicht flashen. Habe das alles korrigiert. Würde den Punkt PowerSupply gerne noch abhandeln und noch mal eine erneuerte PDF hochladen. Wisst ihr, was das "StromPI" für einen PMIC verwendet? Wegen M-Bus fände ich Wide-Range bis 36V schon sehr interessant. Ich hoffe ich muss nicht bei etwas wie dem https://www.raspberrypi.org/blog/pi-power-supply-chip/ landen, denn ich verwende ja weder HDMI noch Audio. LG
D a v i d K. schrieb: > Habe das alles korrigiert. Würde den Punkt PowerSupply gerne noch > abhandeln und noch mal eine erneuerte PDF hochladen. > > Wisst ihr, was das "StromPI" für einen PMIC verwendet? > Wegen M-Bus fände ich Wide-Range bis 36V schon sehr interessant. Nimm doch so ein Netzteil, dann hast Du die 36V schon mal. https://www.reichelt.de/schaltnetzteil-geschlossen-100-w-36-v-2-8-a-mw-lrs-100-36-p202977.html?&nbc=1 Die anderen Spannungen erzeugst Du dann z.B. mit je einem LM2596 oder wenn Du es Dir einfach machen willst, je einem LMZ14203H für die 5V und die 12V. Aus den 5V machst DU Dir dann die 3.3V und aus den 3.3V dann die 1.8V. Zu deinem LM358: Ich hätte da eher einen MCP6H01 im SOT23-5 genommen. fchk
Frank K. schrieb: > Die anderen Spannungen erzeugst Du dann z.B. mit je einem LM2596 oder > wenn Du es Dir einfach machen willst, je einem LMZ14203H für die 5V und die > 12V. Genau so hatte ich es vor. Bin allerdings gerade beim LMZ14202 (2A) meinst du ich brauche wirklich LMZ14203H (3A) > Aus den 5V machst DU Dir dann die 3.3V und aus den 3.3V dann > die 1.8V. Mittels PAM2306AYPKE erledigt?
D a v i d K. schrieb: > Genau so hatte ich es vor. Bin allerdings gerade beim > LMZ14202 (2A) > meinst du ich brauche wirklich > LMZ14203H (3A) Weiß ich nicht. Wenn Du keine Serienfertigung planst, ist der Preisunterschied irrelevant. Wichtig: Die Versionen ohne H haben Ausgangsspannungen von 0.8 bis 6V, die H-Version von 5-30V. Wenn, dann brauchst Du den 14202H für die 12V-Version, der 14202 geht nicht dafür. >> Aus den 5V machst DU Dir dann die 3.3V und aus den 3.3V dann >> die 1.8V. > Mittels PAM2306AYPKE erledigt? Kann man so machen. Für die 1.8V würde auch ein LDO reichen. Ich habe einen MCP1825 verwendet. fchk
Frank K. schrieb: > Wichtig: Die Versionen ohne H haben > Ausgangsspannungen von 0.8 bis 6V, die H-Version von 5-30V. Wenn, dann > brauchst Du den 14202H für die 12V-Version, der 14202 geht nicht dafür. Und sie sind auch noch günstiger :P Wofür soll ich denn "Debug-UART an GPIO14-16" den 16er brauchen? Ich hätte vermutet dass ich hier eher einen Com-GND benötige? Was mache ich in den USB_ENABLE Pins, die bei mir noch so lustig in der Luft baumeln? (Siehe Error-Report) Und wenn ich den 1.8V via LDO kreiere, welche Alternative bietet sich mir für die 3.3V? Vielen Dank für eure Review. Fange dann morgen langsam mit dem Routing an, sofern sich keine groben Schnitzer mehr eingeschlichen haben. Ebenfalls stört mich der Tantal im 14202H-Design. Können dessen Eigenschaften auch anders abgebildet werden? LG
:
Bearbeitet durch User
Deine Abblockkondensatoren für ADC und DAC hängen noch auf 5V. Und für die Tantals: nimm doch MLCCs. 22uF XR5 in 1206 existieren, da nimmst Du dann halt zwei bei 5V und drei bei 12V (wegen Kapazitätsabnahme mit steigender Spannung). Auf den Debug-Uart würde ich die Konsole legen, dann kannst Du das Teil auch headless betreiben. Konsole auf einen der FTDI-Ports geht nicht, weil der zu spät eingebunden wird, dann siehst Du die ganzen Kernelmessages nicht mehr. Zumindest als Stiftleiste für ein FTDI-Kabel TTL-232R-3V3 würde ich das. fchk
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.