Prismjs

2020年2月4日火曜日

WindowsのPCでXilinxのlinux_xlnxがgit cloneできなかった原因

VirtualBOXに入ってるUbuntuでやればよかったのだが、ちょっと理由があってWindowsでXilinxのlinux_xlnxを手に入れる必要があった。しかしなんでか、git cloneがうまくいかなかった。
原因はcloneするファイルの中にwindowsで禁止されたファイル名のファイルが含まれていたからだった。
GithubとかでCloneしたもののファイル名やディレクトリ名がAUXとかになっているとwindowsでは禁止用語なのでcheckoutできない。小文字大文字かかわらず、拡張子がついていようがいまいが、禁止された名前扱いされるらしい。AUXのほかにPRNやCONなどもだめらしい。以下の例だとaux.cという名前のファイルがあるせいでチェックアウトできないようだ。aaaa_aux.cとかファイル名に禁止名が含まれるだけなら大丈夫っぽい。

2020年1月20日月曜日

VivadoのVIO機能を使ってLチカ&入力読み取り


VivadoIPには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でもなんでも良い。

2019年10月12日土曜日

シリアル通信・UART・RS232C・RS422・RS485とは

シリアル通信とは

シリアル通信とは規定のタイミングで1ビットごとに1本の線にデータを乗せてやり取りをする通信のこと。SPI通信やI2C通信もシリアル通信の一種である(SCLK等はデータを乗せる線ではなくタイミングを制御するための線なため)。
しかし、単にシリアル通信と言うとたいていがUARTを用いた調歩同期式(非同期式)の通信のこと、もしくはRS232Cでの通信のことを指すことが多い。

2019年9月1日日曜日

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日水曜日

Vivado HLSで高位合成する手順とポイントメモ


Vivado HLSで簡単な高位合成を行ってみました。
少々クセが強そうな感じです。

2019年8月1日木曜日

Vivadoで自作IPを作成・利用する


VivadoAXIインターフェースのIPを作成して、それを利用するまでの手順をまとめました。
まずは新規でVivadoプロジェクトを作成しておいてください。(既存のプロジェクトでも構いませんが)
なお、この説明ではVivado2017.4を使ってます。

2019年5月28日火曜日

Visual Studio CodeのWindows版をインストール

Visual Studio Codeはエディタとしても軽くて使いやすいですし、プラグインをインストールすれば様々な言語のIDEとしても使用できます。
 ここではVisual Studio CodeWindows版をインストールし、日本語化プラグインを導入します。インストール先PCOSwindows7 64bitです。


 https://code.visualstudio.com/download上記リンクからダウンロードページに飛びます。
 Windowsと書かれた下のUser Installer32bitもしくは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内でキーボードでctrlshiftpのショートカット押します。すると上方にコマンドバレットが表示されるので、configと入力しenterを押します。

 その後同様の場所にjaと入力してenterを押します。


 設定を反映するためにVisual Studio Codeを再起動するか?と聞かれているのでRestartをクリックするとVisual Studio Codeが再起動されます。

 再起動後は日本語化されています。

 これでインストールから日本語化までは終了です。使用したい言語のプラグインなどを入れて自分好みにカスタマイズすると使いやすくなります。


2019年5月27日月曜日

Notepad++にArduinoプラグインを導入する

僕はテキストエディタとしてNotepad++を利用することが多い。
ArduinoのスケッチもNotepad++で書きたいなぁと思ったので、調べたらプラグインがあるようなので導入してみた。

2019年5月12日日曜日

SPI通信(マスター)回路をVerilogで記述

SPI通信のプロトコルを理解するためにVerilogでSPI通信のマスターを記述した。今回はテストベンチでシミュレーションまで行った。
SCLK周波数の切り替えやCPOL・CPHAモード変更、CSイネーブル後のSCLK動作開始までのタイミング変更、送受信データのビット数変更などに対応させ、多くのデバイスで対応できるようにした。


2019年5月1日水曜日

秋月のESP-WROOM-02開発キットを使う~ブラウザのボタンを押してLチカ編~


前回はブラウザにesp8266.local/onesp8266.local/offといったURLを入力することでLチカさせていました。
点滅させるたびにいちいちonoffをアドレスバーに打ち込むのはバカバカしいので、ブラウザに表示されたhtml内のボタンを押すとLEDを表示させる仕様に変更したいと思います。htmlはスケッチ内にベタ書きです笑

2019年4月2日火曜日

Gitのインストール方法(windows)


 まずhttps://gitforwindows.org/からダウンロードし、普通にインストールを進めます。
以下迷いそうなところだけ記述します。

ここはコミットのコメント時に開くエディタを選択します。僕はいちいちエディタのウインドウが増えるのが嫌だったけど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」を選択。

ここはデフォルトを選択しました。

ここもよくわからんのでそのままインストールしました。

これでインストール完了しました。