« 2010年8月 | トップページ | 2010年10月 »

2010.09.25

EXPARTAN-6Tの最終動作確認

開発中のEXPARTAN-6Tですが、ようやく機能検査も最後段階に入りました。

Expartan6t

まず、Spartan-6LXTのPCI Express Endpoint Block、つまり内蔵PCIeハードIPを使ってみました。結果は良好。

いままで特電PCIeコアでは、「AtomのWindows7マシンで、CONTECの拡張ボードを使った」場合に調子が悪かったのですが、内蔵PCIeマクロではケーブル接続でも問題なく認識されました。
もちろん、カードエッジ側も問題ありません。ケーブルもカードエッジも快調に動きます。さすが内蔵コア。

Exp6tatom

さて、Spartan-6LXTの内蔵PCI Expressをいろいろ調べていてわかったことは、これはトランザクション層以下がハードウェア化されたものだということです。トランザクション層パケット(TLP)の組み立ては、ユーザ回路で行わなければなりません。

言い換えると、Spartan-6LXT内蔵コアは、「アドレスとデータと長さを指定して書き込みリクエスト発行!」というような単純なものではありません。PCI Expressのパケット自体はユーザが自分で作らなければならないのです。内蔵コアはCRCの計算やデータリンク層ヘッダの付与、シーケンス番号の付与、バッファなどはハードでやってくれますが、設計者がPCI Expressについて深く理解していないと全く使えないのです。

つまり、Spartan-6LXTには内蔵PCIeコアがあるから、簡単にPCI Expressのデバイスが作れる、というほど簡単なものではないということです。PCI Expressのパケットの構造や特性を理解し、2重3重のステートマシンを自分で作らないと動きません。
ただ、コンフィギュレーションレジスタや割り込み関連はハードで行ってくれるので楽といえば楽かもしれませんが。

Spartan-6LXTコアと比べていて、特電PCI ExpressコアがAtomのマシンで調子悪かった原因の一つがわかりました。このマシンはOSにWindows7を乗せているのですが、Windows7はASPMといって電源を細かく管理する仕組みがあります。その中で、PCI Expressのリンクを自動的に低消費電力モードにするというオプションがあるのです。
L0soption

このオプションをオフにしないと、ものすごく頻繁にL0s(低消費電力モードの一種)に入ってしまいます。
特電コアはL0sをサポートしていなかったというのも理由です。

それから、SATAのコネクタを通じたループバック通信も検証しました。
Sata0Sata1

この基板、SATA用ポートは2つあって、ひとつがデバイス、ひとつがホスト用になっています。SATAはホストとデバイスでケーブルのTXとRXが入れ替わります。だから、この基板の2つのSATAコネクタを普通のケーブルでつなげばループバックして通信ができます。なお、SATA用のクロック発振器は150MHzのLVDSのを乗せています。1個1000円以上もしました。

検証用のため、CoreGeneratorでSATA用のコアを生成してもよいのですが、正直私はSATAは全くわからないので、PCI ExpressのPIPEを生成しました。でも、入力クロックが150MHzなので、リンクは3Gbpsで動くことになります。

かくしてGTP_X0Y0のチャネル0の送信ポートをチャネル1の受信ポートにつなぎ、チャネル1の送信ポートをチャネル0の受信ポートにつないでみたところ、見事にリンクアップして通信が出来ました。
Sata_linkup

SATAのプロトコルは詳しくはわからないので、とりあえずは通信の確立ができるというところまでを検証しました。この赤い線に、3Gbpsの通信が流れているのかと思うと、感慨深くなります。

これで約3週間にわたったEXPARTAN-6Tのすべての機能の検証が完了しました。
いよいよ来週から量産を行います。来週中には発売開始できるかもしれません。

ご期待ください!

| | コメント (0)

2010.09.24

Spartan-6ボードのチュートリアル

真夜中に突然目が覚め、Spartan-6ボードの使い方を分かりやすく書こうと思いました。
今日の朝までに書いたのは下の2つです。

■ボードの概要
http://www.tokudenkairo.co.jp/sp6/gaiyou.html

