Sisällysluettelo:

Suunnittele oma Raspberry Pi Compute Module PCB: 5 vaihetta (kuvilla)
Suunnittele oma Raspberry Pi Compute Module PCB: 5 vaihetta (kuvilla)

Video: Suunnittele oma Raspberry Pi Compute Module PCB: 5 vaihetta (kuvilla)

Video: Suunnittele oma Raspberry Pi Compute Module PCB: 5 vaihetta (kuvilla)
Video: BTT - Manta M8P - TMC2208 2024, Heinäkuu
Anonim
Suunnittele oma Raspberry Pi Compute Module PCB
Suunnittele oma Raspberry Pi Compute Module PCB
Suunnittele oma Raspberry Pi Compute Module PCB
Suunnittele oma Raspberry Pi Compute Module PCB
Suunnittele oma Raspberry Pi Compute Module PCB
Suunnittele oma Raspberry Pi Compute Module PCB

Jos et ole koskaan ennen kuullut Raspberry Pi Compute Module -moduulista, se on pohjimmiltaan täysin toimiva Linux -tietokone, jonka muoto on kannettavan tietokoneen RAM -muisti!

Sen myötä on mahdollista suunnitella omia mukautettuja levyjä, joissa Raspberry Pi on vain yksi komponentti. Tämä antaa sinulle valtavan joustavuuden, koska sen avulla voit käyttää paljon suurempaa määrää IO -nastoja, samalla kun voit valita tarkalleen, mitä laitteistoa haluat taulullesi. Sisäänrakennettu eMMC poistaa myös ulkoisen micro SD -kortin tarpeen, mikä tekee Compute Module -laitteesta täydellisen Raspberry Pi -pohjaisten tuotteiden suunnitteluun.

Valitettavasti, vaikka Compute Module sallii sinun tehdä kaiken tämän, se näyttää silti puuttuvan suosiosta verrattuna perinteisiin Raspberry Pi -malleihin A ja B. Sen vuoksi avoimen lähdekoodin laitteistohankkeita ei ole olemassa paljon se. Ja kaikille, jotka haluavat aloittaa omien levyjen suunnittelun, resurssien määrä on melko rajallinen.

Kun aloitin Raspberry Pi Compute Module -ohjelman käytön muutama kuukausi sitten, se oli juuri se ongelma, johon törmäsin. Niinpä päätin tehdä asialle jotain. Päätin suunnitella avoimen lähdekoodin piirilevyn Compute Module -moduulin perusteella, jossa on kaikki perusominaisuudet, jotka tekevät Raspberry Pi: stä loistavan. Se sisältää kameran liitännän, USB -isännän, äänilähdön, HDMI: n ja tietysti GPIO -otsikon, joka on yhteensopiva tavallisten Raspberry Pi -levyjen kanssa.

Tämän projektin tavoitteena on tarjota avoimen lähdekoodin malli Compute Module -pohjaiselle kortille, jota kuka tahansa voi käyttää lähtökohtana oman mukautetun levyn suunnittelussa. Levy suunniteltiin KiCAD: lle, avoimen lähdekoodin ja alustan väliselle EDA -ohjelmistopaketille, jotta mahdollisimman monet ihmiset voivat hyödyntää sitä.

Tartu vain suunnittelutiedostoihin, sovita ne tarpeisiisi ja pyöritä oma mukautettu levy projektillesi.

Vaihe 1: Osat ja työkalut

Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut

Raspberry Pi Compute Module -ohjelman käytön aloittamiseen tarvitset seuraavat osat:

1 x Raspberry Pi Compute Module 3 - Suosittelen hankkimaan tavallisen version, joka sisältää sisäisen eMMC: n eikä Lite -version. Jos haluat käyttää Lite -versiota projektissasi, sinun on tehtävä joitain muutoksia suunnitteluun, johon kuuluu myös micro SD -korttiliittimen lisääminen. Lopuksi, olen testannut levyä vain CM3: lla, enkä voi taata, että se toimii ensimmäisen vuonna 2014 julkaistun CM -version kanssa.

