<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://fenrir.naruoka.org/styles/atom.css" type="text/css"?>

<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <title>Fenrir&apos;s BLog</title>
  <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/" />
  <updated>2008-08-27T14:59:00Z</updated>
  <tagline>fenrir&apos;s Site。</tagline>
  <id>tag:fenrir.naruoka.org,2008://2</id>
  <generator url="http://www.movabletype.org/" version="2.661">Movable Type</generator>
  <copyright>Copyright (c) 2008, fenrir</copyright>
<!--マクロ定義//-->













  <entry>
    <title>秋月GPSモジュールの生データはPECL出力</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000661.html" />
    <modified>2008-08-27T14:59:00Z</modified>
    <issued>2008-08-27T23:59:00+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.661</id>
    <created>2008-08-27T14:59:00Z</created>
    <updated>2008-08-27T14:59:00Z</updated>
    <summary type="text/plain">少し前に書いた『秋月GPSモジュールから生データ抽出』では、秋月のGPSモジュールに搭載されたベースバンドチップSiRF GPS2e/LP-7456には、どうやら差動で微小な信号がきているらしい、ということを書きました。この度ようやく、その差動信号を通常のマイコンで扱えるレベルに変換することができたので、お知らせしようと思います。 差動信号には規格がいくつかあったので、規格仕様を対照しつつ、差動からシングルエンドにレベル変換してくれるICをいくつか試してみることにしました。その結果PECLという規格がどうやら正解のようで、現在はPECLを3.3Vレベルに変換してくれるTI TB3R1というチップを使い、後段のDual 4bits shift registerの74HCT4015に信号を渡すことに成功しました。 現在のGPSモジュールの様子と、基板のEagleでの回路図、レイアウト図を公開しようと思います。ファイルは先述のTB3R1も載るようにした新しいリビジョンです。 美しき(嘘)配線をご覧あれ!! 流石に隣接した0.5mmピッチ足にUEW 4本は辛かった(線材をもっと細いものを使うべきなのか、単に修行が足りないだけなのか、笑)ので、配線はスルホールとチップ部品から引っ張りました。赤丸を記した部分が線材と接続している部分です。上からSIGN、MAG、PECL用のリファレンス電圧、CLKだと思います。 PCにデータを吸い上げるために後に残すは、Cypress FX2LP用のファームを書くことのみとなりました。FX2LPで高速なインターフェイスを記述するためのツールであるGPIF Designerは今回がはじめてなので、うまくいくか少々不安です。コンパイラは以前のノウハウのあるsdccを使おうと思います。 ※さらに、ざっとクロックを見てみました。 オシロのスクリーンキャプチャ 約38MHzとは随分早いですね。FX2LPのクロック入力がmax:48MHzなのでなんとか大丈夫です。クロック周波数は信号処理をする際に非常に重要なファクタなので、再度測りなおすつもりではいますが、XOの周波数(24.5535MHz、型番:KDA3016B ?)の綺麗な倍数でないところをみると計測結果に自信をもてなくなります(笑)。 ※※さらに調べてみた結果、HOT CHIPS 11 Archives (1999)にあるSiRFstarII ARCHITECTURE(PDF)が検索に引っかかりました。これによるとサンプリングクロックは38.192MHzということで計測結果にほぼ間違いはないようです。24.5535MHzを14/9逓倍すると結構近い値(38.194MHz)になりました。そういうことでIF(中間周波)は1575.42MHz mod 38.192MHz = 9.548 MHzだそうです。以前『Open source GPS C/A信号の抽出』で示した方法でC/A信号を抽出するためには、この9.548 MHzを中心に信号を眺めればよい、というわけです。これまで細々と進めてきたことに加えて、生データ取得用のFX2LP用ファームの作成、信号トラッキングをコード化が終われば、晴れてオリジナル受信機の完成です。 ところでGPSのフロントエンドから信号処理、そして測位計算まで全て眺めていくと、アナログ回路の中でも最も難しいと思われるRFの知識(電気・電子)、自己相関やFFT(応用数学)、座標変換(幾何学)など様々なことを学べます。こんな面白い題材があるのに、ハンディ受信機を買ってきて地図にプロットするだけ、というのは工学的視点でいうとなんとももったいないと思いませんか(笑)。これら全て解説した和書があまりない、特に取っ掛かりとなる本がないというのが問題なのかもしれません。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>少し前に書いた<a href="http://fenrir.naruoka.org/archives/000650.html">『秋月GPSモジュールから生データ抽出』</a>では、秋月のGPSモジュールに搭載されたベースバンドチップSiRF GPS2e/LP-7456には、どうやら差動で微小な信号がきているらしい、ということを書きました。この度ようやく、その差動信号を通常のマイコンで扱えるレベルに変換することができたので、お知らせしようと思います。</p>

<p>差動信号には規格がいくつかあったので、規格仕様を対照しつつ、差動からシングルエンドにレベル変換してくれるICをいくつか試してみることにしました。その結果<a href="http://en.wikipedia.org/wiki/Positive_emitter-coupled_logic">PECL</a>という規格がどうやら正解のようで、現在はPECLを3.3Vレベルに変換してくれる<a href="http://focus.tij.co.jp/jp/docs/prod/folders/print/tb3r1.html">TI TB3R1</a>というチップを使い、後段のDual 4bits shift registerの<a href="http://www.nxp.com/#/pip/pip=[pip=74HC_HCT4015_CNV_2]|pp=[t=pip,i=74HC_HCT4015_CNV_2]">74HCT4015</a>に信号を渡すことに成功しました。</p>

<p>現在のGPSモジュールの様子と、基板のEagleでの<a href="http://fenrir.naruoka.org/download/embedded/gps_sniffer/GPS_IF_Sniffer.brd">回路図</a>、<a href="http://fenrir.naruoka.org/download/embedded/gps_sniffer/GPS_IF_Sniffer.sch">レイアウト図</a>を公開しようと思います。ファイルは先述のTB3R1も載るようにした新しいリビジョンです。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/gps_packet_sniffer_RevB.jpg"><img alt="gps_packet_sniffer_RevB.jpg" src="http://fenrir.naruoka.org/archives/images/gps_packet_sniffer_RevB-thumb.jpg" width="400" height="300" border="0" /></a><br />
美しき(嘘)配線をご覧あれ!!</p>

<p>流石に隣接した0.5mmピッチ足にUEW 4本は辛かった(線材をもっと細いものを使うべきなのか、単に修行が足りないだけなのか、笑)ので、配線はスルホールとチップ部品から引っ張りました。赤丸を記した部分が線材と接続している部分です。上からSIGN、MAG、PECL用のリファレンス電圧、CLKだと思います。</p>

<p>PCにデータを吸い上げるために後に残すは、Cypress FX2LP用のファームを書くことのみとなりました。FX2LPで高速なインターフェイスを記述するためのツールであるGPIF Designerは今回がはじめてなので、うまくいくか少々不安です。コンパイラは<a href="http://fenrir.naruoka.org/archives/000469.html">以前のノウハウのあるsdcc</a>を使おうと思います。</p>

<p>※さらに、ざっとクロックを見てみました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/GPS_sniffer_clk.png"><img alt="GPS_sniffer_clk.png" src="http://fenrir.naruoka.org/archives/images/GPS_sniffer_clk-thumb.png" width="320" height="240" border="0" /></a><br />
オシロのスクリーンキャプチャ</p>

<p>約38MHzとは随分早いですね。FX2LPのクロック入力がmax:48MHzなのでなんとか大丈夫です。クロック周波数は信号処理をする際に非常に重要なファクタなので、再度測りなおすつもりではいますが、XOの周波数(24.5535MHz、型番:KDA3016B ?)の綺麗な倍数でないところをみると計測結果に自信をもてなくなります(笑)。</p>

<p>※※さらに調べてみた結果、<a href="http://www.hotchips.org/archives/hc11/">HOT CHIPS 11 Archives (1999)</a>にある<a href="http://www.hotchips.org/archives/hc11/3_Tue/hc99.s7.3.Turetzky.pdf">SiRFstarII ARCHITECTURE(PDF)</a>が検索に引っかかりました。これによるとサンプリングクロックは38.192MHzということで計測結果にほぼ間違いはないようです。24.5535MHzを14/9逓倍すると結構近い値(38.194MHz)になりました。そういうことでIF(中間周波)は1575.42MHz mod 38.192MHz = 9.548 MHzだそうです。以前<a href="http://fenrir.naruoka.org/archives/000479.html">『Open source GPS C/A信号の抽出』</a>で示した方法でC/A信号を抽出するためには、この9.548 MHzを中心に信号を眺めればよい、というわけです。これまで細々と進めてきたことに加えて、生データ取得用のFX2LP用ファームの作成、信号トラッキングをコード化が終われば、晴れてオリジナル受信機の完成です。</p>

