読者です 読者をやめる 読者になる 読者になる

Lynx-EyEDの電音鍵盤 新館

広帯域制御屋の駄文とか

特徴量検出と姿勢制御用のデバイスの設計(その2)

FPGA/CPLD

前回のエントリの続き
まだ作りかけですが、、、一応ボード設計のメドがたちました。今回はAltiumではなくDesignSpark PCBを使っています。
トラ技でも紹介された技適取得済みWT32モジュールWCA-009を乗せています。もともと、A2DPAVRCPプロトコルを生かした携帯ヘッドセット向けを想定されているので、今回のようなほぼSPPのみの用途では新幹線を時速10キロ運用するような使い方かもしれませんが、充電管理機能があるので使ってみようと思った次第です。

カメラボード周辺の機能を1ボードに収めてみました。部品点数が少ないので、多電源回路ではあるものの2層基板に押し込んでいます。
(※ベタグランドはまだ貼り付けていません)
f:id:Lynx-EyED:20120716174359p:image
残る配線は

  • イメージセンサ〜CPLD間の配線
  • WT32とUSB配線、またチョークコイルによるノイズ対策
  • WT32とリポ電池の配線とショート誤挿入対策
  • CPLD、イメージセンサそれぞれのコア電源にEMCフィルタ実装

があります

主要なデバイスは

  • MAX V CPLD: 5M570ZT144C5N(Altera)
  • Bluetooth/電源・充電管理モジュール: WCA-009(BlueGiga,ワイヤレステクノロジーKK技適取得)
  • イメージセンサ: TCM8240MD(東芝)
  • SDR SDRAM: S2508ADTA-75-E(エルピーダ)
  • LTC3670: 1chバックコンバータ+2ch LDO電源IC(Linear Technology)
  • LTC1963ES8-2.5: 2.5V LDO

です。SDRAMは某所で投げ売りされていた8bit幅を採用してますが、16bitにもCPLD内部のSDRAMコントローラ論理合成次第で対応可能です。
MAX Vの内蔵UFMにTCM8240MDへ送信するコントロールデータをあらかじめ書き込んでおきます。
PCやAndroidiPhoneといったデバイスからカメラの露出やガンマ値補正データをBluetoothモジュールに送信し、そのデータに応じてMAX VのUFMデータを書き換えます。
ボードの外形はArduinoですが、特にソフトウェア互換性はありません。液晶シールドを載せられたら便利かな?というだけです。
イメージセンサから受け取ったデータ*1は別FPGAと通信し、そちらのFPGAで特徴量抽出処理などをする予定です。このため、Arduino互換コネクタとは別にPMODコネクタを用意しています。


最後に、3Dビューを。
f:id:Lynx-EyED:20120716180631p:image
f:id:Lynx-EyED:20120716180629p:image

この形状で最後まで仕上げる予定ですが、MachXO2が使いやすそうという情報もゲットしたので、全面的に作り直すことも考えています。

*1:データの一部を切り取ってBluetooth経由でiPhoneなどに送信できるようにもする予定