日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]淺談嵌入式系統(tǒng)的VGA接口設(shè)計(jì)

引言

隨著液晶技術(shù)的日益成熟,液晶顯示器在顯示技術(shù)中得到了越來越廣泛的應(yīng)用。當(dāng)前LCD顯示技術(shù)已經(jīng)成為新一代平板技術(shù)顯示技術(shù)的主流。LCD顯示屏幕主要包括液晶屏幕,驅(qū)動(dòng)電路以及控制驅(qū)動(dòng)電路的系統(tǒng)。我們?cè)O(shè)計(jì)的LCD控制器主要是用來控制RGB模式的數(shù)據(jù)以及MCU模式的命令,參數(shù)的傳輸,實(shí)現(xiàn)LCD的控制功能。 RGB模式主要有16bit輸入,16bit輸出; 16bit輸入,18bit輸出; 18bit輸入,16bit輸出;18bit輸入,18bit輸出;4種模式的傳輸。本文就LCD的驅(qū)動(dòng)進(jìn)行分析,介紹,提出硬件電路的設(shè)計(jì)以及驗(yàn)證方法。

LCD接口轉(zhuǎn)換為VGA接口

VGA (Video Graphics Array)接口信號(hào)為模擬信號(hào)。其關(guān)鍵信號(hào)有5個(gè),分別是Horizontal Sync水平同步信號(hào)(也叫行同步信號(hào)),垂直同步信號(hào)Vertical Sync(也叫場(chǎng)同步信號(hào)),Red紅色,Green 綠色和Blue 藍(lán)色。電子槍從左至右,從上至下地進(jìn)行掃描,每行結(jié)束時(shí),用行同步信號(hào)進(jìn)行同步;掃描完所有行后用場(chǎng)同步信號(hào)進(jìn)行場(chǎng)同步。LCD接口轉(zhuǎn)VGA(簡(jiǎn)稱LCD2VGA)是一款以FPGA 做為橋接芯片,集成高效顯存技術(shù)的視頻轉(zhuǎn)換卡。不同于簡(jiǎn)易的D/A轉(zhuǎn)換模式,LCD2VGA上的FPGA能夠自動(dòng)將LCD接口提供的刷新頻率提高到CRT顯示器所需要的高刷新頻率,解決了簡(jiǎn)易的D/A轉(zhuǎn)換模式下屏幕閃動(dòng)的問題。帶有LCD控制器的CPU 通過此視頻卡,可以驅(qū)動(dòng)帶VGA 接口的液晶顯示器或CRT 顯示器。LCD2VGA能夠支持16bppTFT(真彩)型數(shù)字LCD接口向VGA接口的轉(zhuǎn)換,兼容640×480、800×600、1024×768三種分辨率,支持輸出60Hz刷新率;其工作方式和工作時(shí)序與TFT(真彩)LCD 完全一樣。

掃描式LCD接口(以S3C2410A的LCD控制器為例圖1),在每一場(chǎng)完畢后,也是用VSYNC來進(jìn)行場(chǎng)同步;每一行完畢后,也是用HSYNC進(jìn)行行同步;也有VCLK像素時(shí)鐘,用于鎖存數(shù)據(jù);

其場(chǎng)同步信號(hào),寬度為(VSPW+1),之前有場(chǎng)消隱前肩(VFPD+1),之后有場(chǎng)消隱后肩(VBPD+1);

其行同步信號(hào),寬度為(HSPW+1),之前有行消隱前肩(HFPD+1),之后有場(chǎng)消隱后肩(HBPD+1);

可以發(fā)現(xiàn),掃描式LCD接口的同步信號(hào)時(shí)序和VGA接口是一致的。原因是發(fā)明LCD后,盡管顯示原理不同,但為了在時(shí)序上和CRT兼容,也采用了這樣的控制時(shí)序?;诖耍耆軐CD接口轉(zhuǎn)換為VGA接口。

 圖1 三星S3C2410A的LCD信號(hào)時(shí)序圖

方案實(shí)現(xiàn)

VGA接口只需Hsync和Vsync兩個(gè)同步信號(hào)和RGB三個(gè)色彩分量信號(hào)。而掃描式LCD接口的同步信號(hào)的時(shí)序和VGA接口的完全一致,可直接把兩個(gè)同步信號(hào)接入VGA接口。

S3C2410A的LCD控制器輸出的是RGB數(shù)字信號(hào)。因此若用一些DAC芯片把RGB數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),即可實(shí)現(xiàn)VGA接口的RGB信號(hào)輸入。這類視頻專用DAC芯片較多,例如ADI公司的ADV7120;CHRONTEL公司的CH7004C.實(shí)驗(yàn)中選用的CHRONTEL公司的CH7004C.S3C2410A的LCD控制器與CH7004C的連接如表1.

