引言
目前越來越多的嵌入式處理器上集成了LCD控制器。典型的如三星的S3C2410A,Intel的Xscale系列。這樣可方便地外接大屏幕的LCD,且分辨率也能達(dá)到640×480,甚至800×600;色深能從6.5萬色(16位)到26萬色(18位)。但是大屏幕LCD的價格都比較昂貴。另一方面,普通計算機(jī)的VGA接口顯示器,保有量巨大、技術(shù)成熟,如果能通過接口轉(zhuǎn)換手段,讓嵌入式處理器直接支持VGA顯示器,則能很大地利用現(xiàn)有資源,節(jié)約系統(tǒng)成本。
LCD接口轉(zhuǎn)換為VGA接口
VGA (Video Graphics Array)接口信號為模擬信號。其關(guān)鍵信號有5個,分別是Horizontal Sync水平同步信號(也叫行同步信號),垂直同步信號Vertical Sync(也叫場同步信號),Red紅色,Green 綠色和Blue 藍(lán)色。電子槍從左至右,從上至下地進(jìn)行掃描,每行結(jié)束時,用行同步信號進(jìn)行同步;掃描完所有行后用場同步信號進(jìn)行場同步。因電子槍偏轉(zhuǎn)需要時間,所以掃完回轉(zhuǎn)中,要對電子槍進(jìn)行消隱控制:在每行結(jié)束后的回轉(zhuǎn)過程中進(jìn)行行消隱;在每場結(jié)束后的回轉(zhuǎn)過程中進(jìn)行場消隱。消隱過程中不發(fā)送電子束。
掃描式LCD接口(以S3C2410A的LCD控制器為例圖1),在每一場完畢后,也是用VSYNC來進(jìn)行場同步;每一行完畢后,也是用HSYNC進(jìn)行行同步;也有VCLK像素時鐘,用于鎖存數(shù)據(jù);
其場同步信號,寬度為(VSPW+1),之前有場消隱前肩(VFPD+1),之后有場消隱后肩(VBPD+1);
其行同步信號,寬度為(HSPW+1),之前有行消隱前肩(HFPD+1),之后有場消隱后肩(HBPD+1);
可以發(fā)現(xiàn),掃描式LCD接口的同步信號時序和VGA接口是一致的。原因是發(fā)明LCD后,盡管顯示原理不同,但為了在時序上和CRT兼容,也采用了這樣的控制時序?;诖耍耆軐CD接口轉(zhuǎn)換為VGA接口。
圖1 三星S3C2410A的LCD信號時序圖(來自S3C2410A數(shù)據(jù)手冊)
方案實現(xiàn)
VGA接口只需Hsync和Vsync兩個同步信號和RGB三個色彩分量信號。而掃描式LCD接口的同步信號的時序和VGA接口的完全一致,可直接把兩個同步信號接入VGA接口。
S3C2410A的LCD控制器輸出的是RGB數(shù)字信號。因此若用一些DAC芯片把RGB數(shù)字信號轉(zhuǎn)換為模擬信號,即可實現(xiàn)VGA接口的RGB信號輸入。這類視頻專用DAC芯片較多,例如ADI公司的ADV7120;CHRONTEL公司的CH7004C。實驗中選用的CHRONTEL公司的CH7004C。S3C2410A的LCD控制器與CH7004C的連接如表1。
表1 S3C2410A的LCD控制器與CH7004C的連接
在選擇數(shù)據(jù)格式時,RGB565較合適,因為16位數(shù)據(jù)已經(jīng)有6.5萬色,完全足夠;24位數(shù)據(jù)時每個像素實際占用32位,4個字節(jié),傳輸時對S3C2410A的總線資源占用太大。
整個電路原理圖如圖2所示。其中一些需要注意的地方有:
CH7004C工作在從模式下,由S3C2410A的I2C控制。在實驗中使用的是精度較好的日本村田(murata)的阻容元件,包括10K,360歐,75歐和10pF的電容。10K用于I2C總線的上拉,360歐用于RSET引腳接地;75歐為R,G,B三個輸出管腳和地之間的終端電阻,10pF電容用于晶振。另外,CH7004C的IIC地址,是通過把ADDR引腳拉高或拉低來設(shè)定;接地時,根據(jù)芯片手冊,其7位的I2C地址為1110110,最后加一個讀/寫位。
圖2 CH7004C的電路原理圖
CH7004C的關(guān)鍵寄存器及設(shè)置
[!--empirenews.page--] CH7004C片內(nèi)有25個寄存器。其中比較關(guān)鍵的是Display Mode,Input Data Format,Sync Polarity三個寄存器。Display Mode顯示模式寄存器,片內(nèi)地址0X00,輸入分辨率為640×480,由芯片手冊,可選模式從Mode13到Mode17均可。實驗中選擇的是默認(rèn)的Mode17,對應(yīng)參數(shù)為0X6A。Input Data Format輸入數(shù)據(jù)格式寄存器,片內(nèi)地址是0X04,因為輸入的數(shù)據(jù)格式為RGB565,且需打開pass-through模式,故對應(yīng)參數(shù)為0X20。Sync Polarity同步信號極性寄存器,片內(nèi)地址0X0D,根據(jù)輸入的Hsync和Vsync的極性來設(shè)定,如果是均為負(fù)脈沖,則把VSP位和HSP位都置0;如果均為正脈沖,則把VSP位和HSP位都設(shè)置為1。實驗中,把S3C2410A的LCD控制器的同步信號極性均設(shè)為低電平有效,故參數(shù)為0X00。
S3C2410A的LCD控制器設(shè)置
作為輸出源,S3C2410A的LCD控制器也需要進(jìn)行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5個寄存器需要設(shè)置,具體參數(shù)要參考VGA時序規(guī)范和LCD時序圖(圖1)。所需設(shè)置的寄存器如表2。
表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器
S3C2410A的LCD控制器設(shè)置
作為輸出源,S3C2410A的LCD控制器也需要進(jìn)行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5個寄存器需要設(shè)置,具體參數(shù)要參考VGA時序規(guī)范和LCD時序圖(圖1)。所需設(shè)置的寄存器如表2。
表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器
實驗及數(shù)據(jù)
實驗中,選擇的操作系統(tǒng)嵌入式Linux,內(nèi)核版本2.4.18,圖形系統(tǒng)是Qtopia 1.7.0。bootloader選用的韓國MIZI公司的vivi。上電后,vivi將進(jìn)行初始化,其中包括設(shè)置CH7004,然后再引導(dǎo)進(jìn)入Linux。對CH7004的操作,完全可以看作對一個IIC接口的EEPROM來進(jìn)行,可專門定義一個函數(shù)IIC_Write()來寫數(shù)據(jù)。例如對IDF寄存器的設(shè)置為I2C_Write(0xec,0x04,0x20)。設(shè)置好后,CH7004的所有寄存器數(shù)據(jù)如表3。
實驗中還發(fā)現(xiàn),設(shè)定SPR同步信號極性寄存器時,如果都設(shè)同步信號為正脈沖有效,接顯示器也能正常顯示,但是有閃爍。負(fù)脈沖有效則無這種情況,故推薦均設(shè)置為負(fù)脈沖有效。
表3 正常工作時,CH7004C的各個寄存器讀出的數(shù)據(jù)
結(jié)語
本文提供的LCD接口轉(zhuǎn)換為VGA接口的解決方案,經(jīng)過實際驗證,切實可行。在Linux和Windows CE 4.2兩種嵌入式操作系統(tǒng)下均進(jìn)行了測試,Linux下VGA顯示器的畫面非常穩(wěn)定;在Windows CE 4.2下基本穩(wěn)定,略有閃爍。該方案最大特點在于讓嵌入式系統(tǒng)直接支持VGA顯示器,具備較大的實際應(yīng)用意義。
圖3 Linux下外接VGA顯示器
Lua RTOS 是一個實時操作系統(tǒng),設(shè)計在嵌入式系統(tǒng)上運行,對 FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...
關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UATR,是一種串行、異步、全雙工的收發(fā)器。全雙工的UART支持同時雙向通信,是嵌入式系統(tǒng)必不可少的d...
關(guān)鍵字: 異步收發(fā) 傳輸器 嵌入式系統(tǒng)Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。
關(guān)鍵字: Flash 存儲器 嵌入式系統(tǒng)近年來,隨著計算機(jī)技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。?嵌入式系統(tǒng)一般由嵌入式微處理器、外...
關(guān)鍵字: 嵌入式 嵌入式系統(tǒng) 計算機(jī)深圳2022年8月26日 /美通社/ -- 8月17日 – 深圳,AMD Xilinx舉辦為期一天的線下技術(shù)日活動,在AMD Xilinx主辦下宜鼎國際作為合作伙伴的身份被邀...
關(guān)鍵字: AMD Xilinx AGENT 嵌入式系統(tǒng)單向散列算法,又稱hash哈希函數(shù),Hash函數(shù)(也稱雜湊算法)就是把任意長的輸入消息串變化成固定長的輸出串的一種函數(shù),該過程是不可逆的。Hash函數(shù)可用于數(shù)字簽名、消息的完整性檢測、消息起源的認(rèn)證檢測等。較為常用的方法...
關(guān)鍵字: 嵌入式算法 嵌入式系統(tǒng)作為消費者,在我們考慮購買電池供電設(shè)備時,通常首先要檢查的關(guān)鍵指標(biāo)之一是一次充電可以使用多長時間。電池壽命已成為許多可穿戴設(shè)備的重要賣點,但對于越來越多的工業(yè)物聯(lián)網(wǎng)傳感器和其他類似應(yīng)用來說,電池壽命同樣也是一個重要的考慮...
關(guān)鍵字: 貿(mào)澤電子 嵌入式系統(tǒng)摘要:設(shè)計了一種新型的基于LeapMotion體感控制器的仿生機(jī)械臂交互控制系統(tǒng),利用LeapMotion體感控制器替代傳統(tǒng)的人機(jī)交互方式,采集手部數(shù)據(jù),將識別到的手勢動作經(jīng)過計算機(jī)分析處理后,通過無線傳輸?shù)姆绞浇o開發(fā)板...
關(guān)鍵字: 人機(jī)交互 嵌入式系統(tǒng) 機(jī)械手臂雖然嵌入式系統(tǒng)已經(jīng)有30多年的歷史,但是原來一直隱藏在背后的,自從物聯(lián)網(wǎng)上升為國家戰(zhàn)略后,嵌入式系統(tǒng)也從后臺走到前臺。成為備受矚目的一部分。作為物聯(lián)網(wǎng)重要技術(shù)的嵌入式系統(tǒng),嵌入式系統(tǒng)視角有助于深刻、全面理解物聯(lián)網(wǎng)的本質(zhì)。...
關(guān)鍵字: 嵌入式系統(tǒng) 物聯(lián)網(wǎng) 控制邏輯中國上?!?021年12月—全球領(lǐng)先的嵌入式開發(fā)軟件工具和服務(wù)提供商IAR Systems?日前宣布:其最新發(fā)布的IAR Embedded Workbench for Arm? version 9.20已全面支持航順芯片...
關(guān)鍵字: IAR Systems 芯片 嵌入式系統(tǒng)