2026年2月15日日曜日

音声再生モジュール

 サンプリングした音声を再生する基板モジュールの話。

最近、某所向けにADSU01という再生モジュールに手を出していました。
これはビット・トレード・ワン様が販売している物です。
組込み用途を意識した設計になっているので、
そういう方面に使うには非常に使い易い設計になっています。


最近気づいたのですが、秋月電子さんが昨年の11月に、
似たような用途向けの基板を出しておりました。
AE-NSP2340A-BOという製品なのですが、
Nuvoton社製のNSP2340Aという石を使用した代物です。

このNSP2340Aという石は音声再生用に作られた物なので、
こういう用途にはピッタリ、のはずなのですが、
実際のところ、ADSU01とAE-NSP2340A-BOでは
機能的な差異が生じております。

この差について書いてみますね。 
なお、現時点でAE-NSP2340A-BOが手元に無い為、
資料を元に話をしている点にご留意ください。

 

さてでは早速、まず電源についての比較。

ADSU01は5Vオンリーに対し、AE-NSP2340A-BOは2~5.5V。
電源電圧の幅広さはAE-NSP2340A-BOの勝ちですね。

 

再生データーについて比較。
ADSU01は合計約90秒のデーターを4種類まで持てます。
これは実装しているフラッシュメモリーの容量に依存している模様。
特注で大容量メモリー版を作って貰えば更に時間を延ばせるのかもしれませんが、
通常市販している製品は上記の仕様となっています。
サンプリング周波数は約40KHzとなっていますが、
実際に聞いた感じだと高音域がかなりカットされています。
たぶん10KHz辺りでも かなりカットされているっぽい印象です。

AE-NSP2340A-BOではサンプリング周波数が選択できる模様。
もしかしたら音質はADSU01より良い可能性がありますが、
まだ実物を聴いていないので断言は出来ないところです。
音声のデーターは1つのみです。
ですので、ADSU01のように複数の音声を流したい場合には、
AE-NSP2340A-BOを複数用意するという形になるでしょう。
ただメモリー容量は こちらの方が圧倒的に多い様なので、
AE-NSP2340A-BOの方が長時間再生できる様です。

 

音声出力端子はADSU01ではハイインピーダンス出力に対し、
AE-NSP2340A-BOはスピーカー出力となっています。
ADSU01は何かしらのアンプを繋げる必要があるわけですが、
AE-NSP2340A-BOではスピーカーが直結できるわけです。
もっとも数百mW程度の出力なので、ヘッドホン程度ならともかく、
そこそこの音量で鳴らしたければ、外付けアンプが必要になりますし、
そもそも基板上にボリュームも無いので、直結使用は無理があるかと。

以上から音声出力端子については実用上の差は無いと思われます。

 

外観について

ADSU01は600mil幅20Pソケットに合うような端子配列です。
横幅は取りますが、ホールドの安定感はありますね。

AE-NSP2340A-BOは2.54mmピッチの7ピン1列配列。
L型のピンヘッダーコネクターと組み合わせることで基板を立てて実装できるので、
コンパクトに纏めることが出来ますね。
振動が多いような条件下では対策が必要になると思いますが、
AE-NSP2340A-BOの方が実装スペース的に勝ちかな。

 

次にインターフェースの比較。

ADSU01は単純な接点入力になっています。
再生開始端子をGNDに繋ぐと再生スタートします。
ADSU01では4種類の音声までサポート可能ですので、
再生開始端子も1から4まで存在します。
再生の強制停止端子も存在してて、これもGNDに繋ぐと再生が停止します。
このように全ての端子がGNDへの接続で機能することから、
スイッチを直結するだけで簡単に動かせます。
組込み用途としては非常に楽ですね。
上記入力端子の他に「STATUS」という出力端子が存在していまして、
これはいずれかの音声が再生中にハイになるというもの。
これも実は便利な機能なんですね。

