PIC18F26J50の基本動作から応用プログラムまでを学びます。

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
SDカードリーダー

18F26J50のUSB機能と大容量メモリの特徴を生かした応用例で、SDカードをUSB経由でPCに接続し、外部メモリとして認識する回路です。 Microchip社の18F46J50用サンプルを18F26J50に移植しました。

使い方

回路図左上のPICkit、LED、SWは、プログラムを書き込むために必要ですが、書き込んでしまえば使用ません。カードリーダーに特化するのであれば電源SWも不必要でしょう。
SDカードとのインターフェイスはSPIを使用するので、18F26J50の大きな特徴である、Peripheral Pin Select (PPS)機能で物理的に接続するピンは任意に指定し直すことが可能です。カードリーダー専用であれば、もっとすっきりとした配線になるのですが、今までの経緯、今後の実験の都合から、いろいろなピンからSDカードに配線が接続されています。ご勘弁下さい。

プログラム

HID Bootloader対応のプログラムです。ロード切換SWはRB2、ステイタス表示がRB7,RB6のBootloader Probramが書き込まれているので、SDカードプログラムの開発・確認などのソフトウエア入れ替えは、HID Bootloader経由で行いました。
原型となったプログラムは「Microchip Solutions v2011-12-05」に収録されている「Device - Mass Storage - SD Card reader」です。このプロジェクトを元に大まかには以下の変更を加えています。

  1. 以下のファイルをPIC18F46J50用を参考にプロジェクトフォルダに作成する
    HardwareProfile - PIC18F26J50 Demo.h
     ⇒「HardwareProfile - PIC18F46J50 PIM.h」をもとに、SPIの接続ピン等を回路図の構成に変更する
    rm18f26j50_g.lkr
     ⇒「rm18f46j50_g.lkr」の内容のうち”46J50”を”26J50”に書き換えた
  2. HardwareProfile.h に以下の行を追加・変更する
    #elif defined (__18F26J50)
    #include "HardwareProfile - PIC18F26J50 Demo.h"
  3. main.cの”PIC18F46J50_PIM”の参照される行を探し”PIC18F26J50_DEMO”を追加
  4. プロジェクトを開き
    Configure >> SelectDevice で 26J50 を選ぶ
    46J50のHardwareProfileとLinkerをRemoveし1で追加したファイルをADDする

詳細は、プロジェクトファイルをご覧ください。

プロジェクトファイル SD_Card_Reaader.zip