<p>ところでGPSのフロントエンドから信号処理、そして測位計算まで全て眺めていくと、アナログ回路の中でも最も難しいと思われるRFの知識(電気・電子)、自己相関やFFT(応用数学)、座標変換(幾何学)など様々なことを学べます。こんな面白い題材があるのに、ハンディ受信機を買ってきて地図にプロットするだけ、というのは工学的視点でいうとなんとももったいないと思いませんか(笑)。これら全て解説した和書があまりない、特に取っ掛かりとなる本がないというのが問題なのかもしれません。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>気になる新製品とか</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000659.html" />
    <modified>2008-08-21T14:59:00Z</modified>
    <issued>2008-08-21T23:59:00+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.659</id>
    <created>2008-08-21T14:59:00Z</created>
    <updated>2008-08-21T14:59:00Z</updated>
    <summary type="text/plain">電子工作熱はとどまることを知らない訳ですが、秋月電子から発売された新製品が気になっています。 画像は秋月電子より StarGazerという製品で、天井に貼り付けられたマーカーとなる画像をカメラで取得、それを画像認識することによって、自身の位置が認識できるそうです。大きさは50 x 50 x 28mm、重さは書いてありませんがある程度の軽さだと思います。ということは、昔やっていた室内飛行機の航法装置として使えるということです。ホビー用途としてはお値段が高いのが気になりますが、室内で手軽に使える航法装置はなかなかない(高感度GPSは高感度といっても場所を選びますし、2.4G帯を使った認識システムは入手性があまりよくないですし)ので、製品としてかゆいところに手が届いているような気がします。 拡大写真をみるとわかるのですが、この製品にはTIのDSP TMS320DM640が搭載されていました。なるほど、これならデータの更新頻度が20Hzというのも納得できます。最近カメラモジュールを使って遊んでいることもあり、画像データがマイコンにとって非常に重たいのでDSPで解決、というのはよくわかります。 そういえばsparkfunにも気になる製品がありました。コイン型のLiPo電池です。200mAhと容量はないのですが、よく電池切れを忘れしまうGPS受信機のバックアップバッテリとして、充電回路を組み込んだ上で使ってみたいです。 話はかわりますが、最近感動したこととして、『初音ミク』の開発者『もちP』さんのお話を聞くことができました。僕自身ニコニコ動画等で『初音ミク』には馴染みがあるので、とてもみっくみっくにされてきました。初音ミクが英語の歌が苦手、というのもお話の中で納得することができました。デモもして戴きソフトがとても使いやすいという印象も受けましたので、機会があれば買って遊んでみたいと思います。残念ながら『弱音ハク』がまた1人増える予兆がしなくもないのですが(笑)。 【ニコニコ動画】デリリウムトレーメンス弦楽四重奏団第9回定期演奏会 休憩 回線速度が細かったため、残念なことにお話の中で再生されなかった動画。ミクは普通の会話が苦手だそうですが、それを補っている辺り明らかにプロの犯行です。そうそうお話の中にあった、朝の玄関での挨拶『行ってきまーす』が、会話ではなく&quot;歌&quot;だ、というのは新鮮な見方でした。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Timely</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>電子工作熱はとどまることを知らない訳ですが、秋月電子から発売された新製品が気になっています。</p>

<p><a href="http://akizukidenshi.com/catalog/items2.php?q=%22M-02491%22&s=date&p=1&r=1&page="><img alt="stargazer.jpg" src="http://fenrir.naruoka.org/archives/images/stargazer.jpg" width="120" height="119" border="0" /><img alt="stargazer_2.jpg" src="http://fenrir.naruoka.org/archives/images/stargazer_2.jpg" width="120" height="118" border="0" /></a><br />
画像は秋月電子より</p>

<p><a href="http://akizukidenshi.com/catalog/items2.php?q=%22M-02491%22&s=date&p=1&r=1&page=">StarGazer</a>という製品で、天井に貼り付けられたマーカーとなる画像をカメラで取得、それを画像認識することによって、自身の位置が認識できるそうです。大きさは50 x 50 x 28mm、重さは書いてありませんがある程度の軽さだと思います。ということは、<a href="http://fenrir.naruoka.org/archives/000508.html">昔やっていた室内飛行機</a>の航法装置として使えるということです。ホビー用途としてはお値段が高いのが気になりますが、室内で手軽に使える航法装置はなかなかない(高感度GPSは高感度といっても場所を選びますし、2.4G帯を使った認識システムは入手性があまりよくないですし)ので、製品としてかゆいところに手が届いているような気がします。</p>

<p>拡大写真をみるとわかるのですが、この製品にはTIのDSP <a href="http://focus.ti.com/docs/prod/folders/print/tms320dm640.html">TMS320DM640</a>が搭載されていました。なるほど、これならデータの更新頻度が20Hzというのも納得できます。最近<a href="http://fenrir.naruoka.org/archives/000656.html">カメラモジュールを使って遊んでいる</a>こともあり、画像データがマイコンにとって非常に重たいのでDSPで解決、というのはよくわかります。</p>

<p>そういえばsparkfunにも気になる製品がありました。<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8818">コイン型のLiPo電池</a>です。200mAhと容量はないのですが、よく電池切れを忘れしまうGPS受信機のバックアップバッテリとして、充電回路を組み込んだ上で使ってみたいです。</p>

<p>話はかわりますが、最近感動したこととして、<a href="http://www.crypton.co.jp/mp/pages/prod/vocaloid/cv01.jsp">『初音ミク』</a>の開発者『もちP』さんのお話を聞くことができました。僕自身ニコニコ動画等で『初音ミク』には馴染みがあるので、とても<strong>みっくみっくにされて</strong>きました。初音ミクが英語の歌が苦手、というのもお話の中で納得することができました。デモもして戴きソフトがとても使いやすいという印象も受けましたので、機会があれば買って遊んでみたいと思います。残念ながら『弱音ハク』がまた1人増える予兆がしなくもないのですが(笑)。</p>

<p><iframe width="312" height="176" src="http://ext.nicovideo.jp/thumb/sm3132793" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm3132793">【ニコニコ動画】デリリウムトレーメンス弦楽四重奏団第9回定期演奏会 休憩</a></iframe></p>

<p>回線速度が細かったため、残念なことにお話の中で再生されなかった動画。ミクは普通の会話が苦手だそうですが、それを補っている辺り明らかにプロの犯行です。そうそうお話の中にあった、朝の玄関での挨拶『行ってきまーす』が、会話ではなく"歌"だ、というのは新鮮な見方でした。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>XBee ワイヤレス電力計 設計資料</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000658.html" />
    <modified>2008-08-15T03:06:06Z</modified>
    <issued>2008-08-15T12:06:06+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.658</id>
    <created>2008-08-15T03:06:06Z</created>
    <updated>2008-08-15T03:06:06Z</updated>
    <summary type="text/plain">hamayanさんがXBeeを使った家電等の総合管理システムを作られているようです。メインで使っているマイコンはFreescaleのcoldfireで僕自身は一度も触ったことがないのですが、製作記事が時系列に沿ってどんどん公開されているのでとても楽しいです。 そういえば以前こちらのブログでもXBeeを利用したワイヤレス電力計を製作したことを紹介しました。これは某プロジェクトの為に作ったコンセントにさせる電力計で、XBeeを通じて外部とデータの送受信を行うことができるものなのです。今回の記事では、プロジェクトも無事終了したこともあり、設計資料の公開に踏み切りたい思います。 トータルで8台作りました。 まずはEagleの回路図とレイアウト図です。基板の外注は中国のpcbcartに頼みました。経験的にわかっていることなのですが、pcbcartを使う際は(一応対応を謳っている)Eagleのファイルを直接送るよりも、ガーバに変換してから送ったほうが確実です。基板の外形上が長方形ではなく変わった形をしているのは、この電力計のケースとして使ったエコワット(改造対策として現在は接着剤で分解しにくくなっています)にすっぽり収まるようにした結果です。 電力計のチップとしてAnalog Devices ADE7753を利用しました。内蔵のCTと組合わせることで正確に電流、電圧を時間積分し、電力を計算してくれる専用ICです。XBeeでやり取りするデータは、基本的にADE7753のレジスタで、これらを直接読み書きできるようにしてあります。 搭載しているマイコンはSilicon Laboratories C8051F410です。ファームウェアはsdccで開発しました。 ファームにはファイルシステムとしてELMのchanさんのTinyFatFsを搭載していますが、これを活用するには開発期間が短すぎました。XBeeと通信しない間、基板に実装されているmicroSDにデータを蓄えておく機能を実現しようとしたのですが、ファイルシステムはその名残です。 また、エコワットについていた液晶の制御もピン配置を解析の上ファームに取り込み、経過時刻を表示するようにしました。 XBeeとの通信は7bitsエンコーダ/デコーダという怪しげな方法を使っています。バイナリをXBeeに直接通すと通信状態から制御コマンドに移行してしまう可能性があったので、その対策です。 マイコン等の電源はAC100Vより生成しています。これにはRohm BP5034D5を使いました。手軽にAC100VからDC5Vが生成できます。が、AC100Vは非常に危険なので、しばらくトラウマになっています(一度配線ミスによりパターンが蒸発しましたよ、コンデンサ爆発ならまだしも…)。 PC側は、以前の記事にあるXbeeのUSBモジュールを使ってデータをやり取りしています。表示にはLabviewを使いました。動作しているイメージは下の動画を見ていただくのがよいと思います。 最後に、同じようなことをされている方がいましたら、その参考になれば幸いです。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p><a href="http://hamayan.blog.so-net.ne.jp/">hamayanさん</a>が<a href="http://hamayan.blog.so-net.ne.jp/2008-08-14-1">XBeeを使った家電等の総合管理システムを作られている</a>ようです。メインで使っているマイコンはFreescaleのcoldfireで僕自身は一度も触ったことがないのですが、製作記事が時系列に沿ってどんどん公開されているのでとても楽しいです。</p>