対するAE-NSP2340A-BOはシリアル信号制御です。 
NSR2340A自体はI2C等、複数のシリアルI/Fを選択できるようですが、
AE-NSP2340A-BOでは非同期シリアルになっています。
C-MOSレベル信号ですので、PCと接続する場合には変換器が必要です。
扱える音声データーは1つにも関わらず、
鳴らす場合にはシリアルコマンド制御が必要という点で、
通常だとこの基板を実働させるには少々部品が必要となってきます。
設定によっては電源投入直後もしくはリセット直後にに音声を再生させる、
という動作も可能な模様。
これを使い、リセット信号で再生スタートさせる、という使い方が一番簡単かも。
ただ再生を強制停止させる事や、モジュールが再生動作中ということを
外部で知る事が出来ないという点について、ADSU01の方が勝ちですね。

 

次は再生データーの書き込みについて。

どちらも専用ソフトがリリースされており、
Windowsパソコン上で再生させたいデーターを加工し、
基板に書込みという流れになっています。

ADSU01もAE-NSP2340A-BOも、どちらも再生モジュールですので、 
この基板を使って音声を録音する機能はありません。
再生データーはWAVデーター等で予め用意する必要があります。

ADSU01はUSBインターフェースを装備しているので、
これを使ってパソコンに繋ぎます。
コネクターがmini-Bなので、ケーブルを持っていない場合は
改めて購入する必要がありますね。

AE-NSP2340A-BOは前述の通りシリアルポートしかない為、
なんらかの変換機を通してパソコンと繋ぐ必要があります。 
秋月さんではAE-CH9102F-TYPEC-BO等を奨めてる模様。
直結可能な点でADSU01の方が扱いやすいですね。


最後に資料についてです。

ADSU01は完全に国内メーカー品なので、全ての資料が日本語。

それに対しAE-NSP2340A-BOは、この基板自体は秋月電子製ですので、
ある程度の内容までは日本語になっています。
しかしシリアル通信のコマンド等、NSP2340Aの詳細に関わる部分は、
Nuvoton社の資料を参照する必要があるのですが、
これについては日本語化されておりません。
その為、中文か英文のマニュアルを読む必要が発生します。 

 

という感じでして、近日中にAE-NSP2340A-BOを入手して試してみる予定ですが、
再生時間以外はADSU01の方が利点多い感じなんですね。
ただ、単価が6倍以上違うという点がネックになるかも?? 

2026年1月30日金曜日

フラックスによる白濁汚れ

 ハンダごてによる手ハンダ時、ヒュームによる白い汚れが基板に残る事がありませんか?
これは使用しているハンダに含有しているフラックスの量や種類に依存します。 

ですので必ず問題になる、というわけではありませんが、
使用するハンダによっては 結構やっかいな状況になる場合があります。

ヒュームによる白濁はフラックスそのものですので、
RMAハンダを使っている場合はそのままでも特に支障はありません。

従来の要洗浄ハンダでは基板洗浄時に この汚れも落ちていましたので
問題にならなかったわけですが、昨今は無洗浄ハンダが主流ですので、
こういう問題が出てくるようになったわけです。

先に書いた様に、白濁汚れが付いていたところで、
基板的には問題が無いわけですが、問題になるとすれば見た目、
これ問題になる場合は白濁汚れに対処する必要があります。

では皆さん、その際にどうされていますか? 

一番簡単な方法は洗浄する事ですね。
フラックスクリーナーで基板を洗えばいいわけです。

ところが、これには1つ、大きな懸念点があります。
ハンダが露出してしまうという事です。 

RMAハンダでハンダ付けした状態ではハンダはフラックスで覆われています。
非常に薄い被膜ですので、絶縁性等は望めませんが、
ウィスカの発生抑制には効果を発揮してくれます。

ウィスカ対策は鉛フリーハンダでは結構重要な問題ですので、
フラックスを除去してしまった場合は、
代わりにコーディング材を塗布する必要が出てきます。

手間と費用が増えるばかりで良いことがありませんね。

 

実は簡単な白濁汚れ対処法があるのです。

