2009年1月15日 星期四

透過 RAiO 的 RA8806 控制繪圖型 LCD

本文在 2009/01/15 01:50 發表於 Yahoo!奇摩部落格
因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此


續前篇:控制繪圖型 LCD
先介紹一下這次要控制的玩具
這傢伙:




背面:


這是一片 160x160 的繪圖型 LCD
只安裝有 Seg/Com Driver 和分壓電路
中間這顆是個 4OP


看樣子應該是用來兜分壓電路的
右上角還有一顆 IC, 位置接近觸控板輸入
可能和觸控螢幕有關, 先不理它
這傢伙就是之前提到的 Seg/Com Driver


它被直接固定在軟排線上
通往 LCD 玻璃方向的是密密麻麻的細線
相信沒有人願意手工處理它XD

如同先前提到的, 這控制時序相當複雜
直接用 MCU 的 IO 很難實現 (但不是做不到!要有足夠的愛!XD)
於是找來了專門的 IC 來處理
這類繪圖型 LCD 控制器有很多類似的產品
大致上可以分兩類

1. 整合 Seg/Com Driver 一起, 一顆可控制整片小畫面 LCD
2. 僅提供控制 Seg/Com Driver 介面輸出

第一類可以說是升級版的 Seg/Com Driver
它也是被安裝在連接 LCD 的軟排線上
不過提供的控制介面不是複雜時序的版本
而是類似文字型 LCD 的介面
就是那種拉信號後給資料的方法
用 MCU 可以直接控制它
例如 MC141803 這顆 IC
提供使用者寫資料到內部記憶體
然後它自動幫忙畫到 LCD 上
這類 IC 有些還內建升壓和分壓電路
甚至可以只要黏上一些電容就能工作
不過由於必須直接連接 LCD 玻璃
必須 LCD 模組上有安裝才有, 沒法手工外加

所以我這片會需要第二類的 IC
這類 IC 最經典的大概就是 T6963 這顆
這是由 TOSHIBA 生產的 LCD 控制器
內建字型 ROM
可以直接繪製文字, 不用自行儲存文字圖形檔
不過文字庫裡只有英數和日文假名
而且似乎要自己外掛一顆 RAM 來供它放繪製到螢幕上的資料
也就是 framebuffer 空間要自理
於是我找來了更好的解決方案: RA8806
它自己就有帶 RAM 了, 不用外加
還有內建中文字型, 直接傳 BIG5 編碼就可以顯示中文
不用存下中文字型
並有自動放大, 粗體字型等功能
還有很多週邊, 像是 PWM, 鍵盤掃描, 觸控螢幕等支援
MCU 幾乎不用存什麼就可以顯示很複雜的畫面
這相當強大, 於是我選它來使用

使用前當然要先有板子啦
這種 SMD 元件沒法用洞洞板接, 自己畫!!

第一版


只有升壓電路, 和 RA8806 接腳拉出來
升壓 IC 是 MC34063
基本上照著 datasheet 上的官版線路就會動
線路:

這顆容易取得, 而且可以 step up 或 step down
負電壓也能產生

全部的樣子:

用 PIC16F887 控制
8051 也行, 只是我手邊只有 PIC 環境有除錯器, 比較好用
不過第一次用失敗了
如上圖 LCD, 畫面混亂
經過一段時間後會變這樣:

後來 RAiO 的工程師說是 3V 那裡沒有接電容
其實這 datasheet 裡面有說
這就是偷料的下場XD
想說偷懶一下就...

其他地方都沒有問題
至少這些要接上MCU: CS1, CS2, RS, WR, RD, RST, DATA[7:0]
依照 LCD 需求接上 LCD 介面的線
DW, DB, MI 等要設定正確
震盪器要接上
RST 可以接到 MCU 上, 這樣可以用 MCU 去對 RA8806 做硬體重置
Vcc, GND 有很多組, 通通要接上, 不可以漏掉
這樣就是讓 RA8806 工作最基本的工作電路

於是重新做一片, 順便把 PIC 也做到板子上省得麻煩

在以往, 我會保留綠色感光劑, 據說可以避免氧化
不過要焊接要先上錫, 感光劑就顯得擋路, 於是把它處理掉
方法就是用酒精擦就可以全部清除


接著就開始動手, 麻煩的傢伙先上

完成後先測試
不要等全部零件都上了才來除錯
這會很難搞
先測 PIC

當然, 基本運作零件要先上
像是震盪器, 電容
其實 PIC 有內建震盪, 不上料也可以動
電容則是增強穩定性, 掛在接近 IC 的電源端
佈線時盡量靠近 IC, 容值在 0.1~1uF 間, 濾除雜訊
地位類似 RA8806 那顆被我偷料的電容XD
確定可燒錄, IO 有反應後就可繼續
接著連接上 RA8806
熱血的手工連接XD

雖然我是設計成雙面板
但是手洗雙面板有難度
這線又很細, 很難鑽孔
只好這樣解決了

電路板全部手工佈線
千萬別指望電腦自動佈線
有可能會佈線成功
但是絕對不會符合需求
保證雙面混合連結, 孔一大堆
手洗板鑽孔是很頭痛的
佈線時能避免就盡量避免
元件盡量都用 SMD
可以省不少工

連結完後測試


接著線整理一下


                  ,,,r------.、   , -‐――- .,_ 
   __,,,,,,,,---――-、   ,r"       i、 ,/'       ゙ヽ、   ┌―、 
 | ̄      _、  ゙i  ,r"         V          '、    l   │ 
 |,,,,,-―''''''"゙゙゙ ,i  / ,i                      i    |  │ 
     .| ̄~ァ ,l  /  |        ________    i   l゙  ,i 
    ,i'  │ ヽ_/  | ̄| | ̄ l/ ̄ 7 |     __,,,,,,,,,,,,,|  l   i'  .! 
    ,i'   ,i'      l、_从__ツ   ./ "''''"" ̄          /   ゝ--' 
   ,l'   ,i'         ヽ/  ,/              ./    i´""! 
   く   ,i'          l  /              /     ゝ- ' 
    ヽノ           ヽノ \,_          ,r''″ 
                      ゙'ー、,_  _,,r‐''" 
                         ''v"



精美(?)隨身攜帶實驗板完工XD
接著開始研究程式的編寫




回應用, 板子現況:

中秋返鄉把它帶回來了, 經過測試依然正常, 就是有點接觸不良
七段顯示器一開始不亮, 拗幾下板子才亮XD


上圖箭頭指處測試完後斷了, 所以以後應該就不能再發命令了
或許該重做一個? 好像沒必要, 我再想想XD

3 則留言:

  1. 不曉得10年後這塊板子還有沒有成功活著

    回覆刪除
    回覆
    1. 真是可怕的突擊檢查XD
      年初時現況如文末附圖, 外觀有點噁但沒損壞的樣子
      由於是老家雜物整理, 拿出來丟棄一堆東西又收回去, 沒有測
      有沒有活著不知道, 我下次回去有想到再測看看, 希望還活著XD

      刪除
    2. 更新, 測試完成, 還活著! 請見文末附圖

      刪除

注意:只有此網誌的成員可以留言。