会社情報>会社概要>スタッフ日記

スタッフ日記

Zynqberryに追加された諸々のリファレンスデザインを触ってみる

2016/10/20

こんにちは、開発部のACKです。

少し間が空きましたが、Trenz Electronic社のZynqberryのHPが更新され、
新しいリファレンスデザインが3つ追加されていたので紹介します。

3つのデザインはそれぞれ、

  1. Rasberry Piカメラからの映像をHDMI出力
  2. Debian 8.2のHDMI出力でのGUI操作
  3. 動画・音声出力

という機能を実装しています。
これらのリファレンスデザインについて、機能の確認と動作手順および少しの解析を記していきます。

 

とりあえずまずは全デザインに共通している部分です。
PS、PL部の両ハードウェアの構成は全デザインで共通して以下のようになっています。


 

大きなまとまりとしては、

  • processing_System7_0(PL部、ARMのCPUの部分)
  • audio(音声の入出力)
  • video_in(Rasberry Piカメラからの映像の入力)
  • video_out(HDMIへの映像の出力)

の4つがあります。

 

音声に関してはまだ解析をしていないのであまり詳しいことはいえません...

映像に関してはそこそこわかっているので追記します。

入力は、Rasberry PiカメラからのCSI入力をAXIに変換しVDMAを用いて、
DDRのあるアドレスに書き込むというところまでをハードウェアでしています。

対して、出力もDDRのあるアドレスにあるデータをVDMAを用いて読み出して、
HDMI信号に変換して出力というところまでをハードウェアでしています。
つまり、VRAMに相当するアドレス範囲、フレームバッファがあって、
その部分を直接書き換えることでHDMI出力の画面を変えるというイメージです。


デザイン間で異なる部分は、SDカードに格納しておくimage.ubになります。
image.ubは petalinux のカーネルイメージで実装されているコマンドや設定が異なっています。
この部分は後述します。

 

demo1はRasberry Piカメラからの映像入力をHDMIに出力するというデザインなのですが、
これは入力のフレームを書き込むアドレスと、出力のフレームを読み出すアドレスを同一にしています。

sw_lib\sw_apps\zynq_fsbl\fsbl_hooks.c を見ると具体的なアドレスが見つかります。

ソフトウェアで行っているのはRasberry PiカメラのI2Cを通じた初期化です。
これはなかなかに長い信号を送っているのですが、いまいち資料がなくてどのような信号かわかりません(os\petalinux\components\apps\rpi-camera\sensor_config.h)。

初期化が行われた後はカメラ→DDR→HDMIという経路で映像が流れていくわけです。

 


demo2はDebianをGUIで動かすためのデザインです。
DebianのイメージファイルをSDカードにWin32 Disk Imagerを用いて書き込んだ後、
コンソールから startx と打てばGUIが立ち上がります。

このGUIはZynqberryのUSBハブに接続されたマウスやキーボードも認識して動作します。
デバイスドライバ等はpetalinuxでbuildされた?debianなのでokということなんでしょうか...

映像出力の部分はframe bufferをHDMI出力のアドレスにしているということなんでしょう。

 

 

demo3は動画・音声再生のリファレンスデザインです。

このリファレンスデザインではあらかじめSDカードに準備しておいた音声ファイル(*.wav)、動画ファイル(*.divx)の再生ができます。

動画に関しては play コマンドで動画の再生(音なし)が行えます。

音声は arecord および aplayコマンドを使って録音と再生が行えるようです。(筆者のイアホンと相性が悪いようで確認はできませんでした...)

これらのコマンドはソースファイルがな買ったのであまり情報が得られませんでした。

動画の方はエンコードをソフトウェアで実装して、VRAM領域に書き出しているのだろうと予想はつきます。実際コンソールから再生をとめると画面はそのまま静止します。

音声の方は前述したとおり、ほぼノータッチなので予想がつきません。すみません。

 

久しぶりにZynqberryに触ったらできることがとても増えていて面白かったです。
今後はどんなことを実装してくれるんでしょうか。

 

MMCMのダイナミック位相シフトを使って波形を計測する

2016/07/07

こんにちは、開発部のACKです。

少し前から、MMCMのダイナミック位相シフトという機能を使って実験していました。ダイナミック位相シフトとは、MMCM動作中に、出力のクロックの位相を変動させることができる機能のことです。

