顯示控制器S6B0724的接口技術(shù)
引言
s6b0724[1]是samsung公司1999年推出的一款大規模的顯示控制驅動(dòng)芯片,用于控制和驅動(dòng)點(diǎn)陣式液晶屏。這款顯示控制芯片將控制電路、ram和驅動(dòng)電路集成在單一芯片中,使其在系統成本方面具有優(yōu)勢。sep3203是由東南大學(xué)國家asic工程中心設計的一款基于arm7tdmi內核的16/32位嵌入式微處理器。雖然sep3203自帶lcd控制器,但是其信號適用于不帶ram的灰度或彩色液晶屏,不支持在工控系統中常使用的帶ram的黑白液晶顯示屏,所以工控系統應用中需要通過(guò)外接顯示控制器來(lái)實(shí)現液晶顯示。下面介紹s6b0724顯示控制器在以sep3203無(wú)核心的工控系統中的應用。
1 系統介紹
1.1 設計要求
系統要求通過(guò)總線(xiàn)掛接的方式實(shí)現64×192黑白點(diǎn)陣的顯示。該點(diǎn)陣屏的規格較特殊,但在電話(huà)終端和小型收款機等工控系統中經(jīng)常使用。常見(jiàn)的幾款中小規模顯示控制器[2,3]所控制的點(diǎn)陣范圍都比其?。?5×132,132×176)。需要用2片s6b0724控制該液晶屏,同時(shí)要求只使用1個(gè)片選信號來(lái)實(shí)現對2片s6b0724的控制;
1.2 系統構成
系統主要由sep3203處理器、電平轉換芯片74lvxc4245和74hct541,以及2片s6b0724顯示控制器組成。如圖1所示。

sep3203是一款16/32位嵌入式微處理器[4],由東南大學(xué)國家asic工程中心設計,采用業(yè)界標準的arm7tdmi內核,amba總線(xiàn)結構。sep3203處理器內嵌20kb零等待的靜態(tài)存儲器(sram),提供sdram控制器;可支持nor
flash、nand flash啟動(dòng);可擴展支持各種sram接口的設備。提供可自由控制的gpio口,同時(shí)具有多種控制器接口。
s6b0724是一款顯示控制驅動(dòng)芯片,最大支持65×132的點(diǎn)陣顯示,同時(shí)提供主從式結構的擴展;內部帶有ram,可以支持屏幕自刷新;有65個(gè)common輸出,165個(gè)segment輸出。它的mpu接口可支持8080和6800兩種時(shí)序模式。模式的選擇通過(guò)配置外部引腳來(lái)實(shí)現。
由于單片s6b0724只支持65×132點(diǎn)陣的顯示,而設計要求實(shí)現64×192點(diǎn)陣的顯示,因此在圖1中使用了2片s6b0724。另外,由于s6b0724使用5v信號,vih的最小值為4v(0.8vdd),而sep3203的總線(xiàn)采用的是3v信號(通常的嵌入式cpu使用的都是3v總線(xiàn)),所以sep3203無(wú)法直接驅動(dòng)s6b0724,需要作電平轉換。因此圖1中在sep3203與s6b0724之間增加了電平轉換芯片,以實(shí)現3v信號與5v信號的雙向轉換。
電平轉換芯片選用的是74lvxc4245[5]和74hct541[6]。這兩款芯片都是普通的邏輯芯片,很多公司都生產(chǎn)。74lvxc4245是雙向電平轉換芯片,3v和5v電路電源供電;可以支持3v到5v的雙向電平轉換,但需要有信號電平轉換方向。74hct541是單向的緩沖芯片,采用5v電源,可以將輸入的3v信號轉換成5v信號后輸出。
2 硬件設計
2.1 總線(xiàn)接口的分析
s6b0724可與各種mpu相連,具體連接方式取決于mpu所使用的總線(xiàn)類(lèi)型。其提供兩種mpu的信號接口協(xié)議:一種是6800系列mpu接口協(xié)議,如圖2所示;另一種是8080系列mpu接口協(xié)議,如圖3所示。將兩種接口協(xié)議與sep3203的接口協(xié)議對比,可見(jiàn)sep3203的接口協(xié)議屬于8080接口協(xié)議,因此采用8080的接口實(shí)現s6b0724與sep3203的連接。sep3203的接口協(xié)議如圖4所示。




