新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 顯示控制器S6B0724的接口技術

        顯示控制器S6B0724的接口技術

        ——
        作者:東南大學 章杰 徐金波 俞超 鐘銳 時間:2007-01-26 來源:《單片機與嵌入式系統應用》 收藏

        引言

        s6b0724[1]是samsung公司1999年推出的一款大規模的顯示控制驅動芯片,用于控制和驅動點陣式液晶屏。這款顯示控制芯片將控制電路、ram和驅動電路集成在單一芯片中,使其在系統成本方面具有優勢。sep3203是由東南大學國家asic工程中心設計的一款基于arm7tdmi內核的16/32位嵌入式微處理器。雖然sep3203自帶lcd控制器,但是其信號適用于不帶ram的灰度或彩色液晶屏,不支持在工控系統中常使用的帶ram的黑白液晶顯示屏,所以工控系統應用中需要通過外接顯示控制器來實現液晶顯示。下面介紹s6b0724顯示控制器在以sep3203無核心的工控系統中的應用。

        1 系統介紹

        1.1 設計要求

        系統要求通過總線掛接的方式實現64×192黑白點陣的顯示。該點陣屏的規格較特殊,但在電話終端和小型收款機等工控系統中經常使用。常見的幾款中小規模顯示控制器[2,3]所控制的點陣范圍都比其?。?5×132,132×176)。需要用2片s6b0724控制該液晶屏,同時要求只使用1個片選信號來實現對2片s6b0724的控制;

        1.2 系統構成

        系統主要由sep3203處理器、電平轉換芯片74lvxc4245和74hct541,以及2片s6b0724顯示控制器組成。如圖1所示。

        本文引用地址:http://www.104case.com/article/20903.htm

        sep3203是一款16/32位嵌入式微處理器[4],由東南大學國家asic工程中心設計,采用業界標準的arm7tdmi內核,amba總線結構。sep3203處理器內嵌20kb零等待的靜態存儲器(sram),提供sdram控制器;可支持nor flash、nand flash啟動;可擴展支持各種sram接口的設備。提供可自由控制的gpio口,同時具有多種控制器接口。

        s6b0724是一款顯示控制驅動芯片,最大支持65×132的點陣顯示,同時提供主從式結構的擴展;內部帶有ram,可以支持屏幕自刷新;有65個common輸出,165個segment輸出。它的mpu接口可支持8080和6800兩種時序模式。模式的選擇通過配置外部引腳來實現。

        由于單片s6b0724只支持65×132點陣的顯示,而設計要求實現64×192點陣的顯示,因此在圖1中使用了2片s6b0724。另外,由于s6b0724使用5v信號,vih的最小值為4v(0.8vdd),而sep3203的總線采用的是3v信號(通常的嵌入式cpu使用的都是3v總線),所以sep3203無法直接驅動s6b0724,需要作電平轉換。因此圖1中在sep3203與s6b0724之間增加了電平轉換芯片,以實現3v信號與5v信號的雙向轉換。

        電平轉換芯片選用的是74lvxc4245[5]和74hct541[6]。這兩款芯片都是普通的邏輯芯片,很多公司都生產。74lvxc4245是雙向電平轉換芯片,3v和5v電路電源供電;可以支持3v到5v的雙向電平轉換,但需要有信號電平轉換方向。74hct541是單向的緩沖芯片,采用5v電源,可以將輸入的3v信號轉換成5v信號后輸出。

        2 硬件設計

        2.1 總線接口的分析

        s6b0724可與各種mpu相連,具體連接方式取決于mpu所使用的總線類型。其提供兩種mpu的信號接口協議:一種是6800系列mpu接口協議,如圖2所示;另一種是8080系列mpu接口協議,如圖3所示。將兩種接口協議與sep3203的接口協議對比,可見sep3203的接口協議屬于8080接口協議,因此采用8080的接口實現s6b0724與sep3203的連接。sep3203的接口協議如圖4所示。





        根據8080接口協議,s6b0724與mpu接口信號的定義如表1所列。s6b0724的d0-d7信號應與sep3203的data0-data7信號連接;s6b0724的rd、wr、cs信號應分別與sep3203的oe、we、cs信號連接。rs是訪問控制寄存器與ram的選擇信號--rs為低時訪問s6b0724的控制寄存器,rs為高時訪問s6b0724中的ram。其作用相當于地址信號,因此與sep3203的地址線連接。rst是s6b0724的復位信號,可由sep3203的gpio產生。

        2.2 雙s6b0724控制器接口設計

        由于要支持64×192的點陣顯示,所以在該設計中需要使用2片s6b0724(以s6b0724_a和s6b0724_b來表示)。圖1中s6b0724_a控制液晶屏的64×132個點,s6b0724_b控制剩下的64×60個點。由于總線設備較多,只有1個片選信號能用于對2片s6b0724芯片的操作;同時s6b0724與sep3203的總線也需要作電平轉換,因此在該接口設計中利用了電平轉換芯片實現了該功能,并沒有再增加額外的邏輯芯片。

        分析s6b0724與mpu的接口信號,發現其中rd、wr、rst、cs、rs信號只需單向傳輸(從mpu傳向s6b0724),只有d0-d7信號需要雙向傳輸。圖5中,使用74hct541實現3v信號到5v信號的單向電平轉換,74lvxc4245實現3v信號與5v信號的雙向電平轉換。

        圖3中cs1b、cs2、cs信號是同時變化的(cs1b信號為低,cs2信號為高時s6b0724被選中)。由于在實際使用中cs2信號是固定接高電平,所以cs1b信號就是文中s6b0724芯片的cs信號。圖4中sep3203總線的地址信號和片選信號也是同時變化的,因此考慮使用地址信號來代替片選信號。但如果直接用地址信號來代替片選信號會導致總線對其他設備操作時也選中s6b0724,即兩個總線設備被同時選中,從而產生錯誤。在該設計中,利用電平轉換芯片的特性解決了這一問題。如圖5所示,使用了addr3、addr4作為s6b0724的片選信號(lcd_csa、lcd_csb)。addr2作為選擇對s6b0724寄存器或ram操作的信號(lcd_rs)。sep3203的片選信號lcd_ncsf連接74hct541的使能端oe。當lcd_ncsf信號為低時74hct541被使能,oe、we、addr3、addr4、addr2信號被轉換成相應的5v信號(lcd_/rd、lcd_/wr、lcd_csa、lcd_csb、lcd_rs)輸出到s6b0724;當lcd_ncsf信號為高時74hct541停止工作,此時74hct541輸出高阻態,為避免噪聲干擾,輸出端信號lcd_/rd、lcd_/wr、lcd_csa、lcd_csb、lcd_rs應被上拉至5v。在sep3203的片選lcd_ncsf無效(高電平)時,由于信號lcd_csa,lcd_csb被拉高,所以此時2片s6b0724控制器都未被選中,任何操作對其都是無效的,從而避免了在總線對其他設備操作時可能對s6b0724產生的誤操作。

        數據信號的電平轉換類似于控制信號的電平轉換。74lvxc4245是雙向電平轉換芯片,圖5中的lcd_dir信號由sep3203的gpio產生,用于控制74lvxc4245電平轉換方向的信號。當lcd_dir為低時,信號由b端傳向a端,即由總線傳向s6b0724(寫操作);當lcd_dir為高時,信號由a端傳向b端,即由s6b0724傳向總線(讀操作)。信號lcd_d0-lcd_d7也需要上拉,防止當74lvxc4245的輸出為高阻時,外部噪聲在其輸出端產生錯誤信號。

        值得一提的是,s6b0724顯示控制器在pcb板上的位置靠近液晶屏,與sep3203之間的距離很大。在pcb布局時,需要注意電平轉換芯片的位置,因為其不但有電平轉換的作用,而且還能緩沖總線信號,使總線和s6b0724顯示控制器隔離,避免總線過長。電平轉換芯片的布置應該盡量靠近總線,減小總線的長度,從而避免產生由總線過長造成的信號延時及噪聲干擾問題。
        雖然rst信號也是單向傳輸的,但rst信號的電平轉換電路卻是單獨設計的。如果使用74hct541完成電平轉換,會有兩個問題:(1)當lcd_ncsf失效時74hct541不工作,此時lcd_reset信號無法傳遞到rst端,rst端始終是高電平(被上拉至5v),因此s6b0724無法被復位;(2)在74hct541工作時,因為lcd_ncsf的脈沖寬度等于總線周期(最大值約為幾百ms),所以輸出的rst信號的最大脈沖寬度也等于總線周期;而s6b0724要求的sct信號最小脈沖寬度是1μs,所以用74hct541無法產生正確的rst信號,此時s6b072同樣無法被復位。在圖5中,該信號的電平轉電路是由晶體管和電阻構成的。

        3 驅動程序

        該部分軟件主要依照s6b0724的初始化流程、命令參數列表及其他資料[7]編寫的。s6b0724的訪問地址只有兩個:一個是寄存器地址(通過寫入不同的命令字來實現對s6b0724的控制);另一個是ram端口(顯示數據由此寫入)。

        首先需要根據s6b0724的接口設計計算其各端口的訪問地址。sep3203的片選信號lcd_ncsf所對應的基址是0x34000000。圖5中的s6b0724_a、s6b0724_b的寄存器訪問地址分別是0x340000100、0x34000020;ram的訪問地址分別是0x34000018、0x34000028。特別是在該接口設計允許sp3203同時訪問s6b0724_a和s6b0724_b,寄存器的訪問地址為0x34000000,ram的訪問地址為0x34000008。在實際使用中,可以利用這個特點對兩個控制同時初始化,提高軟件效率。


        s6b0724的初始化流程如圖6所示。先冷復位s6b0724,然后將74lvxc4245的電平轉換方向設置為從總線向數據線。通過寫s6b0724的控制寄存器對s6b0724軟復位,然后選擇所用的顯示方式和掃描方向,再選擇背光亮度;通過寫寄存器的方式打開s6b0724內部的電壓反轉器,等待10ms后再打開電壓生成器。延遲10ms后,打開電壓跟隨器,等所有電壓都穩定后(約等待10ms)再設定液晶屏的工作電壓,最后開始顯示。圖像的顯示通過函數void write_all lcd(void)來實現。其功能是將所要顯示的點陣數據送入2片s6b0724。

        初始化程序如下:


        4 結論

        該設計已在以sep3203為核心的嵌入式系統中被實際應用。采用s6b0724顯示控制器后,解決了sep3203微處理器在工控應用中使用液晶屏的問題。使用1個片選信號實現了對2個顯示控制器的控制。2個以上顯示控制器的控制也可通過類似方法實現。該設計可以在金融收費系統、稅務管理系統、電話終端等眾多系統中應用。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 郸城县| 时尚| 双辽市| 饶平县| 东光县| 永平县| 张家界市| 涿州市| 东海县| 平顶山市| 渝中区| 瑞昌市| 海宁市| 花垣县| 惠东县| 长兴县| 东丽区| 侯马市| 塘沽区| 马山县| 南平市| 潮安县| 乌海市| 融水| 祥云县| 邳州市| 泾源县| 镇江市| 富平县| 海盐县| 大悟县| 新平| 金门县| 田东县| 靖远县| 海门市| 当涂县| 巴青县| 漠河县| 个旧市| 渭源县|