Datasheet SHT10, SHT11, SHT15

アプリケーションノート:
SHT2x シリーズ温湿度センサーの通信エラー防止用 CRC チェックサム計算方法
はじめに
SHT2x シリーズ温湿度センサーとの通信は、当
社独自の SHT1x/SHT7x 用プロトコルに加えて、
業界標準の I2C プロトコルでも行うことが可能
で、どちらの場合も CRC(巡回冗長検査)による
CRC 使用時に理解すべき基本事項
CRC は、Cyclic Redundancy Check(巡回冗長検査)
の略称で、通信されたデータのエラー検出に最
も効果的な方法のひとつで、最小構成のハード
ウエアしか必要としません。
SHT2x シリーズセンサーの CRC 機能で検出可能
なデータエラーの種類は以下のとおりです。
 データ送受信操作を 1 回行った中で発生した
奇数個のビットエラー。発生場所に依存せず。
 データ送受信操作を 1 回行った中で発生した
2 個のビットエラー。発生場所に依存せず。
 8 ビット以内の連続的なビットエラーすべて
(1 ビットだけのエラーも含む)。
 9 ビット以上の連続的なビットエラーの大半。
SHT2x シリーズセンサーを I2C プロトコルで使用
する場合の CRC
当シリーズセンサーを I2C の標準的なプロトコ
ルで使用する場合、送信エラーの検出に 8 ビッ
トの CRC を使用できます。当該 CRC は、セン
サーから送信されるすべての読取り用データに
対処可能です。当該 CRC の特性仕様は表 1 に示
すとおりです。以下の当社ウエブサイトからダ
ウンロードできる SHT2x 用サンプルコードに
CRC の 実 行 ル ー チ ン が 含 ま れ て い ま す 。
www.sensirion.com/sht-downloadcenter.
通信エラーの検出が可能です。本文書では、CRC
を行うようにするために必要な情報を、両方のプ
ロトコルに対して説明いたします。
SHT2x シリーズセンサーを SHT1x/7x プロトコル
(S-Bus)で使用する場合の CRC
当シリーズセンサーは、SHT1x お よ び SHT7x 用
の当社固有の通信プロトコル(S-Bus)で使用する
ことも可能です。この場合、特有の CRC ルーチ
ンを用いる必要があり、生成多項式は全く同じ
ですが、特有の初期設定値としてユーザーレジ
スタの値を含ませたものが使用されます。また、
CRC での検証対象データ範囲および最終処理方
法にも相違があります。SHT1x/7x プロトコルで
SHT2x を使用する場合の CRC の特性仕様は表 2
に示すとおりです。CRC 計算方法の詳細につい
ては、当社技術文書 “CRC Calculation for SHT1x/7x
Sensors”をご参照ください。
SHT1x/7x プロトコル (S-Bus)の場合の CRC
x8 + x5 + x4 +1
生成多
初期設定値 ‘s0s1s200000’
s0:ユーザーレジスタのビット 0 の値
s1:ユーザーレジスタのビット 1 の値
s2:ユーザーレジスタのビット 2 の値
検証対象
読取り用データの直前コマンドおよ
データ
び読取り用データ
最終処理
ビットの順序を反転化
表 2 SHT2x シリーズセンサーと SHT1x/7x プロトコル
で通信する場合の CRC 特性仕様
I2C プロトコルの場合の CRC
x8 + x5 + x4 +1
生成多項式
初期設定値
'00000000'
検証対象データ
読取り用データ
最終処理
なし
表 1 SHT2x シリーズセンサーと I2C プロトコルで通
信する場合の CRC 特性仕様
www.sensirion.com
Version 1 – 2011 年 12 月
1/2
Application Note: CRC Checksum Calculation for SHT2x
本文書について
本文書は以下の当社技術文書の英文版を和訳したものです。
記載内容に疑義が生じた場合は、当該英
文版を正とします。
文書名:CRC Checksum Calculation
For Safe Communication with SHT2x Sensors
(Version 1)
改定履歴
日付
2011 年 12 月
バージョン
1
変更内容
初版発行
Copyright© 2011, SENSIRION.
CMOSens® is a trademark of Sensirion
All rights reserved
当社の本社および日本現地法人
SENSIRION AG
Laubisruetistr. 50
CH-8712 Staefa ZH
Switzerland
Tel:
+41 44 306 40 00
Fax:
+41 44 306 40 30
[email protected]
www.sensirion.com
www.sensirion.com
センシリオン株式会社
Tel: +81 3 3444 4940
[email protected]
www.sensirion.co.jp
Version 1 – 2011 年 12 月
2/2