2019/08/15
G10で微少電流計を作るときに、SPIの確認に ZEROPLUSのロジック・アナライザ「LAP-C 16064」 を使った。
Windows10で動かなかったんで暫くほっといたんだけど(2012に購入)、この度無事にアップデート完了。
![](https://yokaton.com/wp-content/uploads/2023/02/2023-02-22_14h40_07-300x157.jpg)
ICクリップ交換
交換した高級品のICクリップ。
金持ちは使い慣れたこれ・・・ヤフオクで1200円で落札(^^;
元のクリップに付いてたケーブルを短く切って、ヒシチューブでくっつけてる。
![](https://yokaton.com/wp-content/uploads/2024/04/20120610_081513.jpg)
SPIの設定方法
SPIでは、MOSI、MISO、SCLK、SS(_CS)を同時に見たいんだけど、そうするにはちょいコツが要る。
MOSI用にバスグループを一組(Bus1)、そしてMISO用にもバスグループを一組(Bus2)割り当てる。
最初の方法(その1)では、SCLKと_CSをソフト的に割り当て、次の方法(その2)ではICクリップを二重に接続して割り当ててる。
どちらの方法でもSCLKと_CSは共通で使う。
SPI(その1)
こちらを見てもらえば全部解決なんだけど、自分なりに整理しておきたいんで書いておこうと思う。
ソフトで二組のバスグループを作るときに難しいのが信号線の纏め方。
それぞれの信号線に名前を付ける。ここでは・・・
A0=SCLK、A1=_CS、A2=MOSI、A3=MISO
と信号名を変更した(信号名をシングルクリックすることで変更可)。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_08h56_21.jpg)
一組目のバスグループ(Bus1)を作る。
SCLK~MOSI迄の3本を選択しておいてバスにまとめる。
MISOは別のバスグループとしてまとめるので、ここでは選択しないこと。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_08h59_30.jpg)
まとまってグループ化されたら(Bus1)、グループ上で右クリックしてバス特性を設定する。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h00_20.jpg)
①SPIを選択しておいて
②パラメータを設定する。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h00_55-740x292.jpg)
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h12_03-740x463.jpg)
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h13_36.jpg)
_CSのトリガ条件を設定(左クリックで変化)する。
ここでは下向きエッジを指定している。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h02_34.jpg)
ここから二組目のバスグループ(Bus2)を作る。
MISOの上で右クリックして、新しいチャンネル/バスとして「A0」を追加する。
これでMISOの上側にA0=SCLKが追加される。
MISOの上で右クリックするのが大事。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h03_17.jpg)
MISOの上にA0(SCLKのこと)が追加されたら、続いてMISOの上で右クリックして、A1(_CSのこと)を追加する。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h03_49-740x440.jpg)
図左:MISOの上側にA0とA1が追加された。
図右:名前をA0=SCLK、A1=_CSに変更。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h04_30-740x302.jpg)
SCLK~MISO迄の3本を選択しておいてバスにまとめる。
まとまってグループ化されたら(Bus2)、グループ上で右クリックしてバス特性を設定する(上側のBus1グループと同じ)。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h05_08-740x378.jpg)
SPI(その2)
ここでは別の方法でバスグループを二組作る。
SCLKと_CSにICクリップを二本ずつくっつける。
SCLKにA0とA3、_CSにA1とA4、MISOにA2、MOSIにはA5をくっつける。つまり全部で6本のICクリップをくっつける。
まず一組目のバスグループ(Bus1)を作る。
SPI(その1)と同じように、3本の信号線を選択しておいてバスにまとめる。
※ここでは信号線の名前を変更していません。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h25_18.jpg)
まとめたらバス特性を設定し
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h25_54.jpg)
SPI(その1)と同じように設定(信号線名に注意)。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h26_21.jpg)
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h27_34.jpg)
一組目のバスグループと同じようにA3~A5も設定したところ。
トリガ条件は一つだけしか設定できないので、ここではA1のトリガを使っている。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h28_04.jpg)
以上で信号線の設定は終わり。
最後にデータ圧縮を指定しておく。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h28_26.jpg)
RUNしてるところ。
①がRUNボタン、その隣は連続RUN。
②はトリガ開始位置の指定で、10%ならメモリーの10%位置でトリガする(トリガ前を見たいときに指定)。
③はグラフの時間巾。
④はサンプリング速度。
⑤はグラフ上に表示する値の設定。時間や周波数などを指定可能。
⑥のパケットリストの表示。表形式でパケットを見ることが出来る(表示のさせ方は下図を参照)。
⑥のパケットリストの表示のさせ方。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h34_59.jpg)
プロトコル・アナライザ・トリガの設定
別売のプロトコル・アナライザ・トリガを持ってるんでこれの設定方法。
このトリガを使うと、例えばI2CならSTART, STOP, READ, ACK, DATAなどで、またUARTならSTART, DATA, ODD, EVENなどで、SPIなら指定DATAでトリガをかけられる(下図の”パケット選択”部分に指定可能なトリガの候補が出てくる)。
既に登録済みなので出てないけど、登録画面でシリアルナンバーを入れればOKです。
![](https://yokaton.com/wp-content/uploads/2024/04/2024-04-05_09h35_56.jpg)
SPI動作をCとアセンブラで書く
こちらにC言語版とアセンブラ版があります。
どちらもプログラムでポートをパタパタさせてSPI通信しています。
![](https://yokaton.com/wp-content/uploads/2022/08/image-300x150.jpg)
コメント