ダイナミック位相シフトを用いた目的は、ADCと計測信号の周波数を同期させ、計測信号波形のピークやボトムなどの一点のみを継続的に計測するためです。ここにはそのために行っていた実験の結果をまとめたいと思います。

 

まずMMCMにおける、ダイナミック位相シフトのためのポートと入力タイミングは以下のようにになっていました。

位相分解能は、調査したところVCO周期の56分の1のようです。実験では20MHzの計測信号を用いVCOの周期は960MHzとなっていたので、およそ18psの位相分解能を持つことになります。

MMCMのポートのPSCLKに同期して1サイクル分、PSENをアサートすればPSINCDECが1の場合は位相が進み、0の場合は位相が遅れるということのようです。

 

実験にはCOSMO-Zを利用しました。

計測対象の信号は以下のような波形です。今回はCOSMO-Z自身で生成しており、ADCの計測クロックと完全に同期しています。これを外部出力のピンに出力し 1KΩ の抵抗を介しADCの計測チャンネルに接続しています。

 

計測信号の周波数、ADCのクロックはともに20MHzです。動的位相シフトを利用せずに、計測した場合、以下のように、計測信号の一周期分の波形のうち、同じ場所が読み取られることになります。

位相シフトさせることにより計測する位置(上図でいう赤い矢印の位置)をずらし、ピークの位置にあわせる、というのが本来の目的です。この実験では、位相を少しずつずらし波形全体を計測することができるか、ということを見ました。

 

計測した結果は下図のようになりました。

波形が計測できていることがわかります。
一周期の波形はおよそ2700ポイントとなっていて
18ps * 2700 = 48.6 ns ≒ 50 ns → 20MHz ということで位相分解能も一致しています。

この計測方法では、計測信号がADCクロックの定数倍である限りADCクロックを超えて波形を計測することができます。

 

100MHzの信号を計測したのが下図です。

波形が計測できています。定数倍という条件をつけたのは、位相が波形の中で前から少しずつずれていく必要があるからです。

 

最大でどれくらいの周波数を計測できるかということを確かめたかったのですが、出力信号が減衰してしまい、計測以前に高周波信号を作成することができませんでした。

下図は300MHzのクロックを計測したものです。300MHz程度あればかろうじて計測することができました。

縦の範囲が小さくなっています。(前のグラフにも縦軸を入れておくべきでした...)

まとめとして、動的位相シフトを利用することでADCクロックを変更せずに時間分解能を向上(理想的にはVCO周期の56分の1)させることができました。

 

今回は行っていませんが、これを用いれば波形の中の任意の位置のみを継続的にサンプリングすることができるでしょう。

 

ACK

 

ZynqBerryでRasberry Pi のカメラモジュールを動かす(未遂)

2016/06/14

こんにちは、開発部のACKです。

最近はZynqBerryというRasberry Pi 互換の SoC搭載ボードでいろいろと試していました。
そして、つい先日Trenz Electronicのwikiページに、Rasberry Pi互換のハードウェアを制御するためのリファレンスデザインが追加されたので Rasberry Piカメラを動かすべく試してみることにしました。

結論からいうとまだ動かせるのを確認できてはいません。とりあえずちょっとだけ試してみたことを記していきたいと思います。

使うリファレンスデザインは rpi_hw_ips です。
http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0726/d2/Reference%20Designs/d3/2015.4/d4/rpi_hw_ips.html

 

基本的にリファレンスデザインは、用意されたファイルを、用意されたcmdファイルで書き込めば動くのですが、それだけではよくわからないので中身を見てみることにします。

Vivadoプロジェクトのブロック図を表示すると以下のようになっていました。


小さくて見えづらいかもしれませんが、audio, video input/output がAXIバスを通じて、
Zynqシステムにつながっていることがわかります。

また、CSI, HDMIはちゃんとピンに接続されていて、それらを接続するであろうVDMAもあります。

AXIバスのアドレスマップについてはAddress Editorから以下のようになっていることがわかりました。

これらをいじって制御を変更するのだと、あたりをつけてそれらしいものを探します。

 

rpi_hw_ips\prebuilt\os\petalinux\TE0726-02M\init.sh の中にそれらしい記述を見つけました。

#!/bin/sh
echo "-------------------------------------------"
echo Configure Camera
echo "-------------------------------------------"
rpi-camera /dev/i2c-5
echo "-------------------------------------------"
echo Enable Camera Stream
reg 0x43C10040 1
echo "-------------------------------------------"

 

