OSQZSS

オープンソース準天頂衛星(QZSS)受信機

大気圏突入

2012-07-30 14:50:47 | みちびき
大気圏への再突入といえば,宇宙研の観測ロケットである
S-310-41号機でも実験が行われます.こちらに搭載される
高ダイナミクス対応GPS受信機の開発も,お手伝いさせて
いただいています.

内之浦の豪雨に伴う被害で延期されていた打ち上げですが,
先日,新しい日程が8月6日とアナウンスされました.

2012年度第1次観測ロケット実験の実施について

41号機に搭載されるのは,小型インフレータブルカプセルと
呼ばれる柔軟エアロシェルになります.打ち上げ時は折り
畳まれていますが,ガスを注入することでエアロシェルが
直径120cmほどの傘状に展開されます.

小型インフレータブルカプセル飛行試験



どう見てもバリュートです.オートマチックか!?
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

こうのとりがISSに到着

2012-07-27 22:13:42 | ソフトウェア受信機
i-Ballを乗せたこうのとりが,無事にISSに到着し,ロボットアームで
キャッチされました.

星出さん、こうのとり3号機を無事キャッチ

リエントリの日程は,これまで公式にはアナウンスされていませんが,
記事を読む限り9月6日のようです.

【追記】
2012年7月28日00時24分に記事が訂正され,9月7日となっています.
日本時間なのかな?

【追記2】
HTV3のミッションページでも飛行計画が更新され,ISSからの離脱と
大気圏への再突入の予定日が追加されています.離脱が9月7日,
再突入が9月8日のようです.

「こうのとり」3号機(HTV3)ミッション
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

FT232H Synchronous FIFOのつづき

2012-07-16 13:54:32 | FPGA
ADBUSをカウントアップする周期をCLKOUTの半分にしたところ,
データの取りこぼしは無くなりました.



データ転送速度も,ほぼカウントアップの周期と同じ28MB/sと
なっています.



根本的な解決になっていない気がしますが,最大転送速度である
40MB/s以下でFIFOへの書き込みをすれば問題ないのでしょうか?

データの取りこぼしが,512バイトに1回というのも気になります.
FT232Hのsynchronous FIFOでは,2つの512バイトのバッファを
スワップしながら転送しています.このタイミングでもTXE#は
highになっていると思うのですが,これを見逃しているのかな?

いまひとつ釈然としませんが,ソフトウェアGPS受信機用には
20MB/sも出れば十分なので,これで良しとしましょう.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

FT232H Synchronous FIFO for DE0-Nano

2012-07-15 16:10:09 | FPGA
FT232HによるUART通信の実験に続いて,synchronous FIFOによる
高速データ転送を試してみます.

まず,FT_ProgでFT232をFT245 style synchronous FIFO modeに書き換えます.

 (クリックで拡大)

ドライバもVirtual COM PortからD2XX Directに切り替えます.

 (クリックで拡大)

Program DevicesアイコンをクリックしてEEPROMを更新した後,
一度USBポートからFT232Hを取り外し,再度差し込むと,
COM Portではなく,USB Serial Converterとして認識されます.

 (クリックで拡大)

Synchronous FIFOは,ソフトウェア受信機に使いたいと考えて
いるので,今回はwrite data modeだけを実装してみます.
write data modeでは,FT232Hに接続された外部デバイス
(今回はDE0-Nano)からのデータが,FT232H経由でPCに
書き込まれることになります.

FT232HのFIFOには,TXE#がlowのときに書き込みができます.
そのため,DE0-Nano側は,まずTXE#がlowになるまで待ちます.
TXE#がlowになったら,WR#をlowにすることで,ADBUS[7:0]の
データがCLKOUTの立ち上がり時にFIFOに書き込まれます.
TXE#がhighになったら,FIFOに書き込みができないという
ことですので,WR#をhighにして書き込みを停止します.

基本的に,DE0-Nano側の作業はこれだけです.今回の実験では,
回路師さんのblogを参考に,8ビットのカウンタ値をADBUSに
出力することにしました.



Quartus IIのプロジェクト一式は,下記のリンクからダウンロード
できます.

http://www.sensorcomm.co.jp/osqzss/fpga/ft232h/ft232h_fifo.zip

次に,PC側のソフトウェアを作成します.こちらは,ほぼFTDIの
Application Noteのサンプルそのものです.

Application Note AN_130: FT2232H Used In An FT245 Style Synchronous FIFO Mode

Visual Studioのプロジェクト一式は,下記のリンクからダウンロード
できます.

http://www.sensorcomm.co.jp/osqzss/fpga/ft232h/sync_fifo.zip

サンプルを真似しただけですが,データ転送速度は36MB/s以上と,
ほぼフルスペックで通信ができています.



ただし,残念ながら0.2%の割合で周期的にデータが1バイト欠損します.
安定したデータ転送を実現するには,もう少し工夫が必要なようです.
コメント (11)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Interrupt Driven UART for DE0-Nano

2012-07-14 20:51:34 | FPGA
FT232Hの基板を発注する前に,ストロベリーリナックスのキットを購入して
実験することにしました.

ストロベリーリナックス: FT232H(1ch)高速USBシリアル変換モジュールキット

設計中の基板と同じピン配置になるように,ジャンパワイヤ100本セットを
活用して,がつがつと繋げて行きます.

スイッチサイエンス: ジャンパワイヤ100本セット(メス~メス)

わさわさ.



デフォルトでFT232HはUSBシリアル変換として動作するので,まずはNios IIに
UARTを追加することにしました.Namuru-Nanoの一緒に動かすのにpollingでは
堪らないので,interrupt drivenにします.

毎度のように,Sim's blogの解説にしたがってNios IIを実装.
今回は,さらにUARTのモジュールを追加します.

ソフトウェアの方は,リングバッファにデータがあれば,transmission ready
interruptをenableして,割り込み毎にtxdataレジスタにバッファのデータを
一文字ずつ書き込みます.リングバッファが空になれば,interruptをdisable
しています.レジスタの機能などは,Quartus II Handbookを参照してください.

Quartus II Handbook: UART Core

UARTを利用したシリアル通信は,他のマイコンでも何度も実装しているため,
特に問題なく動作させることができました.

(クリックで拡大)

今回作成したプロジェクト一式は,下記のリンクからダウンロードできます.

http://www.sensorcomm.co.jp/osqzss/fpga/ft232h/ft232h_uart.zip

これでJTAG-UARTから開放される.

次は同期FIFOによる高速データ転送を試してみます.

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

搬送波位相の生成

2012-07-14 17:56:17 | ソフトウェア受信機
偶然にも同じタイミングで,あちらこちらから搬送波位相観測値の
生成について質問を受けたのでメモ.

これまでにいろいろなテキストや論文を調査しましたが,
下記の論文が参考文献としてベストです.

Psiaki, M. L. and Mohiuddin, S., "Modeling, Analysis, and Simulation of
GPS Carrier Phase for Spacecraft Relative Navigation", Journal of Guidance,
Control and Dynamics, Vol 30, No 6, Nov-Dec 2007.

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

FT232H for DE0-Nano

2012-07-09 22:23:33 | FPGA
JTAG-UARTの使い方がいまひとつ理解できないので,
Nios IIにUARTを加え,USBシリアル変換でPCと通信することにしました.
これなら,普通にターミナルソフトでNios IIとデータのやり取りができます.

ただのシリアル通信だけではつまらないので,FT232Hを試してみることにしました.
FIFOモードでは40MB/sの通信が可能ですので,ソフトウェア受信機にも利用できそうです.

FT232H - Hi-Speed Single Channel USB UART/FIFO IC

フロントエンド基板と同様に,DE0-Nanoをまたぐ形で接続します.
ICの斜め置きも初めて試してみましたが,バスラインが綺麗に引けて良い感じ.



しかし,このFT232H基板をフロントエンド基板と一緒に載せると,
DE0-Nano本体のLEDやプッシュボタンなどが隠れてしまいます.

FT232H基板には空きピンがないため,フロントエンド基板の方に
LEDやプッシュボタンを追加してみました.



改修ついでにRFのラインも太くしたいのですが,1mmはさすがに無理
2層基板のままなので,インピーダンスには目をつぶろう.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする