PR 記事には広告が含まれています
スポンサーリンク
Translate

Padaukマイコンのインサーキット書き込み機が動作しました

スポンサーリンク

Padaukインサーキット書き込み機の基板が届いたので、早速組み立てましょう。

スポンサーリンク

基板が届く

発注から10日ほどでPCBgogoから基板が到着しました。

今回は、注文時に製造番号を左側の四角の中に印刷するよう、日本語で指示していました。

基板には、指示通り四角の中に製造番号が印刷されていました。PCBgogoは日本語だけで注文ができる珍しい基板屋さんです。

PCBgogoでは現在、新規登録者には$200のクーポンがもらえます。さらに$20分の送料クーポンももらえますそうですよ。

スポンサーリンク

部品の購入

アナログスイッチICは、NT名古屋を見学するときに立ち寄った、名古屋市街にあるボントンというお店で購入しました。カウンターの中のおじさんにICの型番を伝えると、背後に並んだ部品ケースからICを探し出してくれるという、昔ながらの販売スタイルでした。

ICは、アルミホイルで包ままれて渡されました。

部品が揃ったので、はんだ付けしましょう。

スポンサーリンク

組み立て

ほとんどDIP部品なので、はんだ付けは簡単です。

あっという間に、組み立て完了!

スポンサーリンク

実験

回路

実験回路は上の図のようになっています。

Padaukマイコンの6つのIOピンにLEDを接続します。LEDはプログラムの書き込みに必要なピンと、書き込みに必要ではないピンと両方に接続してみます。前回の実験では、書き込みに必要のないピンにLEDを接続すると正常に書き込めませんでした。今回は書き込めるでしょうか?

Padaukマイコンには、PFS123を使います。

Padaukマイコン PFS123(PFS173) | kohacraftのshop
ローエンドPadaukマイコンの中で最も高機能なマイコン10個入りです

実際に接続した様子です。左から「書き込み機」「インサーキット書き込み機」「ブレッドボード」です。

プログラム

#include <pdk/device.h>
#include <stdint.h>
#include "auto_sysclock.h"
#include "delay.h"

#define LED1_BIT         4
#define LED1_PORT        PB
#define LED1_PORTCONT    PBC
#define LED2_BIT         7
#define LED2_PORT        PB
#define LED2_PORTCONT    PBC
#define LED3_BIT         5
#define LED3_PORT        PA
#define LED3_PORTCONT    PAC
#define LED4_BIT         4
#define LED4_PORT        PA
#define LED4_PORTCONT    PAC
#define LED5_BIT         0
#define LED5_PORT        PB
#define LED5_PORTCONT    PBC
#define LED6_BIT         2
#define LED6_PORT        PB
#define LED6_PORTCONT    PBC

#define LED1_ON()     LED1_PORT &= ~(1 << LED1_BIT)
#define LED1_OFF()    LED1_PORT |= (1 << LED1_BIT)
#define LED2_ON()     LED2_PORT &= ~(1 << LED2_BIT)
#define LED2_OFF()    LED2_PORT |= (1 << LED2_BIT)
#define LED3_ON()     LED3_PORT &= ~(1 << LED3_BIT)
#define LED3_OFF()    LED3_PORT |= (1 << LED3_BIT)
#define LED4_ON()     LED4_PORT &= ~(1 << LED4_BIT)
#define LED4_OFF()    LED4_PORT |= (1 << LED4_BIT)
#define LED5_ON()     LED5_PORT &= ~(1 << LED5_BIT)
#define LED5_OFF()    LED5_PORT |= (1 << LED5_BIT)
#define LED6_ON()     LED6_PORT &= ~(1 << LED6_BIT)
#define LED6_OFF()    LED6_PORT |= (1 << LED6_BIT)

void main() {
    PDK_USE_FACTORY_IHRCR_16MHZ();
    PDK_USE_FACTORY_BGTR();
    AUTO_INIT_SYSCLOCK();
    CLKMD &= ~CLKMD_ENABLE_WATCHDOG;  // Disenable WDT

    LED1_PORTCONT |= (1 << LED1_BIT);          // Set LED pin as output
    LED2_PORTCONT |= (1 << LED2_BIT);          // Set LED pin as output
    LED3_PORTCONT |= (1 << LED3_BIT);          // Set LED pin as output
    LED4_PORTCONT |= (1 << LED4_BIT);          // Set LED pin as output
    LED5_PORTCONT |= (1 << LED5_BIT);          // Set LED pin as output
    LED6_PORTCONT |= (1 << LED6_BIT);          // Set LED pin as output
  
    LED1_OFF();
    LED2_OFF();
    LED3_OFF();
    LED4_OFF();
    LED5_OFF();
    LED6_OFF();

    while(1)
    {
        LED1_ON();
        _delay_ms(200);
        LED1_OFF();

        LED2_ON();
        _delay_ms(200);
        LED2_OFF();

        LED3_ON();
        _delay_ms(200);
        LED3_OFF();

        LED4_ON();
        _delay_ms(200);
        LED4_OFF();
        LED4_OFF();

        LED5_ON();
        _delay_ms(200);
        LED5_OFF();
        LED4_OFF();

        LED6_ON();
        _delay_ms(200);
        LED6_OFF();
        LED4_OFF();
    }
}

6つのLEDが順番に点灯するプログラムを作りました。

[env:development]
platform = https://github.com/kohacraft/platform-padauk.git ; ボードのリポジトリ
board = PFS173 ; 使うマイコンの選択
framework = easypdk ; ヘッダーとかを追加
board_build.f_cpu = 1000000
extra_scripts = post:extra_script.py

マイコンにはPFS123を使います。PFS123はPFS173の後継機種で全てが同じなので、platformio.iniのboardにはPFS173と設定します。

参考までの、プログラム全体を貼っておきます。

書き込み

スイッチを「WRITE」にしてから書き込みを行います。

コンパイルしてできたBinファイルを、書き込み機のドライブ「PADAUK PROG」にドラッグ&ドロップします。

正常に書き込めて、「OK」のLEDが点灯しました。

書き込めましたよ!

実行

プログラムを動作させるためには、スイッチを「WRITE」から「RUN」に切り替えます。

LEDが点灯しました!!

インサーキット書き込み機が、正常に動作することが確認できました!

スポンサーリンク

完成!

Padaukマイコン用の、インサーキット書き込み機が完成しました。これで、Padaukマイコンを使った回路とそのプログラム開発が捗りますよ。

Padaukマイコンライターキット | kohacraftのshop
Padaukマイコンにドラッグ&ドロップで書き込めるライターキットです
Padaukマイコン PFS123(PFS173) | kohacraftのshop
ローエンドPadaukマイコンの中で最も高機能なマイコン10個入りです