rpi-cameraというコマンドに関しては rpi_hw_ips\os\petalinux\components\apps\rpi-camera という場所にコマンドのソースファイルがあります。

これらから、rpi-camera は zynqberry 用にビルドされた petalinux のコマンドであることがわかります。petalinuxのイメージについては rpi_hw_ips\prebuilt\os\petalinux\TE0726-02M\image.ub があったので、これをSDカードに image.ub として入れて(他の部分は http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0726/d2/Reference%20Designs/d3/Debian_8.4.html) Zynqberry上からブートさせてみました。

 

bootは無事に完了したので user, passwordともにrootでログインし、rpi-camera /dev/i2c-5を実行してみました。

が、結果は以下のとおり

#rpi-camera /dev/i2c-5
Raspberry Pi Camera Init
Unable to send data: No such device or address
Camera not found: No such device or address

#reg 0x43C10040 1

は実行してもエラーは出ないものの変化はありません。

 

とりあえず触ってみた感じとしては以上のとおりです。

うまくいかなかった原因としてはたくさん考えられますが、一番はブートイメージ回りの理解が全然足りていないことかなあと思います。あとはLinuxを解さずにスタンドアローンのアプリケーションから直接AXIバスを制御してみてもいいかもしれないと思いました。

ACK

ZYNQでSambaを動かす実験をしました.

2016/03/01

こんにちは、開発部のしゅです。

先日Cosmo-Z上のzynq7030でSambaを動かそうといろいろと実験をしてみました。
最終的にはうまくいかなかったのですが、どんなことを試したのかを記事にしようと思います。

 

現在Cosmo-ZはDHCPクライアントが入っているためIPアドレスは動的に取得することができます。
しかし、電源を入れたときにどのIPアドレスを割り振られたのかは、いちいちターミナルからシリアル通信でifconfigを実行して確認をしなければならないため非常に面倒です.
ここでSambaがあればWindowsからNetBIOSを用いてホスト名で接続ができて便利です。
さらに、WindowsからCosmo-Zへのファイルの転送も楽になります。

 

Cosmo-Z上のZYNQではLinuxのカーネルが動きます。
まずはそれ用のコンパイラarm-xilinx-linux-gnueabi-gccを用いてSambaをビルドしてみました。

 

Samba4.3.5のソースコードをダウンロード、展開をして
./configure --help
でオプションの確認をしました。

./configure --targets=arm-xilinx-linux-gnueabi \
--hostcc=arm-xilinx-linux-gnueabi-gcc \
--prefix=/usr/local/arm-linux

これを実行し、エラーが出ては足らないパッケージをインストールしたりなどをしたところMakefileが生成されました。
その後
make
make install
を実行して実行ファイルを生成しました。

/usr/local/arm-linux/samba/sbin
内のsmbdをCosmo-Zにコピーして実行してみたところ、エラーで動きませんでした。
原因は分かりませんが、configureのオプションが間違っていそうです。

このほかにも、ネット上にあるarm用にビルドをした記事を参考にしたりしましたが結局うまくいきませんでした。

Sambaを動かすのであれば、ZYNQでUbuntuを動かして、apt-getで入れるという手もあるのですが、Cosmo-Zは1GBのDDR3SDRAMにAD変換のデータを一時保存しているためあまりメモリを消費したくありません。

また、Samba自体もメモリの消費量は大きそうです。

なにかいい方法があればいいのですが。。。

しゅ

 

年末の特電は引っ越しで大忙しです!

2015/12/28

 

 

広報ながのです!

特電は移転作業を進めております!

 

 

とにかく社内はぐちゃぐちゃですね…

 


 

 

少しずつ片付いてきて、来年の営業開始時は万全の体制で迎えることができそうですね

 

こんな感じですが、今年一年ありがとうございました!

特殊電子回路営業再開は来年5日を予定しております

 

よいお年を!

箱詰め作業を進めております!

2015/12/7

 

広報ながのです!
現在Artix-7をご購入の方への発送準備しております。

6月にこの新しい箱に変えたわけですが以来この箱、大変好評です!

 

やっぱり箱がかっこいいと心躍りますよね。誕生日プレゼントやクリスマスプレゼント(そういえばもうすぐですね!)のあのワクワク感を思い起こさせるいい箱です。

