● 実験テーマ107

「PIC18F_DSP_AM/FM_2バンドラジオの実験」
Aitendoの、DSPラジオモジュール「M6951」を使って、AM/FMラジオの実験をしてみました。)

※ 2018.8.31
→ 4回目の更新です。
  Eagle CADにより、基板設計を行い、P板化しました。

  ・8月10日からの記事を参照してください。


※ 2018.8.9
→ 3回目の更新です。
  ソフトを更新しました。V1a→ V1b
   @  SWの反応が悪い時があるので、メインループでのセンスからCN割込みセンスに変更
   A  Fosc=4MHz→ 16MHzに変更
       液晶初期化不安定対策(クロックアップしないと、1uS遅延精度が出ない)

  ・8月2日からの記事を参照してください。


※ 2018.7.30
→ 2回目の更新です。
  ソフトを更新しました。V1→ V1a
  FMバンド帯を変更し、ワイドFM3局を受信出来るようにしました。 

  ・7月28日の記事を参照してください。


※ 2018.7.28
→ 1回目の更新です。
   PICとM6951の、VCCを3.3Vに変更し、ケーシングを含め使える形にまとめました。
   基板サイズは、102x84mmになりました。

  ・7月18日からの記事を参照してください。


以下、この実験の顛末記です。

■ 2018.6.6
  ・バーアンテナを使ったテーマにしようと思う。
   以前の実験テーマ78で使った、BK1088モジュールでも、AMは受信出来るので、まずはこのセットで実験を進めることにした。
   バーアンテナだけ外付け(仮ハンダ)してやれば、そのままソフトデバッグ出来そう。
   WEBに、Arduinoのサンプルステッチがあって、それが比較的レジスタの設定値が解り易いと思う。

  ・まずはAMinピンに単線を繋げた状態で、ノイズは多いが、NHK第1,2,AEN,TBS受信出来た。
   環境:XC8+PICkit2
   


■ 2018.6.8
  ・現FMオンリー版と同じ機能(STEP SWによる局送り・長押しによるホーム曲移動・
   EEPROMに選局番を記録レジューム・LCDへ局名、電界強度等表示)を盛り込んだ版:BK_AM_TEST
   動作OK確認。

  ・AMinピンに単線を繋げた状態で、ノイズは多いが、ラジオ日本以外は受信出来た。

  ・バーアンテナで試すが、上限2局は電界強度が十分でなく受信できず。
   TBS・文化・NHK第1は、電界強度も3F以上で受信可だが、CPUノイズを拾いやすくノイジー。
   WEB例を見ると、ノイズ対策にシールドケースを使ったり、電源ラインにトロイダルコイルを挿入したりしていて
   とても苦労されており大変そう。


■ 2018.6.21
  ・ノイズ対策まで試行錯誤するには現行のセットではやりずらいので別途セットをと思ったが、調べると
   このBK1088モジュール、現在aitendoに在庫無し状態。
   P板化して実験しようかと思い途中まで計画するが、止む無くBK1088での実験はここまでで打ち切ることにした。


■ 2018.6.22
  ・BK1088モジュールの在庫無し状態が続いている。
   割と在庫があるのは、M6951モジュール:750円
   これを試してみることにした。
   WABに、PIC32MXを使用した「FM自動録音装置」なるものに、M6951モジュールが使われており
   ここの定義ファイルが初期化の良い参考になりそうなので追ってみる。
   → このサイト「諏訪工房」さん


