投稿

Surface Pro3 のタイプカバーが再入荷

イメージ
息子の大学入学祝いにと購入したSurface Pro3 4月末までならばタイプカバーが付いてくるとの事で慌てて購入したものの、タイプカバーの在庫切れで出荷予定も未定が続いていましたが、ようやく再出荷が始まったようで、受け取りに行ってきました。 しかし、キャンペーンするなら事前にある程度の在庫を確保しておいて欲しいですよね。

Koshian(BLEモジュール)のレッスンゴレライ1

イメージ
お久しぶり〜 BLEモジュール「Koshian」を購入しましたので触ってみます。 1. Koshian って何ですの?  マクニカグループがMpressionブランドで今流行りのMakers向けに販売しているBlueTooth Smartのモジュールです。 そして何と980円とリーズナブル!ArduinoのBlueToothシールドは約3000円しますものね。 又、ユカイ工学のKonashi互換のモジュールですので、ファームウェアやSDKはKonashi向けのものが利用できます。 2. Konashi って何ですの? 自作iPhoneアプリと自作ガジェット等をBlueToothで繋いで遊ぶには、Apple社の「iOS Developer Program」に登録して年会費を支払わねばなりません。 更にSPPプロファイルを使用する場合には、MFiライセンスを受けないとAPIにアクセスできません。 しかし、イッチョカマーは基本的に開発ツール等はフリーを信条としています(笑) で、発見したのがKonashiです。Konashi.jsというiOSアプリをiPhoneにインストールすれば、WEBサイト等に置いたWEBアプリでiPhoneからBlueToothチップを制御できてしまうという優れもの! 3.KoshianでLEDを点灯 Koshianの実装端子は1.27mmピッチなので、ブレッドボードの2.54mmピッチに変換するゲタを作製。面倒な方はユカイ工学のネットショップからKonashi小型化拡張ボード(1980円)を購入すればOK! 3−1. 準備 AppStoreから Konashi.js をインストールして起動。 Koshianに3.3V電源を供給しますが、単3乾電池2個直列でOKです! iPhoneのBlueToothをONにしておきます。 3−2.ファームウェアのアップデート Koshianにプリインストールされているファームウェアは旧バージョンの様ですので、Konashi.jsでKonashiファームウェアの最新版(現在はRev2.0.0-rel04)にアップデートします。  設定画面からOTAアップデートを選択 Connectをタップして接続できたら、Sel...

RaspberryPiにイロイロ繋いでみるかな(キャラクタLCD)

イメージ
ご無沙汰だったRaspberryに何か繋いでみようと、アキバで漁ってきたパーツ達 異常気象が多いし台風シーズンも近づいてるし、温度や気圧でも観測してみるか・・・ 特価!に乗せられて手に取ってしまったギアードDCモーター DCモータを繋ぐなら、ついでにと、5Vで動きそうな小さなステッピングモータも ■まずはキャラクタLCDを繋いみた 型番  SC1602BBWB‐XA‐LB‐G 3.3V動作のバックライト付き16文字x2行のキャラクタLCDです。 RaspberryPiは3.3VIOですので、信号レベル変換が不要なので直結可能です。 GPIOを使って、RS、E、4bitデータの6本で接続しました。IOピンは貴重ですからね(笑) これで、ディスプレイに繋がなくてもプログラムのステータス表示などができるぞよ! (続く)

Quartus2 V13.1 ~Tips編 VHDL記述による合成結果の違い~

