販売終了製品>特電PCI Express評価ボード>応用製作② PCI Expressで測定する温度計

応用製作② PCI Expressで測定する温度計

gpio_in <= gpio_out(31 downto 8) & debug(7 downto 0) when (gpio_out(17 downto 16) = "00")
   else   gpio_out(31 downto 8) & ledcount          when (gpio_out(17 downto 16) = "01")
   else   ledlfsr                                   when (gpio_out(17 downto 16) = "10")
   else   gpio_out(31 downto 0);

 

このままでは外部からの信号入力を読めないので、gpio_out(17 downto 16) = "11"のときに、上位8ビットにSW_INの信号が見えるようにします。

 

gpio_in <= gpio_out(31 downto 8) & debug(7 downto 0) when (gpio_out(17 downto 16) = "00") else

          gpio_out(31 downto 8) & ledcount          when (gpio_out(17 downto 16) = "01") else

           ledlfsr                                   when (gpio_out(17 downto 16) = "10") else

           sw_ip(7 downto 0) & gpio_out(23 downto 0);

 

これで、BAR0の信号を読めるようになります。

7−3.動作結果

コントロールソフトはC言語で作成しました。

pcietempe.lzh (40kb)

 

このソフトを使って120秒間のデータを取りました。

最初の90秒間は白熱電球を点灯させ、温度を上昇させます。

最後の30秒間は白熱電球を消灯し、自然に冷却します。

そのとき測定された温度変化を次のグラフに示します。

 

PCI Express温度計の測定結果

 

図4 PCI Express温度計で測定された温度

 

コントロールソフトウェアからSPIの信号を操作して、AD変換値を取得する際の波形をMITOUJTAGのJTAGロジックアナライザでキャプチャしたものを次の図5に示します。波形キャプチャ用にプログラム中にWAITをいれ、ゆっくり動かしています。

 

SPIメモリのアクセス波形

図5 ADコンバータへアクセスする信号をJTAGロジックアナライザで観測

 

GPIO_OP<4>がSPIのデータ出力、GPIO_OP<3>がSPIのクロック、GPIO_OP<2>がSPIのCS、SW_IP<0>がSPIのデータ入力です。なお、GPIO_OP<1>と<0>は電球・扇風機のコントロール用です。

 

このように、PCI Expressを通じて温度を測る装置を作ることができました。

 

 

info@tokudenkairo.co.jp

 

 IPコアサポートページへ戻る

 

Copyright(C) 2009 TokushuDenshiKairo Inc. All rights reserved.
info@tokudenkairo.co.jp

 

 

 


© 2015 TokushuDenshiKairo Inc. All rights reserved