サポート製品FAQTHCS251やTHCS252でUART通信をブリッジできますか?またその場合のボーレートは?

使用方法GPIO/I2C
可能です。ただしTHCS251やTHCS252でのサンプリング誤差を考慮する必要があるため、THCS25xを使用しない場合と比べてボーレート或いは許容されるUARTデバイス間のボーレート誤差が制限されます。

一般的に使用されるUART通信方式として、スタートビット1bit、データ8bitパリティなし、ストップビット1bit、受信デバイスはボーレートの16倍オーバーサンプリングを例に説明します。


受信デバイスはLowを検出してから0.5bit(8サンプリングサイクル)後のサンプリングデータがLowである場合にスタートビットとみなし、その後1bit(16サンプリングサイクル)毎にデータ8bit、ストップビット1bit分計9回のデータを取り込みます。このとき、理想的に各ビットの中心でサンプリングされる場合、サンプリング点に対して±0.5bit分のマージンがあります。しかし実際には受信デバイスにおけるLow検出時のサンプリング誤差(受信デバイスの1サンプリングサイクル)や入力セットアップ時間、THCS25xでのサンプリング誤差、そして調歩同期式通信で最も注意が必要な送受信デバイス間のボーレート誤差を考慮する必要があります。ボーレートはUART送受信デバイスのクロックソースを分周して生成されるためクロックソースの公差がそのままボーレートの誤差になると考えられます。またボーレート誤差は先のサンプリング誤差などとは性質が異なり、蓄積される誤差であることに注意する必要があります。つまりLowが検出されてから9.5bit後のストップビットを確実にサンプリングするためには9.5bit後に受信デバイスの入力セットアップ・ホールド時間以上のマージンが残っている必要があり、1bitあたりに許容されるボーレート誤差は0.5bit分のマージンから各サンプリング誤差やセットアップ時間を除いた残りを9.5bitで割ったものと考えられます。この場合、UART送受信デバイス間のボーレート許容誤差(Baud rate tolerance)に関して以下の式が成り立ちます。


BAUD   : ボーレート(Hz)
REFCK :THCS25x動作・サンプリングクロック周波数(Hz)
tSH   :UARTデバイス入力セットアップ・ホールド時間の何れか大きい方の値(sec)

ボーレート誤差は送信側と受信側各々で生成されるボーレートの相対的な差であることに注意してください。つまりお使いのデバイスにおいてクロックソースの公差が送信側が±2%、受信側が±1%であれば、相対的に最大3%の誤差と言うことになります。

下記ブロック図においてUARTデバイスの入力セットアップホールド時間が10ns、THCS252の内部オシレータ80MHz設定(※tOSC=max.15.7ns)において、ボーレート1MbpsのUART通信をする場合の許容されるボーレート誤差は上式より約4.3%と言うことになります。また最大ボーレート誤差が4%の場合、ボーレートは最大2.56Mbpsと言うことになります。ただし環境によってはTransition timeなど上記計算式以外の要因も考えられるため、上記計算は目安と考え十分にマージンを持ってお使いください。

 


上記は全てのお客様環境下における動作を保証するものではありません。ご使用の際は十分にご評価の上、ご判断下さい。

弊社製品の技術に関する解決策は見つかりましたか?

ザインエレクトロニクスでは、製品技術FAQで解決策が見つからない場合のために、製品技術相談専用のお問い合わせフォームをご用意しております。下記リンクよりご相談ください。

製品技術専用お問い合わせフォームはこちら


製品の技術的なご質問以外を製品技術専用フォームからご相談いただいた場合、回答までにお時間をいただく可能性がございます。
製品の購入(見積依頼含む)や価格、サンプル提供のご相談、弊社への一般的なご質問・ご相談に関しましては、総合問い合わせ窓口一覧をご覧の上、各専用フォームよりお問い合わせください。

お問い合わせ窓口一覧はこちら