■ 2018.6.30
  ・実験のハードウエアだが、コントローラは、PIC18Fトレーニング基板(PIC18F14K50)を使うので、
   VCC=5Vが都合がよい。
   M6951の供給電源電圧(推奨)としては、VCC=3.3Vtyp〜 4.5Vなのだが、絶対最大定格は、VCC=5.8V
   なので、5Vでも動くだろうということでVCC=5Vとした。
   WEB例では、ここがVCC=5Vで動かしている。
   解り易い、モジュールとコントローラの接続ブロックがこのサイトに載っていましたので、以下そのまま借用させて頂きました。
   尚、抵抗は全て10kΩ。

  ・まずは、FM/AM 1局のみ受信するだけの簡単なプログラムを組んだ。(切替も液晶もなしコメントアウトで対応)

  ・aitendoから以下パーツが届いたので、M6951のテスト冶具を作成した。

  ・チェック開始(J-WAVEのみ受信するプロジェクト)
   まずは駄目。尚、VCC= 5.05V
    @ トレーニング基板上の、チュウニング・エラーLEDが点灯してしまう。
    A モジュール上の、チュウニングLEDは点灯している。
    B SPからはノイズのみ聞こえる。

  → Bに関しては、SPを接続する時の極性が関係するようで、ONE SPで使う時は、+:LOUT、−:ROUTに
     接続しないと音が出ないことが判明したが、受信できている局は指定の、J-WAVEではない?

     RESET SWを押してリセットを繰返すと、チュウニング・エラーLED消えて、J-WAVEが受信出来た。
     ということは、PIC18F用に書いた、I2C関数は基本的にそうおかしくはなさそう。

     @のチュウニング・エラーLED点灯の条件だが、原典では3つあったが、不具合があったのか最終的にはコメントアウトしてあり、
     エラーチェックはしてないようである。常に、チュウニング完了で、
return 0; を返しているようである。
     しかしI2Cラインチェックの為にもエラーチェックはしたいので、以下
エラー3条件の内(1)リードをffffh回繰返してもerrorの場合
    
のみにしたら電源の立ち上げ時から正常に、J-WAVEが受信出来るようになった。
     参考までにその部分のソース抜粋を以下に示した。

TrigTune(); // Reg0-b5:tuneビットをセット(チュウニング・プロセスをセット)
akc6951_write_byte(0, RegVal[0]); // Register0

// wait for tunning complete
to = 0xffff;
while(to--){
   // read tunning complete status
   RegVal[20] = akc6951_read_byte(20); // Reg20リードオンリーをバイト読み。
   if(STC) break; // Reg20-b6:stc(シークorTUNEプロセスビットが、'1'completeかチェック
}

// judge tune result
// if(!to || !TUNED || channel != READ_CHAN) return -1; // '-1':Error
// エラー3条件or:
// (1) リードをffffh回繰返してもerrorの場合
// (2) Reg20-b5:tunedビット(TUNEプロセス結果)が'0'no channelの場合
// (3) Reg20-b4-0・Reg21-b7-0:リードchが当該chと異なる時

if(!to) return -1;

return 0; // '0':complete

  ・バーアンテナを付けて、AMの、NHK-1のみ受信してみた。
   ノイズも気にならず良好に受信出来た。


■ 2018.7.1
  ・選局SWと液晶を追加して前作並みの機能にしてみる。
   液晶のインターフェースは、4ビットパラレルなので、そのままこれで行く。
   また今のところ音量は固定で進める。


■ 2018.7.3
  ・動き始めたので、以前もやった、RSSI(受信信号強度)の表示も試してみた。
   Reg27のリードオンリレジスタにその情報ビット:RSSI[6:0]があるので、それをリードして16進表示すればよい。
   これをやっている途中で突然、M6951モジュールが動かなくなった。
   チュウニングLED点灯せず。
   一度、SCLラインの接触不良で治ったが、また駄目になった。


■ 2018.7.4
  ・RSSI表示だが、BK1088との違いだが、M6951は、受信感度[dBuV]換算を前提とした値になっているので、
   個別に読み出すと、数値が小さいほど強度大ということになっている。
   閾値を逆にして、とりあえずRSSIの値のみ表示。
   今日は今のところ動いている。

  ・と思ったが、暫くすると昨日と同じ状態に。
   どうも駄目な時は、SCLのレベルが+5V近辺に上がらず、3V以下。波形もかなり鈍っていた。(写真撮り忘れました)
   たぶん何時ものプルアップ不足と思い、10k→ 5kにしてみた。
   クロックレベル≒4Vまで上がる。これでOKになる。

  ・BK1088とのRSSIレベルの比較をしてみました。
   BK1088: J-WAVE= 39〜3A | 放送大学= 2D〜2E
   M6951 :  J-WAVE= 0E〜3F | 放送大学= 15〜16

  ・レベルバー表示は今の時点では考えない。
   
