CY8CKIT-059 PSoC® 5LP Prototyping Kitを使ってのTFTLCDの表示。


PSoC5LPのEvalボードとしては、お買い得な値段のCY8CKIT-059 PSoC® 5LP Prototyping Kitで240x320中華TFTLCDを使った表示をしてみました。

ArduinoUnoに比べメモリの容量があるので、その他色々と機能を詰め込めると思います。
また、数値表示をできるようにしたので、このボードにある内部基準電圧がかなり正確なデルタシグマADCを使った計測等、便利に使えそうです。

TFTLCDはebayとかで購入するとかなりお手軽に入手出来る値段となりました。
かなりドットが細かいので、かなりの情報量が表示できると思います。


PSoC5LPには、ハードウエアで直交エンコーダーのデコーダーをUDB内に作る事が出来るので、場合によってはノイズ対策やESD対策が必要かもですが、ほぼこれだけでかなりのパルス速度でも取りこぼしのない、DigitalReadOutを作成することができると思います。

TFTLCDはILI9341をコントローラーとしたものを使用し、ドライバやライブラリはWeb上を検索してPSoC4用を流用させていただきました。

PSoC5LPとPSoC4のSPI通信時のハードウエアの設定は違いますが、同じCortex-Mシリーズで、コンパイラ等も同じなので問題なく流用できました。
ただ、ライブラリ内に数値表示の関数がなかったのでsprintfを使い数値をchar化しての表示です。
PSoCのプロジェクトはCypress Developer Community内のSPI TFT Color LCD240x320 +SD内の TFT240x320_ECG_Simulator.zip とゆうファイル内のプロジェクトからTFT.h TFT.c fonts.h を使わせていただき、PSoCクリエーターのトップデザインにて、SPIマスターを作り、ビットレートを12Mbpsに設定して使用しました。

あと、数値の出力がなかったので、stdio.hをincludeしてsprintfを使用、数値をchar型の配列に変換して表示させてます。
スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

コメントの投稿

非公開コメント

Help

こんにちは氏Akirahitosiは、これを投稿していただきありがとうございます。あなたはPSOC5LPボードとILI9341間の接続をしたか教えてくださいませんか?私は白い画面が表示されるように得ることができますし、何のコマンドを介して取得しているようではありません。あなたがそれにコードを投稿できるようになる場合、私はまた、実際にそれを理解するであろう。私は日本語を話すために私のできないことをお詫びし、Googleはこのために翻訳使用しています。 、トム、ありがとうございました。

Hi Mr. Akirahitosi, Thank you for posting this. Could you please tell me how you made the connections between the PSOC 5LP board and the ILI9341? I can only get a white screen to appear and no commands seem to be getting through. If you would be able to post the code on it I would also really appreciate it. I apologize for my inability to speak Japanese and have used Google translate for this. Thank you, Tom.

Re: Help

Hi,Mr.Tom
私も英語の文章を書くことが出来ません。
あなたのILI9341は、8bitか16bitパラレル入出力ですか?
パラレル入出力であるならば、PSoCクリエーターのトップデザイン内に、GraphicLCD x(16or8)-bit InterfaceMacroを追加し、マクロに指示されるように配線してください。


I do not even able to write an English sentence.
Your ILI9341 is, 8bit or 16bit parallel input and output?
If this is the parallel input and output, to the top in the design of PSoC Creator, add a GraphicLCD x (16or8) -bit InterfaceMacro, please be wired as indicated in the macro.
I used the Google translation to English of the Japanese.

Re: Help

応答していただきありがとうございます!私はgraphicLCD InterfaceMacroを使用してみたが、私が使用していると、 SPIM SPIマスタインタフェースであるだろう。あなたにも使用されていることを何?また、あなたはhxinyu@yahoo.comで私の電子メールに私にあなたのPSoC Creatorのファイルとあなたの接続の写真を送信することができますか?私は、インターネット上ですべてを見てきましたが、あなたは私がPSOC5LPと仕事をしなければならない画面を得ることができただけです。私は一週間今のところトラブルシューティングされている[絵文字: V- 406 ]を、それが設定私のハードウェア構成やPSOCの作成者である場合は、私が把握することはできません。私は本当にあなたの助けと応答を感謝しています。

Thank you for responding! I will try using the graphicLCD InterfaceMacro, but what I have been using is the SPIM SPI master interface. Is that what you used as well? Also are you able to send to me your PSOC Creator file and a picture of your connections to my e-mail at hxinyu@yahoo.com? I have looked all over the internet but you are the only one who have been able to get the screen that I have to work with a PSOC5LP. I have been trouble shooting for a whole week now v-406 and I can't figure out if it is my hardware configuration or PSOC creator set up. I really appreciate your help and response.

Re: Re: Help

下記URL内に有るPSoC4用のPSoC クリエーターのファイルを使い、トップデザインのSPIMをPSoC5LPの物に変更することでSPI接続のILI9341を使いました。ソースファイルは液晶表示のみにするために、少々変更が必要です。

Use the PSoC creator of the file for PSoC4 within the following URL, and I used ILI9341 of SPI connection by changing the SPIM of top design to those of PSoC5LP. Source files in order to only the liquid crystal display, is a little needs to be changed.

