2.3.3.2. 送受信タイミング

マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 2.3.3.1. 接続

Up: 2.3.3. HD44780互換LCDコントローラ

Next: 2.3.3.3. データ・命令の内容


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 2. 汎用入出力(GPIO): 2.3. キャラクタ液晶の利用: 2.3.3. HD44780互換LCDコントローラ:

2.3.3.2. 送受信タイミング

 LCDモジュールに対してはいつでもデータを送信してもよいということではなく、各ピンのレベルの操作のタイミングが規定されています( 6?66/ 6?67/ 6?14)。筆者が実験した限りでは、このタイミングはかなりシビアで、ずれてしまうと全く表示されないといった事態が起こります。またこのタイミングはHD44780互換液晶相互間でも微妙に異なることがありますので注意が必要です。

6?66 書き込み時のタイミングチャート

***再トレース 「FIG.1 WRITE OPERATION」は不要 LCDマニュアル(SUNLIKE)より***

6?67 読み込み時のタイミングチャート

***再トレース 「FIG.2 READ OPERATION」は不要 LCDマニュアル(SUNLIKE)より***

 先述のタイミングチャートの読み方を思い出してタイミングチャートをよく理解しておきましょう。このタイミングチャートであれば、まずは最初にRSR/Wを設定してからEHレベルにします。読み込み動作の場合は、その後、ELレベルにした後にLCDモジュールのデータバスからデータが出力されますので、マイコン側でデータを読み取りまず。書き込み操作の場合は、EHレベルにした後、データバスにマイコンからデータを出力し、ELレベルにします。この時点でLCDモジュールがデータを読み取ります。その後はまた次の読み書き操作のサイクルが始まります。

6?14 タイミング仕様

***再トレースして日本語にする 「Timing chart」は不要 LCDマニュアル(SUNLIKE)より***

***訳語

項目 記号 最小 最大 単位

イネーブルサイクル時間

イネーブルパルス幅(Hレベル)

イネーブル上昇・下降時間

セットアップ時間(RS R/W E)

アドレスホールド時間

データセットアップ時間

データ遅延時間

データホールド時間(書込)

データホールド時間(読み込み)

クロック発振周波数

***

 この中でも重要なのが、RSR/Wを設定してからEHレベルにする間の待ち時間(tAS)EHレベルにしてからLレベルにするまでの保持時間(PWEH)ELレベルにした後もデータバスのデータを保持する必要がある時間(tH)、全体のサイクル時間(tCYCLE)です。ピンへのデータの出力変更はこれらの時間を意識しながら行う必要があります。

 ここで気をつけないといけないのは、読み取り動作の際には、LCDモジュールからデータが出力されている間に行わないといけないので、ELレベルにするよりも前に読み取りを行った方がよいということです。tAH10nsしかないので、後から読み込んでもすでにLCDの出力内容は変更されている可能性があります。EをLレベルにするときが同期時だと考えていると、つい勘違いしやすいです。このあたりはデータシートでは「それぐらい理解していて当然」といったスタンスのようで、注意書きなどはありませんので気をつけましょう。

コラム6?18 1クロックの処理時間

 クロック周波数の高低はHz(ヘルツ)で表します。Hz1秒間の回数を表す単位ですから、1クロックの処理時間は、

    1

───────── = 1クロック処理時間()

クロック周波数(Hz)  

となります。

 たとえば仮にクロック周波数が1KHzとすれば、1クロックの処理時間は0.001=1ms(ミリセコンド)となります。データシート上では「ミリセコンド」とは書かずにmsと書くことが多いでしょう。クロック周波数が1MHzだと、1クロックあたりの処理時間は0.000001=1μs(マイクロセコンド)となります。「μs」は、印字のフォントの関係で「mcs」や「us」と書かれたりすることがあります。そしてクロック周波数が1GHzの時は0.000000001=1ns(ナノセコンド)となります。

 STM32の動作速度は最高で72MHzですので、1クロックの処理時間は、13.9ns14nsとなります。プリスケーラで36MHzに分周したときには、27.7ns28nsです。本章で紹介するような、外部機器とのタイミング調整を行うときには、STM32の動作速度が速いこともあり、クロック単位で待つことがよくあります。1クロックの処理時間を、概数として覚えておくとよいでしょう。


Previous: 2.3.3.1. 接続

Up: 2.3.3. HD44780互換LCDコントローラ

Next: 2.3.3.3. データ・命令の内容


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166