表1 S3C2410A的LCD控制器與CH7004C的連接

在選擇數(shù)據(jù)格式時(shí),RGB565較合適,因?yàn)?6位數(shù)據(jù)已經(jīng)有6.5萬色,完全足夠;24位數(shù)據(jù)時(shí)每個(gè)像素實(shí)際占用32位,4個(gè)字節(jié),傳輸時(shí)對(duì)S3C2410A的總線資源占用太大。

整個(gè)電路原理圖如圖2所示。其中一些需要注意的地方有:

CH7004C工作在從模式下,由S3C2410A的I2C控制。在實(shí)驗(yàn)中使用的是精度較好的日本村田(murata)的阻容元件,包括10K,360歐,75歐和10pF的電容。10K用于I2C總線的上拉,360歐用于RSET引腳接地;75歐為R,G,B三個(gè)輸出管腳和地之間的終端電阻,10pF電容用于晶振。另外,CH7004C的IIC地址,是通過把ADDR引腳拉高或拉低來設(shè)定;接地時(shí),根據(jù)芯片手冊(cè),其7位的I2C地址為1110110,最后加一個(gè)讀/寫位。

 圖2 CH7004C的電路原理圖

CH7004C的關(guān)鍵寄存器及設(shè)置

CH7004C片內(nèi)有25個(gè)寄存器。寄存器是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計(jì)數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,包含的寄存器有累加器(ACC)。寄存器的功能十分重要,CPU對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行處理時(shí),往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處理。外部寄存器是計(jì)算機(jī)中其它一些部件上用于暫存數(shù)據(jù)的寄存器,它與CPU之間通過"端口"交換數(shù)據(jù),外部寄存器具有寄存器和內(nèi)存儲(chǔ)器雙重特點(diǎn)。有些時(shí)候我們常把外部寄存器就稱為"端口",這種說法不太嚴(yán)格,但經(jīng)常這樣說。其中比較關(guān)鍵的是Display Mode,Input Data Format,Sync Polarity三個(gè)寄存器。Display Mode顯示模式寄存器,片內(nèi)地址0X00,輸入分辨率為640×480,由芯片手冊(cè),可選模式從Mode13到Mode17均可。實(shí)驗(yàn)中選擇的是默認(rèn)的Mode17,對(duì)應(yīng)參數(shù)為0X6A.Input Data Format輸入數(shù)據(jù)格式寄存器,片內(nèi)地址是0X04,因?yàn)檩斎氲臄?shù)據(jù)格式為RGB565,且需打開pass-through模式,故對(duì)應(yīng)參數(shù)為0X20.Sync Polarity同步信號(hào)極性寄存器,片內(nèi)地址0X0D,根據(jù)輸入的Hsync和Vsync的極性來設(shè)定,如果是均為負(fù)脈沖,則把VSP位和HSP位都置0;如果均為正脈沖,則把VSP位和HSP位都設(shè)置為1.實(shí)驗(yàn)中,把S3C2410A的LCD控制器的同步信號(hào)極性均設(shè)為低電平有效,故參數(shù)為0X00.

S3C2410A的LCD控制器設(shè)置

作為輸出源,S3C2410A的LCD控制器也需要進(jìn)行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz.一共有LCDCON1到LCDCON5共5個(gè)寄存器需要設(shè)置,具體參數(shù)要參考VGA時(shí)序規(guī)范和LCD時(shí)序圖(圖1)。所需設(shè)置的寄存器如表2.

表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器

S3C2410A的LCD控制器設(shè)置

實(shí)驗(yàn)及數(shù)據(jù)

實(shí)驗(yàn)中,選擇的操作系統(tǒng)嵌入式Linux,內(nèi)核版本2.4.18,圖形系統(tǒng)是Qtopia 1.7.0.bootloader選用的韓國(guó)MIZI公司的vivi.上電后,vivi將進(jìn)行初始化,其中包括設(shè)置CH7004,然后再引導(dǎo)進(jìn)入Linux.對(duì)CH7004的操作,完全可以看作對(duì)一個(gè)IIC接口的EEPROM來進(jìn)行,即I2C,一種總線結(jié)構(gòu)。IIC 是作為英特爾IC 的互補(bǔ),這種總線類型是由菲利浦半導(dǎo)體公司在八十年代初設(shè)計(jì)出來的,主要是用來連接整體電路(ICS) ,IIC是一種多向控制總線,也就是說多個(gè)芯片可以連接到同一總線結(jié)構(gòu)下,同時(shí)每個(gè)芯片都可以作為實(shí)施數(shù)據(jù)傳輸?shù)目刂圃?。這種方式簡(jiǎn)化了信號(hào)傳輸總線。例如:內(nèi)存中的SPD信息,通過IIC,與BX芯片組聯(lián)系,IIC 存在于英特爾PIIX4結(jié)構(gòu)體系中??蓪iT定義一個(gè)函數(shù)IIC_Write()來寫數(shù)據(jù)。例如對(duì)IDF寄存器的設(shè)置為I2C_Write(0xec,0x04,0x20)。設(shè)置好后,CH7004的所有寄存器數(shù)據(jù)如表3.

