アプリケーションノート: 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
© Copyright 2024 ExpyDoc