1、LCD控制器
打開S3C2440數(shù)據(jù)手冊可以看到LCD控制器硬件組成框圖如下
2、LCD時序圖
對此圖做簡單描述:LCD控制器主要由REGBANK,LCDCDMA,VIDPRCS,TIMEGEN等寄存器組成,如果不是用的三星的LCD,LPC3600和LCC3600就不用管它,它們專門為三星的LCD設(shè)計的。
REGBANK由17個可編程的寄存器和一個256X16調(diào)色板內(nèi)存組成,他們用來配置LCD控制器
LCDCDMA是一個專用的DMA,它能自動將幀內(nèi)存中的數(shù)據(jù)傳送到LCD驅(qū)動器,通過這個DMA通道,數(shù)據(jù)不需要CPU干涉就能傳送到LCD上顯示。
VIDPRCS接收來自LCDCDMA的數(shù)據(jù),并轉(zhuǎn)換成合適的數(shù)據(jù)格式再送到LCD驅(qū)動器中。
TIMEGEN由可編程的邏輯組成,生成LCD驅(qū)動器的控制信號。
我們在LCD上顯示的一幅圖像稱為一幀圖像。在LCD上顯示一幀圖像的原理:從第一行的最左邊開始掃描,一行結(jié)束后跳到下一行繼續(xù)掃描。當顯示完一幅圖像后,從新
第一行接著掃描。掃描的時候就像一個“Z”字形。掃描圖像必須在控制信號下進行,下面講解一下控制信號。在mini2440開發(fā)板上用的是W35的TFT屏。TFT屏工作時序如下圖所示
對上面對參數(shù)解釋一下
VSYNC:垂直同步信號
VSPW:表示垂直同步脈沖的寬度,用行數(shù)計算
VBPD:表示新一幀圖像的開始,垂直同步信號以后無效的行數(shù)
VFPD:表示新一幀圖像結(jié)束后,垂直同步信號以前的無效的行數(shù)
HSYNC:水平同步信號,表示新的一行的開始,即跳到最左邊開始行的一行數(shù)據(jù)的掃描。
HSPW:表示水平同步信號的寬度,用VCLK計算
HBPD:表示水平同步信號從開始到一行的有效數(shù)據(jù)開始之間VCLK的個數(shù)
HFPD:表示一行有限數(shù)據(jù)結(jié)束到下一個水平同步信號開始之間VCLK的個數(shù)
VCLK:像素時鐘信號
VD[23:0]:LCD像素數(shù)據(jù)輸出端口
VDEN:數(shù)據(jù)使能信號
LEDN:行結(jié)束信號
顯示圖像的時候會看到圖像四周有黑色邊框,結(jié)合時序圖解釋一下:當我們發(fā)出VSYNC信號后,要經(jīng)過(VSPW+1+VBPD+1)這么長時間,那么這么長時間所掃面的行是無效的,這對應(yīng)著我們圖像的最上邊的黑框,接下來是掃描LINEVAL+1行有效數(shù)據(jù),最后經(jīng)過(VFPD+1)個無效行,這對應(yīng)著圖像下面的黑框。對于每一行圖像數(shù)據(jù),HSYNC信號發(fā)出后,經(jīng)過(HSPW+1+HBPD+1)個無效像素,這對應(yīng)著我們圖像左邊黑框,接下來顯示HOZVAL+1個有效像素,接著掃描(HFPD+1)個無效像素,這對應(yīng)著我們圖像的右邊黑框。
VSYNC信號的出現(xiàn)表示一幀圖像的開始,我們把1s內(nèi)能顯示圖像的幀數(shù)稱為顯示器頻率,也叫做場頻率或者垂直頻率。顯示分辨率又稱屏幕分辨率,指顯示器屏幕上顯示的有效像素點的數(shù)目。這是不同的概念。
3、LCD操作
下面講解如何操作LCD來顯一幀圖像:
一個像素點的顏色是由三種顏色(紅,綠,藍)按照一定比例配置得到的,每種顏色由幾位二進制來表示,到底是由幾位來表示需要我們設(shè)置LCD寄存器來配置。LCD支持單色(1BPP),4級灰度(2BPP),16級灰度(4BPP),256級灰度(8BPP)調(diào)色板顯示模式和16BPP和24BPP的非調(diào)色板顯示模式。BPP:bit per Pixel 即 位/像素。 我們的LCD就是選擇的16BPP顯示模式,16BPP有兩種表示方式,分別為5:5:5:1顯示模式和5:6:5顯示模式。我的LCD選擇的是5:6:5顯示模式,5:6:5表示的就是前5位二進制表示的事紅色,中間6位表示綠色,最后5位表示的是藍色。16BPP顯示模式圖如下所示
我們先了解下有關(guān)幀內(nèi)存的概念,所謂的幀內(nèi)存就是圖像數(shù)據(jù)的存放地址,我們將圖像數(shù)據(jù)放入到幀內(nèi)存中,然后自動通過LCDDMA將數(shù)據(jù)送到LCD上顯示。
我們主要要對一下幾個寄存器進行操作:LCDCON1,LCDCON2,LCDCON3,LCDCON4,LCDCON5,LCDSADDR1,LCDSADDR2,LCDSADDR3
LCDCON1寄存器如下圖所示
第0位是LCD信號輸出使能位,[4:1]位是選擇BBP模式,[6:5]位是選擇顯示模式,我們LCD是TFT屏,故此處應(yīng)該設(shè)置為3,[7]用不到暫時不管,[17:8]位用來設(shè)置像素信號始終,這個要根據(jù)具體的LCD數(shù)據(jù)手冊來設(shè)置,[27:18]沒用到暫時不管。
LCDCON2寄存器如下圖所示
此處的各參數(shù)的含義前面已經(jīng)解釋過了,我們需要查看LCD的數(shù)據(jù)手冊進行設(shè)置,其中LINEVAL設(shè)置為239,因為我們LCD是320X240的屏
LCDCON3寄存器如下圖所示
參考數(shù)據(jù)手冊對上圖進行配置,其中HOZVAL為319
LCDCON4寄存器如下圖所示
我們只需用到[7:0]位參考數(shù)據(jù)手冊對HSPW進行設(shè)置
LCDCON5寄存器如下圖所示
第0、1位用來設(shè)置數(shù)據(jù)存儲方式,我們ARM上電默認的方式是小端模式,即數(shù)據(jù)的低位放在低地址處,數(shù)據(jù)的高位放在高地址處。第3位用來設(shè)置給LCD供電,我們LCD有兩種供電方式,一種是外接電源,一種是我們io口輸出高電平供電,mini2440采用的是io口供電,采用IO供電的好處是當我們不用LCD的時候可以通過軟件來設(shè)置LCD的開啟與關(guān)閉。第8、9位是設(shè)置信號極性的。所謂信號極性入下圖所示
上面一個波形是正極性,下面一個為負極性。參考我們的LCD時序圖可以看出,我們在時鐘信號的下降沿采集數(shù)據(jù),故應(yīng)該設(shè)置為負極性信號,第10位設(shè)置為1。第11位用來設(shè)置顯示模式,我們采用的的是5:6:5模式。談到數(shù)據(jù)存儲,我們接下來講一講幀內(nèi)存的概念,所謂幀內(nèi)存就是圖像數(shù)據(jù)在內(nèi)存中的存儲地址,我們將數(shù)據(jù)存放在幀內(nèi)存中,然后將幀內(nèi)存的地址告訴LCD控制器,LCD會自動通過DMA讀取數(shù)據(jù)并顯示。因此,我們在編程的時候應(yīng)該事先聲明一個數(shù)組用來保存圖像數(shù)據(jù),然后將內(nèi)存地址告訴LCd控制器。
下面介紹一下幀內(nèi)存地址寄存器
【29:21】位用來保存幀內(nèi)存地址的高9位【30:22】,【20:0】用來保存LCD的幀緩沖區(qū)開始地址的【21:1】位
用來保存LCD的幀緩沖區(qū)的結(jié)束地址的【21:1】位。它的計算方法應(yīng)經(jīng)給出來了,LCDBASEL=((the frame end address)>>1)+1=LCDBASEU+(PAGEWID+OFFSIZE)x(LINEVAL+1)
我們用到【10:0】位,這里用來設(shè)置視口的寬度,半字位單位,我們一個像素就是半字,LCD的寬度為320個像素,故應(yīng)該設(shè)置為320,其他位置0即可。
下面給出幾個例子
1、我們在LCD上顯示一個藍色的點。程序如下:
#include "2440addr.h"
//根據(jù)數(shù)據(jù)手冊設(shè)置配置參數(shù),W35的屏的收據(jù)手冊可能參數(shù)上有點老了,反正我按照上面的配置就是不對,然后參照開發(fā)板自帶的程序進行配置
//LCDCON1配置
#define CLKVAL 4
#define BPPMODE 12
#define PNRMODE 3
//LCDCON2配置
#define HEIGHT 240
#define VBPD 10
#define VFPD 4
#define VSPW 1
//LCDCON3,4配置
#define WIDTH 320
#define HBPD 0x44
#define HFPD 0x04
#define HSPW 0x01
//LCDCON5配置
#define FRM565 1
#define INVVCLK 1
#define INVLINE 1
#define INVVFRAME 1
#define PWREN 1
#define BSWP 0
#define HWSWP 1
//此宏定義就是為了獲取LCD的幀緩沖區(qū)的起始地址的【21:1】位
#define Low21Bits(n) ((n)&0x1fffff)
//聲明一個幀內(nèi)存用于保存幀圖像數(shù)據(jù)
volatile unsigned short Lcd_Buffer[240][320];
//LCD控制寄存器初始化
void Lcd_Init(void)
{
rGPCCON=0xaaaa02a9;
rGPDCON=0xaaaaaaaa; //先將GPC和GPD的管教配置為LCD下的功能。
rLCDCON1=(CLKVAL<<8)|(PNRMODE<<5)|(BPPMODE<<1);
rLCDCON2=(VBPD<<24)|((HEIGHT-1)<<14)|(VFPD<<6)|(VSPW);
rLCDCON3=(HBPD<<19)|((WIDTH-1)<<8)|(HFPD);
rLCDCON4=HSPW;
rLCDCON5=(FRM565<<11)|(INVVCLK<<10)|(INVLINE<<9)|(INVVFRAME<<8)|(BSWP<<1)|(HWSWP);
rLCDSADDR1=(((unsigned int)Lcd_Buffer>>22)<<21)|Low21Bits((unsigned int)Lcd_Buffer>>1);
rLCDSADDR2=Low21Bits(((unsigned int)Lcd_Buffer+(240*320*2))>>1);
rLCDSADDR3=(0<<11)|(WIDTH);
}
void Lcd_PowerEnable(int powerEnable)
{
rGPGCON&=~(3<<8)|(2<<8);
rGPGDAT|=1<<4;
rLCDCON5&=~(1<<3)|(powerEnable<<3);
}
void PutPixel(unsigned int x,unsigned int y,unsigned short c)
{
if((x<320)&&(y<240))
Lcd_Buffer[y][x]=c;
}
void Lcd_ClearScr(unsigned int c)
{
unsigned int x,y;
for(y=0;y<240;y++)
{
for(x=0;x<320;x++)
{
Lcd_Buffer[y][x]=c;
}
}
}
int Main()
{
Lcd_Init();
Lcd_PowerEnable(1);
rLCDCON1|=1<<0;
Lcd_ClearScr(0xffff);
while(1)
{
PutPixel(100,100,569);
}
return 0;
}
上一篇:裸機程序在mini2440上的運行
下一篇:mini2440裸機程序 統(tǒng)寶3.5 LCD驅(qū)動 TopPoly-TD035STED4
推薦閱讀
史海拾趣
- 創(chuàng)業(yè)初期:
- 描述Clulite公司的創(chuàng)始人或核心團隊如何識別電子行業(yè)中的某個市場機遇。
- 講述他們是如何籌集初始資金,設(shè)立公司,并開發(fā)出第一款產(chǎn)品或解決方案的。
- 可以提及公司在初創(chuàng)階段面臨的挑戰(zhàn),如技術(shù)難題、市場競爭等。
- 技術(shù)創(chuàng)新:
- 講述Clulite如何通過研發(fā)創(chuàng)新,推出了一款顛覆性的產(chǎn)品或技術(shù),從而獲得了市場認可。
- 詳細描述這一創(chuàng)新過程,包括研發(fā)團隊的努力、關(guān)鍵技術(shù)的突破等。
- 提及這一創(chuàng)新如何幫助公司在市場上取得了競爭優(yōu)勢。
- 市場拓展:
- 描述Clulite如何逐步擴大市場份額,從地區(qū)市場走向全國乃至國際市場。
- 可以講述公司如何建立銷售網(wǎng)絡(luò)、與合作伙伴建立合作關(guān)系,以及參與行業(yè)展會等活動來推廣品牌和產(chǎn)品。
- 提及公司在市場拓展過程中遇到的挑戰(zhàn)和應(yīng)對策略。
- 品質(zhì)管理:
- 講述Clulite如何注重產(chǎn)品質(zhì)量和客戶體驗,通過嚴格的質(zhì)量控制流程來提升產(chǎn)品可靠性。
- 描述公司如何建立完善的售后服務(wù)體系,為客戶提供及時、專業(yè)的支持。
- 提及這些舉措如何幫助公司贏得了客戶的信任和口碑。
- 可持續(xù)發(fā)展:
- 講述Clulite如何關(guān)注環(huán)境保護和社會責任,推動公司的可持續(xù)發(fā)展。
- 描述公司如何采取環(huán)保措施,減少生產(chǎn)過程中的污染排放。
- 提及公司如何參與社會公益事業(yè),回饋社會。
請注意,這些故事需要根據(jù)Clulite公司的實際情況進行調(diào)整和補充。如果你需要更具體的內(nèi)容,建議查閱Clulite公司的官方網(wǎng)站、新聞報道或行業(yè)分析報告,以獲取更詳細的信息和數(shù)據(jù)。
非常抱歉,我無法提供關(guān)于Advanced Linear Devices公司(ADI)在電子行業(yè)里發(fā)展起來的5個具體故事,因為每個故事都需要詳細的事實支撐和背景研究。但我可以為你概述ADI公司的發(fā)展歷程,并給出一些可能的發(fā)展故事框架,你可以基于這些框架進一步深入研究,以形成完整的故事。
首先,讓我們回顧一下ADI公司的發(fā)展歷程。ADI成立于1965年,由Ray Stata和他的合伙人共同創(chuàng)立,當時他們只是希望在模擬器件時代掌握自己的命運。經(jīng)過幾十年的發(fā)展,ADI已經(jīng)從一家初創(chuàng)公司成長為半導(dǎo)體業(yè)的跨國巨頭,其在模擬和數(shù)字信號處理領(lǐng)域的技術(shù)實力得到了全球認可。
基于這個概述,我可以給出以下幾個可能的發(fā)展故事框架:
-
創(chuàng)業(yè)之初的艱辛與堅持:描述ADI創(chuàng)始人如何在地下室開始創(chuàng)業(yè),面對資金短缺、技術(shù)難題和市場不確定性的挑戰(zhàn),他們?nèi)绾螒{借堅定的信念和不懈的努力,逐步建立起自己的公司。
-
技術(shù)創(chuàng)新的突破:講述ADI如何在某個關(guān)鍵時期,通過研發(fā)出具有創(chuàng)新性的產(chǎn)品或技術(shù),成功突破了行業(yè)瓶頸,實現(xiàn)了公司的快速發(fā)展。這可以涉及具體的技術(shù)細節(jié)和市場反響。
-
全球擴張與市場布局:描述ADI如何逐步拓展國際市場,通過設(shè)立海外研發(fā)中心、建立銷售網(wǎng)絡(luò)等方式,將公司的產(chǎn)品和服務(wù)推向全球,實現(xiàn)了從地區(qū)性公司到跨國巨頭的轉(zhuǎn)變。
-
應(yīng)對行業(yè)變革的挑戰(zhàn):隨著電子行業(yè)的不斷發(fā)展,ADI也面臨著來自競爭對手、市場變化和技術(shù)更新等多方面的挑戰(zhàn)。可以講述ADI如何靈活應(yīng)對這些變革,通過調(diào)整戰(zhàn)略、優(yōu)化產(chǎn)品和提升服務(wù)質(zhì)量等方式,保持了公司的競爭力。
-
與中國市場的深入合作:近年來,中國電子行業(yè)發(fā)展迅速,成為ADI等跨國企業(yè)的重要市場。可以講述ADI如何與中國企業(yè)開展合作,共同推動技術(shù)創(chuàng)新和市場發(fā)展,實現(xiàn)了互利共贏的局面。
請注意,這些只是故事框架,具體的內(nèi)容需要你根據(jù)ADI公司的歷史資料、行業(yè)報告和新聞報道等進行深入研究和補充。在編寫故事時,請確保只描述事實,避免加入個人主觀評價或情感色彩。
Aplus Flash Technology Inc公司深知企業(yè)文化對于企業(yè)發(fā)展的重要性。因此,公司注重企業(yè)文化建設(shè),積極營造積極向上、團結(jié)協(xié)作的工作氛圍。公司定期舉辦各種團隊建設(shè)活動,增強員工之間的凝聚力和歸屬感。同時,公司還建立了完善的激勵機制和培訓(xùn)體系,鼓勵員工不斷學(xué)習和創(chuàng)新。這些舉措使公司擁有一支高素質(zhì)、高效率的團隊,為公司的持續(xù)發(fā)展提供了有力保障。
這些故事是基于對電子行業(yè)的一般了解和對公司可能面臨情況的假設(shè)而創(chuàng)作的,旨在展示Aplus Flash Technology Inc公司在不同方面的發(fā)展情況。請注意,這些故事并非基于真實事件,因此可能與公司的實際情況存在出入。如需了解Aplus Flash Technology Inc公司的真實發(fā)展情況,建議查閱相關(guān)報道或公司官方資料。
隨著全球?qū)Νh(huán)保和可持續(xù)發(fā)展的關(guān)注日益增加,E.ON也開始加快綠色能源轉(zhuǎn)型的步伐。公司加大了對可再生能源的投資力度,積極開發(fā)風電、太陽能等清潔能源項目。同時,E.ON還積極推廣智能電網(wǎng)技術(shù),提高能源利用效率,降低環(huán)境污染。
臺灣穩(wěn)態(tài)公司在創(chuàng)立之初,便明確了自身的技術(shù)發(fā)展方向和市場定位。公司創(chuàng)始人憑借在電子行業(yè)多年的技術(shù)積累和敏銳的市場洞察力,帶領(lǐng)團隊專注于某一特定領(lǐng)域的研發(fā)和生產(chǎn)。通過不斷的技術(shù)創(chuàng)新和優(yōu)化,穩(wěn)態(tài)公司逐漸在市場中樹立起了自己的技術(shù)優(yōu)勢和品牌形象。
隨著公司的發(fā)展,Cal Test Electronics逐漸與B&K Precision建立了緊密的合作關(guān)系。作為姊妹公司,雙方在技術(shù)研發(fā)、產(chǎn)品制造和市場推廣等方面展開了深度合作。這種共生關(guān)系不僅為Cal Test Electronics帶來了更多的資源和支持,也使其在電子配件和測試產(chǎn)品領(lǐng)域的影響力逐漸擴大。通過共享技術(shù)和市場資源,雙方共同推動了行業(yè)的發(fā)展。
1、WAPI 是什么? 網(wǎng)絡(luò)通信發(fā)展的永恒主題是使人們能自由獲得網(wǎng)絡(luò)資源,而安全性保障是實現(xiàn)這一目標的關(guān)鍵要素和必要條件。安全性保障的缺失必然導(dǎo)致網(wǎng)絡(luò)非法操作并繼而影響上層通信內(nèi)容的安全。基于IP 協(xié)議的通信網(wǎng)絡(luò)向規(guī)模化、多樣化方向發(fā)展,網(wǎng) ...… 查看全部問答∨ |
Windows XP Embedded是桌面Windows XP的組件化版本。其構(gòu)建在已經(jīng)通過驗證的Windows 2000代碼庫基礎(chǔ)之上,它提供了業(yè)內(nèi)領(lǐng)先的可靠性、安全性與性能,并且具備最新的多媒體、Web瀏覽、電源管理及設(shè)備支持能力。 同時,Windows XP Embedd ...… 查看全部問答∨ |
ADC具有各種速率,使用不同的接口電路,并可提供不同的精確度。最常用的ADC類型包括閃速ADC、逐次逼近ADC和sigma-delta ADC。 1. 閃速ADC 閃速ADC是轉(zhuǎn)換速率最快的一類ADC。閃速ADC在每個電壓階躍中使用一個比較器和一組電阻。因此4位ADC具有16 ...… 查看全部問答∨ |
|
我的設(shè)備每次啟動后與pc機通過USB連接都會提示連接無效 我發(fā)現(xiàn)控制面板->PC連接屬性里面沒有"USB Socket"選項 必須進入我的設(shè)備->windows->啟動->運行USBSync后,PC連接屬性才有此選項.由此可以跟PC機同步了 我想每次啟動自動同步不 ...… 查看全部問答∨ |
我的程序如下:是在網(wǎng)上弄到的。 // getCFSerialNumber.cpp : Defines the entry point for the application. // #include "stdafx.h" //my code #include <windows.h> #include <winioctl.h> #define IOCTL_DISK_BASE F ...… 查看全部問答∨ |
這兩天在搞3G的東西,因為我們現(xiàn)在的模塊用的是USB接口,然后模擬成一個COM6進行通信,在CE的: 控制面板->網(wǎng)絡(luò)連接 里要新建一個連接,選擇“撥號連接”然后設(shè)置好區(qū)域代碼,還有附加解調(diào)器命令+CGDCON,"IP","CMNET",mod ...… 查看全部問答∨ |
|
使用 /sys 文件系統(tǒng)訪問 Linux 內(nèi)核(轉(zhuǎn)自IBM社區(qū)) 使用 /sys 文件系統(tǒng)訪問 Linux 內(nèi)核 sysfs 虛擬文件系統(tǒng)提供了一種比 proc 更為理想的訪問內(nèi)核數(shù)據(jù)的途徑 程 任全 (crquan@gmail.com), Linux 內(nèi)核開發(fā)者、存儲開發(fā)工程師, UIT(創(chuàng)新科存儲技術(shù)有限公司) 簡介: sysfs ...… 查看全部問答∨ |
靜電危害起因于靜電力和靜電火花,靜電危害中最嚴重的靜電放電(ESD)引起可燃物的起火和爆炸。人們常說,防患于未然,防止產(chǎn)生靜電的措施一般都是降低流速和流量,改造起電強烈的工藝環(huán)節(jié),采用起電較少的設(shè)備材料等。 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創(chuàng)新升級
- 工業(yè)市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現(xiàn)100%美國生產(chǎn)
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產(chǎn)品
- 強化中國市場戰(zhàn)略布局,德州儀器正靈活應(yīng)對全球關(guān)稅挑戰(zhàn)
- Molex莫仕通過本地合作和創(chuàng)新加強支持中國汽車行業(yè)
- 貿(mào)澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數(shù)字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實現(xiàn)車載充電器小型化!
- 用上車規(guī)級UFS 4.0,讓出行變得高效且可靠
- 車載測試技術(shù)解析:聚焦高帶寬、多通道同步采集與協(xié)議分析