FAQ
UART/SIOについて
- UART起動時(UPCで専用ボーレートジェネレータ起動)に設定されているボーレートの2倍の早さのスタートビットが出力されるのですが、どうすればよいですか?(対象:MB89930 Series)
- start bit検出状態で動作モードを変更した場合、次のデータ受信時にUART動作モード変更は有効になりますか?(対象:MB89930 Series)
- SIO/UARTの外部クロックの入力クロックの最大周波数はいくつですか?
- UARTクロック同期モードで受信と送信で別々に動作することは可能ですか?
- UARTの許容可能なボーレートの誤差はどのくらいですか?
- UARTの受信エラー発生時に対象エラーフラグをクリアしなかった場合に考えられることは何がありますか?
- シリアルI/Oにて2Mbpsの通信を行う為、放射ノイズ対策でコンデンサを付けますが、マイコンに流れ込む電流の影響はありますか?また、どれくらいの容量まで可能ですか?
- UART受信中にUARTの受信動作を禁止(RXE=0)にした場合、どのようになりますか?
- UART送信中にUARTの送信動作を禁止(TXE=0)にした場合、どのようになりますか?
- UARTをクロック同期SIOで使用し、クロックを外部から入力する場合、受信中にシフトクロックが停止した場合、どうなりますか?
- UARTの送信中に再度送信を起動した場合、送信データはどのようになりますか?
- クロック同期モードで受信と送信で別々に動作は可能ですか?
1. UART起動時(UPCで専用ボーレートジェネレータ起動)に設定されているボーレートの2倍の早さのスタートビットが出力されるのですが、どうすればよいですか?(対象:MB89930 Series)
リセット解除時の一回目のUART起動では、初期化動作のため、FFhデータのUART出力を設定ボーレートの2倍の速さで行います(UART出力イネーブルの時のみ)。 対策としては、イニシャルルーチン内でUART出力ディセイブルのままUPCで専用ボーレートジェネレータを起動させることにより、イニシャルルーチン内でダミー送信(UART出力ディセイブルのまま行うのがポイントです)させることにより対策が可能です。
2. start bit検出状態で動作モードを変更した場合、次のデータ受信時にUART動作モード変更は有効になりますか?(対象:MB89930 Series)
動作モード設定の反映は5bit目のデータ受信近辺で行なわれるため、スタートビット検出時に動作モードを変更しても、受信中のデータから動作モード変更は有効になります。
3. SIO/UARTの外部クロックの入力クロックの最大周波数はいくつですか?
デバイスにより異なりますので、各デバイスのデータシートのUART/SIOタイミングのクロックサイクルタイムを参照願います(ほとんどが、2tinstであり、内部動作周波数の2分周値が最高となります)。
4. UARTクロック同期モードで受信と送信で別々に動作することは可能ですか?
クロック同期モードでは、データ送信と受信が同時に動作します。そのため、受信動作だけ行いたい場合は、送信端子をディセイブルにする必要があります。
5. UARTの許容可能なボーレートの誤差はどのくらいですか?
2~3%です。(詳細は、別紙参照願います)
6. UARTの受信エラー発生時に対象エラーフラグをクリアしなかった場合に考えられることは何がありますか?
割り込みルーチン内で対象となる割り込み要因をクリアされない場合、割り込みを発生しつづけます。
7. シリアルI/Oにて2Mbpsの通信を行う為、放射ノイズ対策でコンデンサを付けますが、マイコンに流れ込む電流の影響はありますか?また、どれくらいの容量まで可能ですか?
通常、100pF, 200pF程度を使いますが、マイコンには問題ありません。大容量のコンデンサを使用される場合には、マイコンへの流れ込み電流を計算し、保証の可否の検討が必要です。
8. UART受信中にUARTの受信動作を禁止(RXE=0)にした場合、どのようになりますか?
UART受信中にUARTの受信動作を禁止(RXE=0)にした場合、受信中のデータを受信完了してから停止します。
9. UART送信中にUARTの送信動作を禁止(TXE=0)にした場合、どのようになりますか?
UART送信中にUARTの送信動作を禁止(TXE=0)にした場合、SODRレジスタのデータが送信されてから送信を停止します。
10. UARTをクロック同期SIOで使用し、クロックを外部から入力する場合、受信中にシフトクロックが停止した場合、どうなりますか?
UARTをクロック同期SIOで使用し、クロックを外部から入力する場合、受信中にシフトクロックが停止した場合、内部のシフトクロックが停止状態になりますので、次のクロックが入力されるまで、停止しています。なお、UARTにリセットビットが無いものに関しては、0ビットから再起動されたい場合は、本シフトクロックのカウンタをクリアする方法はありませんので、残りのクロック分、ポートで入力などの処理をする必要があります。
11. UARTの送信中に再度送信を起動した場合、送信データはどのようになりますか?
1回目の送信完了後に、再起動したデータが送信されます。1回めの送信中に2度送信を起動した場合は、3回目の起動時は送信データフラグビット(TDRE)が"1"のため、データの書き込みは無効になります。
12. クロック同期モードで受信と送信で別々に動作は可能ですか?
クロック同期モードでは、データ送信と受信が同時に動作します。そのため、受信動作だけ行いたい場合は、送信端子のディセイブルをする必要があります。