<p>そういえば以前こちらのブログでも<a href="http://fenrir.naruoka.org/archives/000619.html">XBeeを利用したワイヤレス電力計を製作した</a>ことを紹介しました。これは某プロジェクトの為に作ったコンセントにさせる電力計で、XBeeを通じて外部とデータの送受信を行うことができるものなのです。今回の記事では、プロジェクトも無事終了したこともあり、設計資料の公開に踏み切りたい思います。</p>

<p><img alt="emeter_8.jpg" src="http://fenrir.naruoka.org/archives/images/emeter_8.jpg" width="300" height="400" border="0" /><br />
トータルで8台作りました。</p>

<p>まずはEagleの<a href="http://fenrir.naruoka.org/download/embedded/emeter/pcb/emeter.sch">回路図</a>と<a href="http://fenrir.naruoka.org/download/embedded/emeter/pcb/emeter.brd">レイアウト図</a>です。基板の外注は中国の<a href="http://www.pcbcart.com/">pcbcart</a>に頼みました。経験的にわかっていることなのですが、pcbcartを使う際は(一応対応を謳っている)Eagleのファイルを直接送るよりも、ガーバに変換してから送ったほうが確実です。基板の外形上が長方形ではなく変わった形をしているのは、この電力計のケースとして使ったエコワット(改造対策として現在は接着剤で分解しにくくなっています)にすっぽり収まるようにした結果です。</p>

<p>電力計のチップとして<a href="http://www.analog.com/en/analog-to-digital-converters/energy-measurement/ade7753/products/product.html">Analog Devices ADE7753</a>を利用しました。内蔵のCTと組合わせることで正確に電流、電圧を時間積分し、電力を計算してくれる専用ICです。XBeeでやり取りするデータは、基本的にADE7753のレジスタで、これらを直接読み書きできるようにしてあります。</p>

<p>搭載しているマイコンはSilicon Laboratories C8051F410です。<a href="http://fenrir.naruoka.org/download/embedded/emeter/firm/">ファームウェア</a>はsdccで開発しました。<br />
ファームにはファイルシステムとして<a href="http://elm-chan.org/fsw/ff/00index_j.html">ELMのchanさんのTinyFatFs</a>を搭載していますが、これを活用するには開発期間が短すぎました。XBeeと通信しない間、基板に実装されているmicroSDにデータを蓄えておく機能を実現しようとしたのですが、ファイルシステムはその名残です。<br />
また、エコワットについていた液晶の制御もピン配置を解析の上ファームに取り込み、経過時刻を表示するようにしました。<br />
XBeeとの通信は<a href="http://fenrir.naruoka.org/archives/000602.html">7bitsエンコーダ/デコーダ</a>という怪しげな方法を使っています。バイナリをXBeeに直接通すと通信状態から制御コマンドに移行してしまう可能性があったので、その対策です。</p>

<p>マイコン等の電源はAC100Vより生成しています。これには<a href="http://www.rohm.co.jp/products/module/power_module/ac-dc_converter/bp5034d5/">Rohm BP5034D5</a>を使いました。手軽にAC100VからDC5Vが生成できます。が、AC100Vは非常に危険なので、しばらくトラウマになっています(一度配線ミスによりパターンが蒸発しましたよ、コンデンサ爆発ならまだしも…)。</p>

<p>PC側は、以前の記事にある<a href="http://fenrir.naruoka.org/archives/000588.html">XbeeのUSBモジュール</a>を使ってデータをやり取りしています。表示にはLabviewを使いました。動作しているイメージは下の動画を見ていただくのがよいと思います。</p>

<div class="block" class="block"><object type="application/x-shockwave-flash" data="http://fenrir.naruoka.org/misc/flvplayer.swf?file=http://fenrir.naruoka.org/download/embedded/emeter/emeter.flv" width="352" height="288" wmode="transparent"><param name="movie" value="http://fenrir.naruoka.org/misc/flvplayer.swf?file=http://fenrir.naruoka.org/download/embedded/emeter/emeter.flv" /><param name="wmode" value="transparent" /></object></div>

<p>最後に、同じようなことをされている方がいましたら、その参考になれば幸いです。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>サーボ信号をアナログ電圧に変換</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000657.html" />
    <modified>2008-08-11T14:59:00Z</modified>
    <issued>2008-08-11T23:59:00+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.657</id>
    <created>2008-08-11T14:59:00Z</created>
    <updated>2008-08-11T14:59:00Z</updated>
    <summary type="text/plain">ラジコン用サーボの信号はパルスの幅によってその強弱が表現されるので、それを直接計測するためにはタイマの機能の一つであるインプットキャプチャを使う必要があり、チャンネル数が増えると大変やっかいです。実際オートパイロットシステム Super Sylphideでは、FPGAを用いてタイマを多数構成しこの信号を計測しました。 マイコンでこの計測を簡易的に行うにはどうしたらいいでしょうか? マイコンに搭載されている機能を思い浮かべてみると、多くのマイコンではA/D変換機のチャンネル数が8chと、比較的多く搭載されていると思います。そこで、サーボに指令値を与えるパルスの幅に応じたアナログ電圧を生成できれば、マイコンでも簡易的にこの指令値が計測できることになります。 そこでPIC16F88と12bits D/Aコンバータ MCP4921を使って、サーボ用信号をアナログ電圧に置き換える装置を作ってみました。できあがりは写真の通りで、1台で1ch分ですが、非常にコンパクトになりました。 夏休み前のOlimex最終便 Eagleの回路図とレイアウト図をおいておきます。16F88は表面実装品を使っていますが、秋月のPICライタ等で書き込めるように、関係端子のみDIPと同形状のサブ基板に引き出してあります。 上がメイン、下がサブ。 PICのプログラムは無償コンビのsdcc + gputilsで開発しました。sdccのPICのサポートもかなり充実してきているようなので、有償コンパイラがそれなりの値段をすることを考えると有難い限りです。プログラムはpwm2acディレクトリの中にあります。開発環境を整えた上でmakeをしてください。開発環境の構築は『PICマイコン開発環境 (SDCCのインストール)』等が参考になると思います。 最後にPIC16F88を選んだ利用ですが、PIC16F88にはA/D変換機が入っています。ということは、逆の機能も、という魂胆が見え見えということです。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>ラジコン用サーボの信号はパルスの幅によってその強弱が表現されるので、それを直接計測するためにはタイマの機能の一つであるインプットキャプチャを使う必要があり、チャンネル数が増えると大変やっかいです。実際<a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム Super Sylphide</a>では、<a href="http://fenrir.naruoka.org/archives/000653.html">FPGAを用いてタイマを多数構成しこの信号を計測</a>しました。</p>

<p>マイコンでこの計測を簡易的に行うにはどうしたらいいでしょうか? マイコンに搭載されている機能を思い浮かべてみると、多くのマイコンではA/D変換機のチャンネル数が8chと、比較的多く搭載されていると思います。そこで、サーボに指令値を与えるパルスの幅に応じたアナログ電圧を生成できれば、マイコンでも簡易的にこの指令値が計測できることになります。</p>

<p>そこで<a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010243">PIC16F88</a>と12bits D/Aコンバータ <a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en020398">MCP4921</a>を使って、サーボ用信号をアナログ電圧に置き換える装置を作ってみました。できあがりは写真の通りで、1台で1ch分ですが、非常にコンパクトになりました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/pwm2ac.jpg"><img alt="pwm2ac.jpg" src="http://fenrir.naruoka.org/archives/images/pwm2ac-thumb.jpg" width="396" height="297" border="0" /></a><br />
夏休み前の<a href="http://www.olimex.com/pcb/index.html">Olimex</a>最終便</p>

<p>Eagleの<a href="http://fenrir.naruoka.org/download/embedded/pwm2ac/pwm2ac.sch">回路図</a>と<a href="http://fenrir.naruoka.org/download/embedded/pwm2ac/pwm2ac.brd">レイアウト図</a>をおいておきます。16F88は表面実装品を使っていますが、秋月のPICライタ等で書き込めるように、関係端子のみDIPと同形状のサブ基板に引き出してあります。</p>

<p><img alt="pwm2ac_brd.png" src="http://fenrir.naruoka.org/archives/images/pwm2ac_brd.png" width="270" height="175" border="0" /><br />
上がメイン、下がサブ。</p>

<p>PICのプログラムは無償コンビの<a href="http://sdcc.sourceforge.net/">sdcc</a> + <a href="http://gputils.sourceforge.net/">gputils</a>で開発しました。sdccのPICのサポートもかなり充実してきているようなので、有償コンパイラがそれなりの値段をすることを考えると有難い限りです。プログラムは<a href="http://fenrir.naruoka.org/download/autopilot/external/pwm2ac/">pwm2acディレクトリ</a>の中にあります。開発環境を整えた上でmakeをしてください。開発環境の構築は<a href="http://shino.pos.to/eda/pic.html">『PICマイコン開発環境 (SDCCのインストール)』</a>等が参考になると思います。</p>

