2025.5.8
前へ

ホームページトップへ戻る


超ローコストPICWRITERの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第279回]



●PIC16F1938(7)テストプログラム(6)外部クロック入力

前回も時間がなくて説明の途中で終ってしまいました。
今回は前回の続きです。
前回は外付け水晶発振で4xPLLをOFFにして動作テストをしました。
+5Vではなんと32MHzクリスタルを実装したテストでもFosc=32MHzが得られました。
勿論20MHzなら全く問題はありません。
それならばということで同じプログラムを使って+3Vでもテストをしてみました。
その結果20MHzは正しく動作しましたが32MHzクリスタルを実装してテストをしたところ期待した通りの動作にはならずなんだか全然違う周波数で動作してしまいました。
さすがに3Vでは32MHzのクリスタル発振は無理のようです。
その場合に別の周波数で動いてしまうらしいことについて今ではある可能性について考えていることがあるのですがそれについては今はひとまず置いておくことにします。

そのあたりのことを追求する手がかりとして、PIC16F1938のシステムクロックについてもう少し確かめておきたいと思います。
PIC16F1938のシステムクロックは内蔵発振回路によるほか外付けクリスタルによる水晶発振回路を使う方法ともうひとつ外部からクロックを入力してそれをシステムクロックとする方法があります。
今回はその方法を試します。


[出典]Microchip Technology Inc.PIC16F193X DataSheet

下は外部クロック入力を指定するように変更したテストプログラムPIC16F1938TEST6.ASMです。
;pic16f1938test from pic16f883test
;25/04/28 5/3
;
; internal 4MHz
        #include <p16f1938.inc>
        __CONFIG _CONFIG1,_WDTE_OFF & _MCLRE_ON & _IESO_OFF & _BOREN_OFF & _FOSC_ECH
        __CONFIG _CONFIG2,_WRT_OFF & _PLLEN_OFF
;
cf=0
zf=2
f=1
w=0
;
cntr0 equ 20
cntr1 equ 21
cntr2 equ 22
;
     org 00
st0
     goto start
;
     org 05
start
        banksel ANSELA
        clrf ANSELA
        clrf ANSELB
        banksel OSCCON
        movlw 68;=4MHz
        movwf OSCCON
        clrf TRISB
        clrf TRISA
     banksel PORTB
;
以下省略

CONFIG1の_FOSCのところを_FOSC_ECHに変更しただけでほかは前のプログラムと同じです。

今回は32MHzに的を絞ってテストを行ないました。
下は外部の別回路で発振した32MHzをPIC16F1938のCLKIN端子に入力したときのPORTBのbit0の出力をオシロスコープで観測した画像です。

Vddは+5Vです。
PORTBのbit0は125μsごとに変化しています。
前回確認した通りの動作です。

同じことをVdd=+3Vで行ないました。

+5Vのときと同じ結果が得られました。
前回はVddを+3Vにしたら32MHzでは正しい結果が得られませんでした。
クリスタル外付けの水晶発振では+3Vでは32MHzの発振は無理だったようでしたが外部から32MHzを入力すれば3Vでもなんとか動作するようです。
こちらは32MHzの入力波形です。

Vdd=+5Vです。
波形だけを見るとめちゃめちゃなまっていて方形波というよりもほぼ正弦波です。
ちょいと心配になってしまいますがこれでも動作しています。
そうだとしてもまあアマチュア規格のレベルでしょうねえ。

こちらは3Vです。


右側の基板からクロックを供給しています。

電源もGNDも32MHzのクロックもミノムシクリップを使って接続するという乱暴なテストです。
こんなので動作しているのですから立派なものです。
本気でやる場合にはやはり直近に回路を置いて最短のプリントパターン回路にするべきでしょう。

右側の基板部分を拡大しました。
たまたまみつけて利用した試作基板の水晶発振回路です。


水晶発振回路の回路図です。
発振には74HCU04を使っています。

回路図では12MHzになっています。
もとは12MHzクリスタルを実装していましたがそれを外して32MHzクリスタルを実装してテストしました。
一般に74HCは+5Vで使うことが多いのですが今回のように+3Vでも動作します(多分信頼性は低下するでしょうけれど)。

超ローコストPICWRITERの製作[第279回]
2025.5.8 upload

前へ

ホームページトップへ戻る