Last modified 04/16/2002
このページには独自に解析した内容が含まれていて、 必ずしも保証できるものではありません。 ご利用については自己責任でお願いします。
東芝製デジタルメモリレコーダ用デジタルカメラユニット(DMR-C1)と Cygnal製8bitマイコン(C8051F300)を使って、シリアル接続のカメラを作ってみました。
下の図はSerial Cameraの回路図(04/06/2002版)です。
DMR-C1の信号線はTrevaと互換があるようです。
C8051F300のポートと回路図の通り接続しました。
DMR-C1TをC8051F300評価ボードにつなげたところです。
C8051F300用のファームウェアです。
C8051F300の内蔵オシレータの周波数は24.5MHzです。
そのままでは460.8Kbpsの設定ができません。(26.58 = 24.5M / 460,800 / 2 となり整数にならない)
そこでOSCICL(Internal Oscillator Calibration Register)を設定して
内蔵OSCの周波数を約24.0MHz(= 460,800 × 26 × 2)に変更しています。
周波数変更の詳細についてはデータシートの11.1.1.Programming the Internal Oscillator on C8051F300/1 Devicesを参照してください。
ただし、このデータシートを読むと低い周波数にする場合OSCICLを減算するように読めますが、実際は加算しなければいけませんでした。
データシートではΔTDES = TBASE - TDESとなっていますが
ΔTDES = TDES - TBASEが正しいと思われます。
ファームウェアはシリアルポートに何かしらのデータを受信したら画像の取り込みを開始します。 DMR-C1のデータフォーマットはTrevaと互換があるようです。 画像の取り込みは、データ列にAA55を探し 30byte読みこみ後のデータ列の最後が55AAだったら、 その後の画像データ(202,752byte)をシリアルポートから送信するようにしています。
AA 55 | ダミーコード | |
FF D8 | フレームスタートマーカ | ヘッダ |
1C | ヘッダ長(28) | |
F0 | モデルタイプ | |
F1 | バージョン | |
01 60 | 水平画像サイズ(352) | |
01 20 | 垂直画像サイズ(288) | |
81 31 20 |
フォーマット情報 8 : 8bitデータ 1 : YUV 3 : UYVY 1 : MSB 2 : 4:2:2 0 : 非圧縮 | |
4B 43 23 38 43 46 2E 2E | メーカ情報 | |
00 00 00 00 00 00 00 00 | ユーザ情報 | |
55 AA | データスタートマーカ | |
U0,Y0,V0,Y1, U2,Y2,V2,Y3... | 画像データ(352×288×2) | |
FF D9 | エンドマーカ |
Windows98用のソフトウェアです。
メニューの「Capt」をクリックすると画像を取り込みます。
シリアルポートから送られてくるデータはYUVなのでRGBに変換して表示しています。
なおシリアルポートを460.8Kbpsで使用しているので、実行するには別途
SHSMODが必要だと思います。