Bygga egen dator från grunden
- Klas-Kenny
- Inlägg: 11548
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Bygga egen dator från grunden
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.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
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
Re: Bygga egen dator från grunden
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.
Då STM32 även kan programmeras via en seriell port kan CLI-programmet även klara detta.
Re: Bygga egen dator från grunden
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.
Re: Bygga egen dator från grunden
Som jag uppfattar ST så går det bara koppla in på OTG USB och sedan flasha med CubeProgrammer.
Det blev 4 lager. Jag har inte ändrat lagrerna efter JLCPCB's standard än.
Ja. STM32CubeProgrammer är nog rätta valet. Jag misstänker att man ska bara flasha in en vanlig image-bild direkt på OTG USB.Klas-Kenny skrev: ↑30 april 2024, 12:00:56Den 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.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
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
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.
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.
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.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 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.
Re: Bygga egen dator från grunden
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...
Re: Bygga egen dator från grunden
Kortet ska jag ha för mig själv.
Men visst M2.5 fungerar. Eller clips.
Men visst M2.5 fungerar. Eller clips.
Re: Bygga egen dator från grunden
Nu har jag pepprat med vior som är 2.5 mm mellan varandra. Viorna är 0.4/0.2 i storlek.
Några frågor:
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
- 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)
Några frågor:
- 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å?
- 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.
- Om jag har någon via på diff-spåren. Påverkar detta något?
- Vad tycker ni om detta? Jag har sett vissa ringar in sina kristaller med täta vior.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Bygga egen dator från grunden
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å!
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.
Jag tittade lite på viorna och märkte att dom var 0.254/0.152 i storlek. Aj då!
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.
Re: Bygga egen dator från grunden
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. Uppdatering:
Japp! JLCPCB klarar av att producera denna pryl!
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. Uppdatering:
Japp! JLCPCB klarar av att producera denna pryl!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Bygga egen dator från grunden
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.
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.
Re: Bygga egen dator från grunden
Nu är det dags för tillverkning!
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...
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...
Re: Bygga egen dator från grunden
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).
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.
Re: Bygga egen dator från grunden
Ä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..
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..
Re: Bygga egen dator från grunden
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.
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.
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
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.