それは、ヒートガンによる加熱

下の写真2枚をご覧ください。 


 

 

 

ハンダ付け直後

 

 

 

 

  

 

 

 

 ヒートガン加熱後
(手前側に白く見えるのは
フラックスに反射している照明です)


 

 

    

いかがでしょうか?

よーく見ると、白濁汚れの跡が残っている様にも見えますが、
これなら特に問題無いレベルでしょう。
洗浄で除去しているわけではないので、痕跡が残るのは仕方ないわけです。 

白濁汚れはヒュームが基板に付着したものです。
ヒュームが蒸発したフラックスですが、本来はほぼ透明。
しかし煙の状態で基板面に付着すると発泡状態の様な感じになる為、
白く濁って見えるわけです。

ヒートガンで加熱するとヒュームが溶けて液状のフラックスに戻るので、
白濁が無くなって ほぼ透明に戻る、という仕組みです。 

これですとフラックスはハンダ上に残ったままなので、
除去に伴う弊害も発生しませんし、見た目も改善されると、一石二鳥です。

なお、フラックスを溶かす必要ありますので、ドライヤーでは温度的に無理です。
数百度の温風が出るヒートガンが必要です。 

2026年1月25日日曜日

PIC12F1840とPIC16F18313の比較

8ピンのPICマイコンである、PIC12F1840PIC16F18313を比較します。
自分用の忘備録も兼ねてます。

12F1840は登場してから そこそこ経過しておりますが、
8ピンのPICマイコンとして割と中身が充実していたので、
ベストセラーの1つと言えると思います。

12F1840の完成度が高かったせいなのか、
その後しばらく、8ピンの高機能PICマイコンがお目見えしませんでしたが、
ついに登場した製品が16F18313というわけです。

片や「12F」で、片や「16F」という名称の違いがありますが、
マイクロチップの命名ルールが変わったことに起因しているもので、
12F1840と16F18313は同列に考えて頂いて問題ありません。

 

まず、サクッと違いを纏めてみた表が以下です。 


 

 

 

 

 

 

 

 

 

 

 

あまり細かい内容を詰め込むと見づらくなってしまうので、
参考にできる範囲で 割と簡素にしてみました。

改めて見てみると、12F1840の完成度の高さを実感しますね。
割と最近の石である16F18313に対し、基本的な部分のスペックで引けを取りません。

プログラムメモリーは16F18313の方が僅かに少ないのですが、
8ピンのPICマイコンでこの容量を使い切るケースは少ないのでは?
そう考えると この差は大した問題ではないと思われます。

16F18313は16F18300シリーズですので、周辺機能は充実さは素晴らしいところ。 
8ピンのPICマイコンに こんなにも必要なのか?という疑問も感じますが、
まぁ無いよりは有った方がベターですね。

 

それでは差について、もう少し説明していきましょう。

1.TMR0について 

TMR0は古のPICマイコンから搭載されている、もっとも基本的なタイマーです。
12F1840は従来通りのTMR0を搭載しておりましたが、
16F18313では16ビット動作可能な、拡張版のTMR0を搭載してます。 

2.コンパレーター・PWM等について

表では解釈が紛らわしいかもと思い、補足の意味で記載いたします。 

12F1840ではコンパレーターが1つと、ECCPが1つ搭載されています。
ECCPは拡張版CCPですので、キャプチャー・コンパレーター・PWMの、
どれか1つの機能を選択して使用可能です。

12F18313ではCCPだけで2つ存在する他に、
コンパレーターとPWMがそれぞれ2つ搭載されています。
8ピンパッケージでは積みすぎですよね(笑) 

3.外部I/Oピンの入れ替え機能について

周辺機能とパッケージ外部のピンとの接続ですが、
12F1840ではAFPCONというレジスタの設定により、
極一部の周辺機能についてのみ、ピンの割り当て選択が可能ですが、
自由度がとても低い為、事実上回路設計段階の考慮が必要という代物です。

