BeagleBoard-xm with bc10カメラモジュール
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[labs.beatcraft.com]]
#contents
* BeagleBoard-xm with bc10カメラモジュール [#n3cb8ca2]
BeagleBoard-xmにbc10のカメラモジュールを接続し動かしまし...
BeagleBoard-xm に bc10向けrowboatカーネルをポーティングし...
bc10向けrowboatカーネルのソースコード入手方法は[[こちら>h...
** カーネルソースの書き換え [#p8ee5d94]
*** arch/arm/mach-omap2/board-omap3bc10.c の書き換え [#...
・bc10 と BeagleBoard-xm では映像出力信号の配線が異なるの...
映像信号の設定を変更します。
@@ -695,6 +695,42 @@
#ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux[] __ini...
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
{ .reg_offset = OMAP_MUX_TERMINATOR },
};
#else
・詳細
--------------------------------------------...
| 映像出力先信号 | 映像入力元信号名 (BC...
--------------------------------------------...
| DVI_DATA0 (R0) | DSS_D0 ...
| DVI_DATA1 (R1) | DSS_D1 ...
| DVI_DATA2 (R2) | DSS_D2 ...
| DVI_DATA3 (R3) | DSS_D3 ...
| DVI_DATA4 (R4) | DSS_D4 ...
| DVI_DATA5 (R5) | DSS_D5 ...
| DVI_DATA6 (R6) | DSS_D6 ...
| DVI_DATA7 (R7) | DSS_D7 ...
| DVI_DATA8 (G0) | DSS_D8 ...
| DVI_DATA9 (G1) | DSS_D9 ...
| DVI_DATA10 (G2) | DSS_D10 ...
| DVI_DATA11 (G3) | DSS_D11 ...
| DVI_DATA12 (G4) | DSS_D12 ...
| DVI_DATA13 (G5) | DSS_D13 ...
| DVI_DATA14 (G6) | DSS_D14 ...
| DVI_DATA15 (G7) | DSS_D15 ...
| DVI_DATA16 (B0) | DSS_D16 ...
| DVI_DATA17 (B1) | DSS_D17 ...
| DVI_DATA18 (B2) | DSS_D18 ...
| DVI_DATA19 (B3) | DSS_D19 ...
| DVI_DATA20 (B4) | DSS_D20 ...
| DVI_DATA21 (B5) | DSS_D21 ...
| DVI_DATA22 (B6) | DSS_D22 ...
| DVI_DATA23 (B7) | DSS_D23 ...
--------------------------------------------...
R0〜R5, B18〜B23に対応する入力信号がbc10とBeagleBoardで異...
DM37xの Pad Configuration レジスタのMUXフィールドを変更す...
マルチプレクサの設定が変わり、映像出力信号の入力元が切り...
*** driver/media/video/isp/isp.c の書き換え [#o13a78e5]
・カメラからのデータ読み込みタイミングとデータの順序を変...
@@ -868,6 +868,8 @@
ispctrl_val &= ~ISPCTRL_SYNC_DETECT_VSRISE;
ispctrl_val |= config->hsvs_syncdetect;
+ ispctrl_val &= ~(0x4); // ブリッジの設定 ...
+ ispctrl_val |= 0x00000010; // データ取得タイミ...
isp_reg_writel(dev, ispctrl_val, OMAP3_ISP_IOMEM...
*** driver/media/video/isp/ispccdc.c [#i01c78a6]
・カメラから受信する色情報の設定を変更します。
@@ -681,7 +682,7 @@
syncif.fldpol = 0;
syncif.fldstat = 0;
syncif.hdpol = 0;
- syncif.ipmod = YUV16;
+ syncif.ipmod = YUV8; // 入力色情報の...
syncif.vdpol = 1;
syncif.bt_r656_en = 0;
ispccdc_config_imgattr(isp_ccdc, 0);
・カーネル変更前 と カーネル変更後 の動作の違い
--------------------------------------------...
| 設定項目 | 動作 (変更前) ...
============================================...
| データ取得タイミング | YUVデータをポジティ...
--------------------------------------------...
| ブリッジ | U ⇔ Y, V ⇔ Y を入れ...
--------------------------------------------...
| 入力色情報 | CCDC内部での U ⇔ Y,...
| | 入れ替えが動作せず ...
--------------------------------------------...
---------------------...
| DM37x ...
| ...
| -----------------...
| | I...
----------------- | | ---------- ...
| | | | | | ...
| カメラ(cli6010) |=========>| ブリッジ | ==...
| | | | | | ...
----------------- | | ---------- ...
| -----------------...
---------------------...
-------------------------------------------...
| | カメラ出力 ...
============================================...
| bc10 (変更前カーネル) | UYVY ...
| bc10 (変更後カーネル) | UYVY ...
| BeagleBoard (変更前カーネル) | UYVY ...
| BeagleBoard (変更後カーネル) | UYVY ...
--------------------------------------------...
| ...
--------------------------------------------...
bc10はブリッジ入力の際、ポジティブエッジで画素データを取...
一方 BeagleBoard はネガティブエッジで画素データを取得する...
異なるエッジでデータを取得した場合、bc10はノイズが混じま...
BeagleBoardはデータの順序が入れ替わりノイズも発生します。
従って、ノイズはブリッジに入力される際に発生すると考えら...
また、カメラは画素データがポジティブエッジに同期する設定...
BeagleBoardではYUV信号と、データ取得クロックのタイミング...
ポジティブエッジでのデータ取得がうまく行えないものと考え...
・mdelayで画像の取得を待ちます。
@@ -1561,6 +1562,7 @@
{
struct isp_ccdc_device *isp_ccdc = _isp_ccdc;
+ mdelay(15);
return ispccdc_busy(isp_ccdc)
| (isp_reg_readl(isp_ccdc->dev, OMAP3_ISP...
ISPSBL_CCDC_WR_0) &
mdelayを行わない場合、CCDCがメモリへの画像の格納を終了し...
これは、CCDC_PCR レジスタの ENABLE フィールドがキャプチャ...
CCDCの状態( busyかどうか )が取得できないことが原因です。
今回は時間の都合上適切なソースの修正が行えず、mdelayによ...
** カーネルコンフィギュレーションの変更 [#vd1afa6b]
1.Pad Configuration レジスタへの書き込みを有効にし、映像...
System Type -> TI OMAP Implementations -> ...
2.カメラドライバを組み込みます。
Device Drivers -> Multimedia support -> Vi...
** boot.scr の書き換え [#e4106340]
[[こちら>http://labs.beatcraft.com/ja/index.php?cmd=read&...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=lcd cli...
omapfb.mode=dvi:640x480MR-24@60 omapdss.def_disp=lcd cli6...
書き換えてください。
動画撮影に使用したアプリケーションのソースファイルを添付...
今回撮影した画像を添付します。
#ref(v4l2_sample.c);
~
#ref(sample.jpg,,40%);~
RIGHT:Keisuke Koike
終了行:
[[labs.beatcraft.com]]
#contents
* BeagleBoard-xm with bc10カメラモジュール [#n3cb8ca2]
BeagleBoard-xmにbc10のカメラモジュールを接続し動かしまし...
BeagleBoard-xm に bc10向けrowboatカーネルをポーティングし...
bc10向けrowboatカーネルのソースコード入手方法は[[こちら>h...
** カーネルソースの書き換え [#p8ee5d94]
*** arch/arm/mach-omap2/board-omap3bc10.c の書き換え [#...
・bc10 と BeagleBoard-xm では映像出力信号の配線が異なるの...
映像信号の設定を変更します。
@@ -695,6 +695,42 @@
#ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux[] __ini...
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0103,
+ },
+ { .reg_offset = OMAP3_CONTROL_PADCONF...
+ .value = 0x0003,
+ },
{ .reg_offset = OMAP_MUX_TERMINATOR },
};
#else
・詳細
--------------------------------------------...
| 映像出力先信号 | 映像入力元信号名 (BC...
--------------------------------------------...
| DVI_DATA0 (R0) | DSS_D0 ...
| DVI_DATA1 (R1) | DSS_D1 ...
| DVI_DATA2 (R2) | DSS_D2 ...
| DVI_DATA3 (R3) | DSS_D3 ...
| DVI_DATA4 (R4) | DSS_D4 ...
| DVI_DATA5 (R5) | DSS_D5 ...
| DVI_DATA6 (R6) | DSS_D6 ...
| DVI_DATA7 (R7) | DSS_D7 ...
| DVI_DATA8 (G0) | DSS_D8 ...
| DVI_DATA9 (G1) | DSS_D9 ...
| DVI_DATA10 (G2) | DSS_D10 ...
| DVI_DATA11 (G3) | DSS_D11 ...
| DVI_DATA12 (G4) | DSS_D12 ...
| DVI_DATA13 (G5) | DSS_D13 ...
| DVI_DATA14 (G6) | DSS_D14 ...
| DVI_DATA15 (G7) | DSS_D15 ...
| DVI_DATA16 (B0) | DSS_D16 ...
| DVI_DATA17 (B1) | DSS_D17 ...
| DVI_DATA18 (B2) | DSS_D18 ...
| DVI_DATA19 (B3) | DSS_D19 ...
| DVI_DATA20 (B4) | DSS_D20 ...
| DVI_DATA21 (B5) | DSS_D21 ...
| DVI_DATA22 (B6) | DSS_D22 ...
| DVI_DATA23 (B7) | DSS_D23 ...
--------------------------------------------...
R0〜R5, B18〜B23に対応する入力信号がbc10とBeagleBoardで異...
DM37xの Pad Configuration レジスタのMUXフィールドを変更す...
マルチプレクサの設定が変わり、映像出力信号の入力元が切り...
*** driver/media/video/isp/isp.c の書き換え [#o13a78e5]
・カメラからのデータ読み込みタイミングとデータの順序を変...
@@ -868,6 +868,8 @@
ispctrl_val &= ~ISPCTRL_SYNC_DETECT_VSRISE;
ispctrl_val |= config->hsvs_syncdetect;
+ ispctrl_val &= ~(0x4); // ブリッジの設定 ...
+ ispctrl_val |= 0x00000010; // データ取得タイミ...
isp_reg_writel(dev, ispctrl_val, OMAP3_ISP_IOMEM...
*** driver/media/video/isp/ispccdc.c [#i01c78a6]
・カメラから受信する色情報の設定を変更します。
@@ -681,7 +682,7 @@
syncif.fldpol = 0;
syncif.fldstat = 0;
syncif.hdpol = 0;
- syncif.ipmod = YUV16;
+ syncif.ipmod = YUV8; // 入力色情報の...
syncif.vdpol = 1;
syncif.bt_r656_en = 0;
ispccdc_config_imgattr(isp_ccdc, 0);
・カーネル変更前 と カーネル変更後 の動作の違い
--------------------------------------------...
| 設定項目 | 動作 (変更前) ...
============================================...
| データ取得タイミング | YUVデータをポジティ...
--------------------------------------------...
| ブリッジ | U ⇔ Y, V ⇔ Y を入れ...
--------------------------------------------...
| 入力色情報 | CCDC内部での U ⇔ Y,...
| | 入れ替えが動作せず ...
--------------------------------------------...
---------------------...
| DM37x ...
| ...
| -----------------...
| | I...
----------------- | | ---------- ...
| | | | | | ...
| カメラ(cli6010) |=========>| ブリッジ | ==...
| | | | | | ...
----------------- | | ---------- ...
| -----------------...
---------------------...
-------------------------------------------...
| | カメラ出力 ...
============================================...
| bc10 (変更前カーネル) | UYVY ...
| bc10 (変更後カーネル) | UYVY ...
| BeagleBoard (変更前カーネル) | UYVY ...
| BeagleBoard (変更後カーネル) | UYVY ...
--------------------------------------------...
| ...
--------------------------------------------...
bc10はブリッジ入力の際、ポジティブエッジで画素データを取...
一方 BeagleBoard はネガティブエッジで画素データを取得する...
異なるエッジでデータを取得した場合、bc10はノイズが混じま...
BeagleBoardはデータの順序が入れ替わりノイズも発生します。
従って、ノイズはブリッジに入力される際に発生すると考えら...
また、カメラは画素データがポジティブエッジに同期する設定...
BeagleBoardではYUV信号と、データ取得クロックのタイミング...
ポジティブエッジでのデータ取得がうまく行えないものと考え...
・mdelayで画像の取得を待ちます。
@@ -1561,6 +1562,7 @@
{
struct isp_ccdc_device *isp_ccdc = _isp_ccdc;
+ mdelay(15);
return ispccdc_busy(isp_ccdc)
| (isp_reg_readl(isp_ccdc->dev, OMAP3_ISP...
ISPSBL_CCDC_WR_0) &
mdelayを行わない場合、CCDCがメモリへの画像の格納を終了し...
これは、CCDC_PCR レジスタの ENABLE フィールドがキャプチャ...
CCDCの状態( busyかどうか )が取得できないことが原因です。
今回は時間の都合上適切なソースの修正が行えず、mdelayによ...
** カーネルコンフィギュレーションの変更 [#vd1afa6b]
1.Pad Configuration レジスタへの書き込みを有効にし、映像...
System Type -> TI OMAP Implementations -> ...
2.カメラドライバを組み込みます。
Device Drivers -> Multimedia support -> Vi...
** boot.scr の書き換え [#e4106340]
[[こちら>http://labs.beatcraft.com/ja/index.php?cmd=read&...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=lcd cli...
omapfb.mode=dvi:640x480MR-24@60 omapdss.def_disp=lcd cli6...
書き換えてください。
動画撮影に使用したアプリケーションのソースファイルを添付...
今回撮影した画像を添付します。
#ref(v4l2_sample.c);
~
#ref(sample.jpg,,40%);~
RIGHT:Keisuke Koike
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。