受信感度[dBuV]を考える。
   aitendoモジュールのレジスタ表の説明に、換算式が載っていたので、その通リ換算表示した。
   Reg27の情報ビット:RSSI[6:0]の他に、Reg24[7:5]:PGAレベル_RFと、Reg24[4:2]:PGAレベル_IFを読取り
   FMの場合、103-RSSI-(6xPGAレベル_RF)-(6xPGAレベル_IF)
   で算出される。
   下写真は、NHK-FMを受信した時のもの。


■ 2018.7.5〜 2018.7.8
  ・FM/AMの切替え+SW(I2C)による「音量調整追加版、一応出来るが不満は残る。

  <不満な点>
   @ AMはバーアンテナの位置によってかなり感度が変わる。
      上写真のようにモジュールの横に垂直に置くと一番ノイズも少なく感度が上がる。
      上に水平に置きたいが感度が下がる。
   A FMとAM(バーアンテナ)のアンテナを同時に付けていると、AM受信時のノイズが大きくなる。
      AMの感度の高い、NHK-1・TBS・文化放送は問題無いが、感度が高くても、NHK-2はビートノイズが混入する。
      感度の低い日本放送とラジオ日本はもろに影響を受ける。
      尚、FMアンテナを外しても主要3局の、東京FM・J-WAVE・NHK-FMは問題なく受信出来る。


■ 2018.7.9
  ・何か、おかしい時あるが、復帰した。
   いや復帰しなくなった。
   AM受信中に感度は十分であるのに音が出なくなる。
   FMはそういうことは無い。
   外来ノイズの関係? 復帰しない原因不明。
   この問題、結局は、モジュールのVCCを5Vで動かしているのが原因だった。
   PICはトレーニング基板の関係で、VCC=5V。これに手持ちの適当なシリコン・ダイオードを直列に1個挿入し
   約4.5V(実測:4.42V)に落としてモジュールに供給。
   モジュール冶具内に、I2Cのプルアップがあるので、そのVCCも、4.42Vになっている。
   これで安定動作するようになった。5Vではデバイス破壊までは至らないが、動作保証外のようだ。
   PICは4.5Vでも動くので全体をそうした方が良いかもしれないが冶具を改造したくないので、その辺は本番で
   検討したいと思っている。
   以下にダイオードを挿入して電圧ダウンしモジュールへ印加している写真を示しました。


■ 2018.7.10
  ・dBuV表示だが、FMアンテナ未接続時、255と表示されることがある。
   FMの場合、103-RSSI-(6xPGAレベル_RF)-(6xPGAレベル_IF)なので、マイナス分が、103を超えると
   受信感度が、0からマイナス領域へ移ると考えられる。
   これに定義している変数:SIG_LEVELは、char型なので、-128〜127を扱うが、2の補数表現を考慮した
   表示値変換をしていなかったのが原因だと判り修正した。以下に表示例を示す。


■ 2018.7.12
  ・もう一つ問題がある。
   FMの感度が今一低いのだ。
   アンテナ無しで受信出来ているのは、15〜24dBuVの、近場のTOKYO-FM:80.0M・J-WAVE:81.3M・NHK-FM:82.5Mの
   3局のみで、アンテナを付けてもdBuV表示は上がるが、遠方の局は受信出来ていない。
   かろうじて、NACK5:79.5Mが受信できる程度。
   これに関して、aitendoのデータシートに載っていた、NPNトランジスタ:S9018(SOT-23タイプ)を使用したTRアンプ
   を最短配線で試してみたが、思うようにゲインが取れず、聞いた感じの受信状態に変化は見られなかったので
   今回はアンプなしにした。本格的なRFアンプが必要なのだろうか?今後の課題にしたい。
   下回路図(データシートより抜粋)の、P_0N1は誤記でVCCだと思います。


