新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 顯示控制器S6B0724的接口技術(shù)

顯示控制器S6B0724的接口技術(shù)

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

引言

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

1 系統(tǒng)介紹

1.1 設(shè)計要求

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

1.2 系統(tǒng)構(gòu)成

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

本文引用地址:http://butianyuan.cn/article/20903.htm

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

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

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

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

2 硬件設(shè)計

2.1 總線接口的分析

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





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

2.2 雙s6b0724控制器接口設(shè)計

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

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

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

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

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

3 驅(qū)動程序

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

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


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

初始化程序如下:


4 結(jié)論

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



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