それに対し16F18313では「PPS」という割り当て変更システムを搭載してます。
これによりほとんどの周辺機能ピンを自由に割り当てる事が出来ます。
(ICSPで使うピンは変更できませんが) 
これだけ自由度が高いと、回路設計の柔軟性が高まりますね。

4.データーEEPROMについて

EEPROMという名称が使用されておりますが、
実際には搭載されているフラッシュメモリーの一部です。
最近のPICでは「NVM」という呼び方に変わってきております。
表の通り、容量等に変化はない様に見受けられますが、
アクセスに関する仕様が変更となってます。

従来のデーターEEPROMには絶対値アドレスとも言うべき値が存在してました。
具体的には12F1840ならば0xF000~0xF0FF領域です。
これにより、以下の例の様にソースコード上に記載する事が可能になります。

DATAEE    ORG  0xF000
    DE    "Hello World"

すると、FLASHメモリーへの書き込み時に、
データーEEPROMへ"Hello World"という文字列も同時に書込んでくれます。 

これは結構便利な機能だったのですが、最近のPICマイコンでは使えなくなりました。
なぜならば絶対値アドレスが無くなり、NVM Control レジスタ経由でしか
アクセスできない仕様になったからです。

代替案としては、PICマイコンのブート後のイニシャライズ段階にて、
NVM Control レジスタを使用して"Hello World"を書き込むという手があります。
しかしNVM Control レジスタ経由では1byteずつしか書けませんので、
従来であればたった2行で済んだものが、数十行のコードになってしまうのは、
なんともスマートではありませんし、
PICがブートする度にデーターEEPROMへ書き込むというのも違和感を覚えます。

今後の改善を期待したいところですね。 

5.I/Oポートの機能設定について

16F18313ではI/Oポートについての機能が拡張されました。
具体的には以下の3つの設定レジスタが追加されてます。
  INLVLA
  SLRCONA
  ODCONA

INLVLAはデジタル入力ポートとして使用時のスレッショルドレベルの設定です。
TTLレベルかシュミットトリガ―レベルを選択できます。
通常はシュミットトリガ―レベルの方が好ましいわけですが、
CMOSレベルの電圧域となる為、入力信号の電圧レベルを考慮する必要があります。
どちらの設定でも、実際の閾値電圧は電源電圧に依存します。
具体的な値を知りたい場合はデーターシートを参照してください。

SLRCONAはデジタル入力ポートのスルーレート設定です。 
スルーレート制限無し設定が、通常のデジタル入力状態です。
CMOSデバイスの特性上、実際の入力レスポンスは電源電圧に依存します。
スルーレート制限有りにした場合の具体的な差ですが、
データーシートを見た感じ4000番シリーズCMOSロジック位でしょうか。
数十nsオーダーの話なので、ものすごくブロードな特性になるわけではありません。

ODCONAレジスタはデジタル出力のタイプ設定です。
これにより、従来と同じトーテムポール出力タイプの他、
オープンドレイン出力タイプも選ぶことが出来るようになりました。
通常のデジタルロジック回路ではトーテムポール出力での使用が多いと思いますが、
繋ぐ回路構成によっては電流引き込みで駆動したいというケースも有り、
そういう時はトランジスターなどを噛ませる等で対処していました。
これらが直結で済ませられる様になり、回路が簡素化できます。
また、不要な出力ポートもオープンドレイン出力に設定しておくことで、
不用意にHレベル電圧が出力されてコンフリクトを起こす事も予防できます。
この様にオープンドレイン出力機能は結構重宝すると思われます。

 6.その他

容量センシングモジュールとSRラッチについては12F1840のみの搭載。
対して、CWG・NCO・CLCは16F18313のみ搭載してます。 

周辺モジュールの供給電力を個別に制御する「PMD」機能も、16F18313のみの搭載。 
もっとも、そもそもPICマイコンはかなり低消費電力ですので、
PMD機能が必須となる場面は少ないかもしれません。

