Home‎ > ‎これまでの成果物‎ > ‎制御班‎ > ‎

HIDSPI2

概要

HIDSPIのコンセプトをそのままに,USBインタフェイス付きのマイコンを使用することによって高速化,部品点数の削減などをはかったもの.

主な機能は以下の通り:
  • USBバス電源からのターゲットへの電力供給.
  • HIDクラスを利用しているので専用ドライバのインストール不要
  • UART.com0comを併用すればCOMポートとして使える?
  • SPIマスタ.もちろんAVRの書き込みも可能.
  • I2Cマスタ

回路図,基板レイアウト

回路図はこちら.基板組立用の基板レイアウト図はこちら

エッチング用のパターンはこちら

組み立て方

大まかな流れとしては,次のようになる.

    1. 基板作成
    2. 部品実装
    3. 配線確認
    4. ファームウェア書き込み
    5. 動作確認
    6. ケース加工

基板作成

まずは,基板の作成から行う.今回は基板の作成には,感光基板をもちいず,生基板にトナーを転写する方法で行う.
詳しい方法は,このサイトを参照すること.

配布する基板には,あらかじめトナーを転写してあるので,残りは,不要な紙をはがすだけである.

右の写真のように,銅箔面にトナーが転写されているが,その上に,紙も残っている.トナーがある部分はエッチングの際に溶けずに残らなければならない部分なので,紙が残っていても問題ないが,トナーのない部分は溶けなければならないので,紙を取り除く必要がある.
そのために,基板を水で濡らして,指の腹や消しゴムでやさしくこすってやる.すると,すこしずつ紙が消しカスのようにとれてくる.
この作業を続けて,トナーのない部分の銅箔部分を完全に露出させる.

水にぬれていると紙が透けて分かりづらいので,時々乾かして紙が残っているかを確認する.
細かい隙間もすべてきれいに取れているか確認すること.

その後,感光基板と同様にエッチングを行い,不要な銅箔を除去する.残ったトナーはスチールウールでこするなどして除去する.

エッチング後は,基板のカットと穴あけを行う.ほとんどの穴は直径0,8[mm]であるが,一部例外がある.
どの穴が例外であるかは,右の図を参照していただきたい.

色のついた破線で囲んである穴が,例外となる部分である.
それ以外の囲んでいない穴はすべて0.8[mm]の穴である.

穴を開け終わったら,基板を切って,余分なところをヤスリなどで削って仕上げる.一応銅箔の端まで削れば,FRISKのケースに収まるサイズになっている.

今回の基板の穴位置のうちで,USBのコネクタ部分がかなりシビアなので,きちんと取り付けられるか確認しておくこと.
コネクタ抜き差しの際に負荷がかかる部分なので,きちんと取り付けられていないと,すぐに傷んで使えなくなる.

その後,フラックスを塗布したのち乾燥して,基板の準備は完了である.

部品実装

回路図と基板レイアウトを見ながら,部品を実装していく.

部品リストを書いておいたので,参考にしてもらいたい.

おおまかな部品の取り付け順としては,

  1. PICやFETなどの,ピン数の多い表面実装部品
  2. 抵抗,キャパシタ(クリスタル付近のものを除く),ダイオード,インダクタ
  3. コネクタ類
の順で取り付けると比較的うまくいく.

PICなどのピン数の多い部品の足の近くの抵抗などを先に半田付けしてしまうと,ピン数の多い部品の足のパターンに半田が流れ込んでしまい,半田付けが難しくなる.なので,先にピン数の多い部品を半田付けしてしまうべきである.

表面実装部品のつけ方のコツを書いてみたので,参考までに.

配線確認

部品の実装が終わったら,配線の確認を行う.

基板のレイアウトと比較して,きちんとつながっているか目視とテスタの導通チェック機能で確認する.

最低限電源とGNDが導通していないかくらいは確認してください.リセッタブルフューズがついているものの,導通した状態で電源を入れて部品やPCが壊れたりしても,私は責任を負わないのであしからず.


ファームウェア書き込み

配線の確認が済んだら,PICkit2などのPICライタを用いてPICにブートローダを書き込む.その後,ブートローダを利用してファームウェアを書き込む.

右に,PICkit2で書き込む際の接続方法を示した.

書き込むブートローダとファームウェアはここからダウンロードできる.

ブートローダを書き込んだら,USBのコネクタを左に来るようにおいたときに,スライドスイッチが上側にあるようにスイッチを設定しておき,PCのUSBポートに接続する.

その後,writefirm.batを実行すると,ファームウェアが書き込まれる.


ファームウェアの書き込みが終わったら,書き込みのための配線を切断する.写真の赤丸の位置の細くなっているパターンをPカッターなど
を用いて切断する.切断したら,写真の青丸の位置のパターンを半田をもってつなぐ.




動作確認

更新履歴

 更新日 ver. 内容
 2010/12/19 2.8BSYポーリングモードの判定にバグがあり,ポーリングを利用するデバイスで書き込めない問題を修正した.
 2010/12/12 2.7FLASHの書き込み完了待ちの方法として10[ms]ウェイトかBSYフラグポーリングを選択できるようにした.
 2010/12/06 2.6AVR用の命令を追加し,AVRの書き込み速度を高速化. 
 2010/11/28 2.5SPIの通信効率を改善し,通信速度が2倍になった.
 2010/09/02 2.4ターゲットの電源ラインの電解コンデンサなどによる電源供給時の突入電流により,BORが機能してリセットがかかった際に,電源の供給を切らない様に修正.
これにより,電源ラインのキャパシタの容量が大きい場合に電源が供給できない問題に対応.
 2010/05/22 2.3UART機能を追加. 
 2010/05/03 2.2 I2Cマスター機能を追加. 
 2010/05/01 2.1プロトコルを大幅に変更し,書き込みの高速化を図った.
ファームウェアのバージョン番号を,プロトコルのバージョン番号に合わせるようにした.
 2009/11/09 0.1 senshuさんの指摘を受け,ソースコードの公開に向け,readmeを追加.
 2009/10/27 ? 初版

Ċ
Robo Kirarin,
2011/12/16 21:23
Ċ
Robo Kirarin,
2011/12/16 21:23
Ċ
Robo Kirarin,
2011/12/16 21:22
ċ
I2CDebugger.zip
(46k)
Robo Kirarin,
2010/05/09 8:47
ċ
hidspi2_firm.zip
(643k)
Robo Kirarin,
2010/12/18 10:10
Comments