Ero sivun ”Padauk Programmer” versioiden välillä
(24 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
+ | == Padauk Programmer - Padauk prosessorien ohjelmointilaite == | ||
{{Projekti | {{Projekti | ||
| nimi = Padauk Programmer | | nimi = Padauk Programmer | ||
| tyyppi = Ohjelmointilaite, USB | | tyyppi = Ohjelmointilaite, USB | ||
− | | tekijät = | + | | tekijät = Martti Paalanen, Matti Nummi |
| aloitettu = 2020 | | aloitettu = 2020 | ||
| tila = valmis | | tila = valmis | ||
}} | }} | ||
− | |||
=== Versiot === | === Versiot === | ||
− | Padauk ohjelmoitilaitteen ensimmäinen versio (1. | + | Padauk ohjelmoitilaitteen ensimmäinen versio (1.0.1) ja tuotantosarja ovat valmiit 11.09.2020.<br /> |
− | + | Versio (2.0.0) sunnittelutiedot ovat valmiina 17.01.2021 sisältäen pieniä muutoksia ja korjauksia ensisarjaan.<br /> | |
− | |||
Seuraavaa versiota tilataan vasta tarpeen mukaan, eikä suunnitelmalle ole aikataulua.<br /> | Seuraavaa versiota tilataan vasta tarpeen mukaan, eikä suunnitelmalle ole aikataulua.<br /> | ||
− | + | Versiota 2.0.0 ei ole valmistettu ja tiedostojen oikeellisuutta ei siltä osin ole varmistettu. Tiedostojen käyttö on käyttäjän omalla vastuulla.<br /> | |
− | |||
− | === Miksi Padauk | + | === Miksi Padauk Programmer === |
Peruste ohjelmointilaitteen toteutukseen on testata ja tarvittaessa ottaa käyttöön erityisen edulliset PADAUK-prosessorit. http://www.padauk.com.tw/index_en.aspx | Peruste ohjelmointilaitteen toteutukseen on testata ja tarvittaessa ottaa käyttöön erityisen edulliset PADAUK-prosessorit. http://www.padauk.com.tw/index_en.aspx | ||
PADAUK prosessorien yksikköhinnat ovat n. 3-12 senttiä, missä hinta korreloi selvästi liitinpinnien lukumäärään (eli käytännössä chipin pinta-alaan). | PADAUK prosessorien yksikköhinnat ovat n. 3-12 senttiä, missä hinta korreloi selvästi liitinpinnien lukumäärään (eli käytännössä chipin pinta-alaan). | ||
Rivi 29: | Rivi 27: | ||
Ohjelmointilaite toteutettiin tilaamalla piirilevyt, komponentit ja ladonnan JLCPCB:ltä http://jlcpcb.com | Ohjelmointilaite toteutettiin tilaamalla piirilevyt, komponentit ja ladonnan JLCPCB:ltä http://jlcpcb.com | ||
JLCPCB:n etuina olivat halpa hinta piirilevylle, komponenteille ja ladonnalle. | JLCPCB:n etuina olivat halpa hinta piirilevylle, komponenteille ja ladonnalle. | ||
− | JLCPCB:n haittoina ovat vain JLCPCB:n | + | JLCPCB:n haittoina ovat vain JLCPCB:n listaamien komponenttien käyttömahdollisuus, liitinten puuttuminen kokonaisuudessaan valintalistalta ja vain yhden painonappityypin saatavuus. |
Nämä haitat toki vaikuttavat merkittävästi hintojen edullisuuteen. | Nämä haitat toki vaikuttavat merkittävästi hintojen edullisuuteen. | ||
Muuten toimitukset ja toiminta ovat mielestäni moitteetonta. Toteutuksen laatua ei ole erikseen arvioitu. | Muuten toimitukset ja toiminta ovat mielestäni moitteetonta. Toteutuksen laatua ei ole erikseen arvioitu. | ||
− | + | <br /> | |
Padauk prosessoreita saa ainakin LCSC:ltä https://lcsc.com/ , joka kuulunee JPCPCB:n kanssa samaan yritysryhmään. | Padauk prosessoreita saa ainakin LCSC:ltä https://lcsc.com/ , joka kuulunee JPCPCB:n kanssa samaan yritysryhmään. | ||
Myös EasyEDA piirisuunnitteluohjelmisto liittyy näihin. https://easyeda.com/ | Myös EasyEDA piirisuunnitteluohjelmisto liittyy näihin. https://easyeda.com/ | ||
JLCPCB:n ja LCSC:n toimitusajat ovat n. 3 viikkoa hitaalla postituksella, nopeamman postituksen pystyy valitsemaan lisähintaan. | JLCPCB:n ja LCSC:n toimitusajat ovat n. 3 viikkoa hitaalla postituksella, nopeamman postituksen pystyy valitsemaan lisähintaan. | ||
− | Projektin kesto oli valitettavan pitkä, yli 3 kk, lähinnä liitinten (8-pin riviliitin) hitaan saatavuuden vuoksi (aliexpress.com:sta Suomeen). Siinä korona ja postikin pidättelivät tavaroita oman osansa. | + | Projektin kesto oli valitettavan pitkä, yli 3 kk, lähinnä liitinten (8-pin riviliitin, ohjelmointiliittimet) hitaan saatavuuden vuoksi (aliexpress.com:sta Suomeen). Siinä korona ja postikin pidättelivät tavaroita oman osansa. |
=== Padauk ohjelmointilaitteen osat === | === Padauk ohjelmointilaitteen osat === | ||
Rivi 48: | Rivi 46: | ||
# Breakout - levy ohjelmointiliittimille tms. | # Breakout - levy ohjelmointiliittimille tms. | ||
# Breakout - levy SOT23-6 kannalle | # Breakout - levy SOT23-6 kannalle | ||
+ | # Ohjelmointiliitin 2x3 pin riviliitin (ei mukana komponettikuvissa, näkyy valmiissa laitteessa) | ||
− | Korjaussarjaa tarvittiin, koska piirikaavioon meni PA6 ja PA7 signaalit ristiin. Tämä | + | Korjaussarjaa tarvittiin, koska piirikaavioon meni PA6 ja PA7 signaalit ristiin. Tämä on korjattu versiossa 2.0.0. |
SOT23-6 kannan breakout - levy (kuvassa punainen) on Free PDK sivuilta, ja se muuntaa SOP-kantojen pinnijärjestyksen SOT23-6 kannan mukaiseksi. Toistaiseksi SOT23-6 ohjelmointiliitintä ei ole (Padauk piirille PMS150C-U6). Niiden saatavuus on huono ja hinta korkea. | SOT23-6 kannan breakout - levy (kuvassa punainen) on Free PDK sivuilta, ja se muuntaa SOP-kantojen pinnijärjestyksen SOT23-6 kannan mukaiseksi. Toistaiseksi SOT23-6 ohjelmointiliitintä ei ole (Padauk piirille PMS150C-U6). Niiden saatavuus on huono ja hinta korkea. | ||
Rivi 56: | Rivi 55: | ||
Alla kuva valmiista ohjelmointilaitteesta, jossa paikallaan SOP-16 ohjelmointiliitin ja siinä uudelleenohjelmoitava PFS154-16 prosessori. | Alla kuva valmiista ohjelmointilaitteesta, jossa paikallaan SOP-16 ohjelmointiliitin ja siinä uudelleenohjelmoitava PFS154-16 prosessori. | ||
[[Tiedosto:Padauk_Programmer.jpg|300x400px|left]] | [[Tiedosto:Padauk_Programmer.jpg|300x400px|left]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Valmistusohjeet == | ||
+ | Padauk Programmer on toteutettu Free PDK toteutuksen piirikaavion pohjalta. | ||
+ | Piirikaaviota on muutettu valmistusteknisistä syistä, mm. vaihtamalla kide pintaliitoskomponentiksi ja valitsemalla JLCPCB:ltä saatavilla olevat komponentit. Laitteen elektroninen toiminta ei ole muuttunut ja samat ohjelmat toimivat Helsinki Hacklab toteutuksessa kuin alkuperäisessä toteutuksessa.<br /> | ||
+ | Yhteensopivat versiot ovat:<br /> | ||
+ | Hardware:1.2 Firmware:1.3 Protocol:1.3<br /> | ||
+ | Piirilevyn valmistukseen tarvittavat tiedostot on lueteltu tämän dokumentin Tiedostot - osiossa. | ||
+ | |||
+ | == Käyttö == | ||
+ | Padauk prosessorien ohjelmointipinnit ovat piirin "alalaidassa", pääsääntöisesti samat ja samassa järjestyksessä useimmilla Padauk prosessoreilla. SOT23-6 kanta on selkeä poikkeus. | ||
+ | |||
+ | Prosessori asetetaan ohjelmointikantaan seuraavasti: | ||
+ | [[Tiedosto:Padauk Programmer Orientation.png|400x300px|kehyksetön|oikea|Prosessorin asettelu]] | ||
+ | # Aseta ohjelmointilaite USB-liitin vasemmalle | ||
+ | # Aseta prosessorin ohjelmointipinnit laitteen liittimen alalaitaan (merkitty kuvassa suorakulmiolla) | ||
+ | # Aseta prosessorin 1-pinni vasempaan laitaan yläsuuntaan (merkitty kuvassa ympyrällä) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Padauk Programmerin käyttöön tarvitset tietokoneeseesi ohjelman nimeltä <code>easypdkprog</code>, joka on saatavilla täältä: [https://github.com/free-pdk/easy-pdk-programmer-software/releases/tag/1.3 Free PDK] | ||
+ | |||
+ | Optiota -v ei yleensä tarvita, mutta käytetään näissä esimerkeissä.<br /> | ||
+ | <br /> | ||
+ | Ohjelman toimivuuden voi testata seuraavasti:<br /> | ||
+ | <code>./easypdkprog -v | ||
+ | Usage: easypdkprog [OPTION...] list|probe|read|write|erase|start [FILE] | ||
+ | Try `easypdkprog --help' or `easypdkprog --usage' for more information.</code> | ||
+ | <br /> | ||
+ | Ohjelmointilaitteen toiminnan voi testata seuraavalla komennolla:<br /> | ||
+ | <code>./easypdkprog -v probe</code><br /> | ||
+ | <br /> | ||
+ | Ohjelma vastaa seuraavasti:<br /> | ||
+ | * Ohjelmointilaitetta ei tunnisteta<br /> | ||
+ | <code>./easypdkprog -v probe | ||
+ | Searching programmer... (tried serial ports up to /dev/ttyACM998) No programmer found</code> | ||
+ | * Ohjelmointilaite tunnistetaan, ei prosessoria<br /> | ||
+ | <code>./easypdkprog -v probe | ||
+ | Searching programmer... found: /dev/ttyACM0 | ||
+ | FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3 | ||
+ | Probing IC... Nothing found.</code> | ||
+ | * Ohjelmointilaite tunnistetaan, prosessori tunnistetaan<br /> | ||
+ | <code>./easypdkprog -v probe | ||
+ | Searching programmer... found: /dev/ttyACM0 | ||
+ | FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3 | ||
+ | Probing IC... found. | ||
+ | TYPE:FLASH RSP:0x1AA1 VPP=4.50 VDD=2.00 | ||
+ | IC is supported: PFS154 ICID:0xAA1</code> | ||
+ | * Ohjelmointilaite tunnistetaan, prosessori tunnistetaan, jossa helloworld esimerkki<br /> | ||
+ | <code>./easypdkprog -v start | ||
+ | Searching programmer... found: /dev/ttyACM0 | ||
+ | FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3 | ||
+ | Running IC (5.00V)... IC started, press [Esc] to stop. | ||
+ | Connected @118226 baud | ||
+ | Hello World! | ||
+ | Hello World! | ||
+ | Hello World! | ||
+ | [ESC] | ||
+ | IC stopped</code> | ||
+ | <br /> | ||
+ | * Ylläviitatun esimerkkiohjelman helloworld saa ladattua prosessoriin PFS154 seuraavasti:<br /> | ||
+ | <code>./easypdkprog -v -n PFS154 write helloworld_pfs154.ihx | ||
+ | Searching programmer... found: /dev/ttyACM0 | ||
+ | FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3 | ||
+ | Erasing IC... done. | ||
+ | Blank check IC... done. | ||
+ | Writing IC (184 words)... done. | ||
+ | Verifiying IC... done. | ||
+ | Calibrating IC | ||
+ | * IHRC SYSCLK=8000000Hz @ 4.00V ... calibration result: 7966623Hz (0x83) done.</code> | ||
+ | |||
+ | Ohjelman komennot saa näytölle seuraavasti:<br /> | ||
+ | <code>./easypdkprog --help | ||
+ | Usage: easypdkprog [OPTION...] list|probe|read|write|erase|start [FILE] | ||
+ | easypdkprog -- read, write and execute programs on PADAUK microcontroller | ||
+ | https://free-pdk.github.io | ||
+ | |||
+ | --allowsecfuse Allow setting the security fuse. | ||
+ | -b, --bin Binary file output. Default: ihex8 | ||
+ | -f, --fuse=FUSE FUSE value, e.g. 0x31FD | ||
+ | -i, --icid=ID IC ID 12 bit, e.g. 0xAA1 | ||
+ | --noblankchk Skip blank check before write | ||
+ | --nocalibrate Skip calibration after write. | ||
+ | --noerase Skip erase before write | ||
+ | --noverify Skip verify after write | ||
+ | -n, --icname=NAME IC name, e.g. PFS154 | ||
+ | -p, --port=PORT COM port of programmer. Default: Auto search | ||
+ | -r, --runvdd=VDD Voltage for running the IC. Default: 5.0 | ||
+ | --securefill Fill unused space with 0 (NOP) to prevent readout | ||
+ | -s, --serial=SERIAL SERIAL value (64bit), e.g. 0x123456789ABCDEF0 | ||
+ | -v, --verbose Verbose output | ||
+ | -?, --help Give this help list | ||
+ | --usage Give a short usage message | ||
+ | -V, --version Print program version | ||
+ | |||
+ | Mandatory or optional arguments to long options are also mandatory or optional | ||
+ | for any corresponding short options.</code> | ||
+ | <br /> | ||
+ | <code>./easypdkprog --usage | ||
+ | Usage: easypdkprog [-bv?V] [-f FUSE] [-i ID] [-n NAME] [-p PORT] [-r VDD] | ||
+ | [-s SERIAL] [--allowsecfuse] [--bin] [--fuse=FUSE] [--icid=ID] | ||
+ | [--noblankchk] [--nocalibrate] [--noerase] [--noverify] | ||
+ | [--icname=NAME] [--port=PORT] [--runvdd=VDD] [--securefill] | ||
+ | [--serial=SERIAL] [--verbose] [--help] [--usage] [--version] | ||
+ | list|probe|read|write|erase|start [FILE]</code><br /> | ||
+ | |||
+ | == Padauk emulaattori == | ||
+ | Helsinki Hacklab:lla on Padauk emulaattori (5S-I-S02B). | ||
+ | Ohjelma ja ohjeet sen käyttöön löytyvät Padauk:in sivuilta http://www.padauk.com.tw/index_en.aspx tai Tiedostot - osiossa. | ||
+ | |||
+ | == Padauk datasheetit == | ||
+ | Datasheetit löytyvät Padauk:in sivuilta http://www.padauk.com.tw/index_en.aspx tai Tiedostot - osiossa. | ||
+ | |||
+ | == Tiedostot == | ||
+ | Ohjelmat voi ladata URL:sta: | ||
+ | [https://github.com/free-pdk/easy-pdk-programmer-software/releases/tag/1.3 https://github.com/free-pdk/easy-pdk-programmer-software/releases/tag/1.3] | ||
+ | |||
+ | Ohjelman easypdkprog tiedostot ovat seuraavat:<br /> | ||
+ | [https://nx2063.your-storageshare.de/s/jrpwt9QzddmxEba EASYPDKPROG_LINUX_20200713_1.3.zip]<br /> | ||
+ | [https://nx2063.your-storageshare.de/s/doFbGGF7fbQdnx7 EASYPDKPROG_MAC_20200713_1.3.zip]<br /> | ||
+ | [https://nx2063.your-storageshare.de/s/DFxGC8FsLCNzZRi EASYPDKPROG_WIN_20200713_1.3.zip]<br /> | ||
+ | [https://nx2063.your-storageshare.de/s/DPX2SPicPEDpoQZ easy-pdk-programmer-software-1.3.tar.gz]<br /> | ||
+ | [https://nx2063.your-storageshare.de/s/jDnnEP3eNYCmZ93 easy-pdk-programmer-software-1.3.zip]<br /> | ||
+ | |||
+ | Padauk Programmerin Hacklab version 2.0.0 tiedostot:<br /> | ||
+ | Piirikaavio [https://nx2063.your-storageshare.de/s/ieeotF5xTaRmAwE Padauk-MCU-Programmer_2-0-0.pdf]<br /> | ||
+ | Gerber tiedostot [https://nx2063.your-storageshare.de/s/zB8WAgZpAW3c2fF Padauk-MCU-Programmer_2-0-0_gerber.zip]<br /> | ||
+ | Osaluettelo [https://nx2063.your-storageshare.de/s/Jq4StREcCBir9dZ Padauk-MCU-Programmer_2-0-0_BoM.csv]<br /> | ||
+ | Osasijoittelu [https://nx2063.your-storageshare.de/s/MRm9zt4GHqj7MqA Padauk-MCU-Programmer_2-0-0_PnP.csv]<br /> | ||
+ | Kaikki valmistustiedot, tehty DipTrace ohjelmistolla [https://nx2063.your-storageshare.de/s/ffwA6tDKiyEcaJG Padauk-MCU-Programmer_R2-0-0.zip]<br /> | ||
+ | |||
+ | Padauk datasheets, ohjelmat ja manuaalit:<br /> | ||
+ | MCU_IDE_0.90.zip [https://nx2063.your-storageshare.de/s/egWsJbq6sXPNrJa MCU_IDE_0.90.zip]<br /> | ||
+ | IDE Käyttöohje [https://nx2063.your-storageshare.de/s/dpjkzJWFqGHyMEz IDE_UM_EN_V102_20190820.pdf]<br /> | ||
+ | 5S-ICE Käyttöohje [https://nx2063.your-storageshare.de/s/wK9yQZ6jkP4eP2J 5S-ICE_UM_EN_V002_20181105.pdf]<br /> | ||
+ | PMS150C datasheet [https://nx2063.your-storageshare.de/s/73xGmbDp4CGHr6c PMS15A,PMS150C datasheet V108_EN_20200724.pdf]<br /> | ||
+ | PFS154 datasheet [https://nx2063.your-storageshare.de/s/S9BcEX7a9585LeR PFS154 datasheet_v106_EN_20200609.pdf]<br /> | ||
+ | Padauk prosessorien pakkaustiedot [https://nx2063.your-storageshare.de/s/SDxFzi4EmxMCJgy PADAUK_Package_information_V009.pdf]<br /> | ||
+ | Padauk prosessoriluettelo [https://nx2063.your-storageshare.de/s/r5jEnGi82NyzGHj selection_guide_2019H1__20190227_EN.pdf]<br /> | ||
+ | |||
+ | == Linkit == | ||
+ | Linkit käytettyihin sivustoihin. Linkkien voimassaolo tai toimivuus tai tietojen saatavuus riippuu sivustosta. | ||
+ | |||
+ | http://www.padauk.com.tw/index_en.aspx<br /> | ||
+ | https://github.com/free-pdk<br /> | ||
+ | http://jlcpcb.com<br /> | ||
+ | https://lcsc.com<br /> | ||
+ | https://easyeda.com<br /> | ||
+ | https://free-pdk.github.io<br /> | ||
+ | |||
+ | == COPYRIGHT AND LICENSE == | ||
+ | The Padauk Programmer software is copyright of Free PDK:<br /> | ||
+ | Copyright (C) 2019-2020 freepdk https://free-pdk.github.io<br /> | ||
+ | free-pdk/easy-pdk-programmer-software is licensed under the | ||
+ | GNU General Public License v3.0 | ||
+ | |||
+ | free-pdk/easy-pdk-programmer-hardware is licensed under the | ||
+ | Creative Commons Attribution Share Alike 4.0 International | ||
+ | |||
+ | All <code>easypdkprog</code> software is unmodified copies of the original version 1.3.<br /> | ||
+ | The schematic and hardware is modified to: | ||
+ | * Enable smt production (eg. crystal) | ||
+ | * Use components available from JLCPCB for PCB and Assembly | ||
+ | |||
+ | The Helsinki Hacklab modified hardware is electronically and functionally compatible with the original Free PDK versions:<br /> | ||
+ | Hardware:1.2<br /> | ||
+ | Firmware:1.3<br /> | ||
+ | Protocol:1.3<br /> | ||
+ | |||
+ | All files made available here are freely available from web pages by their copyright owners, or have references to the copyright owners. | ||
+ | All files from Helsinki Hacklab are made freely available by their corresponding copyright owners. | ||
+ | Use of any of these files and information is at the risk of the user. | ||
+ | ---- | ||
+ | --Matti Nummi 17. tammikuuta 2021 kello 19.47 (EET) |
Nykyinen versio 17. tammikuuta 2021 kello 19.47
Padauk Programmer - Padauk prosessorien ohjelmointilaite
{{{kuvateksti}}}
| }}Padauk Programmer
{{#if: | | }} {{#if: | | }}Tyyppi: | Ohjelmointilaite, USB |
Tekijät: | Martti Paalanen, Matti Nummi |
Aloitettu: | 2020 |
Tila: | valmis |
GitHub: | [{{{github}}}] |
URL: | [{{{url}}}] |
Versiot
Padauk ohjelmoitilaitteen ensimmäinen versio (1.0.1) ja tuotantosarja ovat valmiit 11.09.2020.
Versio (2.0.0) sunnittelutiedot ovat valmiina 17.01.2021 sisältäen pieniä muutoksia ja korjauksia ensisarjaan.
Seuraavaa versiota tilataan vasta tarpeen mukaan, eikä suunnitelmalle ole aikataulua.
Versiota 2.0.0 ei ole valmistettu ja tiedostojen oikeellisuutta ei siltä osin ole varmistettu. Tiedostojen käyttö on käyttäjän omalla vastuulla.
Miksi Padauk Programmer
Peruste ohjelmointilaitteen toteutukseen on testata ja tarvittaessa ottaa käyttöön erityisen edulliset PADAUK-prosessorit. http://www.padauk.com.tw/index_en.aspx PADAUK prosessorien yksikköhinnat ovat n. 3-12 senttiä, missä hinta korreloi selvästi liitinpinnien lukumäärään (eli käytännössä chipin pinta-alaan). Lisäksi ohjelmointilaitteelle on saatavilla avoimet projektit sekä laitteistolle että ohjelmistolle. https://github.com/free-pdk/
Taustaa
Padauk ohjelmointilaite perustuu täysin https://github.com/free-pdk/ sivustolla suunniteltuun ja toteutettuun laitteeseen ja ohjelmistoon. Laitteeseen on tehty pieniä muutoksia piirikaavioon, layoutiin ja komponentteihin. Muutoksiin vaikutti mm. komponenttivalinnat JLCPCB:n tarjoamiin komponentteihin ja kiteen vaihto pintaliitoskomponentiksi.
Toteutus
Ohjelmointilaite toteutettiin tilaamalla piirilevyt, komponentit ja ladonnan JLCPCB:ltä http://jlcpcb.com
JLCPCB:n etuina olivat halpa hinta piirilevylle, komponenteille ja ladonnalle.
JLCPCB:n haittoina ovat vain JLCPCB:n listaamien komponenttien käyttömahdollisuus, liitinten puuttuminen kokonaisuudessaan valintalistalta ja vain yhden painonappityypin saatavuus.
Nämä haitat toki vaikuttavat merkittävästi hintojen edullisuuteen.
Muuten toimitukset ja toiminta ovat mielestäni moitteetonta. Toteutuksen laatua ei ole erikseen arvioitu.
Padauk prosessoreita saa ainakin LCSC:ltä https://lcsc.com/ , joka kuulunee JPCPCB:n kanssa samaan yritysryhmään.
Myös EasyEDA piirisuunnitteluohjelmisto liittyy näihin. https://easyeda.com/
JLCPCB:n ja LCSC:n toimitusajat ovat n. 3 viikkoa hitaalla postituksella, nopeamman postituksen pystyy valitsemaan lisähintaan. Projektin kesto oli valitettavan pitkä, yli 3 kk, lähinnä liitinten (8-pin riviliitin, ohjelmointiliittimet) hitaan saatavuuden vuoksi (aliexpress.com:sta Suomeen). Siinä korona ja postikin pidättelivät tavaroita oman osansa.
Padauk ohjelmointilaitteen osat
Padauk Programmerin osat ovat seuraavat:
- Piirilevy
- Korjaussarja
- USB-mini B liitin
- 16-pin ohjelmointiliitin
- 8-pin ohjelmointiliitin
- Breakout - levy ohjelmointiliittimille tms.
- Breakout - levy SOT23-6 kannalle
- Ohjelmointiliitin 2x3 pin riviliitin (ei mukana komponettikuvissa, näkyy valmiissa laitteessa)
Korjaussarjaa tarvittiin, koska piirikaavioon meni PA6 ja PA7 signaalit ristiin. Tämä on korjattu versiossa 2.0.0.
SOT23-6 kannan breakout - levy (kuvassa punainen) on Free PDK sivuilta, ja se muuntaa SOP-kantojen pinnijärjestyksen SOT23-6 kannan mukaiseksi. Toistaiseksi SOT23-6 ohjelmointiliitintä ei ole (Padauk piirille PMS150C-U6). Niiden saatavuus on huono ja hinta korkea. Vaihtoehtoina on tehdä itse sopiva liitin esim. 3d-tulostuksena, tai hankkia SOT23-6 ohjelmointiliitin aliexpress.com:sta ja muokata siitä sopiva.
Alla kuva valmiista ohjelmointilaitteesta, jossa paikallaan SOP-16 ohjelmointiliitin ja siinä uudelleenohjelmoitava PFS154-16 prosessori.
Valmistusohjeet
Padauk Programmer on toteutettu Free PDK toteutuksen piirikaavion pohjalta.
Piirikaaviota on muutettu valmistusteknisistä syistä, mm. vaihtamalla kide pintaliitoskomponentiksi ja valitsemalla JLCPCB:ltä saatavilla olevat komponentit. Laitteen elektroninen toiminta ei ole muuttunut ja samat ohjelmat toimivat Helsinki Hacklab toteutuksessa kuin alkuperäisessä toteutuksessa.
Yhteensopivat versiot ovat:
Hardware:1.2 Firmware:1.3 Protocol:1.3
Piirilevyn valmistukseen tarvittavat tiedostot on lueteltu tämän dokumentin Tiedostot - osiossa.
Käyttö
Padauk prosessorien ohjelmointipinnit ovat piirin "alalaidassa", pääsääntöisesti samat ja samassa järjestyksessä useimmilla Padauk prosessoreilla. SOT23-6 kanta on selkeä poikkeus.
Prosessori asetetaan ohjelmointikantaan seuraavasti:
- Aseta ohjelmointilaite USB-liitin vasemmalle
- Aseta prosessorin ohjelmointipinnit laitteen liittimen alalaitaan (merkitty kuvassa suorakulmiolla)
- Aseta prosessorin 1-pinni vasempaan laitaan yläsuuntaan (merkitty kuvassa ympyrällä)
Padauk Programmerin käyttöön tarvitset tietokoneeseesi ohjelman nimeltä easypdkprog
, joka on saatavilla täältä: Free PDK
Optiota -v ei yleensä tarvita, mutta käytetään näissä esimerkeissä.
Ohjelman toimivuuden voi testata seuraavasti:
./easypdkprog -v
Usage: easypdkprog [OPTION...] list|probe|read|write|erase|start [FILE]
Try `easypdkprog --help' or `easypdkprog --usage' for more information.
Ohjelmointilaitteen toiminnan voi testata seuraavalla komennolla:
./easypdkprog -v probe
Ohjelma vastaa seuraavasti:
- Ohjelmointilaitetta ei tunnisteta
./easypdkprog -v probe
Searching programmer... (tried serial ports up to /dev/ttyACM998) No programmer found
- Ohjelmointilaite tunnistetaan, ei prosessoria
./easypdkprog -v probe
Searching programmer... found: /dev/ttyACM0
FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3
Probing IC... Nothing found.
- Ohjelmointilaite tunnistetaan, prosessori tunnistetaan
./easypdkprog -v probe
Searching programmer... found: /dev/ttyACM0
FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3
Probing IC... found.
TYPE:FLASH RSP:0x1AA1 VPP=4.50 VDD=2.00
IC is supported: PFS154 ICID:0xAA1
- Ohjelmointilaite tunnistetaan, prosessori tunnistetaan, jossa helloworld esimerkki
./easypdkprog -v start
Searching programmer... found: /dev/ttyACM0
FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3
Running IC (5.00V)... IC started, press [Esc] to stop.
Connected @118226 baud
Hello World!
Hello World!
Hello World!
[ESC]
IC stopped
- Ylläviitatun esimerkkiohjelman helloworld saa ladattua prosessoriin PFS154 seuraavasti:
./easypdkprog -v -n PFS154 write helloworld_pfs154.ihx
Searching programmer... found: /dev/ttyACM0
FREE-PDK EASY PROG - Hardware:1.2 Firmware:1.3 Protocol:1.3
Erasing IC... done.
Blank check IC... done.
Writing IC (184 words)... done.
Verifiying IC... done.
Calibrating IC
* IHRC SYSCLK=8000000Hz @ 4.00V ... calibration result: 7966623Hz (0x83) done.
Ohjelman komennot saa näytölle seuraavasti:
./easypdkprog --help
Usage: easypdkprog [OPTION...] list|probe|read|write|erase|start [FILE]
easypdkprog -- read, write and execute programs on PADAUK microcontroller
https://free-pdk.github.io
--allowsecfuse Allow setting the security fuse.
-b, --bin Binary file output. Default: ihex8
-f, --fuse=FUSE FUSE value, e.g. 0x31FD
-i, --icid=ID IC ID 12 bit, e.g. 0xAA1
--noblankchk Skip blank check before write
--nocalibrate Skip calibration after write.
--noerase Skip erase before write
--noverify Skip verify after write
-n, --icname=NAME IC name, e.g. PFS154
-p, --port=PORT COM port of programmer. Default: Auto search
-r, --runvdd=VDD Voltage for running the IC. Default: 5.0
--securefill Fill unused space with 0 (NOP) to prevent readout
-s, --serial=SERIAL SERIAL value (64bit), e.g. 0x123456789ABCDEF0
-v, --verbose Verbose output
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
./easypdkprog --usage Usage: easypdkprog [-bv?V] [-f FUSE] [-i ID] [-n NAME] [-p PORT] [-r VDD] [-s SERIAL] [--allowsecfuse] [--bin] [--fuse=FUSE] [--icid=ID] [--noblankchk] [--nocalibrate] [--noerase] [--noverify] [--icname=NAME] [--port=PORT] [--runvdd=VDD] [--securefill] [--serial=SERIAL] [--verbose] [--help] [--usage] [--version] list|probe|read|write|erase|start [FILE]
Padauk emulaattori
Helsinki Hacklab:lla on Padauk emulaattori (5S-I-S02B). Ohjelma ja ohjeet sen käyttöön löytyvät Padauk:in sivuilta http://www.padauk.com.tw/index_en.aspx tai Tiedostot - osiossa.
Padauk datasheetit
Datasheetit löytyvät Padauk:in sivuilta http://www.padauk.com.tw/index_en.aspx tai Tiedostot - osiossa.
Tiedostot
Ohjelmat voi ladata URL:sta: https://github.com/free-pdk/easy-pdk-programmer-software/releases/tag/1.3
Ohjelman easypdkprog tiedostot ovat seuraavat:
EASYPDKPROG_LINUX_20200713_1.3.zip
EASYPDKPROG_MAC_20200713_1.3.zip
EASYPDKPROG_WIN_20200713_1.3.zip
easy-pdk-programmer-software-1.3.tar.gz
easy-pdk-programmer-software-1.3.zip
Padauk Programmerin Hacklab version 2.0.0 tiedostot:
Piirikaavio Padauk-MCU-Programmer_2-0-0.pdf
Gerber tiedostot Padauk-MCU-Programmer_2-0-0_gerber.zip
Osaluettelo Padauk-MCU-Programmer_2-0-0_BoM.csv
Osasijoittelu Padauk-MCU-Programmer_2-0-0_PnP.csv
Kaikki valmistustiedot, tehty DipTrace ohjelmistolla Padauk-MCU-Programmer_R2-0-0.zip
Padauk datasheets, ohjelmat ja manuaalit:
MCU_IDE_0.90.zip MCU_IDE_0.90.zip
IDE Käyttöohje IDE_UM_EN_V102_20190820.pdf
5S-ICE Käyttöohje 5S-ICE_UM_EN_V002_20181105.pdf
PMS150C datasheet PMS15A,PMS150C datasheet V108_EN_20200724.pdf
PFS154 datasheet PFS154 datasheet_v106_EN_20200609.pdf
Padauk prosessorien pakkaustiedot PADAUK_Package_information_V009.pdf
Padauk prosessoriluettelo selection_guide_2019H1__20190227_EN.pdf
Linkit
Linkit käytettyihin sivustoihin. Linkkien voimassaolo tai toimivuus tai tietojen saatavuus riippuu sivustosta.
http://www.padauk.com.tw/index_en.aspx
https://github.com/free-pdk
http://jlcpcb.com
https://lcsc.com
https://easyeda.com
https://free-pdk.github.io
COPYRIGHT AND LICENSE
The Padauk Programmer software is copyright of Free PDK:
Copyright (C) 2019-2020 freepdk https://free-pdk.github.io
free-pdk/easy-pdk-programmer-software is licensed under the
GNU General Public License v3.0
free-pdk/easy-pdk-programmer-hardware is licensed under the Creative Commons Attribution Share Alike 4.0 International
All easypdkprog
software is unmodified copies of the original version 1.3.
The schematic and hardware is modified to:
- Enable smt production (eg. crystal)
- Use components available from JLCPCB for PCB and Assembly
The Helsinki Hacklab modified hardware is electronically and functionally compatible with the original Free PDK versions:
Hardware:1.2
Firmware:1.3
Protocol:1.3
All files made available here are freely available from web pages by their copyright owners, or have references to the copyright owners. All files from Helsinki Hacklab are made freely available by their corresponding copyright owners. Use of any of these files and information is at the risk of the user.
--Matti Nummi 17. tammikuuta 2021 kello 19.47 (EET)