Bygga egen dator från grunden

Berätta om dina pågående projekt.
Användarvisningsbild
rvl
Inlägg: 6350
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Bygga egen dator från grunden

Inlägg av rvl »

Hur många lager blev det och hur ser mellanlagren ut?
Användarvisningsbild
Klas-Kenny
Inlägg: 11548
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Bygga egen dator från grunden

Inlägg av Klas-Kenny »

DanielM skrev: 29 april 2024, 22:56:08 Jag tror jag hittade länken för att få in Linux på eMMC. Känner du igen detta?
https://wiki.st.com/stm32mpu/wiki/STM32 ... er_Package
Den länken verkar innehålla all information om hur man bygger (kompilerar) alla olika delar. Men inte mycket om hur man får in det i enheten.
Verkar som att ST gärna vill använda STM32CubeProgrammer till det mesta, även i denna världen (hade inte förväntat mig det).

Här fanns en del info:
https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer
Användarvisningsbild
Icecap
Inlägg: 26449
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Bygga egen dator från grunden

Inlägg av Icecap »

Det finns en STMCUBE32 programmeringsprogram som sluter med "CLI" som i Command Line Interface. Jag använder detta till att programmera våra enheter i testfixturen.

Då STM32 även kan programmeras via en seriell port kan CLI-programmet även klara detta.
Janson1
Inlägg: 1368
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Bygga egen dator från grunden

Inlägg av Janson1 »

Om du väljer 2,7 mm för M3 så blir det gängor i mönsterkortet när du drar i dom. Det behöver inte vara fel men finns det ledare på någon 10 dels mm så skulle inte jag äventyra mönsterkortet med en såpass grov yttre påverkan som att vri dit en skruv som lämnar permanenta spår genom lagren... Så välj 3.0 upp till 3,3 mm.
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

hawkan skrev: 30 april 2024, 09:42:11 Den jag hade där var det bara att kopiera in en image med dd till emmc-minnet, som en usb-disk.
Det lilla jag sett är att det nog inte är så med openstlinux.
Som jag uppfattar ST så går det bara koppla in på OTG USB och sedan flasha med CubeProgrammer.
rvl skrev: 30 april 2024, 10:07:06 Hur många lager blev det och hur ser mellanlagren ut?
Det blev 4 lager. Jag har inte ändrat lagrerna efter JLCPCB's standard än.
Skärmbild 2024-04-30 213712.png
Klas-Kenny skrev: 30 april 2024, 12:00:56
DanielM skrev: 29 april 2024, 22:56:08 Jag tror jag hittade länken för att få in Linux på eMMC. Känner du igen detta?
https://wiki.st.com/stm32mpu/wiki/STM32 ... er_Package
Den länken verkar innehålla all information om hur man bygger (kompilerar) alla olika delar. Men inte mycket om hur man får in det i enheten.
Verkar som att ST gärna vill använda STM32CubeProgrammer till det mesta, även i denna världen (hade inte förväntat mig det).

Här fanns en del info:
https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer
Ja. STM32CubeProgrammer är nog rätta valet. Jag misstänker att man ska bara flasha in en vanlig image-bild direkt på OTG USB.
Noter att jag hade valt OTG FS. Jag ska använda OTG HS, inte OTG FS. Man kan bli lurad av ST. Dom är lømsk, som man säger på Danska. ;)
Skärmbild 2024-04-30 214010.png
Skärmbild 2024-04-30 213926.png
Icecap skrev: 30 april 2024, 14:10:23 Det finns en STMCUBE32 programmeringsprogram som sluter med "CLI" som i Command Line Interface. Jag använder detta till att programmera våra enheter i testfixturen.

Då STM32 även kan programmeras via en seriell port kan CLI-programmet även klara detta.
Hur menar du? Du menar att du stoppar in USB (OTG?) i din processor och sedan flashar du med operativsystemet?

Jo. Via UART kan man också programmera. Men nu har jag USB OTG HS tillgängligt. Dock fick jag använda 4 vior för detta.
Jag hoppas detta ska gå bra att ha vior på differentiella ledarbanor.
Skärmbild 2024-04-30 214300.png
Janson1 skrev: 30 april 2024, 14:37:27 Om du väljer 2,7 mm för M3 så blir det gängor i mönsterkortet när du drar i dom. Det behöver inte vara fel men finns det ledare på någon 10 dels mm så skulle inte jag äventyra mönsterkortet med en såpass grov yttre påverkan som att vri dit en skruv som lämnar permanenta spår genom lagren... Så välj 3.0 upp till 3,3 mm.
Det är meningen att jag ska få gängor. Då slipper jag att använda mutter. Då fungerar "via"-hålet som ett gänga.
Det finns inga ledare nära M3 hålet. Du får gärna förklara mera, för jag förstod inte exakt helt vad du menar :)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Janson1
Inlägg: 1368
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Bygga egen dator från grunden

