« 2014年10月 | トップページ | 2014年12月 »

2014.11.25

MITOUJTAG活用セミナーを開催します

MITOUJTAGの導入を検討されているお客様や、よりMITOUJTAGを活用したいお客様向けに、講習会を行います。

第1回セミナー開催

日時:平成26年12月10日(水) 14:00~17:00

場所:日本橋MIXER (東京都中央区日本橋本町4-5-14 本町ビル5F)

参加費:無料

Mitoujtag_event

概要

このセミナーは、JTAGの基礎や仕様を解説するものではなく、MITOUJTAGを実際に使っていろいろな基板の動作を見て、デバッグするための実践的なセミナーです。

お客様のPCにMITOUJTAG Pro(体験版)を入れていただいて、実際にケーブルをつないで、いろいろなボードを見ます。そして、書き込んだり、ロジアナで波形を見たり、フラッシュROMを見たり、基板の導通検査をしたりします。

MITOUJTAGの使い方から、実際の基板のデバッグのコツ、そういったものを説明させていただきたいと思います。

内容

  1. MITOUJTAGのインストールから、JTAGケーブル認識まで
  2. バウンダリスキャンによるFPGAの可視化と操作
  3. XILINX FPGAの書き込みと、SPI FlashROMに書き込む方法
  4. FPGAにIPコアを埋め込んで内部信号を数百MHzでサンプリング
  5. C言語でバウンダリスキャン手順をプログラミングする方法
  6. 基板の実装不良をバウンダリスキャンで発見する方法

具体的にいうと、当社で様々なFPGA評価ボードや、CPU評価ボードをご用意いたします。評価ボードのメーカーや、ICのメーカーはさまざまです。

もちろん、特電製ボードもありますし、他社製ボードもあります。

ALTERA FPGAボードもあればXILINXやLatticeもあります。

Art7

お客様は、ご自身のPCにMITOUJTAGをインストールしていただき、JTAGケーブルをそれらの評価ボードと接続し、MITOUJTAGでまず可視化していただきます。

そして、書き込みが可能なデバイスならば書き込んでいただき、また、MITOUJTAGで可視化していただきます。

それから、回路図を見ながら端子を操作したり、フラッシュROMに読み書きしたりすることを実践していただきます。

Zynq_bscan

そういったことを2~3時間かけて行い、MITOUJTAGを使って基板の状態をみたり書き換えたりします。

持ち物

  • MITOUJTAGをインストールするためのノートPCをご持参ください。※Windows XP以降で、Intel製のCPUが乗ったもの。(ARM系のWindows Surfaceは不可)
  • もし、お客様の開発されたボードを見たい、というご要望がありましたらお持ちください。

参加人数

場所は貸会議室を利用させていただくのですが、スペースの関係から人数は5名程度を予定しています。一応、12名まで入れるのですが、やはり5名程度にしたいと思います。

もし、5名以上のご応募があった場合には抽選とさせていただきます。その際、お申込み順は大いに考慮させていただきますので、何卒、お早目のお申込みをお願いします。

●MITOUJTAG活用セミナーのページはこちらです。http://www.tokudenkairo.co.jp/seminar.html

●イベントの告知は「こくちーず」様のページを活用させていただいております。
http://kokucheese.com/event/index/240059/

こういうイベントの企画は初めてなので、いろいろ至らない点や、お客様が知りたい点とずれていることがあるかもしれません。ご意見、ご要望などございましたら、当ブログのコメント欄にお書きいただくか、メールでご連絡いただければ幸いです。

多くの皆様のご参加ならびに、ご意見をお待ちしております。

| | コメント (0)

2014.11.21

ET2014は大盛況でした!

ET2014は大盛況のうちに終わらせることができました!

ご来場いただいた皆様、そしてスタッフの皆様ありがとうございました。

2日目、ETフェスタもあるということで、早起きしてちょっとした出し物を作りました。

それは・・

Et2014_making3

久しぶりにつくったFPGAボード・クッキーとチップ・コンデンサ・クッキーです!

すごく久しぶりだったので、あまり上手に焼けませんでしたが雰囲気は出ました。

2日目に村○製作所の方がブースにいらっしゃったのでお見せしたら、ウケていただけました。

ETフェスタで基板クッキーをまるごと食べそうになったお客様がいたのでとめました。

2日目から、実は、「ZYNQ+高速ADC こちらというプラカードを作って、手で持っていました。XILINXさんのブースからすごくよく見えたようでした。

Et2014_placard

3日目はこの看板を印刷屋さんにだして本気で作りました。

この看板を見て特電を知ったという方もいらっしゃったので、ある一定の効果はあったようです。

さて、肝心の展示物は何だったのかというと、ZYNQを使った高速ADCボードということでCosmo-Zをメインで展示していました。サブの展示物は18bit 20chのAD変換ボードでした。

Et2014_booth

光電子増倍管は黒い箱に入れていたので、「これはスピーカではありません。光電子増倍管です」と書いておかないと、誤解されてしまいました。放射線が入るときのパルスとBGMがいい感じでマッチしていたので誤解されてしまったのでしょう。

思えばプラスチック・シンチレータと光電子増倍管を入手して、箱と電源を手作りするところから始めた展示会の準備でした。

Et2014_making4

これで本当に宇宙線が検出できるのかどうか不安でいっぱいでしたが、会場で無事に動いて、ZYNQとADCでバシバシ検出してくれました。

Et2014_cosmicray

会場で計測した波形と、エネルギースペクトラムのデータはノートPCに保存していたのですが、そのまま梱包して宅配便で送ってしまったので、来週まで見れません。

ですが、自宅よりも会場のほうが多かったような気がします。

今回、自分たちでじゅうたんを加工して矢印模様にしたり、

Et2014_making1

アングルという鉄の枠を組み合わせて(これが超重い!!!!!)造形物を作ろうとしたり(結局、展示スペースの関係で少し小さめに作った)、ブースを手造りを楽しむことができました。

Et2014_making2

でも、アングルは重いので次回はもう使いたくない・・かもしれない。

あと、特電のブースの前に集まったお客様どおしで意気投合して研究の話になったり、いろいろ面白いこともありました。

左の壁には特電のこれまでの沿革が貼ってあったのですが、2012年ごろのマイコンに手を出した2年間のことを見て、ああなるほど、と、いろいろ情報交換することができたのも成果の一つだったと思います。(意味深)

300冊用意したカタログは3日目の15時ごろになくなりかけていたので、350人くらいいらっしゃったのではないかと思います。

今までにないほど多くのお客様にきていただいたし、展示もうまくいったと思います。その秘訣は、例年より1か月くらい早く準備を始めたということと、スタッフの皆様がいろいろ考えてくれたからだと思います。

来年のET2015も出ようと思います。

| | コメント (0)

2014.11.19

ET2014出展1日目

今日はET2014の1日目でした。

Tokuden_et2014_1

細い道の中央で、三方が壁に囲まれたブースでした。決して立地条件に恵まれたブースではなかったのですが、かなり多くのお客様にご来場いただけました。

Tokuden_et2014_2

今回の展示会の華であったZYNQ搭載ADCボード「Cosmo-Z」も無事に動き、コンクリート(中のカリウム40?)から放出される放射線だか宇宙線だかを検出し続けてくれました。

画像を持って帰ってくるのを忘れたのですが、昨夜ZYNQのPLに即興で実装したMCA(マルチチャネルアナライザ・多重波高分析器)では、会場で有意なピークが見えたように思えます。

惜しむべくは、XILINXのブースから、特電のブースは良く見えるのに、特電のブースにZYNQがあることがわからないことです。

明日は、XILINXのブースから特電のブースにスムーズにお客様に来ていただけるよう、策を練っています。お楽しみに。

明日はETフェスタです。

浅草の銘酒「電氣ブラン」を用意して、F-12ブースで皆様のご来場をお待ちしております。

ふだんはブログに書けないような、あんな話題、こんな話題、過去の話なども、この場では喋ってしまうかもしれません。なんでも聞いてください。

| | コメント (2)

2014.11.18

ET2014の準備中

ET2014の準備も佳境に入ってきました。

17時ごろの時点で、特電のブースはこんな感じです。宅配便で送った荷物の到着が2時間以上遅れたので、現場は大変だったようです。

Et2014_panel

じゅうたんの素敵な模様は、2枚のじゅうたんを貼り合わせて作っています。

本当はL字型のアングルを使って箱型の構造物の中に入っていくブースを計画していたのですが、危険すぎるのでやめました。

アングルはプロジェクター用の投影スクリーンとなりました。このくらいのサイズならもんげー丈夫です。

上の写真に写っている左側の壁面には・・・それは、ご来場者だけのお楽しみ。

右側には素敵な絵が飾ってありますでしょ、

Et2014_panel2

これ、実は写真じゃなくてフォトショで描いた手描きの絵なのです。

Cosmo-Zの開発も順調です。事務所で動作テスト、ばっちりOKです。

Cosmozjikken

ディスクリをかけられるようにしたら、パルスがくっきりと見えてきました。

Cosmozpmt3

明日までにエネルギーのスペクトラムが出せるかどうか・・それはわかりませんが頑張ります。

さて、ご来場者の方にプレゼントがあります。

月刊特電のバックナンバーをお配りいたします。

あと、業者さんの一番厚い生地で作った特製トートバッグをお配りします。

月刊特電を読んでみたいというお客様はぜひお越しください。どちらも数に限りがありますので、売れ行き次第では早めになくなるかもしれませんので、ご了承ください。

※数に限りがありますのでお客様を優先とさせていただきます。

※「バッグだけくれ」、「月刊特電だけくれ」、という方にはお渡ししませんのでご了承ください。名札を裏返して身元を隠して一方的に探りを入れてくるだけの方や、目が合わせられない方、端からノベルティ目的をぷんぷんさせていて特電にまったく興味がない方はお断りです。

ちゃんと名刺交換して世間話ができる方はWelcomeです!

| | コメント (0)

2014.11.14

MITOUJTAGで最近の新しいフラッシュROMへの書き込み

MITOUJTAGにはフラッシュROMの書き込み機能がありますが、あるお客様からの問い合わせで、Micron製のPC28F00AP30TFAというFlash ROMに書き込めないという現象が起きていました。

どうやらこのROMは電源ONと同時にセクタプロテクトがかかってしまっているため、プロテクトを解除してからでないと書き込めないようです。

そこで、動作検証のため、PC28F00AP30TFAを使ってみようと思ったのですがBGAしかなく入手も難しかったので、同じファミリのJS28F256というROMを購入し、特電のスタッフに下の写真のような基板を作ってもらって確かめてみることにしました。

※JS28F256はIntelのStrataFlashですが、そのファミリはNumonyxを経てMicronになったようです。

Js28f_1

一見すると、特電Spartan-6ボードとピッチ変換基板にのったフラッシュROMに見えます。

その裏側は・・・

Js28f_2

こんなふうになっています。Spartan-6の各端子と、フラッシュROMの端子をつないだだけの単純な構造です。

Js28f_3

サクッと、ありあわせの材料で作りました。

さて、普通に考えればフラッシュROMに書き込むには、VHDLやVerilogを使ってSpartan-6の回路を作らなければならなそうですが、MITOUJTAG Proではそうではありません。

さて、セクタのロックやアンロックを確かめてみましょう。

こういう新しいアルゴリズムを試すために、MITOUJTAGには、アドバンスドJTAGファンクションジェネレータという機能があります。これを使うと、任意のFPGAの端子をGPIOのように動かして、それにつながったデバイスを自由自在に操作できます。

まず、ピン定義ファイルというものを作ります。これは、フラッシュROMのどこの信号をFPGAのどのピンにつないだかということを示しています。

ADV     1:R8 
ADDR    1:B4 1:B12 1:A12 1:B11 1:C10 1:C8 1:D8 1:U7 1:B16 1:A16 1:C15 1:A15 1:B14 1:A14 1:C13 1:A13 1:A6 1:C7 1:A5 1:B6 1:A4 1:C5 1:A3 1:B3 
CE      1:B2 
CLK     1:T8 
DQ      1:T5 1:U5 1:P11 1:T9 1:T4 1:V4 1:N3 1:N4 1:V5 1:N10 1:R11 1:T11 1:T3 1:N5 1:P4 1:P3 
OE      1:C6 
RST     1:R3 
WE      1:A11 
WP      1:A10 
WAIT    1:V7 

そして、CまたはC++言語でスクリプトを書きます。

例えば、セクタのロックを外すUnlockというコマンドは、アドレス0に0x60→0xd0と書き込むコマンドなので、

void Unlock()
{
	// Unlock
	ADDR = 0x0000;
	DQ  = 0x60;
	WE <= "0";
	WE <= "1";
	ADDR = 0x0000;
	DQ  = 0xd0;
	WE <= "0";
	WE <= "1";
}

という関数にしておきます。

メモリの読み出しなら

	ADDR = 0xffff;
	DQ  = 0xffff; // resetコマンド
	WE <= "0";
	WE <= "1";
	DQ  = "Z"; // データバスを入力にする
	OE <= "0"; // 出力許可
	for(int i=0;i<len;i++)
	{
		ADDR <= i + addr; // アドレスを与える
		if((i & 15) == 0) printf("%04x ",i + addr);
		unsigned long val = DQ.to_val();
		printf("%02X ",val & 0xff);

といった具合になります。

こんな感じで、ピン定義ファイルで定義した信号をC言語のソースから操作できるというわけです。スクリプトの全体はこちらにアップロードしました。

「flash_test_2.cpp」をダウンロード

64ワード書き込みの実行結果は、

-------2014/11/14 04:31:14 スクリプト実行開始-------
Block Lock Status 0000 
Configuration F94F 
Erase sector 0
Erase status:80
Program status:80
Read memory
0000 0082 2AE6 0442 2D88 1BCD 44BB 190F 59A4 7996 232C 38DE 0DF3 595F 483C 0550 1524 
0010 6861 57BF 61D7 69EF 7AD1 1C16 36A1 79EE 6B75 762C 67CB 39BB 4D68 54B1 4CC3 464B 
0020 5C29 0E96 33FE 0F8B 55EB 3CC9 3EDC 4839 2C18 6F32 21D8 1704 3627 58EE 14F4 44E7 
0030 529F 4FCB 0064 64C3 226C 3B04 317A 303B 4A62 4D3E 23D1 15D5 670F 25C2 2ABD 344E 
-------2014/11/14 04:31:18 スクリプト終了-------

このようになりました。

どんな処理をやっているかを波形で見ることもできました。

Js28f_6

このような複雑なシーケンスをC言語で書いて作れてしまうところがMITOUJTAG Proの便利なところです。

セクタロック解除のやり方もわかりました。d0 60の書き込みでよいようです。このように、MITOUJTAGを通じてバウンダリスキャンを自由に操作するスクリプトが使えるので、どんなコマンドのフラッシュROMが出ても大丈夫です。

アンロックのやりかたがわかったので、MITOUJTAG BASICにもフラッシュROMライタ機能でも使えるようにしましょう。

ピンの定義をGUI画面で指定して、

Js28f_4

CFIリードというボタンを押します。すると、デバイスのセクタ構成などを読み出してくれます。

Js28f_5

そうしたら、アルゴリズムというタブを開き、

algorithm serase
    setup
        xxx,xxx,ffff
        ADDR,ADDR2X,60
        ADDR,ADDR2X,d0
        ADDR,ADDR2X,20         ADDR,ADDR2X,d0     repeat         ADDR,ADDR,READ         IDLE,xxx,xxx     final         xxx,xxx,ffff

の2行を追加します。

これでセクタ消去の際にロック解除も一緒に行ってくれるようになります。あとはセクタを消去した後、普通に書き込みボタンを押せばOKです。

これでStrataFlashもといPC28F00シリーズも書き込めるようになりました。

| | コメント (0)

2014.11.12

月刊特電Vol6を発行しました!

お待たせいたしました!

月刊特電Vol6を発行しました。本日発送した数は70冊ほどですが、今週いっぱいは発送作業が続くと思います。

Gettoku6_fuutou

今回の誌面も前回同様、フルカラー8pで、技術情報満載です。誌面はざっくりこんな感じです。

Gettoku6_small

今回からはAdobeのInDesignを使って編集しました。

いままでの月刊特電と大きく違うところは、いままでは内藤だけが書いていたのですが、今回からは特電スタッフの皆様に少しずつ記事を書いてもらうようにしたことです。

それぞれの記事に個性が出ていて面白い号になったと思います。

目次は、

  • ET2014の舞台裏
  • MITOUJTAG の基板検査機能で不良解析
  • OP アンプの発振防止策
  • Cosmo-Z でミューオン検出実験
  • ADCのDNL・INLの測定方法について
  • ZYNQ のギガビット・イーサでハマったこと!
  • 18bit 20ch の「AD360 ボード」の開発

です。

お楽しみに!

◆月刊特電の送付を希望する方へ

月刊特電Vol6をご希望の方は、お客様サイトにログインしていただき、月刊特電のリクエストフォームでお申込みボタンを押してください。

Vol5が届いた方でも、Vol6を希望するボタンを押さないと届きませんので、毎回押していただけますようお願い申し上げます。

◆お客様サイトに登録していないけど、月刊特電を読んでみたいという方

ET2014に月刊特電のバックナンバーを何冊かもっていきます。F-12ブースまでお越しください。

| | コメント (0)

2014.11.11

ET2014出展の準備

ET2014のブース設営のため、スタッフにアングルを切ってもらっています。金のこぎりでひたすら切っています。

Angle1


ブースの壁とかは防炎性能が必要です。つまり燃えないもので作らなければなりません。

そこで、自由な形を作ることができて比較的安価な材料として、「アングル」を選びました。1.8mのアングルを20本購入し、つなぐための金具とか、ねじとか大量に購入して、試行錯誤をしています。

実は、私をはじめ、特電の人たちはアングルを使ったことがありません。

Angle2

いったい、どんなブースができるのか!

ご期待ください!

1412303885_etkokuchi

| | コメント (2)

2014.11.05

AD360データロガーのその後

先週末から3連休、そして火曜日も、AD360データロガーの開発を続けていました。

4枚重ねてみると、思った以上にかっこいい外観になりました。これで20chの素晴らしい性能のデータロガーになるはず・・

Ad360_20ch

しかし、基板1枚では結構理想的な特性が出ていたのですが、2枚、3枚・・と重ねるとどんどん特性が悪化していって、4枚重ねた時には見るも無残な感じの特性になってしまいました。

正弦波を入れたときのスペクトラムを見てみると、25kHzあたりにこんもりとした山が・・

Ad360_20ch_spec

それにオフセットやゲインもなんだか安定しない。20chで2.5Wくらいの消費電力になるように設計したのに、5~6Wも食っている・・・

途方に暮れていました。

そして迎えた3連休。徹底的にデバッグしました。まずは消費電力が予想以上に大きいところから調べました。

その原因は、ADC手前に置いたコンデンサに流れる過渡電流でした。普通、このコンデンサには電流はほとんど流れません。しかし、本来なら1.1mAくらいの低消費電力であるはずの完全差動OPアンプ「THS4521」が8mAも消費しているのです。

これは異常事態です。

オシロで波形を見てみると、なんと、24~25MHzで発振しているように見えるではないですか!!

その発振を止めようと、コンデンサをベタベタくっつけたりいろいろやったのですが、まるで効果がありません。こうなったら周波数特性の低いOPアンプに変えるか・・

そんな後ろ向きなことを考えていたとき、ふと思いました。完全差動OPアンプはVocmという入力端子がある。これが原因かもしれない・・

そう思ってVocmの電圧を見てみると

Osc24

発振していたのはコモン電圧でした。なんと218mVも揺れています。コモン電圧が上下しているのでADC用の差動OPアンプの出力も合わせて上下し、それが5Ωの抵抗とコンデンサを介してGNDに流れ込むわけですから、かなりの無駄な消費電力となっていたのです。

面白いのは、差動アンプの出力はコモンモードで揺れるため、ADCの変換結果にはなかなか出てこないのです。ADCの変換結果にして200μVあるかないかです。コモンモード除去比が60dBくらいあったというわけです。まったく気が付きませんでした。

コモン電圧の発振を抑えたところ、消費電力は激減し、20ch時に2.5Wという目標が達成できました。

次の問題は、基板をスタックしてチャネル数を増やしていくと特性が劣化する問題です。基本的に、チャネル数が増えると消費電力が増えることが原因でした。

消費電流が増える→電源電圧が0.5V近く低下する→Vrefの値が下がる

という考えられないような事態が起きていたのです。

原因は、アナログ電源用に使用したMURATA-PS社のスイッチング電源モジュールNKA0503SCでした。NKA0503SCは5V入力から±3.3Vを作ってくれるモジュールですが、出力がまるで安定化されていません。データシートによれば、

Nka0503sc

と、出力電流によって出力電圧が綺麗に変化します。つまり、安定化されていないのです。きっと、発振器の先にトランスを付けただけの構造なのでしょう。このため、チャネル数を増やして消費電力が増えるとアナログ電源の電源電圧が低下するのです。

しかも、NKA0503SCの出力電圧は、電源入力5Vの電圧にも大きく依存します。

定格電流(160mA)の30%くらいのときに定格電圧になるのですが、それも個体差があるようです。

その上、このモジュール、ちょっと負荷をかければ発振するし・・だめだこりゃ。

3.3Vの電源電圧が変動しても、Vrefが安定していれば問題はないはず。

ところが、ここにも罠があったのです。Vrefの基準電圧自体はTI社のREF5025というリファレンスで作っているので極めて正確です。しかし、それをボルテージフォロアするADA4841というOPアンプが曲者でした。

ADA4841は、レール・ツー・レールを謳っていますが、レール・ツー・レールなのは出力のみです。入力はレール・ツー・レールではありません。

下の図はADA4841のデータシートのものですが、ゲイン1、つまりボルテージフォロアでは電源電圧-0.8Vくらいまでしか追従できていないことがわかります。

Ada4841_1

どうやらVCC-0.8Vくらいが限界なので、3.3V電源時に出力2.5Vを出すことは、まさにギリギリだったのです。(OPアンプの出力として2.5Vを出しているのか、電源の天井にひっかかって2.5Vになっているのかわからないくらい)

そのため、消費電力が増える→電源電圧が低下する→Vrefが下がる、というありえないことが起きてしまっていたのです。

電源モジュールを秋月で買ってきたMCW03-05D05に交換し、Vref用のアナログ電源を±5Vにすることで問題を解決できました。この対策が功を奏して、ボード全体の電源電圧を3.5Vから5.5Vくらいまで振っても、ADCの変換結果には1LSBの差も出なくなりました。

MCW03-05D05は出力がちゃんと安定化されているようです。安いのに良い。

残る謎として、2.5Vの基準電源を30kΩと20kΩで分圧して1.0Vを作り、ADA4841のボルテージフォロアに入れているのに1.033Vくらいになってしまうということでした。なんとオフセットが33mVも出ている。規定値の約1000倍なので、何か問題があるはず。

そこで、部品を1個1個外して測定していきました。

抵抗分圧の前はちゃんと2.500Vになっていて、20kΩと30kΩの抵抗も0.1%品を使っていて、測っても20.00kΩ、30.00kΩを差しているので、ここは問題はないはず。

ではなぜ1.000Vにならないのか?

このノードにつながっているのはOPアンプしかありません。実は、ADA4841は、差動入力インピーダンスが25kΩしかなかったのです。

Ada4841_2

つまり、VIN+からVIN-にはほとんど筒抜けです。単純なボルテージフォロアを作った場合、出力電圧に対して外部から電流が回りこんでくる場合、VIN-からVIN+に回り込んで、VIN+の電圧を押し上げます。

計算はしていませんが、おそらくそういう事情で設定電圧からずれてきてしまっているのでしょう。

結構ハマリましたが、回路の不安定さも解決できました。これから一晩中オフセットの変動をログして寝ることにします。

| | コメント (2)

« 2014年10月 | トップページ | 2014年12月 »