60歳からの電子工作ノート

生涯学習として取り組んでいます。

I2C通信とSPI通信(4インチ LCDパネルとインターフェイスボード)

 4インチのLCDパネルを入手し、インターフェイスボードを作成しました。DBI Type-C Option1(3 line)(9bit )で通信します。

以下の資料を参考にしています。資料1*1、資料2 *2

資料3*3、資料4*4

 

LCDパネルとインターフェイスボード

LCDパネル

4インチのタッチパネル付き LCDパネル(ILI9488)を、AliexpressのJR E-Shopから購入しました。送料込みで2000円ぐらいでした。

MSP3520のLCD(3.5インチ)より少しだけ大きく表示できます。

図1 4 インチ LCDパネル

インターフェイスボード

LCDパネルを接続するためのボードを作成しました。

図2. 回路図

図3. レイアウトとフットプリント

図4. 部品実装前

図5 部品実装後(タッチキーコントローラは未実装)

図6. 部品表

FPCコネクタによる接続

 FPCコネクタには上接点と下接点があります。LCDパネル側の接点とFPCコネクタ側の接点を接続します。本ボードでは下接点を使用しました。

図7. LCDパネル側の接点

図8. FPCコネクタが下接点の場合の接続例

図9. FPCコネクタが上接点の場合の接続例

FPCコネクタのはんだ付け

難しい原因

FPCコネクタ(0.5mmピッチ、40pin)のはんだ付けが困難でした。原因を考えると、

・鉛フリーはんだを使用したため付きにくい。また回復できないブリッジが発生した。

・基板発注時の基板表面処理に、HASL(Hot Air Solder Levelling)のLead Free(鉛フリーはんだレベラー)を選択していた。はんだレベラーはブリッジが発生しやすそうです。
表面実装部品の基板表面処理は、OSP(Organic solderability preservative)(プリフラックス)または
ENIG(Electroless nickel immersion gold)(無電解ニッケルめっき及び置換金めっき)が一般的のようです。(資料4)

・はんだレベラーが均一でない基板があり、それに実装すると基板とピンに隙間ができて、はんだが付きにくい。

図10. はんだレベラーが不良と思われる基板

図11. はんだレベラーが良好な基板

・FPCコネクタの未接続端子をベタGNDとしたため、はんだが付きにくく、すぐにブリッジしてしまう。

図12. ベタグランドに接続した端子のブリッジ
対応

・鉛フリーはんだは難しいので、共晶はんだを使用しました。

・レベラーが良好な基板を使用しました。

・未使用端子をベタグランドにつなげない基板を作成しました。

手順

・コネクタが真っ直ぐになっている事を確認します。真っ直ぐに付けないと、LCDパネル側と接触不良になる可能性があります。

・フラックスを十分に塗ります。

・最初に太い小手先(例えば 2.4D)でブリッジしてもよい未使用端子をはんだ付けして、
コネクタを固定します。(はんだを付けなくても、はんだレベラーのはんだで付く場合もあるようです。)

・両端の補強金具をはんだ付けします。

・細い小手先(例 1CR)で各ピンをはんだ付けします。

・ピンセットで付いている事を確認します。

・ブリッジが発生した際は、太い小手先を使用して回復します。(共晶はんだの場合、比較的容易です。)

図13. FPCコネクタのはんだ付け手順の例

図14. ブリッジの修正(太い小手先を使用)

インターフェイス

DBI Type-C Option1 と Option3

インターフェイスボードではジャンバーにより、DBI Type-C Option1(3 line)(9bit )とOption3( 4line)(8bit)が選択できます。Option1ではコマンドとパラメータ(またはGRAMへの画像データ)の判別をデータの先頭ビットで行い、D/CX制御線は不要です。1データ 9bitで転送します。Option3ではコマンドとパラメータ(またはGRAMへの画像データ)の判別をD/C制御線で行います。

Option1の場合、ILI9488の書込み時最小クロック周期は66[nsec]、最大クロック周波数は15.15[MHz]です。(資料2の17.4.2)

図15. Option1 ( 9bitで送信 )

図16. Option3 (8bitで送信)



フロー図

この実験ではOption1を使用します。フロー図、プログラムはOption1用です。

RSPIの初期設定

Option1のRSPI設定です。

図17 RSPI初期設定フロー(Option1 用)

データ送信フロー

DBI Type-C  Option1では、送信データ(9bit)の先頭ビットでコマンド/パラメータ(または画像データ)を判断するため、コマンド、パラメータの送信と画像データの送信は同じ処理にしています。「送信バッファエンプティ割り込み」と「アイドル割り込み」を使用します。
 

図18. データ送信フロー (Option 1用)

波形

Option1(9bit送信)での波形とカラーバー表示です。(注: オシロのプローブが不良でした。CLKの波形は正確ではありません。2022年11月26日)

図19. コマンドとパラメータの送信波形( Option1, 9bit送信)

図20. 画像データ送信波形とカラーバー (Option1, 9bit送信)


プログラム

図 21. ファイル一覧

(ルネサス提供ファイルとは、CS+の新規プロジェクトで作成されるファイルです。)

図22. 使用している割り込み

ルネサス提供ファイルの修正(割り込み処理のコメント化)

本プログラムで使用する割り込み処理は、spi_9bit.cで記述するようにしました。

ルネサス提供ファイルの intprg.cとvect.hで記載されている、同名の割り込みルーチンをコメント化します。

図23. 割り込み処理のコメント化

 

GitHub登録場所: https://github.com/vABCWork/test_colorbar_9bit

 



*1:資料1「RX23E-Aグループ ユーザーズマニュアル ハードウェア編 ( R01UH0801JJ0120 Rev.1.20)」

*2:資料2「ILI9488 ドライバデータシート」 "www.lcdwiki.com/res/MSP3520/ILI9488%20Data%20Sheet.pdf "

*3:資料3「4 inch 320x480 ILI9488 LCD パネル」 //ja.aliexpress.com/item/4000569492351.html

*4:資料4「目からウロコ! のQ&A便 第83号4」 P版.com  "www.p-ban.com/htmlmail_qanda/2020/01"