S810-LMLib FAQ
Frequently Asked Question(よくいただくご質問)、現在判明している問題です。
Q1: 現在 《S810-LMLib》シリーズには、どのようなものがありますか?
Q2: 《S810-LMLib》を組み込んだプログラムが動作しないのですが。
Q7: オーバーライトエラーが発生した際、LIN Bufferの内容は上書きされますか?
Q8: オーバーライトエラーが発生した際、エラーフラグは立ちますか?
Q10: 送信エラーカウンタ及び受信エラーカウンタの加算対象となるエラーは何ですか?
Q11: S810-LMLib6NIIにおいて、LIN通信と並行してUART2特殊モードを使用する場合、注意すべき点はありますか?
Q12: ディレイ時間が設定した時間よりも短く送信されます。
Q13: コンパイラ NC30WAエントリー版は使用できますか?
Q1: 現在 《S810-LMLib》シリーズには、どのようなものがありますか?
A1: 現在の《S810-LMLib》シリーズにつきましては、 こちら にてご確認ください。
今後の新品種への対応状況についてもホームページにてご案内してまいります。
Q2: 《S810-LMLib》を組み込んだプログラムが動作しないのですが。
A2:以下のことを確認してください。
- セラミック発振子は正しく接続されていますか?
- LINドライバは正しく接続されていますか?
- LINバスは12Vとなっていますか?
- LINトランシーバのTx,Rxが MCUのTxD,RxDと正しく接続されていますか?
- sect30.incにおいて、使用しているメモリ領域が重複していませんか?
- sect30.incにおいて、設定したUART, Timerのベクタテーブル番地は正しいですか?
- RAM領域はオーバーしていませんか?
- 設定したTimeBaseタイマとWaitbitタイマが重複していませんか?
- ユーザプログラムの割込み禁止時間が1bitタイムを超えていませんか?
1bitタイムを超える場合、割り込み許可フラグ(Iフラグ)を”1”(割り込み許可)に設定するようにしてください。 - mainプログラムで、初めにl_sys_init, l_ifc_init, l_ifc_connect, l_wakeup(l_run), l_sch_setを呼び出していますか?
- mlib_def.hの各項目の設定は正しいですか?
A3: 以下のことを確認してください。
- 設定したTimebaseタイマがユーザプログラムで使用しているタイマと重複していませんか?
- sect30.incにおいて、設定したTimebaseタイマのベクタテーブル番地は正しいですか?
A4: 以下のことを確認してください。
- 送信処理実行要求、もしくは受信処理実行要求を出していますか?
- sect30.incにおいて、設定したUART送信割込みベクタテーブル番地は正しいですか?
- 設定したUARTが、ユーザプログラムで使用しているUARTと重複していませんか?
A5: 以下のことを確認してください。
- Slaveは正しく接続されていますか?
- SlaveIDは正しく設定されていますか?
- 接続されたSlaveに対して受信処理実行要求をおこなっていますか?
- 接続されたSlaveと同じ通信ボーレートに設定していますか?
- LINトランシーバのTx,Rxが MCUのTxD,RxDと正しく接続されていますか?
- sect30.incにおいて、設定したUART受信割込みベクタテーブル番地は正しいですか?
- 設定したUARTが、ユーザプログラムで使用しているUARTと重複していませんか?
- Timebaseタイマが20bitタイム以上となるように設定していますか?
- Delay Time(Timebase×Frame time)が短すぎませんか?
Delay Timeが短いとFrameの処理が終わる前に次の処理の割込みがかかるため、正しい通信ができません。FrameのData長に合わせてDelay Timeも変更するようにしてください。
A6: Sleepコマンドの送信方法は以下の通りです。
初めに、通常処理のスケジュールとは別に、Sleepコマンド送信用のスケジュールを作成します。
そしてAPI : l_sch_setを用いてSleepコマンド送信用のスケジュールをセットすることで、Sleepコマンドを送信することができます。
Q7: オーバーライトエラーが発生した際、LIN Bufferの内容は上書きされますか?
A7: いいえ。オーバーライトエラー発生時はLIN Bufferの内容は上書きされません。
Q8: オーバーライトエラーが発生した際、エラーフラグは立ちますか?
A8: いいえ。オーバーライトは他のエラーとは独立しているため、エラーフラグは立ちません。
A9: はい。エラーが重複していれば、エラーフラグも重複します。
また、その際はエラーカウンタもエラーの数だけ加算してセットされます。
Q10: 送信エラーカウンタ及び受信エラーカウンタの加算対象となるエラーは何ですか?
A10: 送信および受信エラーカウンタの加算対象となるエラーは以下の表の通りです。
| 送信エラーカウンタ | Bit_error |
| Parity_error | |
| Bus_lock_error | |
| 受信エラーカウンタ | Over_run_error |
| Framing_error | |
| Bit_error | |
| Checksum_error | |
| Short_message_error | |
| No_response_error | |
| Parity_error | |
| Bus_lock_error |
Q11: S810-LMLib6NIIにおいて、LIN通信と並行してUART2特殊モードを使用する場合、注意すべき点はありますか?
A11: S810-LMLib6NII V.1.01ではAPI:l_ifc_init()でUARTの初期化を行っております。ユーザープログラムでUART2をご使用になる場合はl_ifc_init()をコール後にUART2の初期化を行ってください。
Q12: ディレイ時間が設定した時間よりも短く送信されます。
A12: 下記の全ての条件に当てはまる際、ディレイ時間が短く送信されます。
- ライブラリがS810-LMLib6NII V.1.01、または S810-LMLib83 V.101
- スケジューリング用タイマレジスタ設定値(LIN_TB_LEN)が0×10000 以上
- ディレイ時間とタイムベース時間が同一でない
対策として、下記条件をお守りください。
- LIN_TB_LENが0×10000未満となるようにLIN_TB_LENもしくはカウントソースの調整をお願いいたします。
- LIN_TB_LENが0×10000を超える場合は、ディレイ時間とタイムベース時間が同一となるように調整をお願いいたします。
Q13: コンパイラ NC30WAエントリー版は使用できますか?
A13: 製品比較表の対応コンパイラ・アセンブラにて動作検証を行っております。
記載しているコンパイラ・アセンブラと異なる場合は、お客様にて動作検証をお願いいたします。
なお、ルネサス エレクトロニクス製コンパイラのエントリー版には対応しておりません。
