2010年8月27日金曜日

PIC PICKit3

<Microchip リンク>

PICkit3ポスター
PICkit3ユーザーズガイド
PICkit3 Debug Express C Lesson

<概要>
  • PICのプログラマー/デバッガでありMPLab8.2以降で操作できる
  • プログラマコネクタの端子機能

  • LED表示



  • サポート内容


<操作手順>

  • ターゲットとの接続

  • プログラムとデバッグに必要な3ピン(Vpp/PGC/PGD)を接続しVDD/GNDを接続たら完了

  • PICkitからの給電と、外部電源の2種の電源供給に対応

  • 外部供給を推奨

  • PICkitからの給電は30mAまで



  • PGC/PGDはPULL-UPしないこと:PICkit内に4.7kΩのPull-Downが入っている

  • PGC/PGDにコンデンサをつけないこと:プログラム/デバッグの高速動作を阻害する

  • Vppにコンデンサをつけないこと:Vppの高速動作を阻害する、Pull-Upだけで十分

  • PGC/PGDにダイオードをつけないこと:双方向通信
  • デバッギング要件
   - PICkit3がMPLabIDEと通信する
   - Vpp、PGC、PGD、VSS、VDD が接続されている

   - ターゲットデバイスが通電しファンクションが動作している、オシレータが動いている

   - コンフィグレーションレジスタが正しく設定されている
     オシレータが内部、外部、etc
     WDTがディセーブルにすること
     コードプロテクションはディセーブルにすること
     テーブルリ-ドプロテクションはディセーブルにすること

   - LVPはディセーブルにすること

  • デバッガの導入シーケンス→デバッグ詳細
   - デバッガをPICkit3に設定 : Debugger>Select Tool>PICkit 3
   - アプリケーションコードはデバッガ用にコンパイル : Project>Build>Configuration>Debug
   - プログラム書き込み : Debugger>Program
   - ”debug executive” program がメモリ後半エリアに書き込まれる
     デバイスによっては専用エリアに書き込まれるものもある
     ユーザープログラムは”debug executive” program のエリアを使用することはできない
   - “in-circuit debug” registers がイネーブルになる
   - VPP/MCLR をLowにしてターゲットデバイスをリセット
   - デバッガスタートDebugger>Run

  • デバッガスタートでリセットベクタからプログラムがスタート

  • ブレークポイントのアドレスまでプログラムが動作するとプログラムがhaltする
  • プログラミング
   - ヘッダボードなしでプログラムできる
   - プログラマをPICkit3に設定 : Programmer>Select Programmer
   - プログラムはリリース用にする : Project>Build Configuration>Release.
   - Programmer>Program は Debugger>Program と異なりin-circuit debug registersをディセーブルにする
   - プログラム後に#MCLRをトグルする
   - ICPSを用いてプログラムするのでVpp、PGC、PGDの接続が必要
   - プログラムにクロックは不要
   - コードプロテクション、WDT、テーブルリードプロテクション等の全てのモードのプログラムが可能
   - 
   - 


SIMetrix/SIMPLIS 特徴

<デバイスモデルの組み込み>
  • デバイスモデルは電気的特性を規定するテキストファイル
  • .MODEL、.SUBCKTで始まる文
  • 主要半導体メーカーが自社製品のデバイスモデルをウェブサイトで公開
  • SIMetrixは2300種類の市販デバイスのシンボル情報を書き込んだデータベース(all.cat)があり、シンボルとの紐付けは自動
<充実したグラフ表示機能>
  • 拡大/縮小
  • 座標軸の追加/削除
  • グラフ画面の追加/削除
  • カーソルによる値の読み取り
  • 測定値の表示(電圧/電流/消費電力/-3dBカットオフ周波数/高調波ひずみ率)
  • 解析終了後に任意のポイントの電圧/電流を表示できる
<その他>
  • ビヘイビアモデルで大規模システムを高速にシミュレーション

2010年8月26日木曜日

SIMetrix/SIMPLIS CQ版コンテンツ

<バージョン>
  • 5.0を使用する
<ライブラリ>
  • toragi.lib 1S1588、2SC1815、理想OPアンプ等
  • tk.lib 日本製トランジスタのライブラリ
  • その他のライブラリは真空管のライブラリ
<デバイスモデルのインストール>
※8章をみたらココに記述のこと!!

<トランスのシンボルライブラリ>
  • 収録フォルダ symbol
<シミュレーション用回路図ファイル>
  • 収録フォルダ sch

SIMetrix/SIMPLIS 概要

<SIMetrix解析の種類>
  • AC解析:周波数特性のシミュレーション
  • DC解析
  • 過渡解析  :オシロスコープで波形を見る感覚
  • 雑音解析
  • フーリエ変換  :周波数成分解析
  • マルチステップ解析(パラメトリック解析の拡張)
  • モンテカルロ解析 :素子値のばらつきの影響解析
  • ポールゼロ解析
  • 温度解析
  • 感度解析
  • PSPICEより収束性がよい→スイッチング回路のシミュレート得意
<SIMPLIS>
  • AC解析
  • 過渡解析
  • POP解析
  • ボーデ線図が簡単に描ける
  • スイッチング電源回路用高速シミュレータ

<CQ版>
  • アナログノード数 120個
  • オペアンプは内部のサブサーキットの規模で決まるが約3~4個
  • シンボルは170種類程度ある
  • シンボルエディタが使えユーザシンボル作成可能
  • アナログビヘイビアモデルも使用可能
  • 信号源(電流源、電圧源)の数には制限がない→FETを電流源にツェナーダイオードを電圧源に変更して扱う回路規模を大きくできる
  • OPアンプ850種類、N-MOSFET1100種類、P-MOSFET250種類のデバイスモデル(メーカー純正)
  • PSPICE形式、HSPICE形式のデバイスモデルがドラッグ&ドロップで取り込める
  • SIMertix+SIMPLISの構成、回路図エディタを供用、シミュレートは2者を切り替えて行えるがほとんどのシミュレートはSIMetrixで可能

2010年8月20日金曜日

論理回路設計 注意

  • ゲーテッド・クロックのマスク信号はクロックの逆エッジに同期した信号で無ければならない。

Verilog-HDL always @()構文

【論理合成可能なイベント式】
項イベント式意味
1@(posedge signal1 or negedge signal2)signal1が立ち上がった 又は signal2が立ち下った場合に begin ~ end内を実行
2@(signal1 or signal2)signal1 又は signal2に変化があった場合に begin ~ end内を実行

  • クロックとリセットでの記述例は always @(posedge clk or negedge xrst)  となる。
  • 非同期リセットはレベルで動作するので negedge xrst には違和感があるが、negedgeを外して記述すると両エッジで動作してしまうし、この場合clkの立ち上がりの動作との区別が付かない。その為この記述になる。

Verilog-HDL for/while/repeat文の例

// for/while/repeat文の例
function parity
  input [7:0] data;
  reg   [3:0] sum;
  integer i;
  begin
    sum = 0;

    //for文で記述
    for(i=0; i<8; i=i+1) begin
      sum = sum + data[i];
    end

    //while文で記述
//  while(i<8) begin
//    sum = sum + data[i];
//    i = i+1;
//  end

    //repeat文で記述
//  repeat(8) begin
//    sum = sum + data[i];
//    i = i+1;
//  end

    parity = sum[0];
  end
endfunction