<p>最後にPIC16F88を選んだ利用ですが、PIC16F88にはA/D変換機が入っています。ということは、逆の機能も、という魂胆が見え見えということです。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>カメラモジュール 実装完了</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000656.html" />
    <modified>2008-08-04T14:59:00Z</modified>
    <issued>2008-08-04T23:59:00+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.656</id>
    <created>2008-08-04T14:59:00Z</created>
    <updated>2008-08-04T14:59:00Z</updated>
    <summary type="text/plain">少し前の記事『Super Sylphide 進捗状況(20) -- カメラモジュール基板の企画』で、sparkfunから購入したカメラモジュールの話を書きましたが、この度実装を完了しました。 裏と表。高実装密度だが2層基板。 実際に部品を実装してみると、自己満足でしょうか、フツフツと制作意欲が沸いてきます。最初の難関、電源電圧 2種(+3Vと+1.5V)がきっちり出ていることは確認できたので、次はSDRAMをフレームバッファとすべくAltera MAX2(CPLD)用のVHDLを書こうと思います。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>少し前の記事<a href="http://fenrir.naruoka.org/archives/000654.html">『Super Sylphide 進捗状況(20) -- カメラモジュール基板の企画』</a>で、sparkfunから購入したカメラモジュールの話を書きましたが、この度実装を完了しました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/Sylphide_CAM.jpg"><img alt="Sylphide_CAM.jpg" src="http://fenrir.naruoka.org/archives/images/Sylphide_CAM-thumb.jpg" width="400" height="200" border="0" /></a><br />
裏と表。高実装密度だが2層基板。</p>

<p>実際に部品を実装してみると、自己満足でしょうか、フツフツと制作意欲が沸いてきます。最初の難関、電源電圧 2種(+3Vと+1.5V)がきっちり出ていることは確認できたので、次はSDRAMをフレームバッファとすべくAltera MAX2(CPLD)用のVHDLを書こうと思います。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>2008 白馬岳</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000655.html" />
    <modified>2008-07-28T00:17:28Z</modified>
    <issued>2008-07-28T09:17:28+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.655</id>
    <created>2008-07-28T00:17:28Z</created>
    <updated>2008-07-28T00:17:28Z</updated>
    <summary type="text/plain">白馬(しろうま)岳に登ってきました。天候はあいにくでしたが、お花が綺麗でした。高山植物は詳しくないので、名前がわかりませんが、黄色、紫、オレンジ等々、色々な色の花が咲いていました。 ケータイ写真、W42CAで撮影。 2泊3日で、コースは1日目が猿倉～大雪渓～白馬山荘、2日目は白馬山荘～白馬岳～雪倉岳～朝日小屋、最終日が朝日小屋～朝日岳～蓮華温泉。 感想を軽く書いておくと、まずは一番に朝日小屋のご飯が感動的でした。まさか山の上で○○がでるとは、思いもよりませんでした。また今回のコース的にメインであった雪ですが、雪渓をはじめとして、残雪量は非常に豊富でアイゼンは必須な状況であったと思います。カチカチがほとんどで、もふもふはしていません。雪が残っていても季節は夏なので、風がなければ暑いくらい、樹林帯では汗だくでした。展望は天候が悪く望めませんでした。日本海見たかったのになぁ。ということでRolleiを持っていったのですが、使わずじまいです。 あとは、最後までネタに欠かない山行となりました。松本の少し先の岡谷近辺で集中豪雨があり、そのおかげで『下山日に帰れないのでどこかでビバーク』だったのが『夜行列車』に変化したりと。JRの方にも差し入れを戴いたりと、なかなかできない体験をしてきました。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Photo</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>白馬(しろうま)岳に登ってきました。天候はあいにくでしたが、お花が綺麗でした。高山植物は詳しくないので、名前がわかりませんが、黄色、紫、オレンジ等々、色々な色の花が咲いていました。</p>

<p><a href="http://fenrir.naruoka.org/archives/photo/2008shirouma.jpg"><img alt="2008shirouma.jpg" src="http://fenrir.naruoka.org/archives/photo/2008shirouma-thumb.jpg" width="411" height="330" border="0" /></a><br />
ケータイ写真、W42CAで撮影。</p>

<p>2泊3日で、コースは1日目が猿倉～大雪渓～白馬山荘、2日目は白馬山荘～白馬岳～雪倉岳～朝日小屋、最終日が朝日小屋～朝日岳～蓮華温泉。<br />
感想を軽く書いておくと、まずは一番に<a href="http://www.asahigoya.net/">朝日小屋</a>のご飯が感動的でした。まさか山の上で○○がでるとは、思いもよりませんでした。また今回のコース的にメインであった雪ですが、雪渓をはじめとして、残雪量は非常に豊富でアイゼンは必須な状況であったと思います。カチカチがほとんどで、もふもふはしていません。雪が残っていても季節は夏なので、風がなければ暑いくらい、樹林帯では汗だくでした。展望は天候が悪く望めませんでした。日本海見たかったのになぁ。ということでRolleiを持っていったのですが、使わずじまいです。</p>

<p>あとは、最後までネタに欠かない山行となりました。松本の少し先の岡谷近辺で集中豪雨があり、そのおかげで『下山日に帰れないのでどこかでビバーク』だったのが『夜行列車』に変化したりと。JRの方にも差し入れを戴いたりと、なかなかできない体験をしてきました。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Super Sylphide 進捗状況(20) -- カメラモジュール基板の企画</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000654.html" />
    <modified>2008-07-21T16:22:23Z</modified>
    <issued>2008-07-22T01:22:23+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.654</id>
    <created>2008-07-21T16:22:23Z</created>
    <updated>2008-07-21T16:22:23Z</updated>
    <summary type="text/plain">オートパイロットシステム Super Sylphideですが、ブルガリアの格安基板会社Olimexが長期の夏休みに入ってしまう(8月は丸々休み)ということもあり、最近は色々な基板を設計していました。その中で先日sparkfunより入手した最大SXGA対応(1.3M Pixel)のカメラモジュール『TCM8240MD』(東芝製)も実験してみようという気になり、ここ数日はその設計を行っていました。 結果から言ってしまうと、このモジュールはマイコンに直結して気軽に遊べるほど生易しいモノではないことがわかりました。データがかなりのハイレート(4M～20MHz、8bitバス)でモジュールから垂れ流れてくるので、それを頑張って記録しなければならないようです。供給クロックをとめてデータの垂れ流しを一時停止してしまうという荒業もあるようですが、フレームバッファIC(いわゆるFIFO)を用意するというのが、sparkfunのuser forumでは正攻法と見られているようでした。 フレームバッファを探してみましたが、さすがにSXGAのデータ量を処理してくれるものは入手困難なようでした。デュアルポートSRAM等も検討してみたのですが、容量が全然小さいです。仕方がないので、力技でCPLD+SDRAMでフレームバッファをこさえてみることにしました。SRAMではなくSDRAMにしたのは安かったからです。CPLDのHDLはあとから如何様にもできるはずなので、まずは基板を設計し終えることにしました。出来上がったのはこんな感じです。残念ながらOlimexでは製造できない(0.3mmドリルが必要です)のですが、サイズはかなりがんばりました。 機能的にも詰め込みすぎて、動作するかどうかは少々疑わしいフシがあります。特長を箇条書きすると以下のとおりです。 カメラモジュールによるSXGA画像の取得Altera CPLD(MAX2シリーズのEPM570 TQFP100Pin 570LE)と64MBit SDRAMでフレームバッファを構成C8051F342によるUSB、micro SD(SPI接続)バッテリ動作可能、TI BQ25015によるUSBまたは外部電源からのLiPo充電機能および3VへのDC/DC変換(これはGPSロガーで使用経験あり)同じく効率を稼ぐためカメラモジュール用の1.5Vをつくるため、TI TPS60503使用基板サイズは1.4 in (約36mm) x 1.4 in の2層(ケチった)四隅に穴があって固定できる(かなり重要) 果たして動くのでしょうか。動けば飛行機に搭載できること間違い無しなのですが、小さくしすぎたことがアダとならないことを祈るばかりです。暇を見つけつつ弄っていきたいと思います。 ※実装が完了しました。電源電圧は正常に出ているようです。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p><a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム Super Sylphide</a>ですが、ブルガリアの格安基板会社<a href="http://www.olimex.com/pcb/index.html">Olimex</a>が長期の夏休みに入ってしまう(8月は丸々休み)ということもあり、最近は色々な基板を設計していました。その中で先日<a href="http://www.sparkfun.com/">sparkfun</a>より入手した最大SXGA対応(1.3M Pixel)の<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8668">カメラモジュール『TCM8240MD』</a>(東芝製)も実験してみようという気になり、ここ数日はその設計を行っていました。</p>

<p>結果から言ってしまうと、このモジュールはマイコンに直結して気軽に遊べるほど生易しいモノではないことがわかりました。データがかなりのハイレート(4M～20MHz、8bitバス)でモジュールから垂れ流れてくるので、それを頑張って記録しなければならないようです。供給クロックをとめてデータの垂れ流しを一時停止してしまうという荒業もあるようですが、フレームバッファIC(いわゆるFIFO)を用意するというのが、<a href="http://forum.sparkfun.com/viewtopic.php?t=10314&highlight=tcm8240md">sparkfunのuser forum</a>では正攻法と見られているようでした。</p>

