MicroBlazeでAXI GPIOの外部ピン割り込みを実装

概要 MicroBlazeで外部ピンからの割り込みを実装し、AXI GPIOのInterruptとAXI Interrupt Controllerの使い方を学びます。 ハードウェア ・MicroBlaze ・AXI GPIO (Enable Interruptを有効にする) ・AXI Interrupt Controller をBlock Designに追加する。A…

AXI IICの使い方

概要 XilinxのAXI IICの使い方について書いていこうと思います。 今回はZYNQでAXI IICを制御する方法について書きます。 AXI IICの接続と設定 AXI IICとの接続は次のようになっています。 AXIバスでZYNQと接続しています。 IICポートは外部のピンと接続され…

MicroBlazeで実行時間を測定する方法

概要 MicroBlazeで命令の実行時間を測定する方法について考えました。 MicroBlazeではxtime_l.hが存在せず、sys/time.hのgettimeofday()が使えなかったため、 外部にAXI_Timer IPを入れることで実行時間を測定することにしました。 Vivadoプロジェクトの作成…

ZYNQのPSで実行時間を測定する方法

概要 ZYNQである処理の実行時間を測定したいときにどうすればよいのかについて紹介します。 一般的なCのコードではtime.hを使ったりしますが、ZYNQではこの方法は非推奨なようです。 今回はXilinxが用意したxtime_l.hというファイルを用います。 Vivadoプロ…

AXI GPIOについて

概要 AXI GPIOの使い方についてのメモ書きです。AXI GPIOはFPGAのピンの入出力としてももちろん使えますが、 FPGA内部のIPの入出力をコントロールすることもできて非常に便利なIPです。 Vivadoプロジェクトの作成 Block DesignなどでAXI GPIOを追加するだけ…

Cmod A7のSPIFlashにSDKのプロジェクトを書き込む

概要 Digilent社のCmodA7というFPGAボードにMicroBlazeを実装したBitstreamとそのSDKプロジェクトをSPI Flashに書き込む方法についてです。この方法はDigilent社の公式HPに、そのやり方が書いてあるのですが、かなり省略された説明でわかりにくかったため、 …

EZ-BLEでI2C to BLEを試す

今回はCypressのEZ-BLEモジュールでI2C→BLE変換を試してみたいと思います。 EZ-BLEモジュール用プロジェクトの作成 I2C→BLE変換プロジェクトはCypress公式のPSoC-4-BLEのサンプルプロジェクトとして公開されています。 PSoC-4-BLE/100_Projects_in_100_Days/…

EZ-BLE PRoC を使ってみる

Cypress EZ-BLE PRoC というとても小さなモジュールを手に入れたので、 早速これでLチカしてみたいと思います。 用意したもの チップ単体は1cm×1cmと非常に小さく、これだけでは扱いにくいので、 評価ボードを使って見ようと思います。今回用意したのはこれ…

仮想I/O (VIO) IPコアを使ったFPGAのデバッグ

今回は、LogiCORE IP Virtual Input/Output (VIO) コアを用いてFPGAの内部信号をPCからコントロールしてみます。 どんなことができるのか VIOを使うと、Vivadoの画面上でピンや信号線の状態を監視したり、操作したりすることができます。ILAと同じくデバッグ…

ESP32で複数のシリアルポートを開く

ESP32の中に入っている3つのUARTを使ってみようと思います。 やり方 Arduinoのサンプルに「MultiSerial」と言うものがあります。 これを少し編集してシリアルポート0以外のポートを開くことができました。 // ---------- ここを追加 HardwareSerial Serial1(…

Arduino TIANの概要

Arduino TIANというボードを使う機会があったので、このボードについていろいろと紹介して行こうと思います。 Arduino TIANとは Linuxが動いて、Wi-Fi、Bluetooth、Ethernetがついてるボード…らしです。 ボード価格は1個1万円程度とArduinoとしてはかなり高…

pythonで印刷するメモ(mac・linux編)

今回はpythonから何かをプリンターで印刷したい時にどうすればいいかについてです。 自分用のメモ書きなので適当な説明です。 テキストを印刷してみる import subprocess # ただのテキスト text = 'print out message' # ファイルから印刷する場合 text = op…

Linuxデバイスドライバを書いてみる(2)

前回は最小構成のカーネルモジュールを作ってみました。 taltalp.hatenablog.jp今回はデバイスを/devに登録して,ユーザー空間からデバイスドライバに触れてみたいと思います。

Linuxデバイスドライバを書いてみる(1)

この間、O'ReillyのLinux Device Driversを読んでみました。 忘れないうちにメモを取っておこうと思います。最終的にはZYNQ上で動くドライバを書くことが目的ですが、今回はとりあえず仮想環境上で動くCentOS用のドライバを書いて基本的な開発方法を勉強して…