あと、内蔵発振器の1つである「MFINTOSC」についてですが、
12F1840には存在しているのものの16F18313には存在しません。
これは機能削減ではなく、不要になったので削除したと見るのが正解でしょう。
HFINTOSCから生成できる周波数バリエーションが、
MFINTOSCをカバーできてしまうからです。 
ですのでMFINTOSCの削除はなんらマイナスポイントになっておりません。 

 

以上の様な感じで、おおまかな違いはご理解頂けると思います。
上記以外でも各周辺機能モジュールについて、
16F18313で少々機能拡張されてる場合がありますが、
その点については逐次確認をお願い申し上げます。 

2026年1月24日土曜日

多機能化の弊害

 PIC16F1823用のプログラムをPIC16F18424へ移植した際の話です。

 桁が1つ増えてるくらい、16F18424は かなり世代の新しい強力な石です。
16F1823でも実用上は問題無いプログラムが書けたのですが、
後々の拡張性等を考慮し、16F18424へ移植して見る事を考えた次第。

 

この移植のメリットは大まかに以下の2つ。

1、Foscの高速化

  16F1823ではタイマーに使うクロック源のバリエーションが少ないため、
  長時間のタイマーが欲しい場合はFoscの周波数を抑えるしかありません。
  すると当然ながら、各命令の処理速度も落ちてしまうわけですね。 

  16F18424ではタイマーへ低速のクロックを割り当てる事が可能なので、
  Fosc周波数を抑える必要が無くなります。
  常に最高速度である32MHzで回す必要はありませんが、
  そこそこの速度にしておくと処理に余裕が出来て好ましいです。

2、オープントレイン出力

  16F1823のI/O出力はトーテムポール出力のみです。
  それ自体がデメリットというわけてはなく、
  適切に設計されていれば通常問題になるわけではありません。

  16F18424ではオープンドレイン出力に設定することが可能です。
  今回の回路では十分大きなプルアップ抵抗が存在し、
  立下りタイミングが動作関与する為、オープンドレインで事足ります。

  もちろんこの場合でもトーテムポール出力で支障が出るわけではありません。

  ただ、何らかの原因で誤動作が発生した際、
  オープンドレイン出力ならばコンフリクト発生を回避できる可能性があります。
  そういう意味で、問題無ければオープンドレイン出力を利用した方が安全。

  そんなわけで、出力ポートを全てオープンドレイン化したのでした。

 

さて実際の移植ですが、アルゴリズム的には変更不要です。
手を加えなければならないのはバンク指定。 

16F18424は非常に機能が増えた分、レジスタもガッツリ増大しております。
PICの仕様上、1つのバンクに納められるレジスタ数には限界がある為、
レジスタ数が増えたならバンクを増やして対応することになります。

16F1823では7つ程度だったバンクが、16F18424では約20個に増えてます。
単に増えたのみならず、レジスタの配置を大幅に変更されているんですね。
ですのでレジスタへアクセスする箇所で、
切り替えるバンクを全て確認/変更しなければなりません。

実はこれが かなり厄介。
16F18424ではバンクへの配置が かなり散らばったんですね。
16F1823では同一バンクに有ったものが、16F18424では別バンクに、
というケースが非常に多かった為、バンク切替が多発する事に。

すると当然ながらバンク切替の命令が増えるのでコードが長くなっちゃいます。
バンク指定のミスというバグの発生確率も上がるので、
バンク切替が多発するというのは 個人的に好ましく思いません。
(そういう意味で、多機能の石は18Fシリーズを使うべきかも)

 

というわけで、必ずしも最近の機能の石に置き換えるのがベスト、
とは言えないケースがあるという話でした。 

 

2026年1月20日火曜日

PIC16F1527

 先の記事でPIC16F1947を書きましたが、
64ピンパッケージの16Fシリーズというのはもう1つ存在します。

それがPIC16F1527

番号を見て、16F1947の下位互換かなと思っていたので、
16F1947を使えるなら16F1527はスルーしていいかと思ってました。