最近は様々なものが仮想化やオンライン化しているのでなかなか箱でプレゼントをもらう機会が減っていると思います。ですのでせめて弊社の評価ボードをお受け取りになるときぐらいあのドキドキする気持ちを感じていただければと社員一同思っております。

 

 

あ、おれデバ(第一話)ついてます。

 

それにしても写真撮影が苦手です。もっと腕を磨く必要がありますね…。

受注業務改善

2015/12/4

業務改善担当の(麻紀)です。

日々、お客様から見積もり依頼や注文があるのですが、電話やメール受けた担当者の頭の中でしか管理されていないと、「あれ、○○さんのSpartan-6、発送したっけ!?」ということになります。

世の中には意思共有ツールみたいなのもいろいろあるのですが、いちいちパソコンを立ち上げて入力するのでは、忙しいときにバタバタして結局漏れが出てしまいます。

結局は、紙が一番ではないかということになりました。

試行錯誤の末、できたのがこれです。

 

ファミレスの入り口にある名前を書くやつを参考にして作りました。

問い合わせがあったらそのお客様の行を追加します。見積もり回答したり、受注したり、入金があったり、出荷したら、チェックを付けていきます。パソコンを立ち上げなくても使えます。ささっとチェックして、詳しい注文内容は後でゆっくりとACCESSのデータベースへ入力します。

これなら、帰ろうとしていたときに電話で注文が来てもちゃんとメモを残しておけますね。

何事も継続が第一です。

(麻紀)

JTAG情報総合サイトの改修が始まりましたよ

2015/11/27

最近寒い日が続いていますね、広報のながのです。

 

このたび、弊社の看板商品MITOUJTAGやその規格となるJTAGについて解説しているJTAG情報総合サイトの改修が始まりました!多くの方がこのサイトを読んでJTAGについて知識を深めることができるように、より読みやすいものとしたいと思います!

 

また、この改修に伴い、JTAG情報総合サイトはスマホ対応になります。これで通勤途中の電車の中でももっと気軽に読んでいただけるでしょう。

 

といったようにわりと大きな改修になるので時間はかかるかと思いますが年内にはしっかりとした形で皆様にお見せすることができるように頑張りたいと思います。

 

ちなみにJTAG情報総合サイトには弊社代表の内藤のJTAGへの熱い想いも載っているのでぜひ読んでください

 

はじめまして、ながのです!

2015/11/25

特電の広報等を担当することになりましたながのです!よろしくおねがいします!

 

スタッフ日記はなかなか更新する時間がとれなかったのですが、本日以降この日記は定期更新です!まだまだ更新頻度や書いていく内容など詰めていかないといけないところは多いのですが、近日中にはそのへんも含めて報告していきますのでご期待くださいね

 

そういうことで、あらためてよろしくおねがいします!ちなみにさきほどET-2015のレポートを書いたのでご来場のかたもそうでない方もぜひご覧ください!

 

リアルなCosmo-Z封筒を作りました

2015/08/27

こんにちは。藤堂です。

特電は9月に名古屋で行われる応用物理学会、11月に横浜で行われるET2015に出展予定です。

さて、特電では学会などのイベントの時にいつも多くの人にお手紙を出して出展のお知らせをしております。今までは実物大Cosmo-Zの圧着はがきを作っていました。

今回、新しいものを作ろうということになり、ハサミを使わずに開けることのできるCosmo-Z実物大封筒を作成しました。

実際のCosmo-Zと並べたのがこれです。

      

いかがでしょう。

業者さんが毎日のように来てくださって、私達の希望やこだわりを上手く形にしてくれました。ミシン目が付いており、ハサミなしに簡単に開けることができます。

藤堂はというと、業者さんに丸投げしていたというわけではなく、Cosmo-Zの画像を加工して部品を付けてみたり、元々付いていたシリアル番号のシールを消したりという作業をしていました。全然わからないように加工するのが地道でしたが楽しかったです。

この封筒以外にも、肝心な中身やそれぞれの展示会で展示するもの、ブースの配置などといった色んな準備が進んでおります。

是非、当日は両展示会へ足をお運びください。お待ちしております。

藤堂


Xilinx トレーニングイベントに出展しました

2015.08.05(水)

 このイベントを知ったのは二日前のこと。いつもお世話になっているPALTEKさんからの、一本の電話が始まりでした。前日にパンフレット作成し、今朝仕上がり、なんとか行ってみようと!