Päivitys 29.1.2019: Näyttää siltä, että säätiö on juuri julkaissut Compute Module 3+: n, eikä vain sitä, mutta nyt siinä on myös mahdollisuus 8GB, 16GB tai 32GB eMMC! Tietolomakkeen mukaan näyttää siltä, että CM3+ on sähköisesti identtinen CM3: n kanssa, mikä tarkoittaa, että se on pohjimmiltaan pudotus CM3: n korvaamiseksi.

1 x Compute Module IO Board - Suunnitteluni oli tarkoitus olla lähtökohtana oman mukautetun levyn suunnittelulle sen perusteella, ei korvata Compute Module IO -korttia. Joten elämäsi helpottamiseksi suosittelen lämpimästi, että saat kätesi IO -levylle ja käytät sitä kehittämiseen ennen kuin siirryt mukautetulle levylle. Sen lisäksi, että voit käyttää kaikkia CM: n tappeja ja erilaisia liittimiä, IO-korttia tarvitaan myös sisäisen eMMC: n vilkuttamiseen. Tätä et voi tehdä piirilevylleni, ellet tee ensin muutoksia suunnitteluun.

1 x Raspberry Pi Zero -kamerakaapeli tai laskentamoduulin kamerasovitin - Käytän suunnittelussani hyvin samanlaista kameran liitintä kuin Compute Module IO Board ja Raspberry Pi Zero. Joten kameran liittämiseksi tarvitset joko Pi Zero -johtoa varten suunnitellun sovitinkaapelin tai Compute Module Development Kit -sarjan mukana tulevan kamerasovitinlevyn. Tietääkseni sovitinkortin ostaminen erikseen on melko kallista. Joten jos pidät minusta, päätit ostaa CM- ja IO -korttisi erikseen säästääksesi rahaa, suosittelen, että hankit sen sijaan Pi Zerolle suunnitellun kamerasovittimen kaapelin.

1 x Raspberry Pi -kameramoduuli - olen testannut levyä vain alkuperäisellä 5MP -kameramoduulilla, ei uudemmalla 8MP -versiolla. Mutta koska edellinen näyttää toimivan hienosti, en näe mitään syytä, miksi myöhempi ei toimisi, koska sen pitäisi olla taaksepäin yhteensopiva. Joka tapauksessa 5MP -versio löytyy nykyään alle 5 eurolla eBaysta, joten suosittelen sellaisen hankkimista.

4 x naaras -naarasliitinjohdot - Tarvitset vähintään 4 kameran liittimen määrittämiseen IO -kortilla, mutta haluat todennäköisesti saada enemmän. Niitä ei tarvita mukautetulle levylle, mutta ne voivat olla hyödyllisiä, jos aiot liittää ulkoisen laitteiston GPIO -otsikon kautta.

1 x HDMI -kaapeli - Päätin käyttää täysikokoista HDMI -liitintä levyssä, jotta tarvitsen sovittimet. Tietenkin, jos haluat käyttää mini- tai jopa mikro -HDMI -liitintä, voit muokata suunnittelua tarpeidesi mukaan.

1 x 5 V: n mikro -USB -virtalähde - Puhelinlaturin pitäisi todennäköisesti toimia useimmissa tapauksissa hyvin, kunhan se pystyy tarjoamaan vähintään 1 A. Muista, että tämä on vain yleinen arvo, todelliset tehontarpeesi riippuvat laitteistosta, jonka päätät sisällyttää mukautettuun taulullesi.

1 x USB -Ethernet -sovitin - Jos aiot asentaa tai päivittää melkein minkä tahansa järjestelmän paketin, tarvitset vähintään tilapäisen Internet -yhteyden. 2-in-1 Ethernet-sovitin ja USB-keskitin ovat luultavasti hyvä yhdistelmä, koska käytettävissä on vain yksi USB-portti. Henkilökohtaisesti käytän Edimax EU-4208 -laitetta, joka toimii suoraan Pi: n kanssa ja ei vaadi ulkoista virtaa, mutta siinä ei ole sisäänrakennettua USB-keskitintä. Jos aiot ostaa USB-Ethernet-sovittimen, voit etsi luettelo niistä, jotka on testattu Raspberry Pi: llä.