16F1947のテンプレファイルを作り終えた後、
改めて16F1527について ちょっと調べてみました。
すると・・・・単なる下位互換と言う代物ではない事が判明。
かなりお株が上がってきたのでした。

そんなこんなで16F1527のテンプレファイルを作成。
その結果を基に、16F1527の評価を記載してみます。

 

解り易い様に、16F1947との比較と言う形で解説することにします。 
パッケージ形状やI/Oの本数は16F1947と同一です。
I/Oピン振りも同一というのは、マイクロチップさんお馴染みですが、
移行が楽なので大助かりです。

基本的なところでの差としてはクロックが挙げられるかと。
16F1947は4倍PLLも内蔵しMAX32MHzで動作可能ですが、
16F1527はPLLも無く、MAX20MHzでしか動作しません。
内蔵発振器は16MHzまでしかない為、もし20MHzで動かしたい場合は、
外部デバイスが必要となる為、事実上16MHzが上限になるかと。

次にメモリー周りの違いが挙げられます。
RAMに関しては16F1947は1024byte持ってますが、
16F1527は1536Byte持ってますので、RAMはこっちの方が多いです。
ですが、従来EEP-ROM領域と呼んでいた、データーメモリー領域については、
16F1527ではバッサリ削除されてしまってます。
データーメモリーは使わない方もいらっしゃるかもしれませんが、
有ればそれなりに便利なので、ちょっとだけ不便を感じてしまいます。

 

以下は周辺機能の差についての話です。 

まず16F1947と比較して削除されてる機能が以下。
  ・LCDコントローラー
  ・容量センシング
  ・ECCP
  ・D/Aコンバーター
  ・コンパレーター
  ・SRラッチ
という感じ。

LCDコントローラーや容量センシングは使用者が多くないと思うので、
ほぼ支障が無いと思います。
ECCPは削られましたがCCPは残っているので、
それで足りないという方には残念かも。
D/Aコンバーターはどうなのでしょう?
5bit程度の代物なので、私は使用したことがありませんが、
必要と言う方も存在するのでしょうか?
コンパレーターはCCPで代替できるので、問題無いかと。
SRラッチも実用例を見たことが無いので特に不便は無いのかも?

 

次に16F1527の方が充実してる機能です。 
なんとなく意外ですが、以下の機能は16F1527が勝ってます。
  ・アナログ入力チャンネル数
  ・タイマーの数
  ・CCPモジュール数
  ・プルアップ機能付きポート数

アナログ入力というのは、すなわちA/Dコンバーターの入力チャンネルですが、
16F1947も16F1527も、全I/Oピンでアナログ入力できるわけではありません。
もっとも、A/Dコンバーターは1つしかないので、
入力チャンネルがめっさ多くても どないすんねんという感じはありますが(笑)
16F1947ではポートA・ポートF・ポートGの一部でアナログ入力が可能。
総数では17チャンネルというところですが、
16F1527ではポートB・ポートD・ポートEの一部も合わせ、
総数で30チャンネルに増えています。
これにより設計の自由度が増したという感じでしょうか?

タイマーに関してはお馴染みの代物ですが、
16F1947ではTMR0・TMR1・TMR2・TMR4・TMR6という構成ですが、
16F1527ではTMR0・TMR1・TMR2・TMR3・TMR4・TMR5・TMR6・TMR8・TMR10という構成。
とんでもなく増えてますね(笑)

数が増えただけではなく、ちょこっと嬉しい差もあります。
16F1947では容量センシングモジュールを搭載している関係で、
TMR1のクロック源に容量センシング出力を使うことが可能になってます。
その為、LFINTOSCからのクロックが入力できなくなってしまってるんですね。

対して16F1527では容量センシングモジュールが無い分、
TMR1・TMR3・TMR5のクロック源にLFINTOSCを使う事が出来ます。
私としては非常に嬉しい仕様です。

CCPの数も16F1947では5個(その内3個はECCP)ですが、16F1527は10個!! 
こんなに沢山何に使うのでしょうか?(笑)