http://www.cypress.com/forum/psoc-4-architecture/spi-tft-color-lcd240x320-sd

Re: Re: Help

はい、私はあなたが送信したリンクからコードとPSoC4のためのいくつかの他を使用して試してみましたが、私は修正しようとしたが、私はPSoC5 LPにデバイスを切り替えるとすることができなかった」bootloadable装置」に関する多くのエラーを取得しますあなたのビデオでキットを試作。ときにあなたをsay"トップデザインのSPIMをPSoC5LPの物に変更することでSPI接続のILI9341を使いました"あなたはPSoC5LPにデザインの正確何を変えたのですか?再び私はそれがハードウェアまたは私のために壊れていると、本当にあなたが持っているか、アップロードすることができ、任意のより多くの写真やプロジェクトファイルを理解するであろうソフトウェアだかどうかに困惑しています。私は面倒されている場合、私は申し訳ありませんが、ありがとうございました。

Yes, I have tried using the code from the link you have sent and a few others for PSoC4 but I get many errors regarding "bootloadable device" which I have tried to fix but have been unable to when I switch the device to the PSoC5 LP Prototyping Kit in your video. When you say"トップデザインのSPIMをPSoC5LPの物に変更することでSPI接続のILI9341を使いました" What exactly did you change in the design to PSoC5LP? Again I am stumped on both hardware and software and would really appreciate any resources you have or can upload. Thank you again, I'm sorry if I have been bothersome.

Re: Re: Re: Help

Switching of the device is located in the "cross-compiling !! in PSoC Creator" following blog "unemployed electronic work" within.
http://udaudadensikousaku.blogspot.jp/2015/04/blog-post.html
Also, in case you want to the only case or a liquid crystal display that did not go well, it created in its making a new PSoC5LP of, Bitmap.h, fonts.h, TFT.h, TFT.c, and have a new file To do. So, sticking save the contents of the same name of the source code in the download project files in the copy paste.

main.c I think maybe this was.

デバイスの切り替えは下記ブログ「うだうだ電子工作」内の「PSoC Creatorでクロスコンパイル!!」内にあります。
http://udaudadensikousaku.blogspot.jp/2015/04/blog-post.html
また、上手く行かなかった場合や液晶表示だけをしたい場合には、新規PSoC5LPのを作ってその中に、Bitmap.h、fonts.h,TFT.h,TFT.c,とゆう新規のファイルを作成します。それで、ダウンロードしたプロジェクト内のソースコードの同じ名前のファイルの内容をコピーペーストで貼付け保存。

main.cは多分これだったと思います。

#include <project.h>
#include <TFT.h>
#include <stdio.h> // sprintf function

extern uint16_t MAX_X, MAX_Y ;
/*
static char Text[] = {'T','h','e',32,
'Q','u','i','c','k',32,
'B','r','o','w','n',32,
'F','o','x','!','!'};
*/



int main()
{
CyGlobalIntEnable ;
SPIM_Init() ; SPIM_Enable() ; SPIM_Start();
TFT_Init(3); // landscape with connector on left
TFT_FillScreen(0, MAX_X, 0, MAX_Y, BLACK);
int i;

while (1)
{
TFT_FillScreen(0, MAX_X, 0, MAX_Y, BLACK);
// DrawStringBl(char *string,uint16_t poX, uint16_t poY, uint16_t size,uint16_t fgcolor,uint16_t bgcolor);
//DrawStringBl("TFT Testing...", 15, 50, 2, RED, GREEN);

TFT_DrawString("Hello PSoC5LP!", 15, 0, 2, GREEN);
TFT_DrawString("Hello PSoC5LP!", 15, 0, 2, YELLOW);
TFT_DrawString("Hello PSoC5LP!", 15, 0, 2, BLUE);
TFT_DrawString("Hello PSoC5LP!", 15, 0, 2, WHITE);
TFT_DrawString("CY8C5888LTI-LP097", 25, 30, 1, GREEN);
TFT_DrawString("CY8C5888LTI-LP097", 25, 30, 1, YELLOW);
TFT_DrawString("CY8C5888LTI-LP097", 25, 30, 1, BLUE);
TFT_DrawString("CY8C5888LTI-LP097", 25, 30, 1, WHITE);


for (i=0;i<90;i++)
{
TFT_DrawCircle(100, 140, i,BLUE);
}

char str1[128]={0};
for (i=0;i<501;i++)
{ TFT_DrawString(str1,80,120,1,BLUE);
sprintf(str1,"%d",i);
TFT_DrawString(str1,80,120,1,WHITE);
}

for (i=0;i<320;i++)
{
TFT_SetPixel(i, 200,YELLOW);
TFT_SetPixel(i-3, 200,BLACK);
}


// FillRectangle(X, Y, length, width, color);
// TFT_FillRectangle(0, 0, 320, 20, BLACK);

// DrawString(char *string, poX, poY, size, fgcolor);
// TFT_DrawString (Text, 5, 1, 1, WHITE);
// CyDelay(500);
}
}

This because the license of the software itself of the liquid crystal display is not explicitly, to send the project file to you can not be, but I'm sorry.
When you understand the operation that is written in the source code, it will be able to also other interface liquid crystal panel used to use this library.
If you want to display a liquid crystal panel such as ILI9341, and the procedure for transmitting data and commands, the device is reset, the transmission of the initialization code is the liver.

この液晶表示のソフトウエア自体のライセンスが明示されていないため、プロジェクトファイルをあなたに送信することは残念ですができません。
ソースコード内に書いてある作動を理解すると、このライブラリを使用して他のインターフェースな液晶パネルも使用することが出来るようになります。
ILI9341等の液晶パネルを表示させる場合、データとコマンドの送信手順と、デバイスのリセット、初期化コードの送信が肝となります。

PSOC Creator Version

Hi Mr. Akirahitosi,

これまでにご協力いただきありがとうございます。残念ながら私のTFTディスプレイはまだスクリーニング白です。あなたが使用しているPSoC Creatorのバージョンを教えてもらえますか? 3.0 、 3.1 、または他の?

ありがとう,
Tom

Hi Mr. Akirahitosi,

Thank you for your help so far. Unfortunately my TFT display is still white screened. Can you tell me which PSOC creator version you are using? 3.0, 3.1 or other?

Thank you,
Tom

Re: PSOC Creator Version

Hi Mr.Tom

My version of PSoC Creator that you are using, is 3.1.
Version of SPIM is 2.5.

The ILI0341, two-way communication in SPI communication is not necessary, it should operate at transmission only.
Using an oscilloscope, make sure that the SPI signal is out securely.
Also, check the wiring.

You can see that it read the source code but, ILI9341 of this SPI connection, multiplied by the reset of a liquid crystal panel side, just send an initialization instruction and code.

If you are using a PSoC5LP and PSoC Creator, as long as properly set the component, at SPIM_WriteTxData, you should be able to send.

In the case of white display, or LCD panel reset, it will probably not read the panel side initialization code. Even if it is recommended that you try the operation if there is another one the same liquid crystal panel.



私の使用しているPSoCクリエーターのバージョンは、3.1です。
SPIMのバージョンは2.5です。
ILI0341には、SPI通信での双方向の通信は必要でなく、送信のみで作動するはずです。
オシロスコープを使って、SPI信号が確実に出ていることを確認して下さい。
また、配線の確認も。

ソースコードを読むと解りますが、このSPI接続のILI9341は、液晶パネル側のリセットを掛けて、初期化命令とコードを送るだけです。

PSoC5LPとPSoCクリエーターを使用する場合、コンポーネントを適切に設定さえすれば、SPIM_WriteTxData にて、送信できるはずです。

白表示の場合、液晶パネルのリセットか、初期化コードをパネル側が読み込んでないと思われます。もし、もう一枚同じ液晶パネルがあるのなら作動を試してみる事もお薦めします。



TFT

あきらひとし、これまでにご協力いただきありがとうございます。残念ながら私はまだコードと私のセットアップから白い画面を生成することができるだけです。あなたは、TFTとのPSoC5LPに持つ接続のいくつかの写真や図を投稿することができますか?あなたは私のプロジェクトファイルを提供することができるだろう場合、私も理解するであろう。私はどちらかのPSoC Creatorの中に正しい私のSPIMの設定を持っている場合、私はわかりません。私が面倒であった場合は、再度、あなたは非常にと残念に感謝。

あきらひとし, Thank you for your help so far. Unfortunately I still am only able to produce a white screen from the code and my set up. Are you able to post some pictures or diagrams of the connections you have to the PSOC 5LP with the TFT? I would also appreciate if you would be able to provide me the project file. I am not sure if I have my SPIM settings correct in the PSOC Creator either. Again, thank you very much and sorry if I have been a hassle.

Re: TFT


Is I / O voltage of PSoC5LP board that you are using is 3.3V?
Check the voltage with a tester or the like. The standard of the output voltage of the PSoC 5LP Prototyping Kit is 5V, when using the most ILI9341 board, either the PSoC5LP to 3.3V drive, you must convert the signal to be sent to the ILI9341 to 3.3V
In addition, if the board is where things?
ILI9341 of board also do things where?
In sending a single SPIM it should be the signal output from PSoC5LP.
Try to write a program to output in SPIM alone, Do you have a decent signal output?
Check with an oscilloscope or the like.
ILI9341 of the board or not broken?


あなたが使ってるPSoC5LPボードのI/O電圧は3.3Vですか?
電圧をテスター等で確認して下さい。PSoC 5LP Prototyping Kitの標準の出力電圧は5Vで、大抵のILI9341ボードを使用する際、PSoC5LPを3.3V駆動にするか、ILI9341へ送る信号を3.3Vに変換しなければなりません。
また、ボードはどこの物ですか?
ILI9341のボードもどこのものですか?
SPIMの送信単体でPSoC5LPから信号出力出来るはずです。
SPIM単体で出力するプログラムを書いてみて、ちゃんと信号出力はありますか?
オシロスコープ等で確認して下さい。
ILI9341のボードは壊れていませんか?


ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