■最初のデザイン
http://www.tokudenkairo.co.jp/sp6/firstdesign.html

次はクロックについて書こうと思います。
週に1本くらいのペースで、USBコアの使い方とかDDR2の使い方まで書いていこうと思います。

解説希望のこととかあれば、リクエストをお待ちしております。

| | コメント (2)

2010.09.23

Spartan-6で作るOV7670の作り方

Spartan-6で作るOV7670の作り方を書きました。
ソフトウェアと、FPGAの設計データもダウンロードできるようにしました。

Howtomake_ov7670

Spartan-6ボードをお持ちの方は、ぜひ、試してみてください。

http://www.tokudenkairo.co.jp/sp6/ov7670.html

| | コメント (0)

ハバネロペッパーでラー油を作った

Habanero
ハバネロペッパーでラー油を作りました。
使ったハバネロペッパーは、SB食品のもの。
ハバネロペッパーは注意書きに、「刺激が強く、皮膚に刺激がありますので、取り扱いには十分ご注意ください」なんて書かれています。食品なのに。

ためしに、パウダーをそのまま舐めてみると、悶絶するほど辛かったですわ。麦茶や牛乳に舌を浸しても20分くらい収まりません。そのくらい後を引く辛さです。

そんで、作ったラー油がこれ。名付けてハバラー。

Habala

一口食べてみると、辛いのなんのって・・・。最初はあまり辛くなくて、あとからじわじわきます。

前に作った、カイエンペッパーのラー油は瞬間的に辛くて、今回のラー油は後を引く辛さです。

もしかすると、カイエンペッパーはカプサイシンの割合が多くて、ハバネロペッパーはジヒドロカプサイシンの割合が多いのかもしれません。

具材は、玉ねぎ、ニンニク、ねぎ、油揚げです。
油揚げをみじん切りにしてカリカリに揚げると、意外とラー油の具として良いのです。ぜひお試しあれ。

でも、あまり綺麗な色にはなりませんでした。
ハバネロペッパーは赤色ではなく、こげ茶色です。具を炒める温度も高めだったので少し焦げて茶色くなっています。結果的に、ラー油を作ったら茶色くなりました。
辛くするのは成功してきたので、これからは色合いを綺麗にする研究もしていきたいと思います。

でも、油の部分だけを見てみると、意外と透き通っています。
やはり、辛さ成分には色は無いのでしょう。

なんだか、さっきから胃の中が熱い気がします。
これはやばい物を作ったかも!?

| | コメント (2)

OV7670カメラのつづき

Spartan-6とOV7670によるUSBカメラのリリースに向けて邁進中です。

カメラ基板が、Spartan-6ボードの裏側にのるようにしました。
Sp6_ov7670_2
Sp6_ov7670_3

自分で立っていられるようになりました。
万能基板は配線のみです。

コントロールアプリも更新中です。1画面に収めました。
Sp6_ov7670_1

本日中にはリリースできると思います。


| | コメント (0)

2010.09.21

OV7670のカラー表示

OV7670から取り込んだデータを、カラー表示させることにしました。

OV7670は、RGB444、RGB565、RGB555、YUV、ベイヤ・・・などいろいろなフォーマットで画像を出力できます。
いろんなフォーマットがありますが、ベイヤパターンで出力させることにしました。

なぜベイヤを選択したかというと、それ以外のフォーマットはみな画像としての情報量が減ってしまうからです。
それにベイヤなら、RGB565やYUVと比べてデータ量は半分で済みますから、転送速度が2倍です。VGAなら毎秒120フレームの画像を取り込めます。(OV7670はそんなフレームレートは出ませんが)

取り込んだ絵は、かなり綺麗になりました。

Ov7670_image_4
Ov7670_image_5
Ov7670_image_6

このCMOSイメージセンサは、感度がよすぎるのか、卓上の蛍光灯を点けると色が白っぽくなって絵が汚くなります。卓上ライトを点けずに、部屋の明るさ程度がちょうどよいようです。