最後にプルアップ機能です。
I/O制御で使う事が多い身としては、この差は結構嬉しいです。
16F1947ではポートBしかプルアップできませんでしたが、
16F1527では更にポートDとポートEもプルアップ可能になりました。
全ピンプルアップ可能な最近の石と比べると見劣りしてしまいますが、
これだけ増えただけでも使い勝手は向上するのでヨシという感じです。

 

という感じで、ざっくり解説してみましたが、
私感としては16F1527の方が使い勝手良い気がしてます。

もちろん最終的には必要な周辺機能との相談にはなりますが、
16F1527で機能が不足したら16F19197を選ぶ、という使い分けが良いかも? 

 

結論としては、以下の機能が必要ならPIC16F1947を選択。 
  LCDコントローラー
  容量センシング
  ECCP
  D/Aコンバーター

それ以外ならPIC16F1527を選択という流れでしょうか。 

PIC16F1947

 ビット・トレード・ワンのADSU01を使った新しいユニットを構想中。
汎用性を求めて機能拡張を行った結果、
制御の為のI/Oが35本くらい必要という結果になりました。

40ピンクラスのPICマイコンが なんとか足りるかな?という本数ですが、
これはオンボード書込みに必要なピン等も全て潰して、
全てI/Oにまわした場合の話。
なので現実的には40ピンクラスのPICマイコンでも足りません。

次に思いついたのが28ピンクラスのPICマイコンに、
MCP23S17でI/Oを増設するパターン。