---<ここから、「PICとM6951の、VCCを3.3Vに変更し、ケーシングを含め使える形にまとめました」の記事>-------------------------------------------

■ 2018.7.18
  ・本番を考える。
   (1) 電源
     @ M6951モジュール
        推奨動作条件の電源電圧(VCC)は、3.3Vtyp〜 4.5Vmaxなので、3.3Vにしてみる。
     A @に伴い、PICも3.3Vとする。
     B SC1602BS液晶(バックライト無し)は、5Vとする。

     これで試してみる。
     懸念として、音量が、VCC=4.4Vの時と比較して、小さくなることが考えられるが、VR調で何とかなると思う。
     また3.3Vレギュレータと平滑コンデンサは、SMT品を使い、基板裏面のランドを利用して配線してみる。

   (2) 省エネのため、モジュール内の、TUNE LEDは未使用(使用・未使用を、ピンで選択)にする。


■ 2018.7.19
  ・
部品配置を検討。
   最初は実験時の配置そのままにしようと思ったが、外観上の見た目が悪いので、液晶を上、その下に
   SW類+バーアンテナ+モジュール+SPを配置することにした。
   以下に検討中の写真をアップしました。


■ 2018.7.20〜 2018.7.23
  ・部品実装作業

  ・悩みどころとしては、バーアンテナの固定方法だが、aitendoにピッタリ寸法ではないが、ナイロン製のホルダー
   があったのでそれを利用することにした。
   これです→ バーアンテナーホルダ(Φ8) [FBHD-8]
   穴に押し込んではめ込むタイプのようですが、両端に出っ張りがあると、はめ込むのがキツイので、片側の出っ張りは
   少し削りました。
   またバーアンテナの径が、10mmほどあるので、輪の天辺部分を切り、押さえつける様に取り付けています。
   これにより縦方向でも固定されます。

  ・あと注意する点としては、M6951モジュールのピン・ヘッダ間ピッチがインチメッシュから外れているので、
   ピンバイス等で穴をずらす必要があることです。
   (実験時は、ソケット・コネクタを介しての接続でしたので少し広げ気味にして取り付けていました。)


■ 2018.7.24
  ・実装完了。

  <動作チェック開始>
   @ 電源ラインにショートがないか?→ OK
   A 電源電圧チェック
      LCD・バーアンテナ・PIC未実装
      +3.3V→ 3.30V
      +5V→  5.22V
   B Aの状態で、PICを実装し、HEX書込み→ 問題無く書込みOK


   C LCD・バーアンテナ・SPを取り付け、動作確認。
      問題無く動いている。
      稼働状態での、VCC=3.30V・5V=5.22V(モバイルBAT使用時の消費電流≒45mA)

    ・FMアンテナ無しで実験時の性能出ている。
     <AM>
     受信良好→ NHK-1・NHK-2・AFN・TBS・文化放送→ 80〜 90dBuV
     受信不可(ノイズに埋もれる)→ 日本放送:60dBuV・ラジオ日本:45dBuV

     <FM>
     受信良好→ 東京FM・J-WAVE・NHK-FM→ 25〜 27dBuV(FMアンテナ有り時:54〜56dBuV)
     受信不可(ノイズに埋もれる)→ Inter-FM・放送大学・NACK5・横浜-FM→ 7〜8dBuV(FMアンテナ有り時:30〜32dBuV)

    ・VCC=.4.4V→ 3.3Vに変更したが、動作上問題なし。
     心配していたアンプの音量も聞いた感じ変化無し。


■ 2018.7.25
  ・面倒な、アクリル板の加工に入る。
   今回高さの関係で、液晶のエスカッション部を、避けるため、開口(切り抜き)が必要になった。
   加工の途中で上部側にヒビを入れてしまった。
   とてもやり直す元気がなかったので、上部側はそのまま端までそっくりカットすることにした。
   上端部には、PICkit2のストレートコネクタ・RESET SWが配置されているので、アクリル板を外さなくてもHEX書込みが出来、
   好都合である。


