PX-W3PE4 備忘録

e-tipsmemo.hatenablog.com
この続き。
PX-W3PE4でTS抜き

デコーダ

DScalerをインストールした。

BonDriverインストール

00371のダウンロード
Win->Cmd右クリック→管理者権限で起動
f:id:katakanan:20181007180147p:plain

TVTestを用意

ビルド/ダウンロードなど
PT3 / TVTest のインストールと設定方法 | 積水成淵日記
ビルド済みもあるが、0.9.0_developじゃうまくいかなかったので
0.7.23(x86)がそれなりに安定しているらしい。

BCASカード

なんとかする

BonDriver_BDA/BDASpecial-IT35

PX-W3PE4でradi-sh版BonDriverを使う
20180818Verを使った。
Releases · radi-sh/BonDriver_BDA · GitHub

  • BonDriver_BDA.dll

をコピー&リネームして

  • BonDriver_PX_W3PE4_S0.dll
  • BonDriver_PX_W3PE4_T0.dll

Releases · radi-sh/BDASpecial-IT35 · GitHub

  • BonDriver_PX_x3U4_S.ini
  • BonDriver_PX_x3U4_T.ini

をリネームして

  • BonDriver_PX_W3PE4_S0.ini
  • BonDriver_PX_W3PE4_T0.ini

この **.ini の中身で赤線のところを書き換える。
PXW3PE4
PX-W3PE4
f:id:katakanan:20181007214348p:plain
あとは
BDASpecial-IT35-2018-08-18\x86_ランタイム内蔵版\IT35.dll

TVtest

  • BonDriver_PX_W3PE4_S0.dll
  • BonDriver_PX_W3PE4_T0.dll
  • BonDriver_PX_W3PE4_S0.ini
  • BonDriver_PX_W3PE4_T0.ini
  • IT35.dll

をTVTest直下に入れる。

TVTestを起動すると、
デコーダ/レンダラ/カードリーダーを設定する。
レンダラは環境によって設定が違うかもしれないらしい
EVRを選択した。

その後
設定→チャンネルスキャン
を行う

その他

TVTest_0.9.0_develop_x86
でも試したが、なぜかスクランブルエラーがでた
(右下のD / E / S →Drop / Error count / Scramble)

PX-Q3PE4だと地デジ4+BS/CS 4が見れるが
パソコンのスペックや、HDDへのアクセスが遅いと録画時にDropする可能性が高いらしい

PLEX 地上デジタル・BS・CS対応TVチューナー PX-W3PE4

PLEX 地上デジタル・BS・CS対応TVチューナー PX-W3PE4

PLEX 地上波デジタル・BS/CS対応TVチューナー PX-Q3PE4

PLEX 地上波デジタル・BS/CS対応TVチューナー PX-Q3PE4

ubuntu ocaml install & test

メモ
環境はWSL上で
Ubuntu 16.04
fish shell

install

sudo apt install ocaml

f:id:katakanan:20181002222533p:plain
OK

Syntax Highlight

sudo apt install opam
opam init

opam initをするとインストールされているshellに応じて、
自動で設定を行うか聞いてくる。
f:id:katakanan:20180930175346p:plain
最後に以下を実行しろと言ってくる
fishなら

eval (opam config env)

config.fishなどに書いておく

これだけでsyntax highlightは完了する。
(syntax onにしていれば)

f:id:katakanan:20181002223240p:plain
(これでいいのかな??)

これから試していく

LTspice BJT simulation

使いたくなった時に使い方を忘れていると困るので
LTspiceの使い方をメモっておく。

とりあえず
modelの追加方法と、
基本的なシミュレーション
パラメータを利用

モデルの利用

ライブラリから目的の部品を探すのが面倒だといつも思っていた。が。
f:id:katakanan:20180927192604p:plain
Spice Directiveで直接指定することができるとは知らなかった。
f:id:katakanan:20180927192830p:plain

.model 2SC1815-GR NPN(Is=2.04E-15 Xti=3 Eg=1.11 Vaf=100 Bf=300 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=3.377 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=1p Mjc=.3333
+ Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0)

シミュレーション指定

Spice Directiveで .[文字列]とするとコマンドになる。
f:id:katakanan:20180927193355p:plain
例えばdcシミュレーションでV1を0.01Vから0.8Vまで0.05V刻み

.dcまで書いてから右クリックするとGUIで編集できるようになる。
f:id:katakanan:20180927193453p:plain
こっちからもできる。

電圧源・電流源

回路を作った。
f:id:katakanan:20180927193522p:plain
ここでハマったのは、電流源電圧源になんか種類があることである。
f:id:katakanan:20180927193752p:plain
bvもvoltageもvoltage sourceなのだが、DCを出せて、.dcで指定できるのはvoltageのほう。
ここで間違えてbvを使う、または
currentと間違えて、biを使うと、
ltspice dc sweep source not found
とか
Unlabeled value in: "b§ib 0 n002 0 " -
とかでる。

パラメータスイープ

ここでは、複数のIBの値で試したい。
f:id:katakanan:20180927194153p:plain
IBはI1の変数{IB}に対応している。
f:id:katakanan:20180927194456p:plain

Run

f:id:katakanan:20180927194542p:plain
お馴染みのグラフ

LTspiceは幾度か使おうとしたことがあるが
なんだか操作が独特であまり真面目につかったことがなかった。

マイクロストリップラインのシミュレーションとかもできるのかな(?)

ADALM-PLUTO gnuradio

IIO oscilloscopeをいじっていたが、多頻度でアプリが操作不能後、落ちるので
gnuradioとやらで利用してみる。
www.youtube.com

こちらのほうが性能が高そで、ほかのRTLドングルなどにも対応しているらしい?

Windowsにgnuradiuoをインストールしても
ADALM-PLUTOのブロックがなかったのでやっぱり
Ubuntuでやらないといけなさそうである。

VMplayerにUbuntu16 64bitをインストールしてあったので、そこにインストールした
基本的な導入手順は以下のサイトを参考にした。
GNU Radio [Analog Devices Wiki]
gr-iioをcmakeするときには
cmake -DCMAKE_INSTALL_PREFIX=/usr .
で行わないと
pythonのiioのimportで失敗した。

ちなみにfish shellを使っているとコマンドを改行で区切ってあるものを直接コピペ実行することができるので便利
f:id:katakanan:20180906223805p:plain

serial consoleで接続してみる
f:id:katakanan:20180907200019p:plain

rulesを書く
github.com

gnuradio-companion
で起動する。
f:id:katakanan:20180906224323p:plain

正しくインストールされていると右のカラムに
Industrial IOというところがある。(Windows版には表示されなかった)
f:id:katakanan:20180906224545p:plain




f:id:katakanan:20180909110609p:plain
こんな感じにブロックを置いた。
GNU Radio [Analog Devices Wiki]
に書いてあるように
Device URIIPアドレスとかUSBのアドレスとか設定しないとDevice Not Foundと出てしまう。

f:id:katakanan:20180909160039p:plain
f:id:katakanan:20180909160215p:plain
それっぽい?

Raspberry piでSPI通信

RaspberryでSPIする必要がでてきてその方法を調べたのでメモ。
しかもPythonじゃないといけない。
python好きじゃないけど

pi@raspberrypi:~ $ cat /proc/version
Linux version 4.14.66-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1137 SMP Fri Aug 24 16:36:53 BST 2018

raspi-configとかそんなコマンドを打てばSPIを有効にできたりした気がする。
または,/boot/config.txtに以下追記

qiita.com

#!/usr/bin/env python
import time
import sys
import spidev
import RPi.GPIO as GPIO

spi = spidev.SpiDev()
spi.open(0,0)
spi.no_cs = True
spi.max_speed_hz =

SS_list = [4,18,17,8]

GPIO.setmode(GPIO.BCM)
GPIO.setup(SS_list, GPIO.OUT)

if __name__ == '__main__':
        try:
                while True:
                        GPIO.output(4, GPIO.LOW)
                        spi.xfer2([0x55,xAA])
                        GPIO.output(4, GPIO.HIGH)
                        print("hello")

                        time.sleep(1)
        except KeyboardInterrupt:
                GPIO.cleanup();
                spi.close()
                sys.exit(0)

テストコード一秒ごとにSPI通信する。

Slave Selectを複数使いたかったのでGPIO moduleもインポートしている。

CE0をマニュアルで操作したかった。
www.raspberrypi.org

SPI_CPOL    - Clock polarity
SPI_CPHA    - Clock phase
SPI_CS_HIGH - Chip Select active high
SPI_NO_CS   - 1 device per bus, no Chip Select
SPI_3WIRE   - Bidirectional mode, data in and out pin shared

SPI_NO_CSを指定すればいいらしい
のでspidevでそのように設定している。

Raspberry Pi 3 Model B+ スターターセット BASIC

Raspberry Pi 3 Model B+ スターターセット BASIC

KiCAD 5.0 stable install

KiCAD 4.0.Xの操作感に不満を覚え始めたので、乗り換えPCBエディタを探していた。
無料のものだとEagle(古いやつ)
手頃な値段のものだと、
Diptrace, Eagle(Autodeskのほう)、CircuitStudio,
高いやつなら
Altiumとか。。。?
80万は出せない。

とかお金かけようかと悩んでいたタイミングでKiCADのver5がでてしまい
またかなり変更されているようなのでKiCAD v5を試用する。

まずはじめに、KiCAD v4とv5を共存させるためには少し手間がかかるらしい
github.com
ここら辺も勝手にどうにかしてほしい

起動して
まずメインパネルが少しだけUIがカラフルになった?
f:id:katakanan:20180801000818p:plain

回路図エディタのメイン部分はそれほど変わっていない。
ボタンアイコンがカラフルになった。
DRCチェックの虫がちょっとリアルになった?

フットプリントを関連付け。
この画面がv4に比べて重くなっている。
関連付ける対象を選ぶと回路図上でそのシンボルのところへカーソルが移動するのは昔からあったが
その動作を含めて、すべてが遅い。
関連付ける対象を選んでから10秒ぐらいたってから移動する。

ひとまず置いておいて、
PCBレイアウトへ
初回起動で以下のようなものがでた
f:id:katakanan:20180801000944p:plain

どうやらPCBレイアウトエディタは
v4でいうところのOpenGLmodeが標準?
f:id:katakanan:20180801002859p:plain
レガシーモードは昔の表示モードで
モダンツールセットはOpenGL表示モード
アクセラレータA」と「代替C」で何が違うのかはすぐにわからなかった。

f:id:katakanan:20180801003201p:plain
ビアが起き放題になった。
これでGNDパッドからダサい配線を伸ばさなくて済む。

f:id:katakanan:20180801003439p:plain
3D表示は相変わらずだった。
ただしwheelボタンを押し込んだ位置に移動する機能が付いた。
CPUレイトレーシングで表示するモードもあるがクッソ重い。

f:id:katakanan:20180801003701p:plain
きれいではある。

3D関係で最も期待していたものはSTEPファイル出力への対応
f:id:katakanan:20180801003750p:plain
個人的に3DデータフォーマットはSTEPが一番使いとおもう。
これで吐けるとFusion360に簡単にアップロードすることができて機械設計へと移行できる。(まだあまりしたことないが)

f:id:katakanan:20180801004759p:plain
コンポーネントのモデルも一緒に出力されてないはずがないと思うが、何か設定しなければならないのかと思う。
後日確かめる。
あと本当は配線もモデルに表示されていたらかっこよかったが、
DiptraceのほうでもExportされていなかったので、
データ量が多くなってしまうのだろう。残念である。

ここには書いていないが
Eagleのプロジェクトを直接インポートできるようになったとか環境変数をいろいろ設定できるとか
Spiceとの連携が強くなっているとかライブラリエディタの編集性がよくなったとか
PCBをフリップして見れるとかネットリストを介さずに回路図からPCBをアップデートできるとか
フットプリントの3Dモデルにstepファイルが使えるようになったとか言っている動画
hackaday.com

そしてもうすでにKiCAD v6の開発が始まっていた
givetokicad.web.cern.ch

3Dの強化はうれしいが、回路図/PCBエディタ上でのカクカクした操作があまり好きじゃなかったのが変わっていなかったのが残念だった。
(マウスの移動量/拡大はスムーズにおこなれて、シンボル/ワイヤーの移動量やコンポーネントはgridにスナップするとかいうオプションになればいいと思っている)

結局、v4と操作思想はほとんど変わっていないという感じだった。
逆に言うと、v4向けに書かれた本は無駄にならずに相変わらず参考になると思う。

AXI DMA テスト

AXIのDMA動作をメモしておく。

この記事を参考に
Using the AXI DMA in Vivado | FPGA Developer

DMAのパスにILAを接続しておく。
f:id:katakanan:20180722155334p:plain


手順通りにHelloWorldができたら、
HelloWorld_bspのsystem.mssを開いて
axi_dmaのImport Exampleをクリックして
xaxidma_example_simple_pollにチェックを入れてOKを押す。
f:id:katakanan:20180722160551p:plain

HelloWorld_bsp_xaxidma_example_simple_poll_1とかいうプロジェクトができるので、
これがビルドできることを確かめる。

VivadoからBitstreamを書く。

HelloWorld_bsp_xaxidma_example_simple_poll_1/Debug/HelloWorld_bsp_xaxidma_example_simple_poll_1.elfを右クリックして、
Debug as → Launch on Hardware を選択する。
f:id:katakanan:20180722161230p:plain

実行が始まると、mainの先頭で実行が止まっている状態になるので、
ここからステップ実行などができる。

一方で、Vivadoから
Program AND Debug→ Open Hardware Manager→Open Targetとすると、
ILAの画面が開く。
(プログラムをDebugで止めておかないと、ILAの画面が出てきてくれない)

あとは、ILAの画面でDMAのARVALIDなどにトリガーをつけてから、
XSDKで実行を開始すれば、DMAの動作が見れる。

f:id:katakanan:20180722161909p:plain
切断されることもある。

write_hw_ila_data my_hw_ila_data_file.zip [upload_hw_ila_data hw_ila_1]
で波形を保存できる。

display_hw_ila_data [read_hw_ila_data my_hw_ila_data_file.zip]
で波形を再生できる。

Zybo Zynq-7000 ARM/FPGA SoC Trainer Board

Zybo Zynq-7000 ARM/FPGA SoC Trainer Board

FPGAプログラミング大全 Xilinx編

FPGAプログラミング大全 Xilinx編