Jos haluat lisätä lisää USB -portteja ja jopa Etherentia suoraan mukautetulle kortillesi, suosittelen katsomaan Microchipin LAN9512: tä. Se on sama siru kuin alkuperäinen Raspberry Pi -malli B ja antaa sinulle 2 USB -porttia ja 1 Ethernet -portin. Vaihtoehtoisesti, jos tarvitset 4 USB -porttia, harkitse sen serkun LAN9514 katsomista.

1 x DDR2 SODIMM RAM -liitin - Tämä on luultavasti koko kortin tärkein komponentti ja todennäköisesti ainoa, jota ei voi helposti korvata. Säästääksesi ongelmilta sinun pitäisi saada osa TE CONNECTIVITY 1473005-4. Sitä on saatavana useimmilta suurilta toimittajilta, mukaan lukien TME, Mouser ja Digikey, joten sen löytämisessä ei pitäisi olla ongelmia. Ole kuitenkin erittäin varovainen, tarkista ja varmista, että tilaamasi osa on itse asiassa 1473005-4. Älä tee samaa virhettä kuin minä ja hanki peiliversio, nämä liittimet eivät ole halpoja.

Muiden osien osalta, jotka päätän sisällyttää taululle, voit katsoa tuoteselostetta saadaksesi lisätietoja. Yritin sisällyttää linkit useimpien tietolomakkeisiin.

Juotoslaitteet - Pienimmät levyn komponentit ovat 0402 -irrotuskondensaattorit, mutta HDMI sekä kamera ja SODIMM -liittimet voivat myös olla hieman haastavia ilman minkäänlaista suurennusta. Jos sinulla on hyviä kokemuksia SMD -juotoksesta, sen ei pitäisi olla iso ongelma. Joka tapauksessa, jos satut käyttämään mikroskooppia, suosittelen sitä.

Vaihe 2: EMMC: n vilkkuminen

Ensimmäinen asia, joka sinun on tehtävä ennen kuin aloitat laskentamoduulin käytön, vilkuttaa uusinta Raspbian Lite -kuvaa eMMC: ssä. Virallinen Raspberry Pi -dokumentaatio on hyvin kirjoitettu ja kuvaa koko prosessin yksityiskohtaisesti sekä Linuxille että Windowsille. Tästä syystä aion vain kuvata vaiheet, jotka sinun on suoritettava hyvin lyhyesti Linuxissa, jotta ne voivat toimia pikaoppaana.

Ensinnäkin sinun on varmistettava, että IO -korttisi on asetettu ohjelmointitilaan ja että laskentamoduuli on asetettu SODIMM -liittimeen. Aseta levy ohjelmointitilaan siirtämällä J4 -hyppyjohdin EN -asentoon.

Seuraavaksi sinun on rakennettava järjestelmääsi rpiboot -työkalu, jotta voit käyttää sitä pääsyn saamiseen eMMC: hen. Tätä varten tarvitset kopion usbboot -arkistosta, joka on helppo hankkia gitillä seuraavasti, git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Nyt, jotta voit rakentaa rpibootin, sinun on varmistettava, että sekä libusb-1.0-0-dev että make-paketit on asennettu järjestelmään. Olettaen siis, että käytät Debian -pohjaista distroa, kuten Ubuntu -ajoa, sudo apt update && sudo apt install libusb-1.0-0-dev make

Jos et käytä Debian-pohjaista distroa, libusb-1.0.0-dev-paketin nimi voi olla erilainen, joten muista löytää tapa, jolla sitä kutsutaan. Kun koontiriippuvuudet on asennettu, voit rakentaa rpiboot -binaarin yksinkertaisesti suorittamalla

tehdä

Kun rakennettu on valmis, suorita rpiboot pääkäyttäjänä ja se alkaa odottaa yhteyttä, sudo./rpiboot

Liitä nyt IO -kortti tietokoneeseen liittämällä mikro -USB -kaapeli sen USB SLAVE -porttiin ja kytke sitten virta POWER IN -porttiin. Muutaman sekunnin kuluttua rpibootin pitäisi pystyä tunnistamaan laskentamoduuli ja antaa sinulle pääsyn eMMC: hen. Tämän seurauksena uusi lohkolaite tulee näkyviin kohtaan /dev. Voit käyttää laitteen nimeä fdisk -ohjelman avulla, sudo fdisk -l

