Pic24MC68Kマイコン(その6)プリント基板で動作OK [68K]
前回の記事から時間が経ってしまいましたが、元旦に製造依頼したプリント基板はとっくに届いているので部品を実装してみました。
ブレッドボードで確認した回路なのでいつものようにすぐ動くと思っていましたが今回は PIC24 の OneBitLoader すらまともに動かず、原因調査&対処して無事動くようになりましたので調査内容や対処などについてメモとして記録しておきたいと思います。
最初に Pickit で PIC24 に OneBitLoader を書き込んで起動してみました。
通常であれば"Welcome" メッセージを表示後に、押されたキーを表示するのですが、下図のように文字化けが酷い状態でした。
文字化けの状態は安定せず、変化するようなのですが、'1'(0x31)の入力が'q'(0x71)に化けたりするのでシリアル通信のクロックが少しずれているようです。
原因が USB/シリアルI/Fの PL2303 と PIC のどちらなのか切り分けるためにまずは PIC のシリアル受信と送信部の信号を確認しました。
下図が PIC 側の受信信号例ですが、マーカー間が3bit分で 37.86(=12.62 x 3)Kbpsで通信速度は 38400bps なので許容範囲内です。信号自体もエッジの鈍り等は無く問題無いようです。
下図が PIC の送信信号波形例でマーカー部の 1bit 分が 41.29KHz で設定値(38400bps)より結構高めの値です。これで PIC 側が問題の原因であることが判明しました。
念のためにロジアナでも確認しましたが、受信側はokですが、送信側はバケバケでした。
問題個所が特定できたので PIC24 を交換する必要がありますが、ヒートガンでは近くの SDコネクタなどが影響を受けそうだったので、PIC のピンを切断してからピンを半田ごてで取り外しました。
しかし、PIC を外す時に 43 番ピンのパターンが逝ってしまいましたorz
このピンは D05(データバス)で接続先は基板の淵の方にあり距離があるので、直ぐ近くのスルホール部のレジストを剥がし、そこに半田付けするという難易度C? の技を試みてみましたw(クリックで拡大写真になります)
ジャンパー部はアルコール洗浄後に保護のためにホットボンドで固めました。PIC を交換した結果、PIC で OneBitLoader が動き、自作の picleコンパイラ環境も問題無く導入できて、68K の動作試験プログラムである Hello 表示もできました(^^)/
勿論、前回の記事で書いたS-record ローダーも動きました。
更にうれしいことに、蟻さんから 5個組で買った MC68HC000P16 が最近届いたのですが、今回はいろんなものが混在していて、アルコールで拭くと P8(8MHzバージョン)に変身するものもありましたが、なんと 16MHz で動くものを1個見つけました(^^)/
動作するようになった状態での写真等を貼っておきます。下の写真は 68K を実装前の TOP面です。
次にボトム面です。
MC68K 実装後は下の写真のようになります。アルコールで拭いて刻印が薄くなっているので刻印が見えるように斜めからストロボを当てています。
下の写真はUSBケーブルを接続して動作確認をしている様子で今までのブレッドボードよりはるかにコンパクトになっています。
最後にreset直後から、68K の動作確認試験である "Hello" 表示のプログラムを実行した際のログを貼っておきます。68K は 16MHz で動作しています。あれ picle の起動メッセージが86のままになっていますねw
[TOP] [ 前へ ] 連載記事 [ 次へ ]
ブレッドボードで確認した回路なのでいつものようにすぐ動くと思っていましたが今回は PIC24 の OneBitLoader すらまともに動かず、原因調査&対処して無事動くようになりましたので調査内容や対処などについてメモとして記録しておきたいと思います。
最初に Pickit で PIC24 に OneBitLoader を書き込んで起動してみました。
通常であれば"Welcome" メッセージを表示後に、押されたキーを表示するのですが、下図のように文字化けが酷い状態でした。
OneBitLoader 起動時の文字化けの様子 |
|
文字化けの状態は安定せず、変化するようなのですが、'1'(0x31)の入力が'q'(0x71)に化けたりするのでシリアル通信のクロックが少しずれているようです。
原因が USB/シリアルI/Fの PL2303 と PIC のどちらなのか切り分けるためにまずは PIC のシリアル受信と送信部の信号を確認しました。
下図が PIC 側の受信信号例ですが、マーカー間が3bit分で 37.86(=12.62 x 3)Kbpsで通信速度は 38400bps なので許容範囲内です。信号自体もエッジの鈍り等は無く問題無いようです。
PIC 受信時のシリアル波形例(0x31受信時) |
|
下図が PIC の送信信号波形例でマーカー部の 1bit 分が 41.29KHz で設定値(38400bps)より結構高めの値です。これで PIC 側が問題の原因であることが判明しました。
PIC 送信時のシリアル波形例 |
|
念のためにロジアナでも確認しましたが、受信側はokですが、送信側はバケバケでした。
PIC 送受信のロジアナ波形例 |
|
問題個所が特定できたので PIC24 を交換する必要がありますが、ヒートガンでは近くの SDコネクタなどが影響を受けそうだったので、PIC のピンを切断してからピンを半田ごてで取り外しました。
しかし、PIC を外す時に 43 番ピンのパターンが逝ってしまいましたorz
このピンは D05(データバス)で接続先は基板の淵の方にあり距離があるので、直ぐ近くのスルホール部のレジストを剥がし、そこに半田付けするという難易度C? の技を試みてみましたw(クリックで拡大写真になります)
PIC43 番ピンのジャンパー接続 |
|
ジャンパー部はアルコール洗浄後に保護のためにホットボンドで固めました。PIC を交換した結果、PIC で OneBitLoader が動き、自作の picleコンパイラ環境も問題無く導入できて、68K の動作試験プログラムである Hello 表示もできました(^^)/
勿論、前回の記事で書いたS-record ローダーも動きました。
更にうれしいことに、蟻さんから 5個組で買った MC68HC000P16 が最近届いたのですが、今回はいろんなものが混在していて、アルコールで拭くと P8(8MHzバージョン)に変身するものもありましたが、なんと 16MHz で動くものを1個見つけました(^^)/
動作するようになった状態での写真等を貼っておきます。下の写真は 68K を実装前の TOP面です。
Pic24MC68K トップ面(MC68K実装前) |
|
次にボトム面です。
Pic24MC68K ボトム面 |
|
MC68K 実装後は下の写真のようになります。アルコールで拭いて刻印が薄くなっているので刻印が見えるように斜めからストロボを当てています。
Pic24MC68K トップ面 |
|
下の写真はUSBケーブルを接続して動作確認をしている様子で今までのブレッドボードよりはるかにコンパクトになっています。
動作試験中のPic24MC68K |
|
最後にreset直後から、68K の動作確認試験である "Hello" 表示のプログラムを実行した際のログを貼っておきます。68K は 16MHz で動作しています。あれ picle の起動メッセージが86のままになっていますねw
68K 試験のHello表示の実行状況 |
|
[TOP] [ 前へ ] 連載記事 [ 次へ ]
This looks like a very fun project.
Is it possible to get the gerber files for this board so I may try to make my own?
by John Gay (2022-05-18 21:58)
I am considering how to publish the printed circuit board and software. However, I give priority to new manufacturing based on new ideas, so I think it will take some time before it is published.
by skyriver (2022-05-19 00:20)
I've used jlcpcb.com to make printed circuit boards from zipped gerber files from other peoples projects before.
But I also understand that working on new projects is more fulfilling than re-visiting old projects you have moved on from.
Either way this does look like a fun project and I'll dig deeper into your blogs.
by John Gay (2022-05-19 02:20)