また、このイメージセンサには、AGCやAEB、AECなどをコントロールするレジスタがあるので、それらをコントロールできるようにしてみました。
Ov7670_control

思う存分、カメラレジスタをいじってみたところ、AEC(自動露出調整)をOFFにして手動で適当なところに調整し、AGCを自動にすると、とても綺麗な絵になるようでした。
しかし、露出時間を長くするというのは、シャッター時間を長くすることなので、動いているものを写すとボケます。露出を短くすると動いているものでもはっきりと映りますが、光量が少なくなるので、それをカバーしようとAGCが働くようで、画像は汚くなります。
露出の設定値は0~65535まで変化させられるようですが、256くらいを境目に、急激に絵の雰囲気が変わります。おそらく露出時間が1フレーム時間を超える境目があって、それ以上の露出を行うと絵は綺麗になるのでしょう。(ただし動いているものはボケる)
そういうわけで、絵を綺麗にしたまま、動いているものもはっきりと撮ることはまだできていません。

残った謎は、私のところにあるこのイメージセンサは、画像の左端が12ドットほど欠けているということです。画像出力開始地点をずらしてみてもこれは解決しませんし、FPGA内蔵ロジアナで見ても確かに黒い画像が出ているので、データキャプチャのミスではありません。

それにしても、カメラって、本当に面白いですね。

今回のサンプルプログラムとFPGAのデザインなど、OV7670で遊ぶために必要な設計データ一式は、近日中に無償で公開します。バグが取れ次第の公開となります。ご期待ください。

■おまけ
カメラのパラメータをいじっているところを動画にしました。

カラーとモノクロを切り替えたり、AEC、AWB、AGCの操作、左右反転や上下反転、カラーバーの表示などを行っています。
最後のシーンは、オンボードの64MBytes SDRAM中に蓄えられた約220枚のVGA画像を、順番に見ているところです。SDRAMの読み出し開始番地をスクロールバーで設定できるようにしているので、パラパラ漫画みたいに切り替わります。

■追記
今回のハードウェアは、特電Spartan-6評価ボードのLX16版を使っています。XC6SLX16でも、まだ30%くらいしか使っていません。

OV7670は、aitendoさんのモジュールを万能基板に乗せて使っています。
モジュールの信号をFPGAボードのI/Oポートに直結しているだけで、非常にシンプルな構成です。

正面
Sp6ov7670top

裏面
Sp6ov7670bottom

横から
Sp6ov7670side

| | コメント (0)

2010.09.20

Spartan-6ボードにOV7670を接続

特電Spartan-6ボードに、CMOSイメージセンサのOV7670を接続しています。

Spartan6ov7670

これは、特電Spartan-6ボード用に用意したリファレンスデザインが、USBとDDR2メモリとI/Oポートとの間で簡単にデータをやりとりできることを確認するために行っています。

カメラからのデータをDDR2 SDRAMに取り込んで、USBから読み出せるようにするところまでいくのに、だいたい2時間くらいでできました。一度もシミュレーションすることなく、エイヤで作ることができました。

OV7670のデータは、HREFが'1'になっている間に送られてくるようなので、このHREFを使ってデータをFIFOに書き込み、FIFOからSDRAMへ転送してみたところ、なんとなく、絵のようなものがみえました。

Ov7670_image_1

これはパソコンのキーボードの上にSpartan-6ボードを乗せたところです。

縦じまのようなものが見えているうえ、横に伸びているので、数バイトを使って1ピクセル分の絵を送ってきていると思われます。OV7670の出力するフォーマットを理解して、タイミングをうまく合わせれば、もっと綺麗な絵になるのでしょう。

■追記

MITOUJTAG内蔵のロジアナで、OV7670が出す波形を見てみました。
25MHzのクロックを与えた際、HREFの立ち上がりとともに7F 01 7F 01 7F 01 7F 01 ・・という信号を出してきます。
Ov7670_timing

実は、デフォルトではYUVモードになっているようで、上の01の部分がY(輝度)信号です。
V Y U Yか、
U Y V Yか、
UV Y UV Yかはまだわかりません。