FPGAの差動入力でAD変換

はじめに XilinxのXcell Journal 94号に掲載されている「1つのザイリンクス FPGA で数百の信号をデジタル化する方法」がとてもおもしろそうだったので実際に実装してみました。 Xcell Journal 日本語版 差動入力1つと抵抗,コンデンサがそれぞれ1つだけで…

raspberry pi zero の購入方法とかインストール方法とか

先日、はやりの$5パソコンraspberry pi zeroを入手しました. 購入方法やOSのインストール方法などを簡単に紹介します. 1.購入方法 raspberry pi zeroはまだ日本では売っていないようですので海外の通販で買います.

ESP-WROOM-02を赤外線リモコンに(2.解析編)

前回、ESP-WROOM-02で赤外線通信を行うための準備をしました. taltalp.hatenablog.jp今回は実際に回路を組んで、赤外線リモコンのコードを解析してみようと思います。 (といってもサンプルプログラムを動かすだけです)

ESP-WROOM-02を赤外線リモコンに

今回はESP-WROOM-02で赤外線通信をする方法について書きます。ESP-WROOM-02の基本的な使い方についてはこちらをご覧ください。 taltalp.hatenablog.jp 1.今回の目標 ESP-WROOM-02で赤外線通信を出来るようにする。 時間があればスマホなどからブラウザで操作…

ESP-WROOM-02をArduinoで開発する

ESP-WROOM-02をArduinoで使う手順です。 1.使用した環境 Windows7 Arduino 1.6.5 ESP-WROOM-02(秋月電子) 2.Arduinoの設定 こちらのリポジトリを参考にArduinoIDEの環境を作って行きます。 github.com1.Arduino IDEの「ファイル」→「環境設定」を開く 2.Addi…

ST7735メモ

aitendoで販売されているTFT液晶ST7735を使ってみました。 使用方法について簡単に紹介します。 1.概要 今回使用したTFT液晶はaitendoのキャリーボード付き液晶ZY-FGD1442701V1-PCBです。 128px×128pxの1.44インチ液晶で、MPU搭載ですのでマイコンからでも簡…

ニキシー管時計の制作

前回、ニキシー管を点灯させる実験をしました。 taltalp.hatenablog.jp前回実験で登場した回路を用いて「ニキシー管時計」を制作しました。ハンダ付けが下手だったり、実験中に焦がした抵抗をそのまま使っていたりだとか、いろいろとひどいですがなんとか動…

ニキシー管を点けました

先日ニキシー管を購入したので、早速点けてみました。 今回購入したニキシー管はIN-12Aというもので,AMAZONで6個3000円程度で売っているため簡単に入手することが出来ました。 回路図はネット上にあるものを参考に作成してみました。 IN-12A Nixie Röhre- Ni…

MFT2015に行ってきた

Maker Faire Tokyo 2015 に行ってきました。Lチカコンピュータやintel4004を用いた電卓の展示、ペッパーの集団など普段なかなか見れないようなものがたくさんありました。 今回がMFT初参戦だったのですが来年もまた参加したいです。スーパーLチカコンピュー…

図形描画

これまでに作成したVGA表示回路で図形を描画できるようにしました. NIOS IIでVRAMにアクセスして図形を描画しています.図形の描画アルゴリズムはこちらのサイトを参考にしました. アルゴリズムの紹介まだ直線と画像の描画しか実装していないのですがとりあえ…

DE0でVGA出力(VRAMを実装)

前回作成したVGAコントローラーにVRAMを実装した.taltalp.hatenablog.jp前回までに作成したVGA表示回路は表示画像を回路で作成していたため特定の画像以外は表示することができなかった.今回はVRAMとNIOS2を実装してソフトウェアから画像を変えられるように…

DE0でVGA出力

DE0でVGA出力をしてみた. 今回作成した回路はVGAを出力することが目的であるため,VRAM等の実装は今回はしない. 1.仕様 解像度・・・640×480 水平同期周波数・・・31.25kHz 垂直同期周波数・・・59.5Hz 2.タイミング HS, VSのタイミングチャートは図のように…

Nios II で Hello World

Qsysを使用してDE0にNios IIを実装してPCに Hello World! を表示させました.実際には自分でソースコードを書いたりだとかはほとんどしておらず,どちらかと言えばQuartusとQsysの使い方がメインです. 1.使用した環境・Windows7・Quartus II Ver.13.1 Web Edit…

ブログはじめました

ブログ始めました. 趣味の電子工作とかのことについていろいろと書いていこうと思います.