Levy /dev /sdi: 3,7 GiB, 3909091328 tavua, 7634944 sektoria

Yksiköt: sektorit 1 * 512 = 512 tavua Sektorin koko (looginen/fyysinen): 512 tavua/512 tavua I/O -koko (minimi/optimaalinen): 512 tavua/512 tavua Levytarran tyyppi: dos Levytunniste: 0x8e3a9721

Laitteen käynnistys Alku Loppu Sektorit Koko Id Tyyppi

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

Minun tapauksessani se oli /dev /sdi, koska järjestelmääni on jo liitetty melko monta asemaa, mutta omasi vaihtelee varmasti.

Kun olet ollut täysin varma, että olet löytänyt oikean laitteen nimen, voit käyttää dd: tä polttaaksesi Raspbian Lite -kuvan eMMC: hen. Ennen kuin teet sen, varmista kuitenkin, että järjestelmään ei ole asennettu mitään eMMC -osiota.

df -h

Jos huomaat niiden irrotuksen seuraavasti, sudo umount /dev /sdXY

Ole nyt erittäin varovainen, väärän laitenimen käyttäminen dd: n kanssa voi tuhota järjestelmän ja aiheuttaa tietojen menettämistä. Älä jatka seuraavaan vaiheeseen, ellet ole täysin varma, että tiedät mitä olet tekemässä. Jos tarvitset lisätietoja, tutustu asiaa koskeviin asiakirjoihin.

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

Kun dd- ja synkronointikomennot ovat päättyneet, sinun pitäisi pystyä irrottamaan IO -kortti tietokoneesta. Lopuksi, älä unohda siirtää J4 -hyppääjää takaisin DIS -asentoon, ja laskentamoduulisi pitäisi olla valmis ensimmäiseen käynnistykseen.

Vaihe 3: Ensimmäinen käynnistys

Varmista ennen ensimmäistä käynnistystä, että liität USB -näppäimistön ja HDMI -näytön IO -korttiin. Jos kaikki menee odotetulla tavalla ja Pi lopettaa käynnistyksen, niiden liittäminen mahdollistaa vuorovaikutuksen sen kanssa.

Kun sinua pyydetään kirjautumaan sisään, käytä "pi" käyttäjänimeä ja "vadelma" salasanaa, koska nämä ovat oletuskirjautumistiedot. Voit nyt suorittaa joitain komentoja varmistaaksesi, että kaikki toimii odotetulla tavalla kuin normaalisti missä tahansa Raspberry Pi: ssä, mutta älä yritä asentaa mitään vielä, koska sinulla ei vieläkään ole Internet -yhteyttä.

Tärkeä asia, joka sinun on tehtävä ennen Pi: n sammuttamista, on SSH: n ottaminen käyttöön, jotta voit muodostaa yhteyden tietokoneeseen seuraavan käynnistyksen jälkeen. Voit tehdä sen erittäin helposti raspi-config-komennolla, sudo raspi-config

Ota SSH käyttöön siirtymällä liitäntäasetuksiin valitsemalla SSH, valitsemalla KYLLÄ, OK ja Valmis. Jos sinulta kysytään, haluatko käynnistää uudelleen hylkäyksen. Kun olet valmis, sammuta Pi ja kun se on valmis, poista virta.

sudo shutdown -h nyt

Seuraavaksi sinun on muodostettava Internet -yhteys käyttämällä USB -Ethernet -sovitinta, joka sinulla jo pitäisi olla. Jos sovittimessasi on myös USB -keskitin, voit käyttää sitä näppäimistön liittämiseen halutessasi, muuten voit muodostaa yhteyden Pi -laitteeseen SSH -yhteyden kautta. Joka tapauksessa pidä HDMI -näyttö kytkettynä ainakin toistaiseksi varmistaaksesi, että käynnistysprosessi päättyy odotetusti.

Lisäksi sen lopussa pitäisi myös näyttää sinulle IP -osoite, jonka Pi sai DHCP -palvelimelta. Yritä käyttää tätä muodostaaksesi yhteyden Pi -laitteeseesi SSH: n kautta.

