Obsah:

Navrhněte si vlastní PCB modulu Raspberry Pi Compute Module: 5 kroků (s obrázky)
Navrhněte si vlastní PCB modulu Raspberry Pi Compute Module: 5 kroků (s obrázky)

Video: Navrhněte si vlastní PCB modulu Raspberry Pi Compute Module: 5 kroků (s obrázky)

Video: Navrhněte si vlastní PCB modulu Raspberry Pi Compute Module: 5 kroků (s obrázky)
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Červenec
Anonim
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module
Navrhněte si vlastní desku plošných spojů Raspberry Pi Compute Module

Pokud jste nikdy předtím neslyšeli o modulu Raspberry Pi Compute Module, je to v podstatě plnohodnotný počítač se systémem Linux s tvarem RAM notebooku!

Díky tomu je možné navrhovat vlastní desky, kde je Raspberry Pi jen další komponentou. To vám dává obrovskou flexibilitu, protože vám umožňuje přístup k mnohem většímu počtu IO pinů, a zároveň si můžete vybrat přesně takový hardware, jaký na desce chcete mít. Integrovaný eMMC také eliminuje potřebu externí karty micro SD, díky čemuž je Compute Module ideální pro navrhování produktů založených na Raspberry Pi.

Bohužel, zatímco výpočetní modul vám to všechno umožňuje, zdá se, že stále chybí z hlediska popularity ve srovnání s tradičním Raspberry Pi Model A a B. V důsledku toho neexistuje mnoho hardwarových projektů s otevřeným zdrojovým kódem založených na to. A pro každého, kdo by mohl chtít začít s návrhem vlastních desek, je množství zdrojů, které má, poměrně omezené.

Když jsem před několika měsíci poprvé začal s výpočetním modulem Raspberry Pi, přesně s tím jsem se potýkal. Tak jsem se rozhodl s tím něco udělat. Rozhodl jsem se navrhnout open source PCB na základě Compute Module, který bude mít všechny základní funkce, díky nimž bude Raspberry Pi skvělý. To zahrnuje konektor kamery, USB hostitel, zvukový výstup, HDMI a samozřejmě GPIO záhlaví kompatibilní s běžnými deskami Raspberry Pi.

Cílem tohoto projektu je poskytnout open source návrh desky založené na výpočetním modulu, který bude moci kdokoli použít jako výchozí bod pro návrh vlastní desky. Deska byla navržena na KiCADu, softwarovém balíčku EDA s otevřeným zdrojovým kódem a multiplatformní platformou EDA, aby ji mohlo využívat co nejvíce lidí.

Jednoduše uchopte soubory návrhu, přizpůsobte je svým potřebám a roztočte vlastní desku pro svůj projekt.

Krok 1: Díly a nástroje

Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje
Díly a nástroje

Abyste mohli začít s výpočetním modulem Raspberry Pi, budete potřebovat následující součásti:

1 x Raspberry Pi Compute Module 3 - Vřele doporučuji pořídit si běžnou verzi, která obsahuje palubní eMMC a ne Lite verzi. Pokud chcete ve svém projektu použít verzi Lite, budete muset v designu provést několik změn, a to včetně přidání konektoru karty micro SD. Nakonec jsem desku testoval pouze s CM3 a nemohu zaručit, že bude fungovat s první verzí CM, která byla vydána v roce 2014.

Aktualizace 29/1/2019: Zdá se, že nadace právě vydala Compute Module 3+ a nejen to, ale nyní přichází také s možností 8 GB, 16 GB nebo 32 GB eMMC! Podle datového listu se zdá, že CM3+ je elektrický identický s CM3, což znamená, že je to v podstatě kapka náhrady za CM3.

1 x deska IO Compute Module - Můj návrh měl sloužit jako výchozí bod pro navrhování vaší vlastní desky na jejím základě, nikoli jako náhrada desky IO Compute Module. Abych vám usnadnil život, vřele doporučuji dostat se k desce IO a použít ji pro vývoj, než se přesunete na vlastní desku. Kromě toho, že vám poskytuje přístup ke každému jednotlivému pinu CM plus řadě konektorů, je deska IO potřebná také pro flashování palubního eMMC. Což je něco, co nemůžete udělat s mojí deskou, pokud nejprve neprovedete nějaké změny v designu.

1 x Raspberry Pi Zero Camera Cable nebo Compute Module Camera Adapter - V mém návrhu používám velmi podobný konektor fotoaparátu, jaký používají Compute Module IO Board a Raspberry Pi Zero. Abyste tedy mohli připojit kameru, budete buď potřebovat kabel adaptéru navržený pro Pi Zero nebo desku adaptéru kamery, která je dodávána s vývojovou sadou Compute Module. Pokud vím, nákup desky adaptéru samostatně je poměrně drahý. Pokud se vám tedy líbí, rozhodl jsem se koupit desku CM a IO samostatně, abych ušetřil nějaké peníze, radím vám, abyste si místo toho pořídili kabel adaptéru fotoaparátu určený pro Pi Zero.

1 x kamerový modul Raspberry Pi - testoval jsem desku pouze s původním 5MP kamerovým modulem a nikoli s novější 8MP verzí. Ale protože se zdá, že to první funguje dobře, nevidím důvod, proč by to později nešlo, protože to má být zpětně kompatibilní. Ať tak či onak, 5MP verzi lze v současné době na eBay nalézt za méně než 5 EUR, a proto bych doporučil jednu získat.

4 x propojovací vodiče žena - žena - Ke konfiguraci konektoru kamery na desce IO budete potřebovat alespoň 4, ale pravděpodobně budete chtít získat více. Nejsou potřebné pro vlastní desku, ale mohou být užitečné, pokud plánujete připojit jakýkoli externí hardware přes záhlaví GPIO.

1 x kabel HDMI - rozhodl jsem se použít na své desce konektor HDMI v plné velikosti, abych eliminoval potřebu adaptérů. Samozřejmě, pokud dáváte přednost použití mini nebo dokonce konektoru micro HDMI, můžete přizpůsobit design svým potřebám.

1 x 5V napájecí zdroj Micro USB - nabíječka vašeho telefonu by ve většině případů měla fungovat dobře, pokud může poskytovat alespoň 1A. Mějte na paměti, že toto je jen obecná hodnota, vaše skutečné požadavky na napájení budou záviset na hardwaru, který se rozhodnete zahrnout na vlastní desku.

1 x USB ethernetový adaptér - Pokud plánujete instalaci nebo aktualizaci téměř jakéhokoli balíčku ve vašem systému, budete potřebovat alespoň dočasný přístup k internetu. Ethernetový adaptér 2 v 1 plus rozbočovač USB je pravděpodobně dobrá kombinace, protože máte k dispozici pouze jeden port USB. Osobně používám Edimax EU-4208, který funguje hned po vybalení s Pi a nevyžaduje externí napájení, ale nemá vestavěný rozbočovač USB. Pokud zvažujete nákup adaptéru USB Ethernet, můžete zde vyhledejte seznam s těmi, které byly testovány s Raspberry Pi.

Pokud chcete přidat více portů USB a dokonce i Etherent přímo na vlastní desku, doporučuji vám podívat se na LAN9512 od společnosti Microchip. Je to stejný čip, jaký používal původní Raspberry Pi Model B a poskytne vám 2 USB porty a 1 ethernetový port. Alternativně, pokud potřebujete 4 porty USB, zvažte možnost podívat se na jeho bratrance LAN9514.

1 x DDR2 SODIMM RAM Connector - Toto je pravděpodobně nejdůležitější součást celé desky a pravděpodobně jediná, kterou nelze snadno nahradit. Abychom vás zachránili před potížemi, část, kterou byste měli dostat, je TE CONNECTIVITY 1473005-4. Je k dispozici od většiny hlavních dodavatelů včetně TME, Mouser a Digikey, takže byste neměli mít problém jej najít. Buďte však velmi opatrní, dvakrát zkontrolujte a ujistěte se, že objednávaný díl je ve skutečnosti 1473005-4. Nedělejte stejnou chybu jako já a získejte zrcadlenou verzi, tyto konektory nejsou levné.

U ostatních částí, které jsem se rozhodl zahrnout na tabuli, se můžete podívat do kusovníku a získat další informace, u většiny z nich jsem se pokusil zahrnout odkazy na datové listy.

Pájecí zařízení - Nejmenšími součástkami na desce jsou oddělovací kondenzátory 0402, ale HDMI, stejně jako kamera a konektory SODIMM mohou být také trochu náročné bez jakéhokoli zvětšení. Pokud máte dobré zkušenosti s pájením SMD, myslel si, že by to neměl být velký problém. Ať tak či onak, pokud máte náhodou přístup k mikroskopu, vřele doporučuji.

Krok 2: Blikání EMMC

První věc, kterou musíte udělat, než začnete používat svůj výpočetní modul, je blikat nejnovější obrázek Raspbian Lite na eMMC. Oficiální dokumentace Raspberry Pi je velmi dobře napsaná a velmi podrobně popisuje celý proces pro Linux i Windows. Z tohoto důvodu pouze stručně popíšu kroky, které musíte v Linuxu provést, aby mohly sloužit jako rychlá reference.

Nejprve se musíte ujistit, že máte desku IO nastavenou na režim programování a modul Compute Module je zasunut do konektoru SODIMM. Chcete -li nastavit desku do režimu programování, přesuňte propojku J4 do polohy EN.

Dále budete muset ve svém systému vytvořit nástroj rpiboot, abyste jej mohli použít k získání přístupu k eMMC. K tomu potřebujete kopii úložiště usbboot, kterou lze snadno získat pomocí git následujícím způsobem, git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Chcete-li vytvořit rpiboot, musíte se ujistit, že ve vašem systému jsou nainstalovány balíčky libusb-1.0-0-dev a make. Za předpokladu, že používáte distribuci založenou na Debianu, jako je běh Ubuntu, sudo apt update && sudo apt install libusb-1.0-0-dev make

Pokud nepoužíváte distribuci založenou na Debianu, název balíčku libusb-1.0.0-dev se může lišit, proto zjistěte, jak se tomu ve vašem případě říká. Jakmile jsou nainstalovány závislosti sestavení, můžete vytvořit binární soubor rpiboot jednoduše spuštěním, udělat

Po dokončení sestavení spusťte rpiboot jako root a začne čekat na připojení, sudo./rpiboot

Nyní připojte desku IO k počítači připojením kabelu micro USB k portu USB SLAVE a poté připojte napájení k portu POWER IN. Po několika sekundách by rpiboot měl být schopen detekovat výpočetní modul a umožnit vám přístup k eMMC. To by mělo vést k tomu, že se nové blokové zařízení objeví pod /dev. Pomocí programu fdisk můžete najít název zařízení, sudo fdisk -l

Disk /dev /sdi: 3,7 GiB, 3909091328 bytů, 7634944 sektorů

Jednotky: sektory 1 * 512 = 512 bajtů Velikost sektoru (logické/fyzické): 512 bajtů/512 bajtů Velikost I/O (minimální/optimální): 512 bajtů/512 bajtů Typ štítku: dos Identifikátor disku: 0x8e3a9721

Device Boot Start End Sectors Velikost Id Typ

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

V mém případě to bylo /dev /sdi, protože mám v systému již připojeno několik jednotek, ale váš se bude určitě lišit.

Poté, co jste si byli naprosto jisti, že jste našli správný název zařízení, můžete pomocí dd vypálit obrázek Raspbian Lite na eMMC. Než to uděláte, ujistěte se, že ve vašem systému již není nainstalován žádný oddíl eMMC.

df -h

Pokud zjistíte, že je odpojíte následujícím způsobem, sudo umount /dev /sdXY

Nyní buďte velmi opatrní, použití špatného názvu zařízení s dd může potenciálně zničit váš systém a způsobit ztrátu dat. V dalším kroku nepokračujte, pokud si nejste zcela jisti, že víte, co děláte. Pokud potřebujete další informace, podívejte se na dokumentaci týkající se této záležitosti.

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

Jakmile příkazy dd a sync skončí, měli byste být schopni odpojit desku IO od počítače. Nakonec nezapomeňte přesunout propojku J4 zpět do polohy DIS a váš výpočetní modul by měl být připraven na první spuštění.

Krok 3: První spuštění

Před prvním spuštěním nezapomeňte k desce IO připojit klávesnici USB a monitor HDMI. Pokud vše půjde podle očekávání a vaše Pi dokončí bootování, jejich připojení vám umožní interakci s ním.

Až budete vyzváni k přihlášení, použijte „pi“pro uživatelské jméno a „raspberry“pro heslo, protože to jsou výchozí přihlašovací údaje. Nyní můžete spustit některé příkazy, abyste se ujistili, že vše funguje podle očekávání, jako byste běžně dělali na jakémkoli Raspberry Pi, ale zatím se nepokoušejte nic instalovat, protože stále nemáte připojení k internetu.

Důležitou věcí, kterou musíte udělat před vypnutím počítače Pi, je povolení SSH, abyste se k němu mohli připojit z počítače po příštím spuštění. Můžete to udělat velmi snadno pomocí příkazu raspi-config, sudo raspi-config

Chcete -li povolit SSH, přejděte na Možnosti rozhraní, vyberte SSH, zvolte ANO, OK a Dokončit. V případě, že budete dotázáni, zda chcete restartovat odmítnutí. Poté, co skončíte, vypněte Pi a jakmile skončí, odpojte napájení.

sudo shutdown -h teď

Dále musíte navázat připojení k internetu pomocí USB ethernetového adaptéru, který byste již měli mít. Pokud má váš adaptér také rozbočovač USB, můžete jej použít k připojení klávesnice, pokud chcete, jinak se můžete ke svému Pi připojit pouze přes SSH. Ať tak či onak, ponechte monitor HDMI připojený alespoň prozatím, abyste se ujistili, že proces spouštění skončí podle očekávání.

Blízko konce by vám také mělo ukázat IP adresu, kterou váš Pi získal ze serveru DHCP. Zkuste to použít k připojení k vašemu Pi přes SSH.

ssh pi@

Po úspěšném připojení k vašemu Pi přes SSH již nepotřebujete zapojený monitor a klávesnici, takže je můžete klidně odpojit, pokud chcete. V tuto chvíli byste také měli mít přístup k internetu z vašeho Pi. Můžete to zkusit ověřit pomocí příkazu ping něco jako google.com. Poté, co se ujistíte, že máte přístup k internetu, je vhodné aktualizovat systém spuštěním

sudo apt update && sudo apt upgrade

Krok 4: Konfigurace kamery

Konfigurace kamery
Konfigurace kamery

Největší rozdíl mezi běžnou deskou Raspberry Pi a Compute Module je v tom, že v případě pozdějšího kromě pouhého povolení kamery pomocí raspi-config potřebujete také vlastní soubor stromu zařízení.

Další informace týkající se konfigurace výpočetního modulu pro použití s kamerou najdete v dokumentaci. Obecně však konektor fotoaparátu mezi ostatními obsahuje také 4 ovládací piny, které je třeba připojit ke 4 vývodům GPIO na výpočetním modulu, a je jen na vás, které z nich se při návrhu vlastní desky rozhodnete.

V mém případě při navrhování desky zvolím CD1_SDA, abych šel na GPIO28, CD1_SCL na GPIO29, CAM1_IO1 na GPIO30 a CAM1_IO0 na GPIO31. Vybírám tyto konkrétní GPIO piny, protože jsem chtěl mít na desce 40pinový GPIO konektor, který také udržuje kompatibilitu s GPIO konektorem běžných desek Raspberry Pi. A z toho důvodu jsem se musel ujistit, že piny GPIO, které používám pro kameru, se také nezobrazí v záhlaví GPIO.

Pokud se tedy nerozhodnete provést změny na zapojení konektoru kamery, budete potřebovat /boot/dt-blob.bin, který vašemu Pi řekne, aby nakonfiguroval GPIO28-31, jak je popsáno výše. A aby se vytvořil dt-blob.bin, což je binární soubor, potřebujete ke kompilaci dt-blob.dts. Aby to bylo jednoduché, poskytnu vám vlastní dt-blob.dts, které můžete použít a které se pak můžete přizpůsobit vašim potřebám, pokud budete muset.

Chcete -li kompilovat soubor stromu zařízení, použijte kompilátor stromu zařízení následujícím způsobem, dtc -I dts -O dtb -o dt -blob.bin dt -blob.dts

Nejsem si jistý, proč, ale výše uvedené by mělo vést k několika varování, ale pokud byl dt-blob.bin úspěšně vygenerován, vše by mělo být v pořádku. Nyní přesuňte soubor dt-blob.bin, který jste právě vygenerovali, na /boot spuštěním, sudo mv dt-blob.bin /boot/dt-blob.bin

Výše uvedené vám pravděpodobně poskytne následující varování, mv: nepodařilo se zachovat vlastnictví pro '/boot/dt-blob.bin': Operace není povolena