根據8080接口協(xié)議,s6b0724與mpu接口信號的定義如表1所列。s6b0724的d0-d7信號應與sep3203的data0-data7信號連接;s6b0724的rd、wr、cs信號應分別與sep3203的oe、we、cs信號連接。rs是訪(fǎng)問(wèn)控制寄存器與ram的選擇信號--rs為低時(shí)訪(fǎng)問(wèn)s6b0724的控制寄存器,rs為高時(shí)訪(fǎng)問(wèn)s6b0724中的ram。其作用相當于地址信號,因此與sep3203的地址線(xiàn)連接。rst是s6b0724的復位信號,可由sep3203的gpio產(chǎn)生。
2.2 雙s6b0724控制器接口設計
由于要支持64×192的點(diǎn)陣顯示,所以在該設計中需要使用2片s6b0724(以s6b0724_a和s6b0724_b來(lái)表示)。圖1中s6b0724_a控制液晶屏的64×132個(gè)點(diǎn),s6b0724_b控制剩下的64×60個(gè)點(diǎn)。由于總線(xiàn)設備較多,只有1個(gè)片選信號能用于對2片s6b0724芯片的操作;同時(shí)s6b0724與sep3203的總線(xiàn)也需要作電平轉換,因此在該接口設計中利用了電平轉換芯片實(shí)現了該功能,并沒(méi)有再增加額外的邏輯芯片。
分析s6b0724與mpu的接口信號,發(fā)現其中rd、wr、rst、cs、rs信號只需單向傳輸(從mpu傳向s6b0724),只有d0-d7信號需要雙向傳輸。圖5中,使用74hct541實(shí)現3v信號到5v信號的單向電平轉換,74lvxc4245實(shí)現3v信號與5v信號的雙向電平轉換。
圖3中cs1b、cs2、cs信號是同時(shí)變化的(cs1b信號為低,cs2信號為高時(shí)s6b0724被選中)。由于在實(shí)際使用中cs2信號是固定接高電平,所以cs1b信號就是文中s6b0724芯片的cs信號。圖4中sep3203總線(xiàn)的地址信號和片選信號也是同時(shí)變化的,因此考慮使用地址信號來(lái)代替片選信號。但如果直接用地址信號來(lái)代替片選信號會(huì )導致總線(xiàn)對其他設備操作時(shí)也選中s6b0724,即兩個(gè)總線(xiàn)設備被同時(shí)選中,從而產(chǎn)生錯誤。在該設計中,利用電平轉換芯片的特性解決了這一問(wèn)題。如圖5所示,使用了addr3、addr4作為s6b0724的片選信號(lcd_csa、lcd_csb)。addr2作為選擇對s6b0724寄存器或ram操作的信號(lcd_rs)。sep3203的片選信號lcd_ncsf連接74hct541的使能端oe。當lcd_ncsf信號為低時(shí)74hct541被使能,oe、we、addr3、addr4、addr2信號被轉換成相應的5v信號(lcd_/rd、lcd_/wr、lcd_csa、lcd_csb、lcd_rs)輸出到s6b0724;當lcd_ncsf信號為高時(shí)74hct541停止工作,此時(shí)74hct541輸出高阻態(tài),為避免噪聲干擾,輸出端信號lcd_/rd、lcd_/wr、lcd_csa、lcd_csb、lcd_rs應被上拉至5v。在sep3203的片選lcd_ncsf無(wú)效(高電平)時(shí),由于信號lcd_csa,lcd_csb被拉高,所以此時(shí)2片s6b0724控制器都未被選中,任何操作對其都是無(wú)效的,從而避免了在總線(xiàn)對其他設備操作時(shí)可能對s6b0724產(chǎn)生的誤操作。

