INHOUDSOPGAWE:

Ontwerp u eie Raspberry Pi Compute Module PCB: 5 stappe (met foto's)
Ontwerp u eie Raspberry Pi Compute Module PCB: 5 stappe (met foto's)

Video: Ontwerp u eie Raspberry Pi Compute Module PCB: 5 stappe (met foto's)

Video: Ontwerp u eie Raspberry Pi Compute Module PCB: 5 stappe (met foto's)
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, November
Anonim
Ontwerp u eie Raspberry Pi Compute Module PCB
Ontwerp u eie Raspberry Pi Compute Module PCB
Ontwerp u eie Raspberry Pi Compute Module PCB
Ontwerp u eie Raspberry Pi Compute Module PCB
Ontwerp u eie Raspberry Pi Compute Module PCB
Ontwerp u eie Raspberry Pi Compute Module PCB

As u nog nooit van die Raspberry Pi Compute Module gehoor het nie, is dit basies 'n volwaardige Linux -rekenaar met die vormfaktor, 'n skootrekenaar -RAM -stok!

Met dit word dit moontlik om u eie pasgemaakte borde te ontwerp waar die Raspberry Pi net nog 'n komponent is. Dit bied u baie buigsaamheid, aangesien u toegang tot 'n veel groter hoeveelheid IO -penne kan kry, terwyl u presies dieselfde hardeware op u bord kan kies. Die ingeboude eMMC elimineer ook die behoefte aan 'n eksterne mikro-SD-kaart, wat die rekenmodule perfek maak vir die ontwerp van produkte wat op framboos Pi gebaseer is.

Ongelukkig, terwyl die berekeningsmodule u in staat stel om dit alles te doen, blyk dit steeds gebrek aan gewildheid te wees in vergelyking met die tradisionele Raspberry Pi Model A en B. As gevolg hiervan is daar nie baie open source hardeware -projekte daar nie, gebaseer op Dit. En vir almal wat wil begin met die ontwerp van hul eie borde, is die hoeveelheid hulpbronne wat hulle het, taamlik beperk.

Toe ek 'n paar maande gelede eers met die Raspberry Pi Compute Module begin het, was dit presies die probleem waarmee ek te kampe het. Daarom het ek besluit om iets daaraan te doen. Ek het besluit om 'n open source PCB te ontwerp wat gebaseer is op die Compute Module, wat al die basiese kenmerke sal hê wat die Raspberry Pi geweldig maak. Dit bevat 'n kamera -aansluiting, USB -gasheer, klankuitset, HDMI en natuurlik 'n GPIO -kop wat versoenbaar is met die gewone Raspberry Pi -borde.

Die doel van hierdie projek is om 'n open source -ontwerp te bied vir 'n rekenaarmodule -gebaseerde bord, wat almal kan gebruik as 'n beginpunt vir die ontwerp van hul eie pasgemaakte bord. Die bord is ontwerp op KiCAD, 'n open source- en kruisplatform -EDA -sagtewarepakket, om soveel mense moontlik te benut.

Gryp eenvoudig die ontwerplêers, pas dit aan by u behoeftes en draai u eie bord vir u projek.

Stap 1: Onderdele en gereedskap

Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap
Onderdele en gereedskap

Om aan die gang te kom met die Raspberry Pi Compute Module, benodig u die volgende dele:

1 x Raspberry Pi Compute Module 3 - Ek beveel sterk aan dat u die gewone weergawe kry wat die ingeboude eMMC bevat en nie die Lite -weergawe nie. As u die Lite -weergawe in u projek wil gebruik, moet u 'n paar veranderinge aan die ontwerp aanbring, insluitend die toevoeging van 'n mikro -SD -kaartaansluiting. Uiteindelik het ek slegs die bord met die CM3 getoets en ek kan nie waarborg dat dit sal werk met die eerste CM -weergawe wat in 2014 vrygestel is nie.

Opdatering 29/1/2019: Dit blyk dat die Foundation pas die Compute Module 3+ vrygestel het en nie net dit nie, maar dit het ook die opsie vir 'n 8GB, 16GB of 32GB eMMC! Volgens die datablad blyk dit dat die CM3+ elektries identies is aan die CM3, wat beteken dat dit basies 'n afname in vervanging vir die CM3 is.

1 x Compute Module IO Board - My ontwerp was bedoel om as beginpunt te dien vir die ontwerp van u eie pasgemaakte bord op grond daarvan, nie as 'n plaasvervanger vir die Compute Module IO board nie. Om u lewe makliker te maak, beveel ek u sterk aan om 'n IO -bord in die hande te kry en dit te gebruik om dit te ontwikkel voordat u na 'n pasgemaakte bord gaan. Behalwe dat u toegang tot elke pen van die CM plus 'n verskeidenheid verbindings bied, is die IO-kaart ook nodig om die ingeboude eMMC te laat flits. Dit is iets wat u nie met my bord kan doen nie, tensy u eers die ontwerp verander.

1 x Raspberry Pi Zero Camera Cable of Compute Module Camera Adapter - Op my ontwerp gebruik ek 'n kamera -aansluiting wat baie dieselfde is as die wat deur die Compute Module IO Board en die Raspberry Pi Zero gebruik word. Om 'n kamera aan te sluit, benodig u óf 'n adapterkabel wat ontwerp is vir die Pi Zero, óf die kameraadapterbord wat saam met die Compute Module Development Kit saamgevoeg word. Sover ek weet, is die aankoop van die adapterbord afsonderlik duur. Dus, as u van my besluit het om u CM en IO Board afsonderlik te koop om geld te bespaar, raai ek u aan om eerder die kamera -adapterkabel vir die Pi Zero te laat ontwerp.

1 x Raspberry Pi -kameramodule - ek het die bord slegs getoets met die oorspronklike 5MP -kameramodule en nie die nuwer weergawe van 8MP nie. Maar aangesien die voormalige blykbaar goed werk, sien ek geen rede dat die latere dit nie sou doen nie, aangesien dit veronderstel is om agteruit verenigbaar te wees. Hoe dan ook, die 5MP -weergawe kan deesdae vir minder as 5 € op eBay gevind word, daarom sou ek aanbeveel om dit te koop.

4 x vroulike na vroulike jumperdrade - U benodig ten minste 4 om die kamera -aansluiting op die IO -bord te konfigureer, maar u sal waarskynlik meer wil kry. Dit is nie nodig vir die pasgemaakte bord nie, maar kan nuttig wees as u van plan is om eksterne hardeware aan te sluit via die GPIO -kop.

1 x HDMI -kabel - ek het besluit om 'n volgrootte HDMI -aansluiting op my bord te gebruik om die behoefte aan adapters uit te skakel. As u verkies om 'n mini- of selfs 'n mikro -HDMI -aansluiting te gebruik, kan u die ontwerp natuurlik aanpas by u behoeftes.

1 x 5V mikro -USB -kragbron - u telefoonlaaier behoort in die meeste gevalle waarskynlik goed te werk, solank dit ten minste 1A kan lewer. Hou in gedagte dat dit slegs 'n algemene waarde is; u werklike kragvereistes hang af van die hardeware wat u besluit om op u pasgemaakte bord op te neem.

1 x USB Ethernet -adapter - as u van plan is om byna enige pakket op u stelsel te installeer of by te werk, benodig u ten minste tydelike internettoegang. 'N 2-in-1 Ethernet-adapter plus 'n USB-hub is waarskynlik 'n goeie kombinasie, aangesien u slegs een USB-poort beskikbaar het. Persoonlik gebruik ek die Edimax EU-4208, wat uit die boks werk met die Pi en geen eksterne krag benodig nie, maar dit het nie 'n ingeboude USB-hub nie. As u 'n USB-adapter wil koop, kan u dit vind 'n lys met dié wat met die Raspberry Pi getoets is.

As u meer USB -poorte en selfs Etherent direk op u pasgemaakte bord wil byvoeg, stel ek voor dat u die LAN9512 van Microchip bekyk. Dit is dieselfde chip wat die oorspronklike Raspberry Pi Model B gebruik en gee u 2 USB -poorte en 1 Ethernet -poort. Alternatiewelik, as u 4 USB -poorte benodig, moet u na sy neef LAN9514 kyk.

1 x DDR2 SODIMM RAM -aansluiting - Dit is waarskynlik die belangrikste komponent van die hele bord en waarskynlik die enigste wat nie maklik vervang kan word nie. Om u van die moeilikheid te red, is die TE CONNECTIVITY 1473005-4. Dit is beskikbaar by die meeste groot verskaffers, insluitend TME, Mouser en Digikey, dus u hoef geen probleem te vind nie. Wees egter baie versigtig, kyk weer of die deel wat u bestel in werklikheid die 1473005-4 is. Moenie dieselfde fout maak as ek nie en kry die spieëlweergawe, hierdie verbindings is nie goedkoop nie.

Vir die res van die dele wat ek kies om op die bord op te neem, kan u na die stembus kyk vir meer inligting; ek het probeer om skakels na die gegewensblaaie vir die meeste daarvan in te sluit.

Soldeertoerusting - Die kleinste komponente op die bord is die 0402 -ontkoppelingskondenseerders, maar die HDMI sowel as die kamera en die SODIMM -verbindings kan ook 'n bietjie uitdagend wees sonder enige vergroting. As u goeie ervaring met SMD -soldeer het, dink dit nie 'n groot probleem nie. Hoe dan ook, as u toevallig toegang tot 'n mikroskoop het, beveel ek dit sterk aan.

Stap 2: Flits die EMMC

Die eerste ding wat u moet doen voordat u u rekenaarmodule begin gebruik, is om die nuutste Raspbian Lite -prent op die eMMC te flits. Die amptelike Raspberry Pi -dokumentasie is baie goed geskryf en beskryf die hele proses in detail vir beide Linux en Windows. Om hierdie rede beskryf ek slegs die stappe wat u baie kort moet neem op Linux, sodat dit as 'n vinnige verwysing kan dien.

In die eerste plek moet u seker maak dat u IO -bord in die programmeermodus is en dat die rekenmodule in die SODIMM -aansluiting geplaas is. Om die bord in die programmeermodus te plaas, skuif die J4 -trui na die EN -posisie.

Vervolgens moet u die rpiboot -instrument op u stelsel bou, sodat u dit kan gebruik om toegang tot die eMMC te verkry. Om dit te kan doen, benodig u 'n afskrif van die usbboot -bewaarplek wat maklik soos volg verkry kan word met git, git kloon --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Om rpiboot te bou, moet u seker maak dat beide libusb-1.0-0-dev en pakkette op u stelsel geïnstalleer is. As u dus gebruik maak van 'n Debian -gebaseerde distro soos Ubuntu run, sudo apt update && sudo apt installeer libusb-1.0-0-dev make

As u nie 'n Debian-distro gebruik nie, kan die naam van die libusb-1.0.0-dev-pakket anders wees, dus kyk gerus na hoe dit in u geval genoem word. Sodra die bou afhanklikhede geïnstalleer is, kan u die rpiboot -binêre eenvoudig bou deur te hardloop, maak

Nadat die ingeboude voltooi is, voer rpiboot as root uit en begin dit wag vir 'n verbinding, sudo./rpiboot

Koppel nou die IO -kaart aan u rekenaar deur 'n mikro -USB -kabel aan te sluit op die USB SLAVE -poort en pas dan die POWER IN -poort aan. Na 'n paar sekondes behoort die rpiboot die rekenaarmodule te kan opspoor en toegang tot die eMMC te gee. Dit behoort daartoe gelei dat 'n nuwe bloktoestel onder /dev verskyn. U kan die fdisk -program gebruik om u te help om die naam van die toestel te vind, sudo fdisk -l

Skyf /dev /sdi: 3,7 GiB, 3909091328 grepe, 7634944 sektore

Eenhede: sektore van 1 * 512 = 512 grepe Sektorgrootte (logies/fisies): 512 grepe/512 grepe I/O -grootte (minimum/optimaal): 512 grepe/512 grepe Tipe etikette: dos Skyfidentifikasie: 0x8e3a9721

Begin van eindtoestel vir eindtoestelle Grootte ID -tipe

/dev/sdi1 8192 137215 129024 63M c W95 FAT32 (LBA)/dev/sdi2 137216 7634943 7497728 3.6G 83 Linux

In my geval was dit /dev /sdi, aangesien ek al 'n hele paar skyfies op my stelsel het, maar u s'n sal beslis wissel.

Nadat u heeltemal seker was dat u die regte toestelnaam gevind het, kan u dd gebruik om die Raspbian Lite -prent na die eMMC te verbrand. Maak egter seker dat daar geen partisie van die eMMC op u stelsel is nie.

df -h

As u dit ontdek, vind u die volgende, sudo umount /dev /sdXY

Wees nou uiters versigtig; die verkeerde toestelnaam met dd kan u stelsel moontlik vernietig en dataverlies veroorsaak. Gaan nie verder met die volgende stap nie, tensy u heeltemal seker is dat u weet wat u doen. As u meer inligting benodig, kyk gerus na die dokumentasie hieroor.

sudo dd if = -raspbian-stretch-lite.img van =/dev/sdX bs = 4M && sync

Sodra die opdragte dd en sinchronisasie klaar is, moet u die IO -bord van u rekenaar kan ontkoppel. Laastens, vergeet nie om die J4 -trui terug te skuif na die DIS -posisie nie, en u rekenaarmodule behoort gereed te wees vir sy eerste opstart.

Stap 3: Eerste opstart

Sluit eers 'n USB -sleutelbord en 'n HDMI -monitor aan op u IO -kaart voordat u vir die eerste keer begin. As alles verloop soos verwag en u Pi klaar is met oplaai, kan u dit met u verbind as u dit aangeheg het.

As u gevra word om aan te meld, gebruik "pi" vir die gebruikersnaam en "framboos" vir die wagwoord, aangesien dit die standaard aanmeldingsbewyse is. U kan nou 'n paar opdragte uitvoer om seker te maak dat alles na verwagting werk soos u normaalweg op enige Raspberry Pi sou doen, maar probeer nog niks installeer nie, aangesien u steeds nie 'n internetverbinding het nie.

'N Belangrike ding wat u moet doen voordat u u Pi afskakel, is om SSH in te skakel, sodat u na die volgende opstart vanaf u rekenaar daaraan kan koppel. U kan dit baie maklik doen met die raspi-config-opdrag, sudo raspi-config

Om SSH in te skakel, gaan na Interfacing Options, kies SSH, kies YES, OK en Voltooi. As u gevra word of u wil weier om te herlaai. Nadat u klaar is, skakel u Pi uit en verwyder die krag sodra dit klaar is.

sudo shutdown -h nou

Vervolgens moet u 'n internetverbinding tot stand bring met die USB Ethernet -adapter wat u reeds behoort te hê. As u adapter ook 'n USB -hub het, kan u dit gebruik om u sleutelbord aan te sluit, anders kan u net met u Pi via SSH koppel. Hou in elk geval die HDMI -monitor eers ingeprop om seker te maak dat die opstartproses voltooi word soos verwag.

Aan die einde moet dit u ook die IP -adres wys wat u Pi van die DHCP -bediener gekry het. Probeer dit te gebruik om via SSH met u Pi te verbind.

ssh pi@

Nadat u suksesvol met u Pi via SSH konnekteer, hoef u nie meer die monitor en die sleutelbord aan te sluit nie, so trek die stekker uit as u wil. Op hierdie stadium behoort u ook toegang tot die internet te hê vanaf u Pi; u kan probeer om iets soos google.com te ping om dit te verifieer. Nadat u seker gemaak het dat u toegang tot die internet het, is dit 'n goeie idee om die stelsel op te dateer deur te werk, sudo apt update && sudo apt upgrade

Stap 4: Stel die kamera op

Die opstel van die kamera
Die opstel van die kamera

Die grootste verskil tussen 'n gewone Raspberry Pi-bord en die Compute-module is dat u in die geval van die latere, behalwe die moontlikheid van die kamera met behulp van raspi-config, ook 'n pasgemaakte apparaatboomlêer nodig het.

U kan meer inligting vind oor die konfigurasie van die rekenaarmodule vir gebruik met 'n kamera in die dokumentasie. Maar oor die algemeen het die kamera -aansluiting tussen die ander ook 4 bedieningspenne, wat aan 4 GPIO -penne op die rekenaarmodule gekoppel moet word, en dit is aan u om te besluit watter tydens die ontwerp van u pasgemaakte bord.

In my geval, tydens die ontwerp van die bord, kies ek CD1_SDA om na GPIO28, CD1_SCL na GPIO29, CAM1_IO1 na GPIO30 en CAM1_IO0 na GPIO31 te gaan. Ek kies hierdie spesifieke GPIO -penne omdat ek 'n 40 -pins GPIO -kop op my bord wou hê, wat ook verenigbaar is met die GPIO -aansluiting van die gewone Raspberry Pi -borde. En daarom moes ek seker maak dat die GPIO -penne wat ek vir die kamera gebruik, nie ook in die GPIO -kop verskyn nie.

Dus, tensy u besluit om die bedrading van die kamera-aansluiting aan te pas, benodig u 'n /boot/dt-blob.bin wat u Pi vertel om GPIO28-31 op te stel soos hierbo beskryf. En om 'n dt-blob.bin, wat 'n binêre lêer is, te genereer, benodig u 'n dt-blob.dts om saam te stel. Om dinge makliker te maak, gaan ek my eie dt-blob.dts voorsien wat u kan aanpas by u behoeftes indien nodig.

Om die apparaatboomlêer saam te stel, gebruik die apparaatboom -samesteller soos volg:

dtc -I dts -O dtb -o dt -blob.bin dt -blob.dts

Ek is nie seker hoekom nie, maar bogenoemde moet tot 'n hele paar waarskuwings lei, maar solank die dt-blob.bin suksesvol gegenereer is, moet alles in orde wees. Skuif nou die dt-blob.bin wat u so pas gegenereer het na /boot deur die uitvoering van, sudo mv dt-blob.bin /boot/dt-blob.bin

Bogenoemde sal u waarskynlik die volgende waarskuwing gee:

mv: kon nie eienaarskap behou vir '/boot/dt-blob.bin': werking nie toegelaat nie

Dit is net mv wat kla dat dit nie die lêerbesit kan behou nie, aangesien /boot 'n FAT -partisie is wat verwag kan word. U het moontlik opgemerk dat /boot/dt-blob.bin nie standaard bestaan nie, dit is omdat die Pi eerder 'n ingeboude toestelboom gebruik. As u u eie binnekant /skoenlapper byvoeg, oorskry dit die ingeboude een, maar kan u die funksie van die pen bepaal soos u wil. U kan meer oor die apparaatboom in die dokumentasie vind.

Nadat dit gedoen is, moet u die kamera aktiveer, sudo raspi-config

Gaan na Interfacing Options, kies Camera, kies YES, OK en Voltooi. As u gevra word of u wil weier om te herlaai. Sluit nou u Pi af en verwyder die krag.

Nadat die krag van die IO -bord verwyder is, verbind die penne vir GPIO28 met CD1_SDA, GPIO29 met CD1_SCL, GPIO30 met CAM1_IO1 en GPIO31 met CAM1_IO0 en GPIO30 met CAM1_IO0. Koppel u kameramodule laastens aan die CAM1 -aansluiting met behulp van die kameraadapterbord of 'n kamerakabel wat ontwerp is vir die Raspberry Pi Zero en pas krag toe.

As alles na die Pi -stewels soos verwag werk, moet u die kamera kan gebruik. Om te probeer om 'n foto te neem nadat u via SSH -run met u Pi gekoppel is, raspistill -o toets.jpg

As die opdrag sonder foute eindig en 'n test-j.webp

sftp pi@

sftp> kry test.jpg sftp> verlaat

Stap 5: Beweeg van die IO -bord na 'n pasgemaakte PCB

Van die IO -bord na 'n pasgemaakte PCB
Van die IO -bord na 'n pasgemaakte PCB
Van die IO -bord na 'n pasgemaakte PCB
Van die IO -bord na 'n pasgemaakte PCB
Van die IO -bord na 'n pasgemaakte PCB
Van die IO -bord na 'n pasgemaakte PCB

Noudat u klaar is met al die basiese konfigurasie, kan u na die ontwerp van u eie pasgemaakte bord op grond van die rekenmodule. Aangesien dit u eerste projek gaan wees, moedig ek u sterk aan om my ontwerp te gryp en dit uit te brei tot bykomende hardeware wat u wil.

Die agterkant van die bord het baie ruimte om u eie komponente by te voeg en vir relatief klein projekte hoef u waarskynlik nie eers die afmetings van die bord te vergroot nie. As dit 'n selfstandige projek is en u nie 'n fisiese GPIO -kop op u bord nodig het nie, kan u dit maklik ontslae raak en ruimte spaar aan die bokant van die PCB. Die GPIO -kop is ook die enigste komponent wat deur die tweede binneste laag gelei word en dit verwyder, maak dit heeltemal vry.

Ek moet daarop wys dat ek self een van die borde suksesvol bymekaargemaak en getoets het, en ek het geverifieer dat alles, insluitend die kamera en die HDMI -uitset, na verwagting werk. Dus, solank u geen groot veranderinge aanbring in die manier waarop ek alles opgestel het nie, moet u geen probleme ondervind nie.

As u egter 'n paar groot uitlegveranderings moet aanbring, moet u in gedagte hou dat die meeste spore wat na die HDMI- en kamerakonnekteerders gaan, as 100 Ohm differensiaalpare gelei word. Dit beteken dat u hiermee rekening moet hou as u dit op die bord moet skuif. Dit beteken ook dat selfs as u die GPIO -kop uit u ontwerp laat val, wat beteken dat die interne lae geen spore bevat nie, u steeds 'n 4 -laags PCB benodig om 'n differensiële impedansie van byna 100 Ohm te bereik. As u egter nie van die HDMI -uitgang en die kamera gebruik wil maak nie, moet u 'n tweelaagse bord kan gebruik om daarvan ontslae te raak en die koste van die borde 'n bietjie te verminder.

Net ter verwysing, die planke is bestel by ALLPCB met 'n totale dikte van 1,6 mm en ek het nie om impedansiebeheer gevra nie, aangesien dit die koste heelwat sou verhoog en ek wou ook kyk of dit sou saak maak. Ek het ook 'n goudkleurige afwerking gekies om die soldeer van die verbindings makliker te maak, aangesien dit verseker dat alle pads mooi plat is.

Aanbeveel: