新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32開發(fā)板開發(fā)筆記(5)-2.4寸26萬色TFT觸摸屏模塊

stm32開發(fā)板開發(fā)筆記(5)-2.4寸26萬色TFT觸摸屏模塊

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
因?yàn)楫a(chǎn)品要用到顯示屏和觸摸,就買了一個(gè)2.4寸的彩色觸摸屏模塊。
原理圖:
顯示屏的驅(qū)動(dòng)芯片是ILI9325
ILI9325 is a 262,144-color one-chip SoC driver for a-TFT liquid crystal display with resolution of 240RGBx320
dots, comprising a 720-channel source driver, a 320-channel gate driver, 172,800 bytes RAM for graphic data
of 240RGBx320 dots, and power supply circuit.
大概的意思就是ILI9325是一顆26萬色片上soc的TFT液晶屏驅(qū)動(dòng)芯片,支持的分辨率為240RGB*320,172800個(gè)字節(jié)的顯存。
下面來說說說這幾個(gè)數(shù)字 的含義。
26萬色是色階,具體就是,RGB每種顏色用6個(gè)位表示,這樣就是64x64x64=262,144,當(dāng)前主流的手機(jī)屏幕應(yīng)該都是1600萬色,就是256*256*256=16777216。
再來說這個(gè)172800 :320*240*2.25=172,800 個(gè)字節(jié) 320 240 很容易理解,2.25在這里是18個(gè)bit,也就是說,如果以26萬色的色階填充,填滿整個(gè)屏幕,需要這么多個(gè)字節(jié)的數(shù)據(jù),算了一下大概是168.75KB。
在看手機(jī)屏幕,當(dāng)前的主流的分辨率是1080P,旗艦手機(jī)是2K屏幕,就以普通的1080P 屏幕為例,1920*1080*96=199065600個(gè)字節(jié)
算了一下,大約是189.84375MB,2K屏幕就已經(jīng)是300多MB了,手機(jī)的處理器性能確實(shí)強(qiáng)大。
comprising a 720-channel source driver, a 320-channel gate driver
720-channel 和320-channel gate在芯片上是實(shí)實(shí)在在存在的,720表示240的點(diǎn)的RGB,320就是門驅(qū)動(dòng)。
上圖為芯片管腳圖
上圖為管腳尺寸圖
門輸出順序,這個(gè)和取模沒有關(guān)系的 通過控制Driver Output Control (R01h) 的SM 和GS,可以控制驅(qū)動(dòng)門開啟的數(shù)序,
這里可能有點(diǎn)顯示的效果的控制。
和顯示編程最相關(guān)的是8.2.5. Entry Mode (R03h) 這個(gè)寄存器,其影響取模的方式,顯示的位置。
從上面的描述就是水平方向上的遞增遞減來看,如果原點(diǎn)沒有改動(dòng),上圖中紅色點(diǎn)標(biāo)出的地方就是原點(diǎn),
我將這里標(biāo)記為物理原點(diǎn)。
對比實(shí)物圖
ILI9325 has a 16-bit index register (IR), an 18-bit write-data register (WDR), and an 18-bit read-data register
(RDR). The IR is the register to store index information from control registers and the internal GRAM. The
WDR is the register to temporarily store data to be written to control registers and the internal GRAM. The
RDR is the register to temporarily store data read from the GRAM.
Data from the MPU to be written to theinternal GRAM are first written to the WDR and then automatically written to the internal GRAM in internaloperation. Data are read via the RDR from the internal GRAM.
Therefore, invalid data are read out to the data
bus when the ILI9325 read the first data from the internal GRAM. Valid data are read out after the ILI9325
performs the second read operation.
ILI9325 有一個(gè)16位的索引寄存器(縮寫 IR),一個(gè)18位的寫數(shù)據(jù)寄存器(縮寫為WDR),和一個(gè)18位的讀數(shù)據(jù)寄存器(縮寫為RDR) 。IR用來存儲(chǔ)來自控制寄存器和內(nèi)部GRAM的索引信息,WDR是用來暫存寫入到GRAM中的數(shù)據(jù)的。RDR是用來暫存來自GRAM的數(shù)據(jù)的。
來自MPU的寫GRAM數(shù)據(jù)第一步寫入到WDR,然后通過內(nèi)部的自動(dòng)操作,寫入到GRAM中。讀操作和寫操作的道理一樣。
因此,第一步讀到總線上的數(shù)據(jù)是無效的,第二步讀到的數(shù)據(jù)才是有效數(shù)據(jù)。
Address Counter (AC)
The address counter (AC) gives an address to the internal GRAM. When the index of the register for setting a
RAM address in the AC is written to the IR, the address information is sent from the IR to the AC. As writing
data to the internal GRAM, the address in the AC is automatically updated plus or minus 1. The window
address function enables writing data only in the rectangular area arbitrarily set by users on the GRAM.
地址計(jì)數(shù)器用來給內(nèi)部的GRAM傳遞地址信息,當(dāng)要設(shè)置AC的信息,先是將這個(gè)RAM地址寫入IR中,然后傳遞給AC。
寫一個(gè)數(shù)據(jù)到GRAM,AC 自動(dòng)加1或者減1。 窗口地址功能使得任意寫入到GRAM 中數(shù)據(jù)在窗口顯示。
昨天一直弄錯(cuò)的一個(gè)問題,我想采用上面的配置 AM=0, ID=11 在水平方向上掃描,水平地址增長,垂直地址增長,
然后取模軟件這邊的設(shè)置如下圖:
配合屏幕的方向,我在掃描的時(shí)候做了以上的設(shè)置,我將掃描的起點(diǎn)和屏幕的原點(diǎn)重合,
這樣在增長方向上都是增加,事實(shí)證明這種掃描方式是可以的。
問題出來和軟件的配合上
x=((uint16_t)(pic[2]<<8)+pic[3])-1; //從圖像數(shù)組里取出圖像的長度
y=((uint16_t)(pic[4]<<8)+pic[5])-1; //從圖像數(shù)組里取出圖像的高度
這種方式取出來的x=320
y=240
LCD_WR_CMD(EntryMode,0x1030); //圖像顯示方向?yàn)樽笙缕?行遞增 列遞減
LCD_WR_CMD(HorizontalAddressStart, StartX); //水平顯示區(qū)起始地址 0-239
LCD_WR_CMD(HorizontalAddressEndPosition, StartX+x); //水平顯示區(qū)結(jié)束地址 0-239
LCD_WR_CMD(VerticalAddressStart, StartY); //垂直顯示區(qū)起始地址 0-319
LCD_WR_CMD(VerticalAddressEndPosition, StartY+y); //垂直顯示區(qū)結(jié)束地址 0-319
LCD_WR_CMD(HorizontalGramAddressSet, StartX); //水平顯示區(qū)地址
LCD_WR_CMD(VerticalGramAddressSet, StartY); //垂直顯示區(qū)地址
這樣在水平方向就會(huì)越界,導(dǎo)致?屏。
這種掃描方式x應(yīng)該是240 y是320
正常的豎屏掃描方式
配合屏幕,豎屏顯示

SS和GS兩個(gè)位通過控制S1-S720的和G1-G320的方向來確定原點(diǎn)的位置
SS是Source Shift
GS是Gate Shift

1、坐標(biāo)原點(diǎn)位置由SS和GS確定。對應(yīng)01H和60H命令.

本文引用地址:http://m.butianyuan.cn/article/201611/316353.htm

2、AM和I/D[1:0]即03H命令,控制其掃描方式,這將決定你圖片取模方式。正常的取模圖片才會(huì)正常顯示。




評論


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

關(guān)閉