MCP23S17を使用実績があるので、特に難儀する点はありません。
ところがこれでI/O数を検討すると、やっぱ僅かに足りないという結果に!! 
MCP23S17へ繋ぐSPI信号線に4本取られてしまうんですね。
いやぁ残念。(;;

そうすると40ピンクラスのPICマイコンにMCP23S17を増設、
というパターンが思い浮かぶわけですが、
それならいっそ64ピンクラスのPICマイコンを使ってしまう方が良くね?と閃きました。

 

1チップマイコンとしては64ピン程度は特に大規模というほどではありません。
しかし私の様に8ビットクラスのマイコンをメインにしていると、
64ピンは結構大きな部類になります。

今回の用途では低速な単純制御なので、PIC16Fシリーズで十分な領域。
16Fシリーズで探すと、大きくても40ピンクラスがほとんどなんですね。

そんな状況ですが、種類は少ないものの64ピンクラスも存在しました。
その1つが今回紹介するPIC16F1947です。

この石は一時期大人気だったPIC16F1939の多ピン版です。
ちなみにRAMを減らしたPIC16F1946という製品も存在します。

 

使い勝手としては16F1939とほぼ同じです。 
16F193xシリーズに存在した周辺機能は全て内包しています。

I/O本数ですが、16F1939では36本に対し16F1947は54本。 
16F1939に対してRE4~7とRF0~7、RG0~5が追加されています。

ここでちょこっと要注意なのは、ポートF及びポートGのバンクが、
ポートA~Eと異なっている点です。
Cで書いていたらコンパイラーが良しなに処理してくれるでしょうが、
アセンブラーで書く場合は意識しておく必要あります。
可能なら同じバンクに揃えて欲しいところですが、
バンクのレジスタMAPが埋まってしまっているので、
仕方なく別バンクに配置したという経緯でしょうから、やむを得ない話ですね。

 

その他の相違点としては、 コンパレーターが2つから3つに増えました。
あと、EUSARTとMSSPがそれぞれ2つに増えました。

私はコンパレーターを使ったことが無いので、
3つに増えても特に有難みは感じないのですが、 
EUSARTとMSSPが2つに増えたのは非常に嬉しいです。

シリアル通信系は使用する機会が多いのですが、
16F193xシリーズのシリアルポートの少なさには不便を感じていたからです。 

あとはLCDコントローラーの拡張されている様ですが、
私自身LCDコントローラーを使ったことが無いので、この点についてはスルーします。 

 

そんな感じで、基本的には16F1939の上位互換なのですが、
1ヵ所違いに気づいた点はVcapピンについてです。

16F1939ではVcapピンを3ヵ所選べたのですが、
16F1947では使えるピンは1ヵ所(RF0)のみです。 

実際、これで使い勝手が悪くなるとは思えないので、
むしろ改良と捉えても良いかもしれません。
ただ個人的な意見を言わせてもらえば、どうせならポートGに配置して欲しかったですね。そうすればポートFは8ビット一括アクセス可能だったわけです。

 

AFPCONレジスタによる代替ピン指定の内容もかなり変わっています。
16F1939ではMSSPやSRラッチに絡む内容も有ったのですが、
16F1947では全てCCPモジュール絡みになっています。

 

他には特に機能追加された点は見当たりませんので、
16F1939辺りを使い慣れてる方は かなり親しみやすいと思います。

逆に言えば、昨今の8ビットPICマイコンと比較すると、
かなり周辺機能が乏しいと感じてしまうかもしれません。

現時点ではPIC16F19197という石がリリースされていますので、
16F193xシリーズに拘りない無い方は、そちらを選択する手も有りだと思います。
 

2026年1月14日水曜日

上尾の極楽湯へ行ってみました

 先週より、一部の極楽湯にて「まどマギ」コラボが開催中。
というわけで、その中の一店舗である上尾店へ行ってみました。


 

 

 

 

 

 

 

 

 

 

 

上尾店は初訪問。
今回の様なコラボでもない限り、訪れる機会は無さそうなのです。

入館すると、特に変わったところは無い感じ?
施設的には少々小さめの店舗の印象。

食事処の横に、みんなが整列してました。 


 

 

 

 

 

 

 

 

 

ともあれまずはお風呂へ。

脱衣所も特に広いわけではないものの、窮屈な感じはしません。 
単にお客さんの数の問題なのかな?

浴室へ行くと、ほむほむのイラストが掛かった「ほむらの湯」が(笑)
昨日までは 「まどかの湯」だったんですよね。

各キャラクターにちなんだ湯の色になってるそうなので、
ほむらの湯は紫のイメージだと思うのですが、
黄土色みたいな濁った色になってました(笑)
まぁこの辺はご容赦という感じですかね。

ほむらの湯は温度が約41℃と、ゆったり入るには少々熱め。
柏店だと39℃位の炭酸泉浴槽を使っているので、
ゆっくり入りたいなら柏店の方が良いかも?

しかし柏店と比べ、お客さんの数が少ないせいか、落ち着いてる感じします。
この点は好印象なのですが、ただ、お客さんのマナーがイマイチ。
扉を開けっぱなしにする人が多い!!
露天風呂への出入口は二重扉になっているのですが、
両方とも開けっ放しにする人の多い事・・・・・
そんなわけで、長湯せずにフロから上がりました。 

風呂から上がったのは23時前。
ここ上尾店では食事処のラストオーダーが0時半と遅めなので、
ちょこっと利用していくことに。

もっとも晩飯は上尾に来る前に済ませてしまったので、
ここは軽くドリンクにしてみます。

ということで選んだのが「ほむらのフローラルスカッシュ」。


 

 

 

 

 

 

 

 

 

 

 

ほむほむの大好物、というような話は全く無いと思いますが、
普通に美味しかったです。
コラボメニューを注文すると貰えるコースターは マミさんでした。
貰えるコースターも揃えてくれたら良かったのにと、ちょっと思ったり。

 

今回の上尾店、ボディケアやあかすりなども揃っているので、
スーパー銭湯としてみると まぁこんなもんかなぁという感じ。
食事処のラストオーダーが遅い点だけは特長ですね。

風呂上りの休憩スペースに関しては、圧倒的に柏店に負けてます。
というか、柏店が凄すぎるんでしょうね。
営業時間も柏店の方が1時間長い事を含め、
風呂上りノンビリしたいのならば、柏店に軍配が上がりそうです。