Basic library for SHARP LCD LS027B4DH01/LS027B7DH01

Dependents:   AkiSpiLcd_demo AkiSpiLcd_demo2 LCDRAM AkiSpiLcd_example

Files at this revision

API Documentation at this revision

Comitter:
K4zuki
Date:
Mon Sep 26 02:02:06 2016 +0900
Parent:
23:54c2007ae70d
Child:
25:b43338a43f86
Commit message:
[ DOC ] footnote numbering; add section-1 file

Changed in this revision

markdown/1.0_BoardDesign.md Show annotated file Show diff for this revision Revisions of this file
markdown/TITLE.md Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/markdown/1.0_BoardDesign.md	Mon Sep 26 02:02:06 2016 +0900
@@ -0,0 +1,40 @@
+# 基板の設計
+## 液晶の仕様
+~~データシートを参照したらわかりますよね~~
+
+- 5V単一電源で動作、低消費電力
+- 2.7インチモノクロTFT液晶
+- 400 x 240ドットで高解像度
+- 液晶が画素メモリを保持 - コントローラのVRAMが不要
+
+この液晶の操作には最低3本の信号線が必要です:
+
+- **MOSI**:SPIマスターからのデータ線
+- **SCK**:SPIクロック線
+- **CS**:スレーブセレクト信号線
+    - 他のSPIスレーブデバイスはLアクティブが主流です(よく見かけます)が
+      この液晶はHアクティブで動作します。
+
+この他にSRAMのセレクト信号とMISO出力
+
+## 5V単一で動くという話だけど...
+この液晶は5V単一電源で動作させられますが、データシートでは信号電圧は3Vが
+推奨されています。このブレークアウト基板では、SRAMの仕様に合わせて
+レベルシフタと3.3V出力レギュレータを使って信号を3.3Vに変換しています。
+5Vで動作するマイコンでも3.3V出力ならばハイレベルと認識するので
+
+## 高解像度だけど...
+400x240ドットが2.7インチに収まっているのはいままでにない高解像度で素晴らしいの
+ですが、マイコンから操作する視点に立つと`400 x 240 = 96000`ドット分のメモリが必要に
+なります。モノクロ2値で保持されているので[^11]実際は`96000 / 8 = 12000`バイト
+ということになりますが、Arduinoでは外部メモリなしには考えられないサイズ[^12]です。
+mbedなら品種によりますが動かせるので、筆者は当初から青mbedで実験していました。
+
+## SRAMの存在意義
+<!-- ー _なんちゃってDMA_ -->
+なんちゃってDMAというか擬似DMAの実装を考えました。
+
+<!--  -->
+[^11]: ちなみにこれがカラー液晶だとRGB各1ビットだとしても少なくともこの3倍必要な計算に
+なります。ムリダナ
+[^12]: ArduinoのメインマイコンATMega328のSRAMは2KBです。まぢ無理...
--- a/markdown/TITLE.md	Sun Sep 25 23:29:05 2016 +0900
+++ b/markdown/TITLE.md	Mon Sep 26 02:02:06 2016 +0900
@@ -36,30 +36,31 @@
 ...
 
 # まえがき {.unnumbered}
-このドキュメントは、秋月電子で販売されている2.7インチモノクロメモリ液晶[^1]の
+このドキュメントは、秋月電子で販売されている2.7インチモノクロメモリ液晶[^01]の
 ブレークアウト基板の仕様とmbed(TM)向けライブラリを解説する本です。
 
 シャープの2.7インチメモリ液晶は400x240ドットの解像度を持つ、反射型モノクロ液晶
-です。5V単一電源で動かせて[^2]SPIバスに直結できるので便利なうえ、他の一般的な
+です。5V単一電源で動かせて[^02]SPIバスに直結できるのが便利なうえ、他の一般的な
 グラフィック液晶とは異なり、液晶が画素データを保持するのでマイクロコントローラ
 側のプログラムが簡潔にできます。
 
-直後に秋月電子もコントローラ基板を売りだした[^3]のですが、コントローラのPICマイコン
-と一体になっていました。
+直後に秋月電子もコントローラ基板を売りだした[^03]のですが、コントローラのPICマイコン
+と液晶搭載部分が一体になっていました。
 
-一方筆者も2014年にArduinoシールド形状の基板を試作[^4]し、OMMFで販売もしました
-が、その後マルツ[^5]とスイッチサイエンス[^6]で通販を始めた際に現在の設計に
+一方筆者も2014年にArduinoシールド形状の基板を試作[^04]し、OMMFで販売もしました
+が、その後マルツ[^05]とスイッチサイエンス[^06]で通販を始めた際に現在の設計に
 変更しました。
 
-この本では、現在販売されている基板及びmbed用ライブラリ[^7]の設計についての解説
+この本では、現在販売されている基板及びmbed用ライブラリ[^07]の設計についての解説
 をします。いままでにこの基板を入手された方は特に _SRAMの存在価値について_ 疑問を
 お持ちだと思いますので、そのあたりを重点的に。
 
+`markdown/1.0_BoardDesign.md`{.include}
 <!--  -->
-[^1]: TODO: 秋月商品ページへのリンク
-[^2]: 信号は3V系推奨らしいです
-[^3]: TODO: 秋月商品ページへのリンク
-[^4]: フレキを通すために削った部分の幅が狭くて加工が必要だった。
-[^5]: TODO: マルツ商品ページヘのリンク
-[^6]: TODO: スイッチサイエンス商品ページへのリンク
-[^7]: TODO: mbedライブラリへのリンク
+[^01]: TODO: 秋月商品ページへのリンク
+[^02]: 信号は3V系推奨らしいです
+[^03]: TODO: 秋月商品ページへのリンク
+[^04]: フレキを通すために削った部分の幅が狭くて加工が必要だった。
+[^05]: TODO: マルツ商品ページヘのリンク
+[^06]: TODO: スイッチサイエンス商品ページへのリンク
+[^07]: TODO: mbedライブラリへのリンク