PALTEKさんのブースの片隅にCosmo-Zを展示させて頂きました。

 

なひたふ日記を見て弊社をご存じの方、MITOUJTAGが大好きという方、いろんな方が立ち寄ってくださいました^^一人でいきましたが、意外にも弊社製品を慕ってくださっている方が多く、全然心細くなかったです(笑)。

そして、ブースの目の前がおかしやらデザートが並び、休憩の度にわーーーっという感じでした。伝わりますでしょうか?

今回は急だったので、準備も程々に。少しでもCosmo-Zが皆さんに周知されればと思って参加しましたが、予想以上に知っていらっしゃる方がいて、PALTEKさんに感謝の一日でした。

また、よろしくお願いします!(笑)

(K子)

歓迎会と歓送会

2015.07.29(水)

今日から新しくアルバイトで来てくれることになったN君の歓迎会と、今月末で退職するS君の歓送会を行いました。

まずは、記念撮影を。

Kansougei_1Kansougei_2

S君は、昨年5月ごろから来てくれていた現在M2の学生です。研究でもFPGAを使っていて、論文を何本も出して、学会でも発表しているという優秀な学生さんでした。いいところに就職も決まって、あとは修士論文に向けて本格的に忙しくなるそうです。S君はこの1年間の間に画像関係の回路や、Cosmo-Zの回路をいっぱい作ってくれました。最後のほうは高位合成による巨大行列計算でのDSPリソース見積もりとか、非常にナウなこともやってくれました。

新しく来てくれることになったN君は、小学のころから電子工作をやっているという大学2年生。DE-0でVGAの画像表示回路を作ったり、「CPUの作り方」の4bit CPUをALTERAのMAX2に移植したり、いろいろと楽しみです。

なんと、そのALTERAのMAX2というのは、私が2005年のトラ技に書いた、あのトラ技CPLD基板です。当時小学生だったのにトラ技のCPLD基板を買って、電子工作に目覚めてくれたとか。そして、特電に来てくれるなんてすごい運命を感じます。

歓送迎会ということで、R&Dさんというお洒落な洋食屋でランチ。

Kansougei_3

Kansougei_4

1年間、ありがとう。お疲れ様でした!

(なひ)

Cosmo-Zの出荷箱ができました

2015/7/17

ケース付きのCosmo-Zはこんな形の商品なのですが、

これをプチプチでくるんでダンボールに入れて送るんじゃ、なんか高級感がないよね・・ということで、デザイナーの藤堂さんが、立派な出荷箱を作ってくれました。

まず、Cosmo-Z(ケース付き)がぴったり収まる小さなダンボール箱に入ります。わずかにクッションも詰まっています(下図の左)。

そして、大きなダンボールの底に発泡スチロールで型枠を作って、そこに小ダンボールを嵌めこみます。(下図の右)

大ダンボールと小ダンボールの隙間に梱包材を詰めていって、最後に設計CD-ROMや冊子類を入れて完成です。

(なひたふ 記す)

 

新しい箱ができました

2015/6/25

藤堂です。

 変えようという企画から約3ヶ月。業者さんとの連絡を30回以上重ね、

設計や改良をどのくらい行ったか覚えていないくらいに重ね……

とうとう新しい箱が完成し、発送準備も完了しました。

おそらく業界内だけでなく、他の多くの製品発送箱を見ても、今までにない目新しい箱です。

 箱のリニューアルに伴い、マニュアルや回路図をデバイスドライバと共にCD化、

シリアルナンバーもホロのシールになり、スタイリッシュな一式になりました。

 下段には引き出しが付いており、届いたらそのまま捨てる発送だけの箱ではなく、

使わないときの保存はもちろん、ちょっと工夫して全く違うものを保存するなど

様々な利用方法があると思います。

 諸事情により、まだSpartan-6評価ボードArtix-7評価ボードの出荷時限定ではありますが、

是非この機会に皆さんのお手元まで届けることができたらと思います。

 他製品に関しましても、順次この新しい箱に変えていく予定ですので、お楽しみに!

 

藤堂

 

スタッフ日記始めます

2015/6/19

なひたふです。ここにスタッフの日記を書いていく予定です。

なひたふ


 


© 2017 TokushuDenshiKairo Inc. All rights reserved