Armadilloフォーラム

外部出力

kazu_2012

2014年2月5日 10時07分

いつも拝見させていただいてます。

Armadillo-810に関する仕様でアイデアがあれば、教えてください。

カメラからのフレーム同期信号を取り出し、外部周辺回路(810とは別基板)で補助機能を追加しようと思っています。
そのためカメラからの垂直同期信号が取り出したいのです。
質問1、拡張基板CN2から810を通して取り出しは可能でしょうか?
質問2、Armadillo-810+ATB-A810WLANの無線カメラとした場合、カメラからの垂直同期信号は取り出せる方法はあるでしょうか
※ATB-A810WLANのCN4RTCのピンアサインを変えて、I/Oとして取り出すことが一番簡単でしょうか。

少々漠然としたした質問ですがご意見を頂けると助かります。

コメント

ハードウェアで信号線を取り出すことを考えてますか?

垂直同期信号は、R-Mobile A1の CEU に直接繋るようになっているので、
camera と a810の間に挟む板を作成するなどしないと、取るのは難しいです。

ソフトウェアであれば、垂直同期信号が入ったときに割り込みが発生するので、
その後、GPIOを動かすとか、ネットワークにパケットを投げるなどすることは
可能だと思います。

もう少し詳しく教えてもらえると、他の提案もできるかもしれません。

コメントありがとうございます。
当初はご指摘のようにハードウェア信号として取り出しを考えていました。
ただ、割込みがかかるようでしたら、そのようなアプローチを考えたいと思います。

想定している810構成は、810+A810WLAN+照明基板(自作)の小型無線一体カメラです。
照明基板には、Hi/Lowで制御できる簡単な回路を考えています。
そこで810 or A810WLANからは、上記制御信号を出したい次第です。
810(拡張基板なし)からですと、割込み後CN2,CN3,CN4のいずれからシリアルで信号を出す。
※それ以外にGPIOになりそうなポートがありますでしょうか?
また、A810WLANからですと、どこからI/Oとなるポートがありますか?

まだ構想段階ですので、この程度のお話しか出来ないですがコメントあればお願いします。

http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

CON 2, 3, 4 を考えているということは、横から出してハーネスを飛すイメー
ジですか? どのコネクターのピンも GPIO になれるものは、あると思います。

a810wlan であれば、CN4 が、GPIO になりますね。a810の CON5 の 42 pin と
43 pin なので。

http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

他の案として、自作ボードを間に挟みこむことはできませんか?

cam <-> a810 <-> 自作ボード <-> a810wlan

のようにするとか

cam <-> 自作ボード <-> a810 <-> a810wlan

両面にコネクターを実装する必要があるので、製造費は上ると思います。ただ、
大量生産する場合は、ハーネスの加工費の方がコスト高になるかもしれません。

もの作りの構想段階って、面白いですよね ;-)

早速の回答ありがとうございます。
ひとまず、下記手法で試してみようと思います。

その場合、提示いただいたピンから簡単なHi/lowを制御する場合、v20140131のユーザーランドソースのどのファイルを見てみるといいでしょうか?
まだ、内部ソースがどうなっているのか把握できていません。

> http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…
>
> CON 2, 3, 4 を考えているということは、横から出してハーネスを飛すイメー
> ジですか? どのコネクターのピンも GPIO になれるものは、あると思います。
>
> a810wlan であれば、CN4 が、GPIO になりますね。a810の CON5 の 42 pin と
> 43 pin なので。
>
> http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

at_daisuke.sasaki

2014年2月6日 20時03分

佐々木です。

> その場合、提示いただいたピンから簡単なHi/lowを制御する場合、v20140131のユーザーランドソースのどのファイルを見てみるといいでしょうか?
> まだ、内部ソースがどうなっているのか把握できていません。

GPIOのドライバはLinuxカーネルソースコード(linux-3.4-at6)の以下ソースです。
drivers/gpio/gpiolib.c

このドライバを用いたGPIOの制御方法については製品マニュアルの6.7章を参照いただけるとよいと思います。
http://manual.atmark-techno.com/armadillo-810/armadillo-810_product_man…

お世話になっております。
現物を触りながら少し考えが変わってきました。

> 他の案として、自作ボードを間に挟みこむことはできませんか?
>

> cam <-> 自作ボード <-> a810 <-> a810wlan
> 

上記構成を考えた場合、a810から自作ボードに信号を送ることを想定した場合、CON1 30ピン(810 port22)が空いているように見えますが、
これを制御I/Oとして使用しても後段のa810wlanには影響しないでしょうか?
※配線は、そのまま1対1で接続するつもりです。
あるいは、自作ボードにマイコンをおいて 40,41ピン(810 port195,196)でシリアル通信とすることも可能でしょうか?
※カメラには通っていませんが、後段の回路との通信に使用ずみでしょうか?

拡張性を考えるとシリアルが欲しいですが、それほど複雑な処理を自作基板で行うことも想定していないので、I/Oポート1つでも可能かと考えています。
参考までにお聞きしたいのですが、a810wlで使用できるRTCのシリアルラインは、上記CON1に接続されていないのですか?
※もし40,41ピンが、そのものであればご容赦下さい。回路図がイマイチ把握できていないので。