實(shí)驗(yàn)中還發(fā)現(xiàn),設(shè)定SPR同步信號(hào)極性寄存器時(shí),如果都設(shè)同步信號(hào)為正脈沖有效,接顯示器也能正常顯示,但是有閃爍。負(fù)脈沖有效則無這種情況,故推薦均設(shè)置為負(fù)脈沖有效。

表3 正常工作時(shí),CH7004C的各個(gè)寄存器讀出的數(shù)據(jù)

結(jié)語(yǔ)

本文提供的LCD接口轉(zhuǎn)換為VGA接口的解決方案,經(jīng)過實(shí)際驗(yàn)證,切實(shí)可行。在Linux和Windows CE 4.2兩種嵌入式操作系統(tǒng)下均進(jìn)行了測(cè)試,Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是"Linux".Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴(yán)格來講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。Linux得名于計(jì)算機(jī)業(yè)余愛好者Linus Torvalds.Linux下VGA顯示器的畫面非常穩(wěn)定;在Windows CE 4.2下基本穩(wěn)定,略有閃爍。該方案最大特點(diǎn)在于讓嵌入式系統(tǒng)直接支持VGA顯示器,具備較大的實(shí)際應(yīng)用意義。

圖3 Linux下外接VGA顯示器

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機(jī)的首要原因之一。據(jù)統(tǒng)計(jì),超過60%的現(xiàn)場(chǎng)問題源于通信配置錯(cuò)誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實(shí)際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時(shí)間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強(qiáng)大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機(jī)器學(xué)習(xí)

Zephyr開源項(xiàng)目由Linux基金會(huì)維護(hù),是一個(gè)針對(duì)資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實(shí)時(shí)操作系統(tǒng) Zephyr項(xiàng)目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開發(fā)者需要權(quán)衡的核心問題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見的代碼展開技術(shù),在性能、可維護(hù)性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開發(fā)中,日志系統(tǒng)是故障排查和運(yùn)行監(jiān)控的核心組件。本文基于Linux環(huán)境實(shí)現(xiàn)一個(gè)輕量級(jí)C語(yǔ)言日志庫(kù),支持DEBUG/INFO/WARN/ERROR四級(jí)日志分級(jí),并實(shí)現(xiàn)按大小滾動(dòng)的文件輪轉(zhuǎn)機(jī)制。該設(shè)計(jì)在某...

關(guān)鍵字: C語(yǔ)言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動(dòng)開發(fā)中,C語(yǔ)言因其高效性和可控性成為主流選擇,但缺乏原生單元測(cè)試支持成為開發(fā)痛點(diǎn)。本文提出一種基于宏定義和測(cè)試用例管理的輕量級(jí)單元測(cè)試框架方案,通過自定義斷言宏和測(cè)試注冊(cè)機(jī)制,實(shí)現(xiàn)無需外部依賴的嵌入...

關(guān)鍵字: C語(yǔ)言 嵌入式系統(tǒng) 驅(qū)動(dòng)開發(fā)

在嵌入式系統(tǒng)與驅(qū)動(dòng)開發(fā)中,內(nèi)存映射I/O(Memory-Mapped I/O, MMIO)是一種將硬件寄存器映射到處理器地址空間的技術(shù),允許開發(fā)者通過指針直接讀寫寄存器,實(shí)現(xiàn)高效、低延遲的硬件控制。本文通過C語(yǔ)言實(shí)戰(zhàn)案例...

關(guān)鍵字: 內(nèi)存映射 I/O操作 嵌入式系統(tǒng)

在嵌入式系統(tǒng)開發(fā)和多線程編程中,程序崩潰、內(nèi)存越界等復(fù)雜問題常令開發(fā)者困擾。GDB作為強(qiáng)大的調(diào)試工具,其條件斷點(diǎn)和內(nèi)存查看功能可精準(zhǔn)定位隱蔽缺陷。本文通過實(shí)際案例演示這些高級(jí)功能的應(yīng)用,幫助開發(fā)者提升調(diào)試效率。

關(guān)鍵字: GDB 嵌入式系統(tǒng)
關(guān)閉