數據信號的電平轉換類(lèi)似于控制信號的電平轉換。74lvxc4245是雙向電平轉換芯片,圖5中的lcd_dir信號由sep3203的gpio產(chǎn)生,用于控制74lvxc4245電平轉換方向的信號。當lcd_dir為低時(shí),信號由b端傳向a端,即由總線(xiàn)傳向s6b0724(寫(xiě)操作);當lcd_dir為高時(shí),信號由a端傳向b端,即由s6b0724傳向總線(xiàn)(讀操作)。信號lcd_d0-lcd_d7也需要上拉,防止當74lvxc4245的輸出為高阻時(shí),外部噪聲在其輸出端產(chǎn)生錯誤信號。
值得一提的是,s6b0724顯示控制器在pcb板上的位置靠近液晶屏,與sep3203之間的距離很大。在pcb布局時(shí),需要注意電平轉換芯片的位置,因為其不但有電平轉換的作用,而且還能緩沖總線(xiàn)信號,使總線(xiàn)和s6b0724顯示控制器隔離,避免總線(xiàn)過(guò)長(cháng)。電平轉換芯片的布置應該盡量靠近總線(xiàn),減小總線(xiàn)的長(cháng)度,從而避免產(chǎn)生由總線(xiàn)過(guò)長(cháng)造成的信號延時(shí)及噪聲干擾問(wèn)題。
雖然rst信號也是單向傳輸的,但rst信號的電平轉換電路卻是單獨設計的。如果使用74hct541完成電平轉換,會(huì )有兩個(gè)問(wèn)題:(1)當lcd_ncsf失效時(shí)74hct541不工作,此時(shí)lcd_reset信號無(wú)法傳遞到rst端,rst端始終是高電平(被上拉至5v),因此s6b0724無(wú)法被復位;(2)在74hct541工作時(shí),因為lcd_ncsf的脈沖寬度等于總線(xiàn)周期(最大值約為幾百ms),所以輸出的rst信號的最大脈沖寬度也等于總線(xiàn)周期;而s6b0724要求的sct信號最小脈沖寬度是1μs,所以用74hct541無(wú)法產(chǎn)生正確的rst信號,此時(shí)s6b072同樣無(wú)法被復位。在圖5中,該信號的電平轉電路是由晶體管和電阻構成的。
3 驅動(dòng)程序
該部分軟件主要依照s6b0724的初始化流程、命令參數列表及其他資料[7]編寫(xiě)的。s6b0724的訪(fǎng)問(wèn)地址只有兩個(gè):一個(gè)是寄存器地址(通過(guò)寫(xiě)入不同的命令字來(lái)實(shí)現對s6b0724的控制);另一個(gè)是ram端口(顯示數據由此寫(xiě)入)。
首先需要根據s6b0724的接口設計計算其各端口的訪(fǎng)問(wèn)地址。sep3203的片選信號lcd_ncsf所對應的基址是0x34000000。圖5中的s6b0724_a、s6b0724_b的寄存器訪(fǎng)問(wèn)地址分別是0x340000100、0x34000020;ram的訪(fǎng)問(wèn)地址分別是0x34000018、0x34000028。特別是在該接口設計允許sp3203同時(shí)訪(fǎng)問(wèn)s6b0724_a和s6b0724_b,寄存器的訪(fǎng)問(wèn)地址為0x34000000,ram的訪(fǎng)問(wèn)地址為0x34000008。在實(shí)際使用中,可以利用這個(gè)特點(diǎn)對兩個(gè)控制同時(shí)初始化,提高軟件效率。

s6b0724的初始化流程如圖6所示。先冷復位s6b0724,然后將74lvxc4245的電平轉換方向設置為從總線(xiàn)向數據線(xiàn)。通過(guò)寫(xiě)s6b0724的控制寄存器對s6b0724軟復位,然后選擇所用的顯示方式和掃描方向,再選擇背光亮度;通過(guò)寫(xiě)寄存器的方式打開(kāi)s6b0724內部的電壓反轉器,等待10ms后再打開(kāi)電壓生成器。延遲10ms后,打開(kāi)電壓跟隨器,等所有電壓都穩定后(約等待10ms)再設定液晶屏的工作電壓,最后開(kāi)始顯示。圖像的顯示通過(guò)函數void write_all lcd(void)來(lái)實(shí)現。其功能是將所要顯示的點(diǎn)陣數據送入2片s6b0724。
初始化程序如下:
4 結論
該設計已在以sep3203為核心的嵌入式系統中被實(shí)際應用。采用s6b0724顯示控制器后,解決了sep3203微處理器在工控應用中使用液晶屏的問(wèn)題。使用1個(gè)片選信號實(shí)現了對2個(gè)顯示控制器的控制。2個(gè)以上顯示控制器的控制也可通過(guò)類(lèi)似方法實(shí)現。該設計可以在金融收費系統、稅務(wù)管理系統、電話(huà)終端等眾多系統中應用。
評論