> 上記構成を考えた場合、a810から自作ボードに信号を送ることを想定した場合、CON1 30ピン(810 port22)が空いているように見えますが、
> これを制御I/Oとして使用しても後段のa810wlanには影響しないでしょうか?
問題ありません。

> あるいは、自作ボードにマイコンをおいて 40,41ピン(810 port195,196)でシリアル通信とすることも可能でしょうか?
こちらも、シリアル通信に使っていただけます。

> 参考までにお聞きしたいのですが、a810wlで使用できるRTCのシリアルラインは、上記CON1に接続されていないのですか?
> ※もし40,41ピンが、そのものであればご容赦下さい。回路図がイマイチ把握できていないので。
>a810wlで使用できるRTCのシリアルラインは、上記CON1に接続されていないのですか?

ATB-A810WLAN 製品マニュアル p.9の下記"RTC データ"を指されているのかと思いますが、
"43 P99_I2C_SDA In/Out RTC データ EXTIO25 (PORT99)"

Armadillo-810のCON1とCON5は、接続している信号線は重複していないので、
PORT99はCON5のみに結線されています。

時間が空きましたが、再度教えてください。

810製品マニュアルP151 表19.3 CON1 拡張入出力ピンのマルチプレクス

ここに記載されているpin15 "VIO_FIELD_0" => 1フレームの信号かと思い確認しましたが、Hi信号のままです。

質問1:カメラ <=> 自作基板 <=>810 とした場合、1フレームごとの信号をカメラからは得られないのでしょうか?
質問2:上記が得られないのであれば、810から1フレームごとの信号を出すには、ソースのどのあたりを修正・変更するといいのでしょうか?
 ※IRQピンを割り当てているということは、可能と考えているのですが。。。

宜しくお願いします。

>pin15 "VIO_FIELD_0" => 1フレームの信号かと思い
1フレーム分の垂直同期信号に割り当てられているのは、
pin17のVIO_VD_0です。
カメラモジュール側のピンアサインであれば"VSYNC"に該当します。

製品登録済みであれば、「Armadillo-810カメラモジュール 製品仕様書」から
カメラモジュール側のピンアサイン一覧と信号タイミングを見る事ができます。
https://users.atmark-techno.com/armadillo-810/camera-module-specificati…

pin17のVIO_VD_0には、VGAサイズで出力している時に、
約30ms間隔で264us程度の期間Hi(3.3V)になる信号が確認できます。

また、これらの同期信号はカメラからキャプチャを行っている状態でないと
駆動されませんので、PCとArmadillo-810を接続してArmadillo-810をUVCカメラ
として動作させている等の状態で計測してみてください。

返答ありがとうございます。
信号の確認できました。

ここからは更に初歩的な話です。
pin40/41のI2Cを使用したいのですが、GPIOやLEDといったクラスディレクトリがない場合、どのように制御するのでしょうか?
どのディレクトリにオリジナルソースを配置していいのか、わからないのですが。
※製品マニュアル 13章だけでは明確に判断できない状況です。

あるいは、御社で簡単なサンプルプログラムなどでATDEやTeratermといった端末から直接入力して、動かくすことは可能なのでしょうか。
質問が的確でない場合は、容赦ください。

自己訂正です。
40/41をI2Cではなく、シリアルとして使用するサンプルプログラムの間違いです。

追加で質問ですが810製品マニュアルP151 表19.3では、CON1 4~9ピンは"VIO_D0_0~5"となっていますが、カメラ製品仕様書側はNCとなってます。
更にカメラ出力8ビットとの記載から、GPIOとしてPORT27~34まで使用可能でしょうか?
もし可能であれば、端末で制御できるようにGPIOクラスに追加したいのですが、この辺りの設定はどこで行うのでしょうか?
※やはりそれぞれのソースが、どのディレクトリに配置されているのかが分からない状況です。
御手数ですが、解説お願いできますでしょうか

質問の内容が変ってきたので、別件にしてスレッドを作りなおしていただけますか。
多分、今からフォーラムに参加した人は、タイトルから何の話か推測できなくなると思いますので。。

ちなみに、I2Cの使い方については、「Armadillo 実践開発ガイド 第3部」に
I2C接続のA/Dコンバーターを使う例があるのですが、参考にならないでしょうか。

2.2. I2C接続A/Dコンバーター
http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-2…

中村です。

スレッドを別に立てて、とのご指導がありましたが、ここに返信します。

> pin40/41のI2Cを使用したいのですが、GPIOやLEDといったクラスディレクトリがない場合、どのように制御するのでしょうか?

linuxのソースの下のdrivers/gpioやdrivers/ledsに
I2CでのGPIOクラスやLEDクラスのドライバがあります。
これらを参考にしてクラスとして使えるようにする
ドライバを作られてはどうでしょうか?

> どのディレクトリにオリジナルソースを配置していいのか、わからないのですが。

適当なところに置いて、out-of-treeでビルドできるように
Makefileを書けばいいのですけど・・・
もちろんlinuxのソースの下(drivers/xxxの下)に組み入れてもいいですが。

> ※製品マニュアル 13章だけでは明確に判断できない状況です。

13章の説明ではドライバの追加をどうするかは、わからないですね。
400シリーズのatmark-dist開発者ガイドの11章を読んでみてください。

--
なかむら

中村様

コメントありがとうございます。
ご指摘いただいた内容を加味して、再度トライしてみます。