ブログ
ランダム
今週のお題「#GW」をチェック
記事を書く
検索
ウェブ
このブログ内で
ログイン
ブログ開設
トップ
dポイント
メール
ニュース
辞書
教えてgoo
ブログ
住宅・不動産
サービス一覧
閉じる
OSQZSS
オープンソース準天頂衛星(QZSS)受信機
PocketSDRの動作確認
2021-08-31 08:14:54
|
ソフトウェア受信機
高須さんのMAX2771基板であるPocketSDRでもGPS信号の受信が確認できました.
RFのラインにアクティブアンテナ用のDCが供給されてないのは,ちょと不便かも.
Configuration registersの計算がとても面倒なので,なんとかしたい.
コメント
MAX2771でGPS信号受信
2021-08-30 13:29:13
|
ソフトウェア受信機
Slave FIFOの問題は解決したので,MAX2771でGPS信号受信を試みます.
高須さんからお借りしているMAX2771基板でSLWSとSLRDの信号を入れ替える前に,
MAX2771の評価基板に接続してみました.
EP6INのFIFOをひたすら読みだすStreamerのアプリケーションでI/QデータをPCに保存.
16.368MHzのIFCLKでも,取りこぼしなく転送できているようです.
その後,ソフトウェアGPS受信機でGPS信号の受信が確認できました.
これで,フロントエンド側のファームウェアから,ホスト側のアプリケーションまで
一通りのツールがそろいました.アプリケーションを作り込んで,MAX2771を自由に
操作できるようにしよう.
P.S.
サクッとジャンパを改修.
コメント
メーカ不明のFX2LP基板
2021-08-30 11:19:32
|
ソフトウェア受信機
Slave FIFOのファームウェアがどうしても動作せず,納得がいかないので
高須さんからお借りしているメーカ不明のFX2LP基板のヘッダピンの結線を
ひとつひとつチェックしてみました.
そうしたら,バスの読み書きの方向を指定するRDY1/SLWRとRDY0/SLRDの
シルクが逆になっていることが判明.バスからFIFOへの書き込みのために
SLWRをアクティブにしているつもりが,その逆方向のSLRDをアクティブに
していました.
正しくSLWRをlowに,SLRDをhighに設定したところ,無事にslave FIFOの
動作が確認できました.こんなことで日曜日を丸一日溶かすことになろうとは.
FX2LP基板単体の動作チェックでは,IFCLKに内部クロックを指定していますが,
これをMAX2771からのCLKOUTに切り替えればI/Qデータが取り込めるはず.
コメント
MAX2771のクロック分周
2021-08-29 09:46:57
|
ソフトウェア受信機
高須さんにクロック分周回路を介すとCLKOUTの信号レベルが改善されると情報をいただいた.
試しに周波数を1/2にしてみると,もともと1.17VppだったCLKOUTが2.0Vppに変化する.
納得いかない仕様だけれど,これならFX2LPのIFCLKをドライブできそう.
しかし,MAX2771のADCは,CLKの立ち上がりでサンプリングして,立ち下りでValidとなる.
一方,FX2LPのsynchronous slave FIFOは,IFCLKの立ち上がりでバスのデータを読み込むので,
やはりMAX2771のCLKOUTはインバータに入力して信号レベルと一緒に極性も反転した方が
良いかもしれない.
P.S.
IFCLKの極性は,IFCFG.4で選べるのね.
コメント
Throughputの改善
2021-08-28 10:38:40
|
ソフトウェア受信機
FX2LPのbulk転送のthroughputを改善するために,Cypressが提供するStreamerを参考に,
C#でコンソールアプリを書いてみた.
CypressのStreamerには劣るものの,36MB/sを達成.
これなら,余裕をもってGNSS信号のI/Qデータが転送できそう.
P.S.
受信データをファイルに書き込んで保存することもできるようになった.
Data returned by FinishDataXfer() in a host application using the cyusb3 driver
コメント
FX2LPのthroughput
2021-08-27 21:36:02
|
ソフトウェア受信機
Cypressが提供するbulkloopのhost applicationを参考に,C#でコンソールアプリを書いてみた.
bulkloopのファームウエアで動作が確認できたけれど,throughputを計算してみるととても遅い.
bulkloopのファームウエアで,EP6INのデータをEP2OUTに毎回コピーしているのが原因だろうと,
TD_Pollで単にFIFOをEmpty/Fullにするように改修.
これで,INもOUTも8MB/sのthroughputが達成できたけれど,まだ遅い.
試しに,同じファームウェアをCypressが提供するStremerで計測してみると,なんと43MB/sも出る.
Host applicationの作り方次第で,throughputはかなり改善できそう.
コメント
VS2019でHost Application
2021-08-26 23:42:06
|
ソフトウェア受信機
Cypressが提供しているFX3/FX2LPのhost applicationのサンプルは,どれも古いVisual Studioで
開発されているため,Visual Studio 2019でbuildするとエラーばかり出てしまう.
C++で開発しようとすると,ちょっと面倒だったので,備忘録.
参考にした記事はこちらです.
https://community.cypress.com/t5/USB-Superspeed-Peripherals/CyAPI-Suite-source/td-p/99619
https://stackoverflow.com/questions/16732789/system-a-namespace-with-this-name-does-not-exist
まず,Visual Studio Installerで「C++によるデスクトップ開発」のオプションとして
「ビルドツール用C++/CLIサポート」を追加.
C++/CLIは,.NETクラスをC++プログラミングで使えるようにするためのものらしい.
Host applicationのサンプルは,
EZ-USB FX3 Software Development Kit
でインストール
されたものを使う.ここでは,Visual Studio 2019でstreamerのソリューションを開いてみる.
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\cpp\streamer\Streamer_VS2015.sln
まず,先ほど追加したC++/CLIを使うために,「Configuration Properties -> General」から
「Common Language Runtime Support」を「Common Language Runtime Support (/clr)」に変更する.
次に,CyAPI.libを使うために,「Configuration Properties -> Linker -> Input」の
「Additional Dependencies」のパスを「..\..\..\library\cpp\lib\x86\CyAPI.lib」に修正.
これでエラーも警告もなく,streamerのアプリケーションがbuildできるようになります.
正直なところ,.NET Frameworkを使うのであれば,大人しくC#で開発するのが楽かもしれない.
P.S.
AN70983のソリューションもVS2019で素直にbuildできた.
AN70983:
Designing a Bulk Transfer Host Application for EZ-USB FX2LP/FX3
P.P.S.
C#のコンソールアプリケーションのサンプルを発見.
How to Create Console Application of the CyControl Centre
コメント
MAX2771の設定レジスタ
2021-08-24 13:57:17
|
ソフトウェア受信機
FX2LPのVendor Requestを使って,MAX2771の設定レジスタの読み書きができるようになった.
halfduplexのSPIは,bit bangingで実装している.
そろそろホストアプリケーションにも手を付けないといけない.
コメント
MAX2771のCLKOUT
2021-08-23 12:11:13
|
ソフトウェア受信機
MAX2771のデータシートではCLKOUTはADC出力と同じデジタル出力と書かれているけれど,
オシロスコープで確認してみるとDC結合したTCXOの波形と同じものが出力されている.
これはCLKOUT_SELでADCのサンプリングクロックを選択しても同じで,LVCMOSレベルの
デジタル出力にすることができない.
このCLKOUTでは,EZ-USB FX2LPのslave FIFOのIFCLKを直接ドライブできない気がする.
FPGAを挟んでクロック入力ピンで受けてからFX2LPとインターフェイスする必要がある?
P.S.
基板の空スペースにインバータを載せるか.
Inverter feedback when converting clipped sine oscillator signal to square wave
コメント (1)
USB2.0も使いこなしたい
2021-08-20 15:45:57
|
ソフトウェア受信機
高須さんからMAX2771+FX2LPの基板をお借りしました.
http://gpspp.sakura.ne.jp/diary201904.htm
そんなわけで,FX2LPもお勉強中.
本家のアプリケーションノートに加えて,このあたりがとても参考になりました.
平坂久門ただいま失業中(EZ-USB FX2LP INDEX)
米国で働く技術系サラリーマンのボヤキ on はてブロ
I/Qサンプルの取り込みは,bulkloopのサンプルのslave FIFOをIFCLKで動かせばいいのかな?
MAX2771の設定用インターフェイスであるhalfduplexのSPIは,
8051からbit-bangsで直接GPIOを叩けばいけるだろう.
AN14558:
Implementing an SPI Master on EZ-USB FX2LP
P.S.
MAX2771の設定用レジスタの書き込みや読み出しは,EP0のVendor Requestで行えばいいのね.
アプリケーションノートにI2CでのEEPROMのwrite/readのサンプルがあるので,それを使おう.
AN45471:
Create Your Own USB Vendor Commands Using FX2LP
コメント
記事一覧
|
画像一覧
|
フォロワー一覧
|
フォトチャンネル一覧
«
前ページ
カレンダー
2021年8月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
前月
次月
カテゴリー
雑記
(81)
みちびき
(83)
OSQZSS
(51)
ソフトウェア受信機
(138)
GPS Signal Simulator
(96)
GNSS-R
(11)
FPGA
(92)
ロケット
(38)
小型衛星
(41)
RTL-SDR
(18)
RTKLIB
(37)
Android
(23)
ドローン
(8)
トランジスタ技術
(8)
SDR
(31)
ブックマーク
RTKLIB
s-taka.org
Homemade GPS Receiver
最新記事
PocketSDRはじめました
Hard SyDR
NavIC Waveform Generation
黒いPocketSDR
春のRaspberry Piまつり
VkFFT on a Raspberry Pi
tinySA Ultra
Software GNSS/INS for Zynq
SDR GPS receiver on a microcontroller
End-to-End Simulation
>> もっと見る
最新コメント
TTAKASU/
春のRaspberry Piまつり
osqzss/
PocketGNSS
Artyom/
PocketGNSS
OSQZSS/
SDRコンテスト
TTAKASU/
SDRコンテスト
y.k/
plutoplayer for PlutoSDR
y.k/
plutoplayer for PlutoSDR
y.k/
plutoplayer for PlutoSDR
osqzss/
plutoplayer for PlutoSDR
y.k/
plutoplayer for PlutoSDR
バックナンバー
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年09月
2023年08月
2023年07月
2023年06月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年04月
2022年03月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2020年01月
2019年08月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2018年02月
2018年01月
2017年12月
2017年11月
2017年10月
2017年09月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年07月
2012年06月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
ログイン
編集画面にログイン
ブログの新規登録
goo blog
おすすめ
おすすめブログ
@goo_blog
お客さまのご利用端末からの情報の外部送信について
goo blog
お知らせ
goo blogは20周年を迎えました!
訪問者数に応じてdポイント最大1,000pt当たる!
皆さんにおすすめしたい人気ブログをご紹介
今週のお題「#GW」をチェック