■ 2018.7.26
  ・一応、ケーシングまで済んだ。

  ・AM受信時に不満が残る。
   受信感度[dBuV]の値が、本体の傾き(設置面とバーアンテナの位置関係)によって変化する。
   水平に寝かせて置いた時、感度が最大になり、そこから傾斜させて起こして行くと、傾斜がきつくなるほど
   感度が下がり、垂直で感度が最小になる。
   もともと90dBuV以上ある、TBS・文化放送は垂直に置いてもノイジーにならないのだが、他の局は
   ノイジーになる。
   垂直に置いて使うことを想定していたので、ちょっと残念。
   水平に置くか、少し傾けて使っている。
   何か良い対策は無いものか・・・ 今後の課題にしたい。


---<「ソフトVUP」 V1→ V1aの記事>-------------------------------------------

■ 2018.7.28
  ・ソフトを更新し、V1aとしました。
   FM帯の感度が今一なので、感度が低い局(
Inter-FM・Housou_D・Yokohama-FM)を削除し、その代わり
   ワイドFM3局(
WideFM-TBS・WideFM-ブンカ・HappyFM93:AMの日本放送に相当)に置換えました。

   ソフトの変更点の概要は以下です。
   (1) メインソース:M6951_AM_FM_Add_LCD.c
      @ 局名と周波数の表示用文字テーブル変更
      A FMのプリセット周波数定義の変更

   (2) M6951ライブラリソース:akc6951_lib.c
      
akc6951_initialize関数の以下2点を変更しました。
      @ 
FMBand(FM4); // 76-90MHz→ FMBand(FM2); // 76-108MHz
      A 
UsrChanStop((90000-30000)/25/32); // 90MHz→ UsrChanStop((108000-30000)/25/32); // 108MHz

  ※ 簡単な変更で、ワイドFM3局を、受信することが出来ました。


---<「ソフトVUP」 V1a→ V1bの記事>-------------------------------------------

■ 2018.8.2
  ・SW操作上の不具合と、液晶表示上の不具合があったので、ソフトを修正しようと思います。
   まずは、
SW操作上の不具合ですが、SWリードが不安定(3〜4回押しても反応しない時がある。)なので
   センス方法を、メインループによる方法から、状態変化割込み(CN割込み)に変更してみました。
   長押し処理以外の、SWセンスのみ、CN割込みで処理し、
   受信感度表示はメインループで、200mS毎に更新し、この200mSの待ちの間だけ、CN割込みを許可しました。
   この修正で、SWリードミスは、100%無くなった。
   これとは別に、時々液晶の初期化が上手く行かない現象が起きているので、それを何とかしたい。
   上手く行かない時は、カーソルだけの表示になったり、上段の初期メッセージ"DSP RADIO M6951"が表示
   しなかったりする。


■ 2018.8.3
  ・実験ベンチを、PIC18Fトレーニング基板に移し、以前C18で作成した実験テーマ64の「LCD_TEST」プロジェクトを
   XC8に移行し集中テストしてみる。(プロジェクト名「LCD_TEST_XC8」)
   以前も液晶初期化が上手く行かない現象を追求していて、RSを確定してからSTBパルスをアクティブにするまでの
   時間と、STBパルス幅が、1uSより目立って長くなるとこの現象が起こることを確認しているが、これを再確認してみる。
   そして同条件(C18で書いた遅延関数をXC8で使う)のプロジェクトを、XC8で書直し比較追求してみる。
   一つの追求として試してみることにした。


■ 2018.8.4
  ・XC8でも、plib\delays.h下に、C18で使われている遅延関数マクロ(サイクル・カウント遅延ルーチン:Delay・・・TCY()スタイル)
   が用意されているので、これをインクルードしてみた。
   Fosc=16MHz(Fcy=4MHz Tcy=0.25u)なので、1uS遅延は、Delay1TCY();を4回実行する。
   これで試したら、XC8でも上手く行くことが確認出来た。


■ 2018.8.5
  ・しかし、DSPラジオでは、省エネを考慮して、Fosc=4MHz(Fcy=1MHz Tcy=1u)にしている。
   クロックダウンして、Fosc=4MHzにすると、液晶初期化が上手く行かない時があることを確認した。


■ 2018.8.7
  ・そこで、Fosc=16MHzと、Fosc=4MHzでの、1uS遅延時間を実測してその違いを確認しようとしたが、
   LEDポートを使って1uSのトグル動作の周期を、Fカウンタで測る方法では、1uSに対してポートアクセス
   の時間が影響してくるので正確な比較は難しいことが判る。実測は断念した。


■ 2018.8.8
  ・Fosc=4MHz(Fcy=1MHz Tcy=1u)にクロックダウンすると、原発振自体の周期が、1uSになるので、Fosc=16MHz(Fcy=4MHz Tcy=0.25u)
   に比較して十分な精度を得ることが難しいと考える。(たぶん多目の時間になっていると推測する。)
   このDSPラジオでは、省エネを考慮して、Fosc=4MHz(Fcy=1MHz Tcy=1u)を目標としてきたが、液晶初期化問題を解決
   する為に、
Foscを16MHzに変更することにした。
   また最初試した
XC8で、C18のTCY遅延関数を使かう方法はXC8で、C18のTCY遅延関数を使うこと自体まどろっこしくてあまりやりたくない。
   結局、XC8のインライン遅延マクロ(__delay())を素直に使いFoscを16Mに変更するだけで、100%液晶の初期化はOKになったので
   この修正で行くことにした。
   尚消費電流の方だが、音量を上げた時に、10mAほど増えるが(50〜70mA、以前は60mAmax位)
   既に電池駆動のレベルではないので良しとした。


---<「Eagle CADで、基板設計〜P板化した記事>-------------------------------------------

■ 2018.8.10
  ・バーアンテナを含めた基板を、
Eagle CADで設計してみようと思います。
   既に配置はユニバーサル基板で下地が出来ているので、その部分はずいぶん楽です。
   ただ、無償最大サイズ:100X80mmにしたいので、ユニバーサル基板:102x84より、若干小さくなります。
   なので、ユニバーサル基板の時作ったアクリルパネルは使えません。
   面倒ですが再度作ることにしました。
   バーアンテナの下側にグランドプレーン(ベタグランド)が有ると、受信特性に影響が出ると思われるので、
   この部分は、TOP・BOTTOM共に、パターン禁止帯にしました。(aitendoの、DSP基板を見ると、そうなっていました。)
   また今回は、ACプラグに標準的な、MJ-179P(例の長穴スルーホールが3個必要なプラグです。)を使いたいので、
   またまた再挑戦(周囲パターンの違いが影響するのか?サーマルパッドがネットに繋がらないケースがある。)
   することにしました。
   特に対策は無いのですが、垂直方向に突っ切るように手配線で、DGNDに繋げておいてから、ポリゴンによるベタGND生成
   を試みようと考えています。


■ 2018.8.15
  ・パーツライブラリに無い以下の部品マクロから作成し、この日完了した。
   @ AITENDO_M6951モジュール→ 寸法資料が無いので、実測しました。上下コネクタ間が、インチメッシュでないので注意が必要です。
   A PIC18F14K50
   B ピンヘッダ類

  ・回路入力+ERCチェック+NETLISTチェック終了


■ 2018.8.16
  ・取り付け穴+禁止帯設定+部品配置まで済んだ。但し、CR類は未だ暫定位置です。


■ 2018.8.19
  ・Eagleでの作業が完了した。
   懸念していた、J1:
MJ-179P(長穴スルーホールが3個必要なプラグです。)のサーマル・パッドは、4方向共問題無く
   DGNDネットに繋がってくれた。

  ・ガーバーデータを、CAMプロセッサで作成し、ビューワ:gerbvにて確認した。良さそうである。