イメージ
 HDL記述は、高級言語でのプログラム記述と同様に、コンパイラの癖や性能によって、合成結果(回路、規模など)が大きく異なる場合があります。 デジタル設計での必須アイテムであるカウンタの記述にて、Quartus2の合成結果を見比べてみました。 ■仕様 4bitの13進同期式カウンタ 非同期リセット入力有り カウントイネーブル入力有り ■トップ回路図 ■COUNTERのVHDL記述 カウンターの出力変数をintegerで定義しています。桁数が大きい時やシーケンサなどを記述する時には読みやすいので使いやすいですね。 ARCHITECTURE counter_architecture OF counter IS signal counto : integer; BEGIN count <= CONV_STD_LOGIC_VECTOR(counto,4); process (clk, reset, enable) begin if (reset = '1') then counto <= 0; elsif (rising_edge(clk)) then if (enable = '1') then if(counto = 12) then counto <= 0; else counto <= counto + 1; end if; end if; end if; end process; END counter_architecture; ■COUNTER1のVHDL記述 integerを使用せず、std_logic_vectorで記述したものです。ビット幅が大きくなると間違い易い記述です。 ARCHITECTURE counter1_architecture OF counter1 IS signal counto : STD_LOGIC_VECTOR(3 downto 0); BEGIN counto1 <= counto; process (clk, res...

Quartus2 V13.1 ~Tips編 Eclipseへのプロジェクト読み込み~

イメージ
  以前の投稿 にてSigasiのToolchains設定にてQuartus2のパス設定をしましたが、この設定で何が起きるのか不明でしたが、Quartus2で作成したプロジェクトをEclipseにインポートできる事が判りました。 Eclipseを起動し、パースペクティブはVHDL(Sigasi)を選択しておきます。  Quartus2側でHDLソースを作成したり編集した場合には、以下の操作で同期されます。

Quartus2 V13.1 ~Tips編 波形ファイルの変換~

イメージ
 Quartus2の波形ファイルからModelsim-Alteraでのシュミレーションファイルの自動生成が可能です。作成したシュミレーション波形をテンプレートとして、本格的なテストベンチをModelsim-Altera上で作成するような場合には便利かも? 注意点 生成されるテストベンチはVerilog-HDLのみです。 Quartus2のEDATool設定をVHDLとしていても、自動的にVerilog-HDLに切り替わってしまいます。 modelsim-alteraはVHDLとVerilog-HDLの混在シュミレーションはできないので、テストベンチをVHDLで記述したい場合は、modelsim-altera上での作成が必要です。 ■波形エディタを起動して変換します。 ■シュミレーション記述ファイル(***.vt)とスクリプトファイル(***.do)が生成されます。 ■スクリプトファイルには些細ですが致命的なバグがありますので、編集する必要があります。 改行が抜けて繋がってしまっている! テキストエディタで改行する。

Quartus2 V13.1 ~シュミレーション編 ファンクションSIMとタイミングSIM~

イメージ
ファンクションシュミレーションとタイミングシュミレーションがありますがその違いを見てみます。 まずは相違点が出やすい回路に書き換えます。 ■回路変更とシンボルの更新 DFFの出力に反転出力「nq」を追加記述しました。 コンパイルを掛けたのち、シンボルを再作成します。 DFFを使用している上位の回路図のシンボルを更新します。 nq出力が回路図上のシンボルに現れました。 分周回路に書き換えます。 ■ファンクションSIMとタイミングSIMの比較 ファンクションSIM(CLK=10MHz) 回路設計通り分周出力が得られています。 タイミングSIM(CLK=10MHz) ファンクションSIMと同様に分周出力が得られています。 ファンクションSIM(CLK=1GHz) 正常に分周回路として動作しています。 本当にMAX2内のDFFは1GHzのクロック入力で動作するのでしょうか? タイミングSIM(CLK=1GHz) 全く動作していませんね。  MAX2の紹介ページ によりますと、内部クロックは最大300MHzと書かれていますのでCLKを約300MHzにしてみましたところ動作しました。 タイミングSIM(300MHz) 設計した回路が仕様通りの機能を果たしているかのロジカル検証はファンクションシュミレーションで行い、半導体(FPGAやASIC)にインプリメントする段階においては、使用するデバイスで正常動作するかをタイミングシュミレーションにて検証する必要があります。 (続く)