Yだけを取ってグレースケールの絵にしてみました。

Ov7670_image_2_2

あまり綺麗ではありません。いままでOmniVisionのCMOSイメージセンサは何個も触ってきましたが、OmniVisionとは思えない画質です。
斜めになっているところを拡大してみると、2×2のブロックの塊がはっきりと見えます。

Ov7670_image_3_2

Bayerパターンのデコードを自分でやれば綺麗になるかもしれません。

| | コメント (2)

Spartan-6のアプリケーション開発で進展

今日はSpartan-6ボードのアプリケーション開発で大きな進展がありました。

まず、EZ-USB FX2のバルクリード/ライトでハングアップした際に、USBケーブルを抜き差しせずに、ハングアップから復帰する方法がわかったことです。もうちょっと頑張れば、タイムアウト付きのバルクリード/ライト関数が作れるかもしれません。

とりあえずは、コンロトール画面にリセットボタンをつけました。ハングアップしたときにこのボタンを押せば、復旧できます。
Sp6_smpl_1

それから、サンプルアプリケーションを、マルチスレッド化しました。
このアプリケーションは、ボード上のSDRAM内のデータをUSBで取り込みたいときに、画像の横にあるスクロールバーで開始番地が指定できるようになっています。しかし、今まではマルチスレッドではなかったので、バーを摘まんでいる間は、USBの転送が止まってしまっていました。
これをマルチスレッド化したら、スクロールバーをぐりぐり動かすことでSDRAM転送の開始アドレスを変えて、画像をスクロールすることができるようになりました。

いやー、それにしても64Mバイトというのはほんとうに広大なメモリ空間ですね。スクロールバーをぐりぐりしていると、その広さが実感できます。

そして、DDR2 SDRAMコアをマルチポート化しました!!
例えば、ポートAにはUSBの読み書き回路を、ポートBにはデータ収集装置とデータ出力装置をつなぐ、なんてことが簡単にできるようになります。

実験してみたのが↓の図です。

Sp6_smpl_2

上の図は、わかりにくいですが、パソコンからUSB経由で乱数データを送ってDDR2メモリに書き込み、FPGAの中のロジックで縞模様を描いて、それをパソコンに再度取り込んで画像を表示しているものです。

つまり、こういうことをする汎用的なしくみをつくっているわけです。

    カメラ
     ↓
USB⇔DDR2
     ↓
    テレビ

もうちょっと頑張って3ポートのメモリコントローラにすれば、

    カメラ
     ↓
USB⇔DDR2⇔ FPGA内ロジック (MicroBlazeとか)
     ↓
    テレビ

こんな仕組みが出来上がります。

新しいサンプルアプリケーションとDLL、および、FPGAのデザインは、今あるバグが取れ次第、アップロードします。お楽しみに。

| | コメント (0)

2010.09.17

特電Spartan-6ボード45の販売を再開しました

本日、オンラインショップで、Spartan-6ボード45の販売を再開しました
http://www.tokudenkairo.co.jp/shop/shop.cgi

Spartan6lx45

TKDN-SP6-16もTKDN-SP6-45も販売中です。TKDN-SP6-45は15台用意したのですが、予約いただいていたお客様に、14台出荷してしまったので、残るは1台限りです。
次の製造予定は、今月末になる見込みです。

お早めに。

| | コメント (0)

EXPARTAN-6TのDDR2メモリテスト

今晩は、開発中のEXPARTAN-6Tで、DDR2メモリテストを行いました。

Expartanddr2

EXPARTAN-6Tは、特電Spartan-6ボードにPCIeとSATAがついたような構成ものなので、特電Spartan-6ボード用に用意したUSBコアやDDR2メモリコアが使えます。
だから、コアだけではなく、テストアプリもそのまま使えます。

Expartan6t_usb

ただし、EXPARTAN-6TのDDR2メモリは16bit幅になって2倍の容量が乗っているので、若干の修正がいります。USBコアのデータバスは16bitなのに、DDR2コアは32bitになるので、その変換にCoreGenの非同期FIFOを使おうと思ったら、FIFOのemptyの出方が予想と違ったみたいで、ちょっとうまくいきません。

そのため、上下の16bitずつにわけて実験です。結論から言うと、128MBytesの全メモリ空間に乱数を書いて読みだすというテストはOKでした。

このボードは、いま各種の機能テストを行っています。主な項目は、
・スイッチング電源
・PCI Expressカードエッジ経由でのデータ転送(DMA、割り込み含む)
・PCI Expressケーブル経由でのデータ転送(DMA、割り込み含む)
・DDR2メモリ
・SATAコネクタ
です。

PCI Expressの転送試験はいろいろなパソコンで、念入りに行っています。カードエッジを通じたPCI Expressの転送試験はうまくいきました。一番相性の悪かったAtomパソコンを使って、乱数データをDMA転送して比較するということを毎日行っていますが、ノーエラーで動いています。

といっても、GTPのプリエンファシスやイコライザの設定をかなり調整しないとうまくリンクアップできません。この辺が厄介なところです。(自動で調整するしくみもあるのかもしれませんが・・)

また、PCI External Cablingでつなごうとすると、これはかなり曲者で、なかなかリンクアップして通信が行える状態になりません。リンクアップはしても、デバイスマネージャで見ると「?」がついていたり、きっとエラーが起きているのでしょう。
C社の拡張ボードを使ってケーブルを引き出しているのですが、どうもこのC社のボードも怪しいのです。C社のボードはPericom社のPCI Expressバスドライバを使って信号を増強して送ってきますが、その信号をSpartan-6LXTはうまく受け取れないようです。信号レベルとか、クロックの何かとかが違うのかもしれません。Spartan-6LXTのGTPをどう調整しても、C社のPCIe延長ボードとうまくつながらないのです。来週、別の会社のPCIe延長ボードを買ってためしてみることにしましょう。

いままで散々苦労した結果、経験的にわかってきたことは、Spartan-6LXTのGTPよりも、専用PHY(たとえばTI社のXIO1100)のほうがはるかに安定していたように思えます。

あとはSATAの検証が残っています。SATAコネクタを通じたループバック試験は明日、やってみることにします。

それから1.2Vの電源波形も見ないといけませんね・・。このボードは1.2V用にTPS74401という超高級LDOを使ったので、きっと大丈夫でしょう。

| | コメント (0)

2010.09.14

EXPARTAN-6Tの電源の問題を解決

Spartan-6LXTを使った新しいPCI Express評価ボード「EXPARTAN-6T」の電源の問題が解決しました。

EXPARTAN-6Tはこんなボードです。
Expartan6t2

このボードの電源は、ACアダプタ、PCIeバスパワー、USBからの給電、と3つの中から選ぶことができます。

ACアダプタとUSBを選択する場合は、基板上の5V→3.3Vのスイッチングレギュレータを使います。しかし、このスイッチングレギュレータがなかなか上手くうごかなくて、いままで、ずーっとこんな波形が出て悩んでいたのです。
Saw

どうみても安定化電源ではありません。これじゃ不安定化電源です。一応、FPGAは動作しますが、1Vのリップルが乗っているとEZ-USB FX2が動作しませんでした。

補償回路のCRの値が悪いのか、出力コンデンサのESRか、コイルが悪いのか、フィードバック抵抗やスロースタートコンデンサや周波数設定抵抗のところにノイズが乗っているのか、・・とほぼすべての部品をとっかえひっかえしながら一週間ほど悩んでいました。

インスピレーションを感じてもう一枚の基板に電源回路だけ組み上げてみると、見事に綺麗な波形が出るではないですか!

結論は、レギュレータのICが壊れていたのです。このICを取り換えたらうまく動くようになりました。
ICを取り換えたくても、パワーパッド付きのQFNを鉛フリー半田でがっちりつけているので、そう簡単には外れません。ヒートガンで炙ってようやく外れました。

次の写真は、ICを交換した後の写真です。ヤニでちょっと汚れています。
Tps54318

さて、今回選択したレギュレータICは、TI社のTPS54318というものです。

この電源ICは、立ち上がり時間は外付けコンデンサで調節することができます。現在の回路では4msになっています。オーバーシュートすることも波打つこともなく、綺麗に立ちあがっていきます。
Startup

電源ICの負荷に約3Ωの抵抗を(手で)つないだり外したりして、負荷電流を0A→1A→0Aと変化させてみると、100mVくらい変化します。3.3Vに対しての0.1Vですから3%で上出来です。
Loadreg
補償用のCRを調整すれば、もっと減らせられるのかもしれません。

ピンセットで3.3VとGNDを短絡させてみると、小さな火花が出ます。結構熱くなりますが、電源ICは安全にシャットダウンします。復旧するときには少しだけヒゲが出ますが、巨大なオーバーシュートが出たりすることもなく、許容範囲内で収まります。

さらに、この基板のFPGAにPCI Expressのコンフィギュレーションデータを書き込んでみると、消費電流は約450mA(DC5Vの部分で測定した値)と、USBで給電できる範囲内でした。

電源は大丈夫そうなので、一安心です。
PCI Expresのケーブル接続や、SATA、DDR2 SDRAMの機能の確認を急ぐことにします。

| | コメント (0)

MITOUJTAG BASIC 2.20へのアップデートパッチをリリースしました

MITOUJTAG BASIC 2.20bへのアップデートパッチをリリースしました。
(Light版も、2.20bへのアップデートパッチを同時にリリースしました。)

Mjb220_banner_2

バージョン2.16からそれほど変わっていないのですが、印刷がサポートされたりしています。
バージョン2.16からの大きな違いは、XILINX FPGAにつながったSPI ROMへの間接的書き込みができるようになったことです。

それから、今回のバージョン2.20bでは、Virtex-5の書き込みの問題も解決しました。
いままでは、ちょっとした問題があってLXとLX50Tしか書き込めなかったのですが、お客様からのご連絡がなかったので気が付きませんでした。SXTとかFXTとかTXTとか、LXTの大きいデバイスは誰も使っていなかったのかもしれません!?

バージョンアップパッチはこちらにあります。
http://www.tokudenkairo.co.jp/jtag/sp.html

どうぞよろしくお願いします。

| | コメント (0)

2010.09.13

今日はいろんなご意見をいただきました

今日は、製品の改善について4つほどのご意見をいただきました。

①Spartan-6ボードのデータ取り込みタイムアウト
ソースコードを欲しいというお客様がいらっしゃって、お話をうかがってみると、データ取り込み関数にタイムアウトの機能が欲しいそうです。
たしかに私もほしいです。
そういう機能を追加していこうと思います。

②J-WriterでSPI ROMに書き込みできない
Spartan-3ANのXC3S200ANに内蔵のROMに書きこめないというご連絡をいただきました。
確かに問題がありました。修正版パッチを作り、送りました。
また、NumonyxのROMにも書き込めないというご連絡をいただきました。
現在のJ-Writerはアルゴリズムが古いので書き込めません。
次回の更新で対応しようと思います。

③MITOUJTAGでVirtex-5の書き込みができない
MITOUJTAGの現バージョンは、Virtex-5に対応してはいますが、しらべたところ、XC5VLX全品種と、XC5VLX50Tのみしか対応していませんでした。FXT、SXT、TXTは実はうまく動きませんでした。
これはJTAGひろばにパッチをアップロードしました。

④MATLABとつなげたい
海外の方から、特電Spartan6ボードでMATLABとつないでデータ収集装置を作りたいとのご要望をいただきました。
たしかに、MATLABとかそういうのと接続して、データの取り込みができれば面白いですよね。
MATLABとかLABVIEWとか、そういうものとつながるようにしたいと思います。
でも、MATLABって使ったことがないので、まずはそこから勉強です。

MATLABやLABVIEW使える学生さん、ぜひうちにアルバイトに来てください。

| | コメント (0)

2010.09.10

Spartan-6評価ボードの再製造

Spartan-6評価ボードはこのところ品切れになっていましたが、本日、新しいロットが仕上がってきました。
今回の製造はXC6SLX16のボードです。
とりあえず20枚製造しましたが、すでに5個出荷したので残りは15個です。

Sp6_1

今回の実装では、電解コンデンサを低ESRの物に変え、LDOの型番も変えました。
コンデンサは青色の印刷のものになります。
そして、1台1台念入りのテストして出荷しています。

Sp6_2

今回のSpartan-6は、XC6SLX16ですが、速度グレードが上がって-3となりました。今までのボードより、ちょっとだけ高速になりました。
XC6SLX16は-3で、XC6SLX45は-2で出していくことになります。(XC6SLX45の-3はまだ入荷していません)
といっても、デバイスの入手難が続いているので、ずっと-3で出せる保障はなく、どちらかというと今だけのおまけです。

Sp6_3

Spartan-6には16と45がありますが、私自身はXC6SLX16のほうが好きです。なぜなら、書き込み時間も論理合成時間も短くて済むからです。SP6JTAGユーティリティで3秒くらいです。

SLX16でも120万ゲート(勝手な推定値)くらいはありますので、大抵のアプリケーションには十分なサイズです。ビットストリームがコンパクトなのは、いいことです。

本日より、オンラインショップでの取り扱いを再開します。

オンラインショップはこちらです。
http://www.tokudenkairo.co.jp/shop/shop.cgi

どうぞよろしくお願いします。

| | コメント (0)

2010.09.08

EXPARTAN-6T 奮闘中!

EXPARTAN-6Tの開発で絶賛奮闘中です!

まず、5V→3.3Vへの変換用にと思ったスイッチング電源が上手くうごきません!!!
3.3Vの波形がこんな感じになってしまって、安定しないのです。
/|/|/|/|/|/|/|

せっかく、TIの高いレギュレータを使ったのに!!

リップルの振幅は0.5Vくらいあるし、OSコンとかを追加してもこのリップルは減らないので、何かが間違っているのでしょう。
Expartan6t20100908

とりあえず5Vからの変換は後回しにして、カードエッジに直接挿して実験です。
私のパソコンに挿すと、基板のLEDは下を向いてしまうので、パソコンの中に鏡を置いてLEDの状態を確認しています。
Expartan6t20100908_2

ところが、以前のデザインをプログラムしても、なぜかPCI Expressが認識されません。どうやら通信のエラーが頻発しているみたいで・・・。よくよく調べてみたら、GTP(Spartan-6のトランシーバ)には罠があったようで、これは解決しました。Spartan-6は本当にあちこちに罠があります。

ある部品を取り換えたら、ちゃんと動くようになりました。

1時間ほどかけて、326ギガバイトの乱数データを転送し、受信し、比較してみましたが、ノーエラーでした。
Expartan6t20100908_3

とりあえず一安心です。


| | コメント (2)

2010.09.04

Spartan-6LXTのPCI Express評価ボード

Spartan-6LXTのPCI Express評価ボード「EXPARTAN-6T」の第二次試作があがってきました。

Sp6

今回は金フラッシュにしました。
基板屋さんに「レジストは厚く塗ってくれ。シルクカットはしないように。」と指示をしておいたので、Viaと重なったシルクも綺麗に印字されています。(この指示をしないと、勝手にシルクカットされてしまってボロボロになります)

DDR2メモリは1Gbitのものが乗っています。
SATAのコネクタは1個がホストでもう1個がデバイスになります。

Top

前回の試作時には、PCI ExpressのTXとRXを逆にしたりするチョンボをしてしまいましたが、今回は大丈夫なはずです。また、前回はドロッパレギュレータの発熱がすごかったので、今回からはスイッチングレギュレータを乗せました。はたしてうまく動くでしょうか?

各機能がうまくうごいて、テストもばっちりであれば、来週から量産を開始します。
まだ販売は開始していないのですが、既に3件ほどご予約をいただいております。

順調にいけば来週末には出荷開始できると思います。

| | コメント (2)

« 2010年8月 | トップページ | 2010年10月 »