■ 2018.8.20
  ・FusionPCBのビューワでも確認。

  ・これでよさそうなので、正式発注を済ませる。


■ 2018.8.23
  ・アクリル前後パネルの加工を済ませる。


■ 2018.8.29
  ・
FUSION PCBから、P板届く。
   今回運送業者を、DHLにしたが、FedEXより4日位早く着いた。(発注から2Wのところ10日で到着)
   委託ということで、佐川急便による配達だった。


■ 2018.8.30
  ・午前中に部品実装が済んだ。

  ※ 1ヶ所だけ不具合有り。
     BAR ANTホルダ用の取り付け穴径が小さかった。
     3.2φ→ 4.5φに加工修正した。


     それでも片側の出っ張り部分を少しカットしないとハメ込みがきついのは変わらず。接着剤で補強もした。
    ( 設計当所、現物が無く十分寸法確認が出来なかった。寸法図はなく実測だが個体バラツキがかなりありそう。)

  ・何時ものように電源のショートチェックから始め、PIC・LCD未実装状態で電源電圧確認。
   HEX書込み前の状態で
   +5V→ +5.22V
   +3.3V→ +3.29V

   この状態で、PICを実装し、PICkit2にてHEX書込み。
   問題無く、PICを認識し、HEXを書込み出来た。

  ・LCDを実装し動作確認を行う。
   問題無く動作しているようだ。
   ユニバーサル基板の時と同様の性能は出ている感じ。
   ベタGNDにしたので、ノイズの出方が心配だったが問題無し。

   
この時の、電源電圧は以下の通リ。
   +5V→ +522V
   +3.3V→ +3.29V

   中華のモバイルバッテリに替えて、電源を確認してみた。
   +5V→ +4.99V(Ibat=30mAmin〜 60mAmax位)
   +3.3V→ +3.29V

 

  ・ここらでアクリル板を取り付けて完成。


<回路図>

 こちらから、どうぞ
 Aitendo M6951モジュール実験回路
                M6951_2バンド・ラジオ回路 ※ 180727:本作の回路図です。ソフトは実験版でも、そのまま動きます。
               M6951_2バンド・ラジオ_Eagle回路図 ※ 180831 更新


                    Aitendo M6951モジュール内の回路

<最終ソース・ヘッダファイル>

 ・こちらから、どうぞ:

    /// メインソース
               M6951_AM_FM_Add_LCD.c
     M6951_AM_FM_Add_LCD_V1a.c :180730更新

    
     /// LCDライブラリ
     LCD_Lib_xc8.c
     
LCD_Lib_xc8.h

     /// M6951ライブラリ
              akc6951_lib.c
              akc6951_lib_V1a.c :180730更新
              akc6951_lib.h

-----------------------------------------------------------------------------------------------------

 ※ V1b版(SWリードと、液晶初期化不具合修正版)を、ここにまとめてアップします。 :180809更新

    /// メインソース
     M6951_AM_FM_Add_LCD_V1b.c
    
     /// LCDライブラリ
     LCD_Lib_xc8.c        注:V1aからの修正はありません。
     
LCD_Lib_xc8_V1a.h

     /// M6951ライブラリ
              akc6951_lib_V1a.c       注:V1aからの修正はありません。
              akc6951_lib_V1a.h

-----------------------------------------------------------------------------------------------------

 ※ V1d版(I2CのSCL速度に関する誤記等の修正版)を、ここにまとめてアップします。 :200806更新

    /// メインソース
     M6951_AM_FM_Add_LCD_V1d.c
    
     /// LCDライブラリ
     LCD_Lib_xc8.c        注:V1bからの修正はありません。
     
LCD_Lib_xc8_V1a.h

     /// M6951ライブラリ
              akc6951_lib_V1b.c
              akc6951_lib_V1b.h

   <参考波形:I2CのSCL:約400kHz>


← 実験テーマ1に戻る   TOP PAGEに戻る   実験テーマ108へ →