ssh pi@

Kun olet muodostanut yhteyden Pi -laitteeseesi SSH: n kautta, et enää tarvitse näyttöä ja näppäimistöä, joten irrota ne tarvittaessa. Tässä vaiheessa sinulla pitäisi myös olla pääsy Internetiin Pi -laitteestasi. Voit yrittää pingistää jotain, kuten google.com, vahvistaaksesi sen. Kun olet varmistanut, että sinulla on Internet -yhteys, kannattaa päivittää järjestelmä suorittamalla

sudo apt päivitys && sudo apt päivitys

Vaihe 4: Kameran määritykset

Kameran määritykset
Kameran määritykset

Suurin ero tavallisen Raspberry Pi -levyn ja Compute Module -moduulin välillä on se, että myöhemmissä tapauksissa, paitsi kameran käyttöönoton raspi-config-toiminnolla, tarvitset myös mukautetun laitepuutiedoston.

Löydät lisätietoja kameran kanssa käytettävän laskentamoduulin kokoonpanosta asiakirjoista. Mutta yleensä kameran liittimessä on muun muassa myös 4 ohjaustappia, jotka on liitettävä 4 GPIO -nastaan laskentamoduulissa, ja voit itse päättää, mitkä niistä suunnitellessasi mukautettua korttiasi.

Minun tapauksessani, kun suunnittelen levyä, valitsen CD1_SDA siirtymään GPIO28: een, CD1_SCL - GPIO29, CAM1_IO1 - GPIO30 ja CAM1_IO0 - GPIO31. Valitsin nämä nimenomaiset GPIO -nastat, koska halusin saada 40 -nastaisen GPIO -otsikon levylleni, joka myös säilyttää yhteensopivuuden tavallisten Raspberry Pi -levyjen GPIO -liittimen kanssa. Ja tästä syystä minun piti varmistaa, että kamerassa käytettävät GPIO -nastat eivät myöskään näy GPIO -otsikossa.

Joten ellet päätä muuttaa kameran liittimen johtoja, tarvitset /boot/dt-blob.bin, joka käskee Pi: tä määrittämään GPIO28-31 edellä kuvatulla tavalla. Ja jotta voit luoda dt-blob.bin, joka on binääritiedosto, tarvitset dt-blob.dts-tiedoston kääntämistä varten. Asioiden helpottamiseksi aion tarjota sinulle omat dt-blob.dts-tiedostosi, joita voit tarvittaessa mukauttaa tarpeisiisi.

Voit kääntää laitepuutiedoston käyttämällä laitepuun kääntäjää seuraavasti, dtc -I dts -O dtb -o dt -blob.bin dt -blob.dts

En ole varma miksi, mutta edellä mainitun pitäisi johtaa useisiin varoituksiin, mutta niin kauan kuin dt-blob.bin on luotu onnistuneesti, kaiken pitäisi olla kunnossa. Siirrä nyt luomasi dt-blob.bin hakemistoon /boot suorittamalla

sudo mv dt-blob.bin /boot /dt-blob.bin

Yllä oleva antaa todennäköisesti seuraavan varoituksen:

mv: '/boot/dt-blob.bin': omistajuuden säilyttäminen epäonnistui: Toimintoa ei sallita

Tämä on vain mv, joka valittaa, että se ei voi säilyttää tiedoston omistajuutta, koska /boot on odotettavissa oleva FAT -osio. Olet ehkä huomannut, että /boot/dt-blob.bin ei ole oletuksena, koska Pi käyttää sen sijaan sisäänrakennettua laitepuuta. Oman sisätilan /käynnistyksen lisääminen kuitenkin ohittaa sisäänrakennetun ja mahdollistaa sen nastan toiminnon määrittämisen haluamallasi tavalla. Löydät lisätietoja laitepuusta dokumentaatiosta.

Tämän jälkeen sinun on otettava kamera käyttöön, sudo raspi-config

Valitse Liitäntäasetukset, valitse Kamera, valitse KYLLÄ, OK ja Valmis. Jos sinulta kysytään, haluatko käynnistää uudelleen hylkäyksen. Sammuta nyt Pi ja poista virta.