To si jen stěžuje, že nemůže zachovat vlastnictví souboru, protože /boot je oddíl FAT, který lze očekávat. Možná jste si všimli, že /boot/dt-blob.bin ve výchozím nastavení neexistuje, protože Pi místo toho používá vestavěný strom zařízení. Přidání vlastního uvnitř /boot přepíše vestavěný v jednom a umožní vám nakonfigurovat funkci jeho pinu tak, jak se vám líbí. Více o stromu zařízení najdete v dokumentaci.

Poté, co je hotovo, musíte povolit kameru, sudo raspi-config

Přejděte na Možnosti rozhraní, vyberte Fotoaparát, zvolte ANO, OK a Dokončit. V případě, že budete dotázáni, zda chcete restartovat odmítnutí. Nyní vypněte Pi a odpojte napájení.

Poté, co bylo z desky IO odpojeno napájení, připojte pomocí 4 propojovacích kabelů samice k samičce piny pro GPIO28 k CD1_SDA, GPIO29 k CD1_SCL, GPIO30 k CAM1_IO1 a GPIO31 k CAM1_IO0. Nakonec připojte modul kamery ke konektoru CAM1 pomocí desky adaptéru kamery nebo kabelu kamery určené pro Raspberry Pi Zero a připojte napájení.

Pokud po spuštění Pi vše fungovalo podle očekávání, měli byste být schopni kameru využít. Chcete -li se pokusit vyfotit po připojení k Pi přes běh SSH, raspistill -o test.jpg

Pokud příkaz skončí bez chyb a vytvoří se test.jpg, znamená to, že fungoval. Pokud se chcete podívat na obrázek, který jste právě pořídili, můžete se připojit ke svému Pi přes SFTP a přenést ho do počítače.

sftp pi@

sftp> získejte test.jpg sftp> ukončete

Krok 5: Přechod z desky IO na vlastní desku plošných spojů

Přechod z desky IO na vlastní desku plošných spojů
Přechod z desky IO na vlastní desku plošných spojů
Přechod z desky IO na vlastní desku plošných spojů
Přechod z desky IO na vlastní desku plošných spojů
Přechod z desky IO na vlastní desku plošných spojů
Přechod z desky IO na vlastní desku plošných spojů

Nyní, když jste hotovi se všemi základními konfiguracemi, můžete přejít k navrhování vlastní desky na základě výpočetního modulu. Vzhledem k tomu, že se bude jednat o váš první projekt, důrazně vás vyzývám, abyste si vzali můj návrh a rozšířili jej o jakýkoli další hardware, který se vám líbí.

Zadní strana desky má dostatek prostoru pro přidání vlastních komponent a u relativně malých projektů pravděpodobně nebudete muset ani zvětšovat rozměry desky. V případě, že se jedná o samostatný projekt a na desce nepotřebujete fyzické záhlaví GPIO, můžete se jej snadno zbavit a ušetřit místo na horní straně desky plošných spojů. Záhlaví GPIO je také jedinou komponentou, která je vedena druhou vnitřní vrstvou a její odebráním se úplně uvolní.

Měl bych podotknout, že jsem jednu z desek úspěšně sestavil a otestoval sám a ověřil jsem si, že vše, včetně kamery a výstupu HDMI, funguje podle očekávání. Pokud tedy neprovedete žádné obrovské změny ve způsobu, jakým jsem směroval vše, neměli byste mít žádné problémy.

V případě, že budete muset provést nějaké velké změny rozložení, mějte na paměti, že většina stop, které vedou ke konektorům HDMI a fotoaparátu, jsou směrovány jako diferenciální páry 100 Ohm. To znamená, že s tím musíte počítat v případě, že je musíte přesouvat po hrací ploše. Také to znamená, že i když z návrhu vypustíte záhlaví GPIO, což znamená, že nyní vnitřní vrstvy nebudou obsahovat žádné stopy, stále potřebujete 4vrstvou desku plošných spojů, abyste dosáhli diferenciální impedance blízké 100 ohmů. Pokud však nebudete používat výstup HDMI a kameru, měli byste být schopni jít s 2vrstvou deskou tím, že se jich zbavíte a trochu snížíte náklady na desky.

Jen pro informaci, desky byly objednány od ALLPCB o celkové tloušťce 1,6 mm a nežádal jsem o řízení impedance, protože by to pravděpodobně docela zvýšilo náklady a také jsem chtěl zjistit, jestli by to vadilo. Také jsem zvolil imerzní zlatou povrchovou úpravu, abych usnadnil ruční pájení konektorů, protože zaručuje, že všechny podložky budou pěkné a ploché.

Doporučuje: