- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
PSoC4100SPでLCDコンポーネントを使用したいと考えています。
LCDコンポーネントにはクロックを入力する必要がありますが、何MHz入力まで対応できるか教えて下さい。
【発生している問題】
クロックを48MHzにすると、LCD制御の途中で動作が止まってしまう。(Flashに書き込んだ後、動作せた場合。)
24MHz動作時には正常に制御できているように見える。(Flashに書き込んだ後、動作せた場合。)
デバッグ動作(ステップ実行をさせるゆっくりな動作)では48MHzでも問題が起きないように見える。。
【使用条件】
・PSoC4100Splus
・LCD:4x18ドット
・PSoC Creator4.2(現時点の最新版)
※LCDの設定画面を添付しました。
【使用API】
・LCD_Seg_1_Start();
・LCD_Seg_1_WritePixel(LCD_Seg_1_PIX0, LCD_Seg_1_PIXEL_STATE_ON/OFF/INVERT);
LCD_Seg_1_WritePixel(LCD_Seg_1_PIX71, LCD_Seg_1_PIXEL_STATE_ON/OFF/INVERT);
【質問】
・SegLCDのコンポーネント仕様書(SegLCD_P4_v1_30.pdf)のDC Specificationsを
見ると、ILCDOP2に、「PSoC 4100M/PSoC 4200M/PSoC 4200L, PWM Mode current. 3.3-V bias. 24-MHz IMO.」
との記載があります。PSoC4100Sでも、IMOは24MHzまでの動作という制限があるものでしょうか。
解決済! 解決策の投稿を見る。
- ラベル:
-
PSoC 4 Architecture
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
既にご存知かと思いますが、SegLCDコンポーネントへの最大入力クロックはHFCLK(IMOの最大)になります。
PSoC 4100S Plusの場合、48MHzです。
PSoC 4 Segment LCD (SegLCD) https://www.cypress.com/file/220341/download
PSoC 4100S Plus Datasheet https://www.cypress.com/file/396611/download
IMOクロックの誤差という意味ではDatasheetに記載がある+/-2%になります。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
こんにちは、
PSoC 4 PSoC 4100S Plus Datasheet の
Electrical Specifications / Digital Peripherals / LCD Direct Drive の章に
下記のようなテーブルがあります。
規格上 LCD の Frame Rate は 150 Hz までとなっていますので、
それを超えてしまっていたために動かないか、
LCD モジュールがその速度に対応できなかったということが
起きていたのではないかと推測します。
moto
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
motoさん、コメントをありがとうございます。
TRMに書いてあるブロック図を眺めていても、おっしゃられる通り、LCDコントローラが48MHz動作に対応していないとか、
内部のカウンターのbit幅足りないとか、何等かあって、その規格値に結び付いているのではないかなとは想像できます。
ただ、明確にどこかに、入力クロックなり、IMOクロックなりの周波数上限が規定されているように見えないため、
今回の質問をしています。PSoC Creatorでビルドもできてしまうので、なおさら何故と聞かれています。
メーカー見解として、もしあるならばですが、IMOクロックに制限があるとか、LCDコントローラーへの入力クロックに制限がある、
等の説明が頂けると、納得(というか理解)してもらえるだろうと考えています。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
makoさん、
今、PSoC Creator 上で LCD_Seg コンポーネントのデータシートを開いて見たところ下記記述を見つけました。
これによると、Bias は 1/2, 1/3, 1/4, 1/5 が選択できますので、
Fclk が 48MHz だったとしても、最速は 48MHz x 1/2 で 24MHz という説明にはならないものでしょうか?
moto
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
「クロックを48MHzにする」とは、具体的にどのクロックの周波数を48MHzにしたのでしょうか。
「LCD制御の途中で動作が止まってしまう。」というのは、具体的にはどのような状況でしょうか。
ステップ実行を行わせた場合でも hs_clk には48MHzのクロックが入ったままになるので、この現象は LCD コンポーネントとは無関係に発生していると推定されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
デバッグモードについては少し前の情報でしたので、今回の質問としては、通常動作での質問とさせてください。
まず、お聞きしたいのが、LCDコンポーネントに対する入力クロックのMAX値は何MHzになるのかと言う所です。
内部の設定次第かもしれませんが、デバイスの制限として一番早い入力クロックが何MHzなのかを知りたいです。
次に、IMOクロック、HFClkクロックに制限があるのかどうか知りたいです。
ご質問の「48MHz」にしたクロックですが、クロック設定(Clocks)において、Freq(MHzを48MHzに設定し、
HFClkはIMO(48MHz)を選択した状態です。その設定をした上で、「Segment LCD」コンポーネントのhs_clkに、
48MHzを入れるという設定の事を言っています。
「LCD制御の途中で動作が止まってしまう。」につきましては、別途確認いたしますので少々お待ちください。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
既にご存知かと思いますが、SegLCDコンポーネントへの最大入力クロックはHFCLK(IMOの最大)になります。
PSoC 4100S Plusの場合、48MHzです。
PSoC 4 Segment LCD (SegLCD) https://www.cypress.com/file/220341/download
PSoC 4100S Plus Datasheet https://www.cypress.com/file/396611/download
IMOクロックの誤差という意味ではDatasheetに記載がある+/-2%になります。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
回答をありがとうございます。
LCDコンポーネントの回路自体は、動作クロックの入力として最大48MHz(IMOクロックの誤差込)が保証されているという理解で良いという事ですね。
(ソフトによる設定などは正しく行わないといけないという事は前提条件として、
回路的には48MHzでSTAが通っていて動作可能という事で良いのですよね。)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
はい、ご理解の通りです。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
回路の構成について理解することができました。
ご確認いただきありがとうございました。