Kun virta on katkaistu IO -kortilta, kytke GPIO28 -nastat 4 naaras -naaras -hyppyjohdolla CD1_SDA, GPIO29 CD1_SCL, GPIO30 CAM1_IO1 ja GPIO31 CAM1_IO0. Liitä lopuksi kameramoduuli CAM1 -liittimeen kamerasovitinlevyllä tai Raspberry Pi Zero -laitteelle suunnitellulla kamerakaapelilla ja kytke virta.

Jos kaikki toimi odotetusti Pi -saappaiden jälkeen, sinun pitäisi pystyä käyttämään kameraa. Jos haluat ottaa kuvan sen jälkeen, kun olet muodostanut yhteyden Pi -laitteeseen SSH -ajon kautta, raspistill -o testi.jpg

Jos komento päättyy ilman virheitä ja test-j.webp

sftp pi@

sftp> hanki test.jpg sftp> poistu

Vaihe 5: Siirtyminen IO -kortilta mukautettuun piirilevyyn

Siirtyminen IO -kortilta mukautettuun piirilevyyn
Siirtyminen IO -kortilta mukautettuun piirilevyyn
Siirtyminen IO -kortilta mukautettuun piirilevyyn
Siirtyminen IO -kortilta mukautettuun piirilevyyn
Siirtyminen IO -kortilta mukautettuun piirilevyyn
Siirtyminen IO -kortilta mukautettuun piirilevyyn

Nyt kun kaikki perusasetukset on tehty, voit siirtyä suunnittelemaan oman mukautetun korttisi Compute Module -moduulin perusteella. Koska tämä on ensimmäinen projektisi, kehotan sinua tarttumaan suunnitteluuni ja laajentamaan sen sisältämään kaikki haluamasi lisälaitteet.

Taulun takana on runsaasti tilaa omien komponenttien lisäämiseen, ja suhteellisen pienissä projekteissa sinun ei todennäköisesti tarvitse edes lisätä levyn mittoja. Lisäksi jos tämä on itsenäinen projekti etkä tarvitse fyysistä GPIO -otsikkoa levyllesi, voit helposti päästä siitä eroon ja säästää tilaa piirilevyn yläosassa. GPIO -otsikko on myös ainoa komponentti, joka reititetään toisen sisäkerroksen läpi ja sen poistaminen vapauttaa sen kokonaan.

Haluan huomauttaa, että olen onnistuneesti koonnut ja testannut yhden levyistä itse, ja olen varmistanut, että kaikki, mukaan lukien kamera ja HDMI -lähtö, näyttää toimivan odotetulla tavalla. Joten niin kauan kuin et tee suuria muutoksia tapaan, jolla olen reitittänyt kaiken, sinulla ei pitäisi olla mitään ongelmia.

Jos joudut kuitenkin tekemään suuria asettelumuutoksia, muista, että suurin osa HDMI- ja kameran liittimiin tulevista jälkeistä reititetään 100 ohmin differentiaalipareina. Tämä tarkoittaa, että sinun on otettava tämä huomioon, jos joudut siirtämään niitä pöydällä. Se tarkoittaa myös sitä, että vaikka pudotat GPIO -otsikon suunnittelustasi, mikä tarkoittaa, että nyt sisäiset kerrokset eivät sisällä jälkiä, tarvitset silti 4 -kerroksisen piirilevyn, jotta saavutetaan differentiaalinen impedanssi lähellä 100 ohmia. Jos et aio käyttää HDMI -lähtöä ja kameraa, sinun pitäisi kuitenkin pystyä käyttämään 2 -kerroksista levyä poistamalla ne ja leikkaamaan levyjen kustannuksia hieman.

Vain viitteelliseksi, levyt tilattiin ALLPCB: ltä, joiden kokonaispaksuus oli 1,6 mm, enkä pyytänyt impedanssin säätöä, koska se todennäköisesti nostaisi kustannuksia melko paljon ja halusin myös nähdä, onko sillä väliä. Valitsin myös upotuskullan, jotta liittimien käsin juottaminen olisi helpompaa, koska se takaa, että kaikki tyynyt ovat mukavia ja tasaisia.

Suositeltava: