VirtualBOXに入ってるUbuntuでやればよかったのだが、ちょっと理由があってWindowsでXilinxのlinux_xlnxを手に入れる必要があった。しかしなんでか、git cloneがうまくいかなかった。
原因はcloneするファイルの中にwindowsで禁止されたファイル名のファイルが含まれていたからだった。
GithubとかでCloneしたもののファイル名やディレクトリ名がAUXとかになっているとwindowsでは禁止用語なのでcheckoutできない。小文字大文字かかわらず、拡張子がついていようがいまいが、禁止された名前扱いされるらしい。AUXのほかにPRNやCONなどもだめらしい。以下の例だとaux.cという名前のファイルがあるせいでチェックアウトできないようだ。aaaa_aux.cとかファイル名に禁止名が含まれるだけなら大丈夫っぽい。
Prismjs
2020年2月4日火曜日
2020年1月20日月曜日
VivadoのVIO機能を使ってLチカ&入力読み取り
VivadoのIPにはVIO(Virtual input output)というものがあります。
これを使えば、FPGA書き込み後PCからI/Oを叩いたり値を覗いたりできます。
とりあえず、今回はVIOからZYBO
Z7上のLEDを叩く・スイッチを覗くを行ってみます。今回RGBLEDも光らせてますが、たしか無印ZYBOにはRGBLEDが実装されていなかったと思います。無印ZYBOを使う場合はRGBLEDは省略してください。
2020年1月19日日曜日
Vivadoのxprファイルについて
ERROR:[ProjectBase 63-9] XML parser
encountered a problem in C:/Users…….xpr at line 1:XML
character encoding not supported
上記のようなエラーが出現し、vivadoのプロジェクトが開けなくなってしまった。
xprファイルを直接ダブルクリックで開いても、vivadoからOpen Projectで開いても同様のエラーが出てしまう。
2020年1月2日木曜日
上位リンクでラズパイ(Python)からキーエンスのKVシリーズPLCを制御する
キーエンスのPLC(シーケンサ)をラズパイから制御する必要があったので、Pythonで上位リンクをやってみた。
タイトルにラズパイとあるが、ぶっちゃけPython3実行環境があるならWindowsPCでもMacでもなんでも良い。
Labels:
Python,
RaspberryPi
2019年10月12日土曜日
シリアル通信・UART・RS232C・RS422・RS485とは
シリアル通信とは
シリアル通信とは規定のタイミングで1ビットごとに1本の線にデータを乗せてやり取りをする通信のこと。SPI通信やI2C通信もシリアル通信の一種である(SCLK等はデータを乗せる線ではなくタイミングを制御するための線なため)。しかし、単にシリアル通信と言うとたいていがUARTを用いた調歩同期式(非同期式)の通信のこと、もしくはRS232Cでの通信のことを指すことが多い。
2019年9月1日日曜日
SPI通信とは
SPI通信について、自分用メモとして調べたこと、経験したことをまとめる。
マスター側デバイス(マイコン、Arduino、ラズパイ等)とスレーブ側デバイス(温度センサーやA/Dコンバータ等)でデータのやり取りをする。
似たような通信方法としてはI2Cがある。設定や構成にもよるが、SPI通信はI2C通信に比べて高速で動作させることができる。
1つのマスターに対して複数のスレーブをつなげることができる。しかしスレーブの数だけマスターのCSピン数が増えてしまう。
送信用と受信用の線(MOSI・MISO)があるので、コマンドを送りながらデータを受け取ること(全二重通信)が可能(デバイスにより非対応な場合もある)。
I2C等と同様、基本的に同じ基板内のIC同士の通信や隣り合う基板間の通信など近距離通信向けなので長距離伝送には向かない(ノイズがのってしまうので)。ただしSPI通信の信号を差動信号で伝える等の対策でノイズ耐性を上げてやれば数十メートル級の長距離通信も可能(わざわざそこまでして長距離通信する人はほとんどいないようであるが)。
SPI通信は規格がかなりガバガバなので、デバイスにSPI対応と書いてあっても通信できないことがある。たいていの場合は問題ないが、まれにトリッキーな動きをするSPI対応デバイスもあるので気を付けよう。
SPI通信の概要
SCLK、MOSI、MISO、CSの4線式(電源、GND除く)のデータ通信方法。マスター側デバイス(マイコン、Arduino、ラズパイ等)とスレーブ側デバイス(温度センサーやA/Dコンバータ等)でデータのやり取りをする。
似たような通信方法としてはI2Cがある。設定や構成にもよるが、SPI通信はI2C通信に比べて高速で動作させることができる。
1つのマスターに対して複数のスレーブをつなげることができる。しかしスレーブの数だけマスターのCSピン数が増えてしまう。
送信用と受信用の線(MOSI・MISO)があるので、コマンドを送りながらデータを受け取ること(全二重通信)が可能(デバイスにより非対応な場合もある)。
I2C等と同様、基本的に同じ基板内のIC同士の通信や隣り合う基板間の通信など近距離通信向けなので長距離伝送には向かない(ノイズがのってしまうので)。ただしSPI通信の信号を差動信号で伝える等の対策でノイズ耐性を上げてやれば数十メートル級の長距離通信も可能(わざわざそこまでして長距離通信する人はほとんどいないようであるが)。
SPI通信は規格がかなりガバガバなので、デバイスにSPI対応と書いてあっても通信できないことがある。たいていの場合は問題ないが、まれにトリッキーな動きをするSPI対応デバイスもあるので気を付けよう。
2019年8月11日日曜日
DIGILENT ZYBO Z7のリファレンスマニュアル・回路図のリンクとメモ
いつもZYBO Z7の回路図やリファレンスがどこにあるか忘れてしまうのでメモ。
DIGILENT ZYBO Z7のリファレンススタートページ
DIGILENT ZYBO Z7のリファレンスマニュアル
全体構成
pmodのピンアサイン
DIGILENT ZYBO Z7の回路図(schematic)
https://reference.digilentinc.com/_media/reference/programmable-logic/zybo-z7/zybo_z7_sch-public.pdf
DIGILENT ZYBO (無印)のリファレンススタートページ
無印とZ7の違いは実装されているzynqの違いのほかにRGBLEDの有無など微妙に異なるが共通部分も多い。
2019年8月7日水曜日
2019年8月1日木曜日
Vivadoで自作IPを作成・利用する
VivadoでAXIインターフェースのIPを作成して、それを利用するまでの手順をまとめました。
まずは新規でVivadoプロジェクトを作成しておいてください。(既存のプロジェクトでも構いませんが)
なお、この説明ではVivado2017.4を使ってます。
2019年5月28日火曜日
Visual Studio CodeのWindows版をインストール
Visual Studio Codeはエディタとしても軽くて使いやすいですし、プラグインをインストールすれば様々な言語のIDEとしても使用できます。
ここではVisual Studio CodeのWindows版をインストールし、日本語化プラグインを導入します。インストール先PCのOSはwindows7 64bitです。
https://code.visualstudio.com/download上記リンクからダウンロードページに飛びます。
Windowsと書かれた下のUser Installerの32bitもしくは64bitをクリックしてダウンロードします。自分の使っているパソコンのOSのビットに合わせたものをクリックしてください。(コントロールパネル→システムとセキュリティ→システムで確認できます)
クリック後画面が変わるとダウンロードできます。
48MBほどの重さの「VSCodeUserSetup-○○○.exe」という名前のファイルがダウンロードされます。(○○○部はバージョンやbitにより異なります)
ダウンロードされたファイルをダブルクリックして実行します。
Visual Studio Codeセットアップのウィザードが立ち上がります。
次へをクリックします。
ライセンス同意画面で、同意するにチェックを入れて次へをクリックします。
参照を押してインストール先フォルダを選択し次へをクリックします。
特に理由がなければデフォルトのままでいいでしょう。
スタートメニューにショートカットアイコンが欲しければそのまま次へをクリックします。
アイコンを追加したくなければ、プログラムグループを作成しないにチェックを入れ次へをクリックします。
そのほかショートカットの作成やファイル関連付けなどをどうするかの設定をしてから次へをクリックします。特に理由がなければPATHへの追加はチェックを入れておいたほうがいいでしょう。
インストールをクリックしてインストールします。
数十秒でインストールは終わります。完了をクリックしてウィザードを閉じます。Visual
Studio Codeを実行するにチェックを入れておけばウィザードが閉じた後自動で起動します。
インストールすると最初は全部英語です。日本語にするプラグインを導入します。
左端のExtensions(二重四角マーク)をクリックし、検索欄にJapaneseと入力します。Japanese Language Pack for Visual Studio Codeというプラグインが表示されるので緑色のInstallボタンをクリックしてインストールします。
インストール後言語設定を日本語にするために、Visual Studio Code内でキーボードでctrl+shift+pのショートカット押します。すると上方にコマンドバレットが表示されるので、configと入力しenterを押します。
その後同様の場所にjaと入力してenterを押します。
設定を反映するためにVisual Studio Codeを再起動するか?と聞かれているのでRestartをクリックするとVisual Studio Codeが再起動されます。
再起動後は日本語化されています。
これでインストールから日本語化までは終了です。使用したい言語のプラグインなどを入れて自分好みにカスタマイズすると使いやすくなります。
48MBほどの重さの「VSCodeUserSetup-○○○.exe」という名前のファイルがダウンロードされます。(○○○部はバージョンやbitにより異なります)
Visual Studio Codeセットアップのウィザードが立ち上がります。
次へをクリックします。
特に理由がなければデフォルトのままでいいでしょう。
アイコンを追加したくなければ、プログラムグループを作成しないにチェックを入れ次へをクリックします。
2019年5月27日月曜日
Notepad++にArduinoプラグインを導入する
僕はテキストエディタとしてNotepad++を利用することが多い。
ArduinoのスケッチもNotepad++で書きたいなぁと思ったので、調べたらプラグインがあるようなので導入してみた。
ArduinoのスケッチもNotepad++で書きたいなぁと思ったので、調べたらプラグインがあるようなので導入してみた。
2019年5月12日日曜日
SPI通信(マスター)回路をVerilogで記述
SPI通信のプロトコルを理解するためにVerilogでSPI通信のマスターを記述した。今回はテストベンチでシミュレーションまで行った。
SCLK周波数の切り替えやCPOL・CPHAモード変更、CSイネーブル後のSCLK動作開始までのタイミング変更、送受信データのビット数変更などに対応させ、多くのデバイスで対応できるようにした。
SCLK周波数の切り替えやCPOL・CPHAモード変更、CSイネーブル後のSCLK動作開始までのタイミング変更、送受信データのビット数変更などに対応させ、多くのデバイスで対応できるようにした。
2019年5月1日水曜日
秋月のESP-WROOM-02開発キットを使う~ブラウザのボタンを押してLチカ編~
前回はブラウザにesp8266.local/onやesp8266.local/offといったURLを入力することでLチカさせていました。
点滅させるたびにいちいちonやoffをアドレスバーに打ち込むのはバカバカしいので、ブラウザに表示されたhtml内のボタンを押すとLEDを表示させる仕様に変更したいと思います。htmlはスケッチ内にベタ書きです笑
Labels:
Arduino,
ESP-WROOM-02
2019年4月2日火曜日
Gitのインストール方法(windows)
以下迷いそうなところだけ記述します。
ここはコミットのコメント時に開くエディタを選択します。僕はいちいちエディタのウインドウが増えるのが嫌だったけどvimは玄人向きすぎて使えないのでNanoを選択しました。(デフォルトもNanoのようです)
多分Git Bashでしか使わないので一番上でいいのですが、windiws power shellとかでも使うかもしれないので真ん中のGit
from the command line and also from 3rd-party softwareを選びました。
ここはよくわからないのでデフォルトのままにしました。
ここはテキストファイルをチェックアウトやコミットした時改行を変換するかどうかを選択します。僕はwindowsでしか使わない予定なので何も変換しない「Checkout as-is,
commit as-is」を選択。
ここはデフォルトを選択しました。
ここもよくわからんのでそのままインストールしました。
これでインストール完了しました。
2019年4月1日月曜日
PythonをWindowsにインストール・pipでパッケージ追加
PythonをWindowsにインストール・pipでパッケージ追加
Windows7のPCにPythonをインストールしたので、インストール方法をメモしておきます。
Pythonの起動と実行
pipのアップグレード
pipでパッケージを追加・削除・確認
おまけ:プロキシ設定の確認方法
目次
ダウンロードとインストールPythonの起動と実行
pipのアップグレード
pipでパッケージを追加・削除・確認
おまけ:プロキシ設定の確認方法
登録:
投稿 (Atom)