Inlägg av Janson1 »

Daniel: Du måste väl ändå förstå att du kan skada kortet? Men du kan ju välja mindre skruv än M3, tex M2,5...
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Kortet ska jag ha för mig själv.
Men visst M2.5 fungerar. Eller clips.
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Nu har jag pepprat med vior som är 2.5 mm mellan varandra. Viorna är 0.4/0.2 i storlek.
Skärmbild 2024-05-01 170328.png
Jag har även gett mig på impedansen. Då har jag valt dessa ledarbredder.
  • 0.11 mm för 50 ohm singel
  • 0.13 mm för 90 ohm differentiell. 0.24 mm mellanrum. 0.24mm avstånd till närmaste GND-plan
  • 0.103 mm för 100 ohm differentiell. 0.24 mm mellanrum. 0.24mm avstånd till närmaste GND-plan
Skärmbild 2024-05-01 204135.png
Skärmbild 2024-05-01 211724.png
Följande ska ha:
  • USB Micro <--> uP: 90 ohm (0.13 mm)
  • USB A <--> USB PHY: 90 ohm (0.13 mm)
  • USB PHY <--> uP: 90 ohm (0.13 mm)
  • HDMI PHY <--> HDMI kontakt: 100 ohm (0.103 mm)
  • Ethernet PHY <--> RJ45: 100 ohm (0.103 mm)
  • Ethernet PHY <--> uP: 50 ohm (0.11 mm)
Jag har dock inte hittat om det ska vara någon specifik impedans mellan HDMI PHY <--> uP. Jag tittar på ST's egna dragningar och där verkar dom inte ha tagit någon hänsyn till längderna.

Några frågor:
  1. Om man har 0.09mm spår som går in i BGA, från 0.11 till 0.09. Hur räknas impedansen då?
    Skärmbild 2024-05-01 232712.png
  2. Ska jag ta coplanar eller non coplanar? Jag får ungefär samma bredd på ledarna. Skillnaden är att non coplanar tar inte hänsyn till GND-planet. Jag har ändå separerat GND planen från diff-spåren.
    Skärmbild 2024-05-01 232538.png
  3. Om jag har någon via på diff-spåren. Påverkar detta något?
    Skärmbild 2024-05-01 232844.png
  4. Vad tycker ni om detta? Jag har sett vissa ringar in sina kristaller med täta vior.
    Skärmbild 2024-05-01 233208.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Idag när jag skickade in gerberfilerna till JLCPCB. Då fick jag ett saftigt pris! 67 dollar för ett 75*100 kort med 4 lager! Dom sa att för att producera detta kort så måste man ha speciella borrar för viorna.

Jag tittade lite på viorna och märkte att dom var 0.254/0.152 i storlek. Aj då! :doh:

Måste byta dom alla till 0.4/0.3.

Jag tycker ändå JLCPCB har rätt grova toleranser: https://jlcpcb.com/capabilities/pcb-capabilities
0.254 mm mellan via och ledare. Det är rätt mycket. Men det ska inte vara några problem för mig att få till detta.

Däremot kommer det bli ett problem för BGA. Där kan man endast få igenom 3.5 mil (0.09 mm) mellan paddarna. JLCPCB har max 0.2mm mellan pad och ledare!
Ändå säljer dom den där processorn som jag använder. :|
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Det jag har gjort nu är att jag har ökat trace to trace till 0.09mm från 0.08mm. Mest bara för att JLCPCB kräver detta.
Det var lite pyssel med att få det fungera för det blev lite rött på skärmen. Men det gick bra.

En annan sak som jag har gjort är att bytt ut alla 0.154/0.254 vior till 0.3/0.4mm vior. Då slipper man det dyra priset.
En nackdel är att det är fortfarande 0.08mm mellanrum mellan ledarbanor när det kommer till DDR-minnet. Det är inte jag som har dragit detta. Jag hoppas JLCPCB kan acceptera detta på något sätt.

Jag har använt mig av Via-In-Pad, dvs sätta vian på padden. JLCPCB har stöd för detta. Vissa GND paddar på BGA:n så har jag dragit en 0.1mm ledare till närmaste GND-via eller GND-plan. Vissa GND-paddar kunde man direkt placera en via på som kopplas direkt till planet.

Bilderna ni ser här är processorn i BGA paketet.
Skärmbild 2024-05-07 184400.png
Skärmbild 2024-05-07 184251.png
Skärmbild 2024-05-07 184214.png
Skärmbild 2024-05-07 185130.png
Uppdatering:

Japp! JLCPCB klarar av att producera denna pryl! :mrgreen: :tumupp: :tumupp: :tumupp:
Skärmbild 2024-05-08 000313.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Liten uppdatering nu!

Det går bra! Jag har fått bort alla som bryter emot DRC.
Jag tittade även lite på längderna för DDR3L minnet. Det verkar som att ST har inte alls varit så noga på att dra dessa linjer.
När jag mäter dom och fyller i dom i en excellista från ST, så verkar det som att det saknas rätt längder.

Det finns olika databussar. Huvud CLK_P och CLK_N ska vara längst av dom alla databussarna. Varje databuss har sin egen klocka. Så det blir lite jobb där.
Men övrigt efter jag är klar med detta, så skickar jag in det till JLCPCB.

Som tur så är varje padd 0.23 mm i diameter och delningen är 0.5 mm, vilket ger 0.27 mm mellan varje padd. Då passar det med 0.09 mm (bredd) ledare mellan varje padd och det blir 0.09 mm från pad till ledare.

:tumupp:
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Nu är det dags för tillverkning! :D
Jag har haft en dialog med JLCPCB och dom kräver att det måste vara 0.1mm avstånd mellan allt som verkligen minimum mellan paddar och ledare. Trots att dom skriver att det måste vara det dubbla på sin hemsida. Men det finns undantag.

Dock så hamnar jag på 0.09mm mellan BGA paddar och ledare, så dom kommer få skära i padden för att minska på den. Men annars så ska det gå att producera mitt kretskort. Jag tvingas hålla mig på minimum-nivåer för att det är BGA. Sedan har jag haft oturen att få en modell från ST som hade DRC regler som var riktigt snäva. Detta har jag fått ökat och göra om.

Men som sagt...nu är det dags för montering av kretskortet! Dags för beredning...
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Nu har jag lämnat in hos JLCPCB. Den är i produktionen nu och dom har inte klagat något än på mig. :)
Så jag antar att dom kan tillverka denna.

Jag ska löda BGA:n själv. Får köpa in lite utrustning (önskas köpa om någon har fin utrustning att sälja).
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
AndLi
Inlägg: 17702
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Bygga egen dator från grunden

Inlägg av AndLi »

Är det klokt? Att montera själv...

Hur ska du veta om felet ligger i monteringen eller pcb layouten då? Jag skulle minimerat antalet felkällor.. jag tror du kommer ha strul nog ändå!

Pessimisten har talat..
DanielM
Inlägg: 2312
Blev medlem: 5 september 2019, 14:19:58

Re: Bygga egen dator från grunden

Inlägg av DanielM »

Klokt är beroende på vad man eftersträvar.
Eftersträvar man efter att följa IPC IPC-AJ-820A så är det nog en unik lärdom att montera själv.
Men eftersträvar man efter att uppfylla IPC 7095 så får man nog tänka om då standarden kräver avsyning, vilket kan bara göras med röntgen.

Nu är det via-in-pad som jag har valt, men jag kommer inte använda epoxy eller koppar för att fylla hålen. Istället kommer jag få fylla i hålen själv med lod.
Jag vet att JLCPCB erbjuder att fylla in epoxi för via-in-pad. Men då går priset upp från 24 dollar till 368 dollar. Det är en extra process kretskortet måste gå igenom för att få det att fungera.

Däremot vet jag att det finns tre problem med att fylla i lod i en via-in-pad.
  • Värme med varmluft kan göra så att lodet i via-hålet rinner ut. Nu har jag 0.3mm via-hål dock, men än fast hålet är litet, betyder inte att det är tätt.
  • Att fylla in lod på båda sidorna kan göra så att syre blir instängt, vilket kan orsaka sprickor vid nedkylningen eller korrosion efter några år.
  • Att fylla in lod i en via-in-pad kan resultera att en via får en förskjuten höjd, vilket resulterar en monteringsförsämring för BGA:n
Så, oavsett vad jag gör. Så måste jag fylla vian med något innan jag monterar.
Helst fylla typ till 90% och att lodet inte ska rinna ut igenom 0.3mm hålet.
Ett annat alternativ är att fylla vian med kopparpasta. Det är en standard som uppfyller IPC 4761.

Din sista fråga om hur jag vet om monteringen är fel eller om pcb-layouten är fel.
Jo, med tanke på att jag monterar själv så kan jag enkelt verifiera om pcb-layouten är fel igenom att testa med multimeter och gå igenom om det finns någon bruten krets mellan två paddar.
Så om layouten är OK, så kan bara monteringen gå fel. Nu ska inte layouten vara fel då JLCPCB garanterar att den uppfyller deras minimumkrav på minsta isolationsavstånd.
Skriv svar