Avoin ohjelmakoodi on kaikille tuttua, mutta avoin laitteisto? Altiumin CircuitMaker-työkalu vie kehitystä kohti avointa rautaa.
Artikkelin on kirjoittanut Max Clemons. Hän työskenteli Altiumin sovellusinsinöörinä 2012-2013 ja sen jälkeen tuotemarkkinoinnin päällikkönä kesäkuuhun 2015 asti. Parhaillaan Max on tohtoriopiskelijana Kalifornian yliopistossa San Diegossa. Hänellä on elektroniikkasuunnittelijan tutkinto samaisesta opinahjosta. |
Kun ajatellaan avointa lähdekoodia, laitteisto tai “rauta” ei tule useimmille ensimmäisenä mieleen. Avoimen koodin ohjelmistojen hallitsemassa maailmassa rauta ei ole onnistunut saamaan samanlaista huomiota. Avoimen laitteiston yhteisö on aina ollut olemassa, mutta sille ei ole löytynyt suunnittelutyökaluja, jotka täyttäisivät keskitetyn alustan tarpeen, joka voisi tukea ja jakaa voimen raudan projekteja ilman, että sen toiminnallisuus kärsisi.
Altium pyrkii muuttamaan tämän. Julkistettuamme CircuitMakerin beeta-version toukokuussa 2015 olemme jo saaneet nähdä, kuinka voimakasta avoimen lähteen laitteisto voi olla. Tämän piirikorttisuunnittelun eli PCB-työkalun keskiössä on se, minkä varassa se joko menestyy tai kaatuu: yhteisö. Yhteisö alkaa jokaisesta yksittäisestä projektista, joka jaetaan elektroniikkasuunnittelijoiden kesken kaikkialla maailmassa.
Yhteisöä etsimässä
Kun selasin CircuitMakerin yhteisöprojekteja, törmäsin 4-numeroiseen ledinäyttöön, jossa käytettiin SPI-väylää nastamäärän pienentämiseksi. Projektista nousi esiin se, että se oli luotu Arduino-formaattiin ja sen liitäntöihin sopivana lisäkorttina, joista käytetään yleisesti nimitystä Arduino shield. Projektin suunnittelija Ben Jordan luultavimmin vain importoi DXF-tiedoston suunnittelun hahmotelmaksi ja sijoitti liittimet manuaalisesti, vai kuinka? Tai ehkä hän etsi verkosta ja latasi käyttöönsä jonkun valmiin suunnittelun? Aiemmin tämä oli ollut standardi käytäntö avoimessa laitteistossa: löydä suunnittelu tai malli jostakin verkosta, avaa se jossakin tarjolla olevassa suunnittelutyökalussa ja ryhdy rakentamaan sen pohjalta.
Ennen kuin ehdin edes tarkemmin tutkia projektia, huomasin projektin nimen alla linkin ja tekstin ”forked from ProtoWuino” eli ”muokattu ProtoWuinosta”. Linkkiä klikkaamalla pystyin seuraamaan suunnittelun sukulinjaa taaksepäin ProtoWuino-projektiin, joka osoittautui alkuperäiseksi Arduinon lisäkortiksi.
CircuitMakerin avulla voidaan ProtoWuinon (vasemmalla) kaltaisista malliprojekteista muokata uusi suunnitteluja, joissa on uusia toiminnallisuuksia, kuten Ben Jordanin ledinäytön SPI-suunnittelu (oikealla).
Tämä on selvästi toisenlainen lähestymistapa avoimeen rautaan. Lähestymistapa, jossa suunnittelutyökalu tukee yhteisöä. ProtoWuino-kortti muokattiin uudeksi suunnitteluksi ja Ben pystyi lisäämään siihen uusia komponentteja integroidakseen mukaan uusia toimintoja tuttuun ja käyttökelpoiseen korttiformaattiin.
Muoto kohtaa toiminnon
Projektin muokkaaminen (forking) luo alkuperäisestä kopion, mikä antaa suunnittelijalle mahdollisuuden käyttää valmista teknologiaa uuden suunnittelun lähtökohtana. Benin projekti on hyvä esimerkki siitä, miten suunnitteluja voidaan muokata käytännössä. CircuitMakerissa aletaan nähdä enemmän ja enemmän erilaisia suunnitteluja, kun uutta referenssisältöä pikkuhiljaa lisätään.
Kuten ProtoWuino, nämä perussuunnittelut on luotu erityisesti sen varmistamiseen, että muokatut suunnittelut täyttävät tietyt formaatin ja toiminnallisuuden vaatimukset. Useimmat näistä malleista ovat valmistajien kehittämiä, mutta niiden saaminen välittömästi käyttöön kun CircuitMakerissa aloitetaan uutta projektia säästää arvokasta aikaa, joka muuten kuluisi tutkimustyöhön ja suunnitteluspeksien importointiin. Mallit voidaan jaotella luokkaa niiden roolin ja niiden täyttämien vaatimusten mukaisesti:
- Korttiformaattimalli (form factor): Näiden avulla muokatut suunnittelut saadaan liittymään olemassaoleviin standardeihin protokortteihin, peruspiirikortteihin tai alustoihin. Lisäksi niitä voidaan käyttää tietyn koteloinnin muoto- tai kokovaatimusten täyttämiseen.
- Liitinmalli: näiden avulla laite voidaan liittää muihin laitteisiin liitäntöjen avulla. Tällaisia ovat esimerkiksi DDR-muistiliitäntä tai USB-liitin.
- Suunnittelutoimintomalli (design function): Näitä voidaan käyttää laitesuunnittelun toimintojen fyysiseen määrittelyyn, kuten tarkkaan antennigeometriaan tai optimaaliseen mikro-ohjaimen ja oheislaitteiden sijoitteluun uudessa suunnittelussa.
Avoimen raudan yhteisö kasvaa ennen kaikkea suunnittelun uudelleenkäytön voimalla. CircuitMakerin toiminnalliset moduulit toimivat juuri tarvittavina komponentteina, jotka mahdollistavat tiettyjä haluttuja toimintoja lopputuotteissa. Esimerkiksi bluetooth-moduulin toteuttava erillisprojekti tuottaisi kaikki suunnittelun rakennuselementtinä tarvittavat loogiset ha fyysiset elementit. Käyttäjät voisivat vain muokata projektia ja aloittaa lisätoimintojen suunnittelun sen ympärille.
Jokaista CircuitMakerilla toteuttua suunnittelua voidaan ajatella referenssisuunnitteluna. Käytetään niitä sitten oikeasti uuden suunnittelun referenssinä vai muokataanko siitä jonkinlainen Frankenstein-kortti, tämäntyyppisen yhteisösisällön edut ovat huikeat. Ja vaikka yhteisön jäsenet tuottavat jo upeita referenssejä ja esimerkkejä, paljon lisää on tulossa Altiumilta tulevaisuudessa.
Referenssisuunnittelut kuten tämä yleiskäyttöinen regulaattori ovat CircuitMaker-yhteisön avainkomponentteja.
Muokkaamisen ja suunnittelun evoluutio
Muokkaamisprosessi itsessään on melko suoraviivainen. CircuitMaker-yhteisön sivustoa selataan tai etsitään tarkoituksena löytää mielenkiintoinen suunnittelu. Sen jälkeen vain klikataan muokkaa-nappia (Fork) kopion luomiseksi. Ja kirsikkana kaun päällä voidaan suunnittelua seurata sitä mukaan kun se etenee ja kehittyy.
Jokaisesta projektista löytyvät linkit emo- ja tytärprojekteihin. Yhteisön suositulla projektilla voi olla satoja ”perillisiä” ja jokaisella niistä voisi olla potentiaalisesti satoja seuraajia, ja niin edelleen. On helppo ymmärtää, että tämän kaltainen ympäristö tuottaa valtavasti innovaatioita, jotka voivat kaikki palautua yhteen ainoaan malliin tai referenssisuunnitteluun.
Katse eteenpäin
Kuten jokainen CircuitMaker-yhteisössä syntynyt suunnittelu, Ben Jordanin ledinäytön SPI-suunnittelu kylvää omia siemeniään tulevaisuuden suunnittelujen evoluutiota varten. Yhteisön projektisivusto ja mahdollisuus jakaa suunnitteluja yhdessä keskitetyssä paikassa aloittaa toivottavasti uuden ajan avoimen raudan suunnittelussa.
Mutta tämä on vasta alkua. Avoimen raudan suunnittelujen muokkaaminen ja jakaminen johtaa todelliseen moduulipohjaiseen suunnitteluun. Eikä ole kaukaa haettua ajatella tulevaisuutta, jossa avoimen koodin moduulit yhdistävät fyysisen suunnittelun, ohjelmiston integroinnin ja palvelintason sovellukset tuottaakseen todellisen verkottuneen suunnittelukokemuksen.
Juuri nyt on paras aika lähteä mukaan avoimen laitteiston suunnitteluun. Lataa CircuitMakerin avoin beetaversio jo tänään osoitteessa www.circuitmaker.com.