<p>フレームバッファを探してみましたが、さすがにSXGAのデータ量を処理してくれるものは入手困難なようでした。デュアルポートSRAM等も検討してみたのですが、容量が全然小さいです。仕方がないので、力技でCPLD+SDRAMでフレームバッファをこさえてみることにしました。SRAMではなくSDRAMにしたのは安かったからです。CPLDのHDLはあとから如何様にもできるはずなので、まずは基板を設計し終えることにしました。出来上がったのはこんな感じです。残念ながらOlimexでは製造できない(0.3mmドリルが必要です)のですが、サイズはかなりがんばりました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/Sylphide_CAM.png"><img alt="Sylphide_CAM.png" src="http://fenrir.naruoka.org/archives/images/Sylphide_CAM-thumb.png" width="422" height="214" border="0" /></a></p>

<p>機能的にも詰め込みすぎて、動作するかどうかは少々疑わしいフシがあります。特長を箇条書きすると以下のとおりです。</p>

<ul class="block"><li>カメラモジュールによるSXGA画像の取得</li><li>Altera CPLD(<a href="http://www.altera.co.jp/products/devices/cpld/max2/overview/mx2-overview.html">MAX2シリーズ</a>のEPM570 TQFP100Pin 570LE)と64MBit SDRAMでフレームバッファを構成</li><li>C8051F342によるUSB、micro SD(SPI接続)</li><li>バッテリ動作可能、<a href="http://focus.tij.co.jp/jp/docs/prod/folders/print/bq25015.html">TI BQ25015</a>によるUSBまたは外部電源からのLiPo充電機能および3VへのDC/DC変換(これは<a href="http://fenrir.naruoka.org/archives/000564.html">GPSロガー</a>で使用経験あり)</li><li>同じく効率を稼ぐためカメラモジュール用の1.5Vをつくるため、<a href="http://focus.tij.co.jp/jp/docs/prod/folders/print/tps60503.html">TI TPS60503</a>使用</li><li>基板サイズは1.4 in (約36mm) x 1.4 in の2層(ケチった)</li><li>四隅に穴があって固定できる(かなり重要)</li></ul>

<p>果たして動くのでしょうか。動けば飛行機に搭載できること間違い無しなのですが、小さくしすぎたことがアダとならないことを祈るばかりです。暇を見つけつつ弄っていきたいと思います。</p>

<p>※<a href="http://fenrir.naruoka.org/archives/000656.html">実装が完了</a>しました。電源電圧は正常に出ているようです。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Super Sylphide 進捗状況(19) --最近の飛行試験</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000653.html" />
    <modified>2008-07-12T16:08:17Z</modified>
    <issued>2008-07-13T01:08:17+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.653</id>
    <created>2008-07-12T16:08:17Z</created>
    <updated>2008-07-12T16:08:17Z</updated>
    <summary type="text/plain">オートパイロットシステム Super Sylphideですが、順調に開発が続いています。先日の模型飛行機を使った飛行試験では、以前の記事『i2cでサーボインターフェイス』で書いたシステムを利用して、パイロットの入力を50Hzで取得することに成功しました。 双発ダクテッドファン機で実験中 入力履歴をとるとこんな感じでした。 入力は4系統(左右スラストは同一チャンネル) 機体の特性把握(いわゆるシステム同定)に向けた特殊な入力も、名パイロットの&quot;社長&quot;氏にお願いして、マニュアル操縦で入力してもらいました。うまく入力できているみたいです。 タイミングが重要 残念ながら機体の挙動は、モーターの振動が加速度計を共振させてしまっているようで、ちゃんと取得はできませんでした。ペイロード重量の関係で防振対策ジェルを入れられなかったのが敗因です。次回までのこの部分は徹底究明する必要がありそうです。 このまま順当にいけば、数回の実験による飛行データをもとに誘導、制御に取り掛れそうです。また開発が佳境に入ってきたこともあり、チームプレーになってきました。パイロットの&quot;社長&quot;氏、機体整備のY氏、発進担当のM君、ピトー管を作っているH君、これからもよろしくです。 ※その後、コメント欄にちょっと書いてあるカメラモジュールの基板を企画してみました。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject><![CDATA[Aero &amp; Astro]]></dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p><a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム Super Sylphide</a>ですが、順調に開発が続いています。先日の模型飛行機を使った飛行試験では、以前の記事<a href="http://fenrir.naruoka.org/archives/000645.html">『i2cでサーボインターフェイス』</a>で書いたシステムを利用して、パイロットの入力を50Hzで取得することに成功しました。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/bj.jpg"><img alt="bj.jpg" src="http://fenrir.naruoka.org/archives/images/bj-thumb.jpg" width="460" height="259" border="0" /></a><br />
双発ダクテッドファン機で実験中</p>

<p>入力履歴をとるとこんな感じでした。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/bj_control_all.png"><img alt="bj_control_all.png" src="http://fenrir.naruoka.org/archives/images/bj_control_all-thumb.png" width="400" height="272" border="0" /></a><br />
入力は4系統(左右スラストは同一チャンネル)</p>

<p>機体の特性把握(いわゆるシステム同定)に向けた特殊な入力も、名パイロットの"社長"氏にお願いして、マニュアル操縦で入力してもらいました。うまく入力できているみたいです。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/bj_control_3_2_1_1.png"><img alt="bj_control_3_2_1_1.png" src="http://fenrir.naruoka.org/archives/images/bj_control_3_2_1_1-thumb.png" width="400" height="273" border="0" /></a><br />
タイミングが重要</p>

<p>残念ながら機体の挙動は、モーターの振動が加速度計を共振させてしまっているようで、ちゃんと取得はできませんでした。ペイロード重量の関係で防振対策ジェルを入れられなかったのが敗因です。次回までのこの部分は徹底究明する必要がありそうです。</p>

<p>このまま順当にいけば、数回の実験による飛行データをもとに誘導、制御に取り掛れそうです。また開発が佳境に入ってきたこともあり、チームプレーになってきました。パイロットの"社長"氏、機体整備のY氏、発進担当のM君、ピトー管を作っているH君、これからもよろしくです。</p>

<p>※その後、コメント欄にちょっと書いてある<a href="http://fenrir.naruoka.org/archives/000654.html">カメラモジュールの基板を企画</a>してみました。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>Wimbledon 2008 男子シングル決勝</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000652.html" />
    <modified>2008-07-07T02:29:24Z</modified>
    <issued>2008-07-07T11:29:24+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.652</id>
    <created>2008-07-07T02:29:24Z</created>
    <updated>2008-07-07T02:29:24Z</updated>
    <summary type="text/plain">テニスをしない/あまり見ない僕ですが、ウィンブルドンは毎年それなりに見ていたりします。今日も男子の決勝を最後まで見てしまいました。決勝史上最長の5時間近くの試合時間にもなる、あまりにも凄い試合だったので、感想を残しておきたいと思います。ちょっと徹夜状態でしたが、興奮覚めやらず。 技術的な話はわからないので、精神的な話になってしまうのですが、フェデラー、ナダルとも精神力が半端ないことがテレビ越しに伝わってきました。フェデラーは追い詰められた時にこそサービスエースが決まっていくシーンが何度もありました(特に第3セットのタイブレーク)し、ナダルもナダルで非常に粘り強い打ち合いや、サービスを淡々と同じ側(バックかボディアタックをずっと狙っていた)に狙い続けていたかと思いきや、大事な場面でフェデラーに歌狭いとしていたフォア側を狙ってくる大胆なところが印象的でした。 第4、5セットは本当に意地と意地のぶつかり合い、という言葉がぴったりと来るような試合展開で両者一歩も譲らず、見ていて非常に緊張する内容でしたが、そのような場面でも緊張によるミスというものがプレーからは見ていてわかりませんでした。むしろスーパープレーの連続で、第4セットのタイブレークは神かがっていました。ナダルが凄くいいリターンをしたと思ったら、フェデラーはさらにその上をいくコースでリターンを返してくる、その応酬が息を呑まざるを得ませんでした。まさにマンガのような展開。両選手とも緊張は勿論しているのでしょうが、それを力に変え、さらには相手に真っ直ぐぶつけていけるのが世界最高のプレーヤーたることなのだと思いました。 勝ったナダル、負けたフェデラー、両選手とも本当に素晴らしい試合をしたことに拍手を送りたいと思います。これからもこのような試合を期待したいと思います。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Timely</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>テニスをしない/あまり見ない僕ですが、ウィンブルドンは毎年それなりに見ていたりします。今日も男子の決勝を最後まで見てしまいました。決勝史上最長の5時間近くの試合時間にもなる、あまりにも凄い試合だったので、感想を残しておきたいと思います。ちょっと徹夜状態でしたが、興奮覚めやらず。</p>

<p>技術的な話はわからないので、精神的な話になってしまうのですが、フェデラー、ナダルとも精神力が半端ないことがテレビ越しに伝わってきました。フェデラーは追い詰められた時にこそサービスエースが決まっていくシーンが何度もありました(特に第3セットのタイブレーク)し、ナダルもナダルで非常に粘り強い打ち合いや、サービスを淡々と同じ側(バックかボディアタックをずっと狙っていた)に狙い続けていたかと思いきや、大事な場面でフェデラーに歌狭いとしていたフォア側を狙ってくる大胆なところが印象的でした。<br />
第4、5セットは本当に意地と意地のぶつかり合い、という言葉がぴったりと来るような試合展開で両者一歩も譲らず、見ていて非常に緊張する内容でしたが、そのような場面でも緊張によるミスというものがプレーからは見ていてわかりませんでした。むしろスーパープレーの連続で、第4セットのタイブレークは神かがっていました。ナダルが凄くいいリターンをしたと思ったら、フェデラーはさらにその上をいくコースでリターンを返してくる、その応酬が息を呑まざるを得ませんでした。まさにマンガのような展開。両選手とも緊張は勿論しているのでしょうが、それを力に変え、さらには相手に真っ直ぐぶつけていけるのが世界最高のプレーヤーたることなのだと思いました。</p>

<p>勝ったナダル、負けたフェデラー、両選手とも本当に素晴らしい試合をしたことに拍手を送りたいと思います。これからもこのような試合を期待したいと思います。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>GPSチップアンテナ リベンジしてみたが…</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000651.html" />
    <modified>2008-07-01T13:54:11Z</modified>
    <issued>2008-07-01T22:54:11+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.651</id>
    <created>2008-07-01T13:54:11Z</created>
    <updated>2008-07-01T13:54:11Z</updated>
    <summary type="text/plain">そういえば以前sparkfunで購入したGPSのチップアンテナの経過を書くのをすっかり忘れていました。特性解析をしていただいたり、その結果を反映して基板を新たにおこしてみたりしたのですが、やはり受かりませんでした。結果報告が遅れてしまい、(特にTakeyasuさんに)申し訳ありません。 現在の基板はこんな感じです。 LNA付きとLNAなし(裏はベタGND) sparkfunの商品ページから辿れる『Tiny GPS』では、自身でLNAをつけて衛星の捕捉ができたそうですが、こちらは相変わらず衛星がつかまってくれません。 商品に問題があるわけではない(150111のアンテナ型番は、中心周波数がGPS L1よりも若干低めに設計されていたという問題はありますが)と思います。アンテナ設計は素人では難しいということが身をもって体験できたのが、最大の成果だと現在では認識しています。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>そういえば<a href="http://fenrir.naruoka.org/archives/000586.html">以前sparkfunで購入したGPSのチップアンテナ</a>の経過を書くのをすっかり忘れていました。<a href="http://fenrir.naruoka.org/archives/000601.html">特性解析をしていただいた</a>り、その結果を反映して基板を新たにおこしてみたりしたのですが、やはり受かりませんでした。結果報告が遅れてしまい、(特にTakeyasuさんに)申し訳ありません。</p>

<p>現在の基板はこんな感じです。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/GPS_chip_antenna_RevC2.jpg"><img alt="GPS_chip_antenna_RevC2.jpg" src="http://fenrir.naruoka.org/archives/images/GPS_chip_antenna_RevC2-thumb.jpg" width="320" height="240" border="0" /></a><br />
LNA付きとLNAなし(裏はベタGND)</p>

<p>sparkfunの商品ページから辿れる<a href="http://www.geocities.com/rdh82000/APRS/TinyGPS.htm">『Tiny GPS』</a>では、自身でLNAをつけて衛星の捕捉ができたそうですが、こちらは相変わらず衛星がつかまってくれません。</p>

<p>商品に問題があるわけではない(150111のアンテナ型番は、中心周波数がGPS L1よりも若干低めに設計されていたという問題はありますが)と思います。アンテナ設計は素人では難しいということが身をもって体験できたのが、最大の成果だと現在では認識しています。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>秋月GPSモジュールから生データ抽出</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000650.html" />
    <modified>2008-06-27T01:47:51Z</modified>
    <issued>2008-06-27T10:47:51+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.650</id>
    <created>2008-06-27T01:47:51Z</created>
    <updated>2008-06-27T01:47:51Z</updated>
    <summary type="text/plain">秋月で販売されているGPSモジュールを購入、分解したことは以前の記事『秋月GPSモジュール@4800円』で書きましたが、その後こんな形になりました。 インターフェイスはPC接続用USBとアンテナ接続用SMA 中身はこんな感じになっています。 中身はごちゃごちゃ 秋月のGPSモジュールから怪しい線が何本かでているのが確認できるかと思いますが、これは以前計画した通り、GPSの生データ、もう少し具体的にいうと、中間周波数に落とされたGPS電波をAD変換した後のデジタルデータ、を抽出するためのものです。色々オシロを当てて調べてみた結果、目的とする信号がでているのはSiRF GPS2e/LP-7456の82(ACQCLK),84(MAG),86(SIGN)ピンのようでした。これらの信号をPCに転送するために、74HCT4015(4bits dual serial-in/parallel-out shift register、1clockあたり必要な信号は2bitsなのでそれをまとめる)とCypress FX2LP(データ転送用)を使ってみました。74HCT4015は多くのセミコンダクタでディスコンになりつつあるようですが、運良く鈴商で入手できました。 とりあえず組み立ててみた結果なのですが、残念ながら動作しませんでした。SiRFチップからの信号の取得に失敗しているようです。さらに調査してみた結果、以前Novatell SuperStar2から信号を取得しようとしたときと違い、どうやら信号が83ピンを基準電圧とした差動出力されているようでした。特にACQCLKについては実測してみたところ差動で150mVp-pしかないので、コンパレータでレベル変換するしかなさそうです。他の2つの信号MAGとSIGNについてはある程度強度が確保されていたので、AM26LV32TB3R1(後述)等で差動からシングルエンドに変換できると思います。 実はsparkfunで扱っているSiGe GN3S Samplerとほぼ同じ機能のものを実現しようとしているので、買い物で済むことは済むのですが、いつも売り切れ &amp; 楽しくないのでこういうことをしている次第です。 ※その後、差動信号はPECLという規格のようだ、ということがわかりました。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>秋月で販売されているGPSモジュールを購入、分解したことは以前の記事<a href="http://fenrir.naruoka.org/archives/000627.html">『秋月GPSモジュール@4800円』</a>で書きましたが、その後こんな形になりました。</p>

<p><img alt="gps_packet_sniffer_RevA_view.jpg" src="http://fenrir.naruoka.org/archives/images/gps_packet_sniffer_RevA_view.jpg" width="400" height="300" border="0" /><br />
インターフェイスはPC接続用USBとアンテナ接続用SMA</p>

<p>中身はこんな感じになっています。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/gps_packet_sniffer_RevA.jpg"><img alt="gps_packet_sniffer_RevA.jpg" src="http://fenrir.naruoka.org/archives/images/gps_packet_sniffer_RevA-thumb.jpg" width="400" height="300" border="0" /></a><br />
中身はごちゃごちゃ</p>

<p>秋月のGPSモジュールから怪しい線が何本かでているのが確認できるかと思いますが、これは以前計画した通り、GPSの生データ、もう少し具体的にいうと、中間周波数に落とされたGPS電波をAD変換した後のデジタルデータ、を抽出するためのものです。色々オシロを当てて調べてみた結果、目的とする信号がでているのはSiRF GPS2e/LP-7456の82(ACQCLK),84(MAG),86(SIGN)ピンのようでした。これらの信号をPCに転送するために、74HCT4015(4bits dual serial-in/parallel-out shift register、1clockあたり必要な信号は2bitsなのでそれをまとめる)と<a href="http://www.cypress.com/products/index.jsp?fid=14&rpn=CY7C68013A">Cypress FX2LP</a>(データ転送用)を使ってみました。74HCT4015は多くのセミコンダクタでディスコンになりつつあるようですが、運良く<a href="http://www.suzushoweb.com/category_2.php?c2_id=23">鈴商で入手</a>できました。</p>

<p>とりあえず組み立ててみた結果なのですが、残念ながら動作しませんでした。SiRFチップからの信号の取得に失敗しているようです。さらに調査してみた結果、以前<a href="http://fenrir.naruoka.org/archives/000476.html">Novatell SuperStar2から信号を取得しようとしたとき</a>と違い、どうやら信号が83ピンを基準電圧とした差動出力されているようでした。特にACQCLKについては実測してみたところ差動で150mVp-pしかないので、コンパレータでレベル変換するしかなさそうです。他の2つの信号MAGとSIGNについてはある程度強度が確保されていたので、<del><a href="http://focus.tij.co.jp/jp/docs/prod/folders/print/am26lv32.html">AM26LV32</a></del>TB3R1(後述)等で差動からシングルエンドに変換できると思います。</p>

<p>実はsparkfunで扱っている<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8238">SiGe GN3S Sampler</a>とほぼ同じ機能のものを実現しようとしているので、買い物で済むことは済むのですが、いつも売り切れ & <strong>楽しくない</strong>のでこういうことをしている次第です。</p>

<p>※その後、<a href="http://fenrir.naruoka.org/archives/000661.html">差動信号はPECLという規格のようだ</a>、ということがわかりました。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>EBNFをRacc形式に変換</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000649.html" />
    <modified>2008-06-22T07:52:42Z</modified>
    <issued>2008-06-22T16:52:42+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.649</id>
    <created>2008-06-22T07:52:42Z</created>
    <updated>2008-06-22T07:52:42Z</updated>
    <summary type="text/plain">前回の記事『VHDLの可視化ができないものかと』のコメント欄に少し書きましたが、VHDLを可視化できないものかと思案中です。とりあえずプログラミング系のスキル向上も兼ねて、VHDLのパーサくらいこさえてみようと一念発起してみました。パーサジェネレータとしてはRubyベースのRaccを使うことにします。 VHDLはその定義が、定義記法の1つであるBNFを拡張したEBNFによって行われています。例えばVHDL-93のEBNF定義は『Hyperlinked VHDL-93 BNF Syntax』にあります。この定義をパーサジェネレータにうまいこと食わせられれば、パーサ生成に向けた第一歩をクリアすることができるという寸法です。 しかしながらRaccはBNFに近い形式のみでEBNFをそのまま受け付けてくれるわけではありません。特に問題となるのが、EBNFのみで可能なブレース(&apos;[&apos;, &apos;]&apos;)やブラケット(&apos;{&apos;, &apos;}&apos;)を使った省略可能及び繰り返しの表記で、これをBNFでも表記可能な再帰定義で書き換えなければなりません。 書き換えの例をあげると以下のようになります。EBNF、それを変換したBNFの順に示します。 hoge_def ::= { ada_def [ basha_def ] } hoge_def ::= hoge_def_loop hoge_def_loop ::= ada_def basha_def hoge_def_loop | ada_def hoge_def_loop | VHDLクラスのまじめな言語になると、これを手動で変換というのはかなり大変です。そこでRubyでVHDLのEBNF用変換スクリプトebnf2raccy.rbを書いてみました。これで記法の問題、並びにキーワードの終端記号化を行っています。VHDLのEBNF定義ebnf.txtから、このスクリプトによって生成したRacc用入力ファイルをRaccで処理したところ、shift/reduce、reduce/reduce conflictsがいくつか出ていますが、EBNFからBNFへの記法変換についてはうまくいっているようです。 これらをもとにパーサをこさえようとしていますが、現在のところ入力文字列を意味単位(トークン)に区切ってくれるスキャナとの関係をどうしようかと思案中です。VHDLの定義自体は文字指向、つまり一文字ずつ処理するように作ってあるようですが、パーサとしては字句指向、つまりは単語単位でリテラルとしてスキャナからトークンが生成されたほうが都合がよいと思います。そこでVHDLの定義の中で、文字を結合して意味を形作っている下位部分をいくつか書き換えようと考えています。 またVHDLの定義をみたところ、いくつか不足している規則があるようです。例えばsignal_nameなどのアンダーバーがついてる規則について定義がありません。nameという規則はあるのでaliasであると考えられます。パーサとして機能させるためには、これらについても正しく関係付けを行わないといけないので少々厄介です。 ※(2008/6/24)正規表現を使ってリテラル単位でスキャナからトークンが生成されるように変更してみました。リンク先のファイルも更新してあります。 ※※(2008/6/25)キーワードと規則名が一部被っていたことに愕然としました。literal、range等です。BNF側を修正することで対応しました。また今後の方針ですが、VHDLの文法がなかなかお茶目のよう(定義済みの名前と定義がない名前で文法上の動作をかえる必要があるらしい、トークンの1つ先読みだけでは完全に文法が定まらない?)で、これをどうやってRaccが採用しているLALR(1)で実現するか難しいところです。おそらくアクションと組合わせて、next_tokenでスキャナからトークンを返す直前にちょっとした細工をかます必要があるのではないかと考えています。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Computer</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>前回の記事<a href="http://fenrir.naruoka.org/archives/000648.html">『VHDLの可視化ができないものかと』</a>のコメント欄に少し書きましたが、VHDLを可視化できないものかと思案中です。とりあえずプログラミング系のスキル向上も兼ねて、VHDLのパーサくらいこさえてみようと一念発起してみました。パーサジェネレータとしてはRubyベースの<a href="http://i.loveruby.net/ja/projects/racc/">Racc</a>を使うことにします。</p>

<p>VHDLはその定義が、定義記法の1つである<a href="http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AB%E3%82%B9%E3%83%BB%E3%83%8A%E3%82%A6%E3%82%A2%E8%A8%98%E6%B3%95">BNF</a>を拡張した<a href="http://ja.wikipedia.org/wiki/EBNF">EBNF</a>によって行われています。例えばVHDL-93のEBNF定義は<a href="http://tams-www.informatik.uni-hamburg.de/vhdl/tools/grammar/vhdl93-bnf.html">『Hyperlinked VHDL-93 BNF Syntax』</a>にあります。この定義をパーサジェネレータにうまいこと食わせられれば、パーサ生成に向けた第一歩をクリアすることができるという寸法です。</p>

<p>しかしながらRaccはBNFに近い形式のみでEBNFをそのまま受け付けてくれるわけではありません。特に問題となるのが、EBNFのみで可能なブレース('[', ']')やブラケット('{', '}')を使った省略可能及び繰り返しの表記で、これをBNFでも表記可能な再帰定義で書き換えなければなりません。</p>

<p>書き換えの例をあげると以下のようになります。EBNF、それを変換したBNFの順に示します。</p>

<p><div class="code">hoge_def ::= { ada_def [ basha_def ] }</div>
</p>

<p><div class="code">hoge_def ::= hoge_def_loop<br />hoge_def_loop ::= ada_def basha_def hoge_def_loop<br />&nbsp;&nbsp;&nbsp;&nbsp;| ada_def hoge_def_loop<br />&nbsp;&nbsp;&nbsp;&nbsp;| </div>
</p>

<p>VHDLクラスのまじめな言語になると、これを手動で変換というのはかなり大変です。そこでRubyでVHDLのEBNF用変換スクリプト<a href="http://fenrir.naruoka.org/download/FancyGoods/racc/vhdl/ebnf2raccy.rb">ebnf2raccy.rb</a>を書いてみました。これで記法の問題、並びにキーワードの終端記号化を行っています。VHDLのEBNF定義<a href="http://fenrir.naruoka.org/download/FancyGoods/racc/vhdl/ebnf.txt">ebnf.txt</a>から、このスクリプトによって生成したRacc用入力ファイルをRaccで処理したところ、shift/reduce、reduce/reduce conflictsがいくつか出ていますが、EBNFからBNFへの記法変換についてはうまくいっているようです。</p>

<p>これらをもとにパーサをこさえようとしていますが、現在のところ入力文字列を意味単位(トークン)に区切ってくれるスキャナとの関係をどうしようかと思案中です。VHDLの定義自体は文字指向、つまり一文字ずつ処理するように作ってあるようですが、パーサとしては字句指向、つまりは単語単位でリテラルとしてスキャナからトークンが生成されたほうが都合がよいと思います。そこでVHDLの定義の中で、文字を結合して意味を形作っている下位部分をいくつか書き換えようと考えています。<br />
またVHDLの定義をみたところ、いくつか不足している規則があるようです。例えばsignal_nameなどのアンダーバーがついてる規則について定義がありません。nameという規則はあるのでaliasであると考えられます。パーサとして機能させるためには、これらについても正しく関係付けを行わないといけないので少々厄介です。</p>

<p>※(2008/6/24)正規表現を使ってリテラル単位でスキャナからトークンが生成されるように変更してみました。リンク先のファイルも更新してあります。</p>

<p>※※(2008/6/25)キーワードと規則名が一部被っていたことに愕然としました。literal、range等です。BNF側を修正することで対応しました。また今後の方針ですが、VHDLの文法がなかなかお茶目のよう(定義済みの名前と定義がない名前で文法上の動作をかえる必要があるらしい、トークンの1つ先読みだけでは完全に文法が定まらない?)で、これをどうやってRaccが採用しているLALR(1)で実現するか難しいところです。おそらくアクションと組合わせて、next_tokenでスキャナからトークンを返す直前にちょっとした細工をかます必要があるのではないかと考えています。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>VHDLの可視化ができないものかと</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000648.html" />
    <modified>2008-06-17T15:06:08Z</modified>
    <issued>2008-06-18T00:06:08+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.648</id>
    <created>2008-06-17T15:06:08Z</created>
    <updated>2008-06-17T15:06:08Z</updated>
    <summary type="text/plain">オートパイロットシステム SuperSylphideですが、FPGA基板のソフトがとりあえずひと段落しました。今では『進捗状況(18) -- i2cでサーボインターフェイス』に書いた、i2cによるサーボ信号の読み出し、書込みができます。この内容を記事にしようと考えたのですが、表題の問題が発生しました。 事の発端は、記事用にとVHDLを回路図にした絵が欲しくなったことに始まります。ターゲットFPGAはXilinxのspartan3なので、開発にも同じくXilinxのISE WebPACKを使用しているのですが、このソフトで表示されるRTL Schematicsは実に説明に都合がいい回路図なのです。 WebPACKにてRTL Schematicsのスクリーンショット ところが残念ながら、この回路図を画像ファイルとして保存することができません。贅沢はいわないので、epsファイルぐらい(笑)吐いて欲しいものです。描画できるのだからファイルに落とし込むことなど容易いとは思うのですが、ないものはないのです。そこで解決方法をいくつか探ってみました。 RTL Schematicsの印刷はできるので、そこでPrimo PDFなどを使ってPDF化。その後pdftopsなどを使ってepsに変換して、最後はイラストレータで加工。でも文字化け…元のファイルはVHDLなので、その可視化を直接行ってくれるものがないか探す。signsというeclipseのプラグインとしても動作するツールがなかなか良さそうだが…回路図を別のフォーマットで書き出した上で、他の可視化ツールで読み込んで画像に出力。EDIFというフォーマットがデファクトらしいが… 上記の選択肢の末尾からご察しいただけるかと思いますが、どれも満足がいく結果が得られませんでした。 1.については、WebPACKが吐き出すPDFファイルは怪しげなフォントが埋め込まれてしまっているので、イラストレータで開くのに適したepsが最終的に得られませんでした。埋め込まれたフォントを置換するスクリプトが用意できればよいのですが、そこまではチャレンジしませんでした。 2.についてはsignsがeclipse上でうまく動作してくれませんでした。signs-0.6.3を使ってみたのですが、『(signsがコンパイルした)ライブラリのトップモジュールがおかしいよ』的なエラーがでて、描画をしてくれません。今後のバージョンに期待したいと思います。 3.ですがEDIFのviewerで無償のものを発見できず断念しました。デファクトならば標準的なソフトが無償で提供されてもいいものだとは思うのですが…。Wikipedia『EDIF』をみると事情が多少垣間見られます。ところでこのEDIFは実は内部的にはS式なので、パースが非常に簡単です。ということは、ごにょごにょしてEagleの回路図に変換ということもできるかもしれません、検討してみようと思います。 もしよい方法をご存知でしたら、是非ともお教えください m(_ _)m...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Embedded System</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p><a href="http://fenrir.naruoka.org/archives/000567.html">オートパイロットシステム SuperSylphide</a>ですが、FPGA基板のソフトがとりあえずひと段落しました。今では<a href="http://fenrir.naruoka.org/archives/000645.html">『進捗状況(18) -- i2cでサーボインターフェイス』</a>に書いた、i2cによるサーボ信号の読み出し、書込みができます。この内容を記事にしようと考えたのですが、表題の問題が発生しました。</p>

<p>事の発端は、記事用にとVHDLを回路図にした絵が欲しくなったことに始まります。ターゲットFPGAはXilinxのspartan3なので、開発にも同じくXilinxの<a href="http://japan.xilinx.com/ise/logic_design_prod/webpack.htm">ISE WebPACK</a>を使用しているのですが、このソフトで表示されるRTL Schematicsは実に説明に都合がいい回路図なのです。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/ISE_RTL.png"><img alt="ISE_RTL.png" src="http://fenrir.naruoka.org/archives/images/ISE_RTL-thumb.png" width="400" height="300" border="0" /></a><br />
WebPACKにてRTL Schematicsのスクリーンショット</p>

<p>ところが残念ながら、この回路図を画像ファイルとして保存することができません。贅沢はいわないので、epsファイルぐらい(笑)吐いて欲しいものです。描画できるのだからファイルに落とし込むことなど容易いとは思うのですが、ないものはないのです。そこで解決方法をいくつか探ってみました。</p>

<ol class="block"><li>RTL Schematicsの印刷はできるので、そこで<a href="http://www.xlsoft.com/jp/products/primopdf/">Primo PDF</a>などを使ってPDF化。その後pdftopsなどを使ってepsに変換して、最後はイラストレータで加工。でも文字化け…</li><li>元のファイルはVHDLなので、その可視化を直接行ってくれるものがないか探す。<a href="http://www.iti.uni-stuttgart.de/~bartscgr/signs/wiki/index.php/Main_Page">signs</a>というeclipseのプラグインとしても動作するツールがなかなか良さそうだが…</li><li>回路図を別のフォーマットで書き出した上で、他の可視化ツールで読み込んで画像に出力。EDIFというフォーマットがデファクトらしいが…</li></ol>

<p>上記の選択肢の末尾からご察しいただけるかと思いますが、どれも満足がいく結果が得られませんでした。</p>

<p>1.については、WebPACKが吐き出すPDFファイルは怪しげなフォントが埋め込まれてしまっているので、イラストレータで開くのに適したepsが最終的に得られませんでした。埋め込まれたフォントを置換するスクリプトが用意できればよいのですが、そこまではチャレンジしませんでした。</p>

<p>2.についてはsignsがeclipse上でうまく動作してくれませんでした。signs-0.6.3を使ってみたのですが、『(signsがコンパイルした)ライブラリのトップモジュールがおかしいよ』的なエラーがでて、描画をしてくれません。今後のバージョンに期待したいと思います。</p>

<p>3.ですがEDIFのviewerで無償のものを発見できず断念しました。デファクトならば標準的なソフトが無償で提供されてもいいものだとは思うのですが…。<a href="http://ja.wikipedia.org/wiki/EDIF">Wikipedia『EDIF』</a>をみると事情が多少垣間見られます。ところでこのEDIFは実は内部的にはS式なので、パースが非常に簡単です。ということは、ごにょごにょしてEagleの回路図に変換ということもできるかもしれません、検討してみようと思います。</p>

<p>もしよい方法をご存知でしたら、是非ともお教えください m(_ _)m</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>秋月USBオーディオ</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000647.html" />
    <modified>2008-06-13T14:59:00Z</modified>
    <issued>2008-06-13T23:59:00+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.647</id>
    <created>2008-06-13T14:59:00Z</created>
    <updated>2008-06-13T14:59:00Z</updated>
    <summary type="text/plain">PCのサウンドカードが壊れてしまっていたので、秋月の新商品『USBオーディオモジュール』を組み立ててみました。ケースには同じく秋月の『ポリカーボネイトケース』を使っています。 なかなかいい音でなっています。アンプ部分がPCから遠いことが効いているのでしょうか。ケーブルや電源等あわせて原価2000円程度、工作に1時間程度かかりました。サウンドカードをジャンクで数百円で購入するよりも、いい仕事をしたという満足感が得られたので、よしとします。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Computer</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>PCのサウンドカードが壊れてしまっていたので、秋月の新商品<a href="http://akizukidenshi.com/catalog/items2.php?q=%22M-02404%22&s=date&p=1&r=1&page=">『USBオーディオモジュール』</a>を組み立ててみました。ケースには同じく秋月の<a href="http://akizukidenshi.com/catalog/items2.php?q=%22P-00358%22&s=popularity&p=1&r=1&page=">『ポリカーボネイトケース』</a>を使っています。</p>

<p><a href="http://fenrir.naruoka.org/archives/images/akizuki_USB_audio.jpg"><img alt="akizuki_USB_audio.jpg" src="http://fenrir.naruoka.org/archives/images/akizuki_USB_audio-thumb.jpg" width="400" height="300" border="0" /></a></p>

<p>なかなかいい音でなっています。アンプ部分がPCから遠いことが効いているのでしょうか。ケーブルや電源等あわせて原価2000円程度、工作に1時間程度かかりました。サウンドカードをジャンクで数百円で購入するよりも、いい仕事をしたという満足感が得られたので、よしとします。</p>]]>
      
    </content>
  </entry>
  <entry>
    <title>秋葉原でおきた痛ましい事件</title>
    <link rel="alternate" type="text/html" href="http://fenrir.naruoka.org/archives/000646.html" />
    <modified>2008-06-08T15:50:04Z</modified>
    <issued>2008-06-09T00:50:04+09:00</issued>
    <id>tag:fenrir.naruoka.org,2008:%2F%2F2.646</id>
    <created>2008-06-08T15:50:04Z</created>
    <updated>2008-06-08T15:50:04Z</updated>
    <summary type="text/plain">恐ろしかったです。秋葉原で用を足そうと思ったのですが、幸い色々と立て込んでいてあの時間帯に秋葉原に立ち寄ることにはなりませんでした。渋谷、新宿、池袋あたりがターゲットにされそうなものですが、もはや秋葉原もそういう場所になってしまったということで、認識を新たにせざるを得ません。幼少より秋葉原に慣れ親しんできたのですが、最近あの一帯の人口、人種が急増したことと関係があるような気がしてなりません。 一アキハバラ人として、被害者の方のご冥福を節にお祈りたいと思います。...</summary>
    <author>
      <name>fenrir</name>
      <url>http://www.naruoka.org</url>
      <email>fenrir.naru@gmail.com</email>
    </author>
    <dc:subject>Timely</dc:subject>
    <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://fenrir.naruoka.org/">
      <![CDATA[<p>恐ろしかったです。秋葉原で用を足そうと思ったのですが、幸い色々と立て込んでいてあの時間帯に秋葉原に立ち寄ることにはなりませんでした。渋谷、新宿、池袋あたりがターゲットにされそうなものですが、もはや秋葉原もそういう場所になってしまったということで、認識を新たにせざるを得ません。幼少より秋葉原に慣れ親しんできたのですが、最近あの一帯の人口、人種が急増したことと関係があるような気がしてなりません。</p>

<p>一アキハバラ人として、被害者の方のご冥福を節にお祈りたいと思います。</p>]]>
      
    </content>
  </entry>

</feed>