




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、硬件設計方案根據第二章介紹的ARM芯片的選擇原則,此處選擇集成了豐富的外圍功能模塊,便于低成本設計嵌入式應用系統的S3C44B0X處理器作為系統的主控制器。利用其內置的LCD控制器實現LCD控制接口;利用IIC總線控制器實現鍵盤控制接口;利用ADC轉換器實現觸摸屏控制接口;利用UART實現調試接口;利用GPIO連接LED燈顯示有關狀態。利用其內置的LCD控制器實現LCD控制接口;利用IIC總線控制器實現鍵盤控制接口;利用ADC轉換器實現觸摸屏控制接口;利用UART實現調試接口;利用GPIO連接LED燈顯示有關狀態。電子詞典方案設計軟件設計方案本電子詞典軟件主要完成鍵盤操作、菜單操作及LCD顯示
2、功能,根據軟件模塊化設計方法將系統軟件分為三個模塊:詞庫編寫、功能控制軟件設計、人機交互接口功能設計。電子詞典硬件設計硬件資源分配最小系統簡介顯示模塊(輸出設備)觸摸屏及鍵盤模塊(輸入設備)I/O端口設計硬件資源分配片選信號選擇的接口或器件片選控制寄存器S44B0 地址范圍nGCS0FLASHBANKCON00x0000_00000x01BF_FFFFnGCS6SDRAMBANKCON60x00_00000x0DFF_FFFF中斷信號功能INT0觸摸屏中斷源INT2鍵盤中斷源最小系統簡介電源電路系統時鐘電路復位電路存儲器UART接口電路JATG接口電路最小系統簡介嵌入式最小系統是指由保證嵌入式
3、微處理器可靠工作所必須的基本電路組成的系統。處理器單元時鐘單元復位單元存儲器單元供電電源調試接口基于ARM的嵌入式最小系統基于ARM核的微處理器電源電路復位電路時鐘電路存儲器電路(FLASH和SDRAM)UART接口電路JTAG調試接口電源電路電源芯片:LT1085輸入:DC +5V輸出:S3C44B0X +2.5VI/O +3.3V系統時鐘電路根據S3C44B0X的最高工作頻率以及PLL電路的工作方式,選擇8MHz有源晶振,8MHz晶振頻率經過S3C44B0X片內的PLL電路倍頻后,最高可以達到66MHz。系統RTC單元時鐘源直接由晶體(32.768kHz)提供,復位電路復位芯片:IMP81
4、1S,手動復位,實時監控系統的電源,一旦系統電源低于系統復位的閥值(2.9V),IMP811S 將會自動輸出低電平復位信號,對系統進行復位存儲器FLASH芯片: AM29LV160DB,8MByte (2M8Bit/1M16Bit)采用+3.3V供電輸出數據寬度為16位片選信號直接連接S3C44B0X的nGCS0信號SDRAM芯片:HY57V651620B8MByte(4 Banks 1M 16Bit)采用+3.3V供電輸出數據寬度為16位片選信號直接連接S3C44B0X的nGCS6信號UART接口電路JATG接口電路JTAG(Joint Test Action Group)聯合測試行動小組是
5、IEEE的標準規范,主要用于芯片內部測試及對系統進行仿真、調試。ARM內部提供了JTAG型的掃描鏈,可以進行調試和配置嵌入式的ICE-RT邏輯。JTAG仿真器是通過ARM芯片上的JTAG邊界掃描鏈與ARM內核進行通信,屬于完全插入式(不占用片上資源)調試。通過JTAG接口,可對芯片內部的所有部件進行訪問,14針接口和20針接口。開發環境的建立液晶顯示屏(LCD,Liquid Crystal Display)主要用于文本及圖形、圖像信息的顯示。本節主要內容如下: S3C44B0X LCD控制器概述 S3C44B0X LCD控制器功能及應用概述 S3C44B0X LCD控制器應用編程S3C44B0
6、X LCD控制器概述LCD控制器在嵌入式系統中的功能概述一套完整的液晶顯示系統主要由三部分組成:液晶顯示屏、液晶顯示驅動器和液晶顯示控制器。液晶顯示控制器具有兩大作用:其一,控制器為液晶顯示提供時序信號和顯示數據;其二,在計算機系統中,液晶顯示控制器是一種專業IC芯片,專用于計算機與液晶顯示系統的接口,控制器接受計算機的直接操作,并可以脫機獨立控制液晶顯示驅動系統,從而解除了計算機在顯示上的繁瑣工作。目前的液晶顯示控制器具有如下的功能:具有簡捷的計算機接口,一般以總線形式提供IO接口;具有一套完整的邏輯控制電路和時序發生器,可以實現對各種顯示功能的控制;具備功能齊全的控制指令集,編程更容易;具
7、有管理顯示緩沖區的能力。計算機通過控制器訪問顯示緩沖區,控制器自行管理顯示緩沖區;具備液晶顯示驅動器工作所必需的掃描時序信號的生成以及發送能力和顯示數據的傳輸能力。S3C44B0X LCD控制器概述 S3C44B0X LCD控制器的功能及作用概述: S3C44B0X LCD 控制器是接收系統發來的指令和數據, 并向系統反饋所需的數據信息, 進而驅動顯示。用戶只需要通過讀寫一系列的寄存器, 完成配置和顯示驅動。在驅動LCD 設計的過程中首要的是配置LCD 控制器, 而在配置LCD 控制器中最重要的一步則是幀緩沖區(FrameBuffer) 的指定。用戶所要顯示的內容皆是從緩沖區中讀出, 從而顯示
8、到屏幕上的。S3C44B0X LCD控制器功能及應用概述S3C44B0X LCD控制器基本功能S3C44B0X LCD功能實現及控制S3C44B0X LCD控制器基本功能S3C44B0X上的LCD控制器由傳送LCD映象數據的邏輯電路組成,LCD映象數據指的是從系統存儲器的視頻緩沖到外部LCD驅動器的數據。S3C44B0X 中內置的LCD 控制器可支持灰度LCD 和彩色LCD。在灰度LCD 上,使用基于時間的抖動算法和FRC(Frame Rate Control)方法,可支持單色,2位/象素(4 級灰度)和4位/象素(16 級灰度模式)的灰度LCD;在彩色LCD 上,可以支持8位/象素 (256
9、 級彩色),對于不同尺寸的LCD,具有不同數量的垂直和水平像素,數據接口的數據寬度,接口時序及刷新率,而LCD控制器可以進行編程控制相應的寄存器值,以適應不同的LCD 顯示板S3C44B0X LCD控制器基本功能S3C44B0X LCD控制器的特性支持彩色灰度單色的LCD 板;支持3種類型LCD板:4位雙掃描,4位單掃描,以及8位單掃描的顯示類型;支持多路虛擬顯示屏(支持硬件的水平垂直移動滾讀);系統存儲器被用作顯示存儲器;專用的DMA支持從系統存儲器的視頻緩沖中讀取映象數據;支持多種熒屏大小;S3C44B0X LCD控制器基本功能S3C44B0X LCD控制器的特性典型的熒屏尺寸:640x4
10、80、320x240、160x160 最大虛擬熒屏尺寸(彩色模式下):4096x1024、2048x2048、1024x4096等支持單色、4級、16級灰度;對于彩色STN LCD板,支持256級彩色;支持電源節省模式(SL_IDLE Mode)S3C44B0X LCD控制器基本功能S3C44B0X LCD外部接口信號VFRAME:LCD控制器和LCD驅動器之間的幀同步信號。它通知LCD屏新的一幀的顯示,LCD控制器在一個完整幀的顯示后發出VFRAME信號。VLINE:LCD控制器和LCD驅動器之間的行同步信號。LCD驅動器通過它來將水平移位寄存器中的內容顯示到LCD屏上。LCD控制器在一整行
11、數據全部傳輸到LCD驅動器后發出VLINE信號。S3C44B0X LCD控制器基本功能S3C44B0X LCD外部接口信號VCLK:此引腳為LCD控制器和LCD驅動器之間的象素時鐘信號,LCD控制器在VCLK的上升沿發送數據,LCD控制器在VCLK的下降沿對數據采樣。VM:LCD驅動器所使用的交流信號。LCD驅動器使用VM來改變用于打開或關閉象素的行和列電壓的極性。VM信號在每一幀被觸發,也可在指定VLINE信號的可編程數目時觸發。VD3:0以及VD7:4:LCD象素數據輸入端口。VD3:0用于4位/8位的單掃描或雙掃描時的高4位數據輸入;VD7:4用于8位單掃描或雙掃描時的低4位數據輸入。L
12、CD控制器寄存器S3C44B0X LCD功能實現及控制1. S3C44B0X LCD 控制操作 時序發生器(TIMING GENERATOR),TIMEGEN產生LCD驅動器的所需控制信號,如:VFRAME、VLINE、VCLK和VM。VFRAME脈沖以每幀一次的頻率聲明整幀中第一行的持續時間。VFRAME信號告訴LCD的線指示器指向顯示器的頂端以開始顯示LCD驅動器用VM信號來改變行、列的電壓極性,用來開關象素。VM信號的頻率由LCDCON1寄存器的MMODE位和LCDSADDR2寄存器的MVAL7:0域來控制。幻燈片96S3C44B0X LCD功能實現及控制1. S3C44B0X LCD
13、控制操作VFRAME和VLINE脈沖的產生受LCDCON2寄存器中HOZVAL域和LINEVAL域配置的控制。每個域都與LCD的大小和顯示模式有關。VFRAM信號頻率就是幀掃描頻率。幀掃描頻率與WLH(VLINE 脈寬)、WHLY(VLINE 脈沖后的VCLK延遲寬度)、HOZVAL、VLINEBLANK以及兩個液晶控制寄存器中的LINEVAL,還有VCLK、 MCLK都有關。幻燈片97S3C44B0X LCD功能實現及控制2. S3C44B0X LCD視頻操作 S3C44B0X中的液晶控制器支持8位彩色模式(256 彩色模式),4級灰度模式,16級灰度模式和單一模式。需要灰度和彩色模式時,時
14、鐘抖動算法和FRC(幀頻率控制)方法能被用來通過可編程查找表來選擇調整灰度和色彩級數。單色模式不使用這些模塊(FRC和查找表)而通過將視頻數據轉移到LCD驅動器中時把FIFOH(和FIFOL,如果是雙掃描模式時)中的數據連續化為位(或8位,如果是4位雙掃描或8位單掃描時)的數據流。幻燈片982. S3C44B0X LCD視頻操作查找表 S3C44B0X支持多色彩或多灰度級映射的調色板。這種選擇給用戶帶來很大的靈活性。查找表是一個允許彩色和灰度級數選擇的調色板。用戶在4級灰度模式中通過查找表在16灰度級中選擇4灰度級。在16級灰度模式下灰度級不能被選擇,所有16灰度級必須在可能的16灰度級中進行
15、選擇。在256彩色模式中,3位紅,3位綠,2位藍。256彩色就是由8紅,8綠,4藍組合而成(884256)。在彩色模式中,查找表用于進行適當的選擇。8紅色級在16個可能的紅色級中選擇,8綠在16級綠中選擇,4藍在16級藍中選擇。幻燈片992. S3C44B0X LCD視頻操作灰度模式操作 S3C44B0X中的LCD控制器支持兩種灰度模塊:2位象素(級灰度)、位象素(級灰度)。2位象素灰度模式使用一個查找表,查找表允許在可能的灰度級中進行級灰度的選擇。2位象素灰度的查找表和應用彩色模式中的藍色查找表共用BLUELUT寄存器中的BULEVAL15:0。0級灰度用BLUEVAL3:0位的值來表示。如
16、果BLUEVAL3:0被設置為9,0灰度級就用16級中的9級來代表;如果BLUEVAL3:0為15,則用15級來代表,以此類推。象級灰度一樣,1級用BLUEVAL7:4來表示,2級用BLUEVAL11:8來表示,3級用BLUEVAL15:12表示。BLUEVAL15:0中的組分別代表0、1、2、3級。當然了,沒有第4級。幻燈片1002. S3C44B0X LCD視頻操作彩色模塊操作 S3C44B0X中的LCD控制器支持每象素8位的256彩色顯示模式。彩色顯示模塊用抖動算法和FRC(幀掃描率控制)方法可產生256級彩色。每個象素的8位分成3位紅、3位綠、2位藍,各用獨立的查尋表。 與灰度級顯示相
17、似,REDLUR寄存器中8組或4位域(例如REDVAL31:28、REDLUT27:24、REDLUT23:20、REDLUT19:16、REDLUT15:12、REDLUT11:8、REDLUT7:4和REDLUT3:0)分別對應各紅色級。4位組合可以得到16種可能,每種情況對應一種紅色級。換句話說,用戶可以用查尋表選擇合適的紅色級。對于綠色,GREENLUT寄存器中的GREENVAL31:0 用作查尋表,用法和紅色一樣。藍色與前兩個相似,BLUELUT寄存器中的BLUEVAL15:0 用作查尋表。對于藍色查尋表需要16位,因為只有兩位對應于4級藍色來控制藍色級,這與8紅或8綠都不同。幻燈片
18、1012. S3C44B0X LCD視頻操作掃描模式支持 S3C44B0X處理器LCD控制器支持3種顯示類型:4位單掃描、4位雙掃描和8位單掃描。掃描工作方式通過DISMOD(LCDCON16:5)設置。 4位單掃描 - 顯示控制器掃描線從左上角位置進行數據顯示。顯示數據從VD3:0獲得;彩色液晶屏數據位代表RGB色。幻燈片1022. S3C44B0X LCD視頻操作掃描模式支持顯示控制器分別使用兩個掃描線進行數據顯示。顯示數據從VD3:0獲得高掃描數據;VD7:4獲得低掃描數據;彩色液晶屏數據位代表RGB色。幻燈片1032. S3C44B0X LCD視頻操作掃描模式支持8位單掃描 - 顯示控
19、制器掃描線從左上角位置進行數據顯示。顯示數據從VD7:0獲得;彩色液晶屏數據位代表RGB色幻燈片1042. S3C44B0X LCD視頻操作數據的存放與顯示液晶控制器傳送的數據表示了一個像素的屬性:4級灰度屏用兩個數據位;16級灰度屏使用4個數據位;RGB彩色液晶屏使用8個數據位(R7:5、G4:2、B1:0)。顯示緩存中存放的數據必須符合硬件及軟件設置,即要注意字節對齊方式。幻燈片105 S3C44B0X LCD控制器應用編程LCD 的顯示一般通過配置LCD控制器實現,下面我們就來看如何使用S3C44B0LCD控制器進行像素點的顯示。首先要對LCD進行初始化LCD的初始化主要是對LCD控制寄
20、存器的值進行設置,主要有以下8項:幻燈片106抖動模式設定抖動時間設定LCDCON1控制字清0設置LCD的垂直,水平尺寸,水平線掃描空閑時間設置幀緩沖區的起始地址設置灰度級,LCDBANK,LCDBASEU重新設置LCDCON1LCD驅動邏輯使能,打開背光幻燈片107具體設置如下:/ disable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk,rLCDCON1=(0x0)|(25)|(MVAL_USED7)|(0x38)|(0x310)|(CLKVAL_COLOR12); /LINEBLANK=10 (without any calculation)rLCDCON2=(LI
21、NEVAL)|(HOZVAL_COLOR10)|(1021);/ 256-color, LCDBANK, LCDBASEU rLCDSADDR1=(0x322)1);rLCDSADDR2=M5D(U32)Video_StartBuffer+(SCR_XSIZE*LCD_YSIZE)1)| (MVAL21) | 129;rLCDSADDR3= (LCD_XSIZE/2) | ( (SCR_XSIZE-LCD_XSIZE)/2)9 );rREDLUT =0xfdb96420; / 1111 1101 1011 1001 0110 0100 0010 0000rGREENLUT=0xfdb96420
22、; / 1111 1101 1011 1001 0110 0100 0010 0000rBLUELUT =0xfb40; / 1111 1011 0100 0000rDITHMODE=0x12210;/rDITHMODE=0x0;幻燈片108 rDP1_2 = 0xa5a5; rDP4_7 = 0xba5da65;rDP3_5 = 0xa5a5f;rDP2_3 = 0xd6b;rDP5_7 = 0xeb7b5ed;rDP3_4 = 0x7dbe;rDP4_5 = 0x7ebdf;rDP6_7 = 0x7fdfbfe;rLCDCON1=(0x1)|(25)|(MVAL_USED7)|(0x38)
23、|(0x310)|(CLKVAL_COLOR0x60) if(t=0)|(t19) t=0; word_clear(); Trans_Clear(); *(&ucChar)+1)=_;*(&ucChar)+2)=0;Disp_String(&ucChar,(8*t+English_area.x0+5),English_area.y0+2);Wordt+=ucChar;f_LineD=Word_List(word);/*輸入是功能按鍵時的相應處理是*/ElseucChar-=14;switch(ucChar) case BACKSPACE: wordt=0; word-t=_; word_cle
24、ar(); Trans_Clear(); Disp_String(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; Count_line=0; break; case PAGEUP: word_clear(); Trans_Clear(); if(old=0) old=MAX_OLD; strcpy(word,oldword-old); Disp_String(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(w
25、ord); f_Word=TRUE; t=strlen(word); break; case LINEUP: if(t!=0) if(Count_Line!=0) Count_line-; LineMove(Count_line,UP); f_Word=FALSE;break ; case ENTER: wordt+1=0; translate(word.f_Word,(f_lineD+Count_Line-1); if(old=MAX_OLD) old=0; strcpy(oldwordold+,word); f_LineD=0; Count_line=0; f_Word=TRUE; for
26、(;t0;-t) wordt=0; break; case LINEDOWN: if(t!=0) if(Count_line(ALL_WNo-f_LineD) Count_line+; LineMove(Count_line,DOWN); f_Word=FALSE;break; case PAGEDOWN: word_clear(); Trans_Clear(); If(old=MAX_OLD) old=0; strcpy(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; t=strlen(word); break; default: Uart_Printf(0,”error %d”,ucChar); break;5.1電子詞典各模塊測試軟件設計(1) 存儲器模塊測試目的:測試CPU能否正常對SDRAM HY57V651620B按字、半字、字節讀/寫。會變程序測試函數:sRWramtestC語言程序函數:voidcRWramtest(void)(2)通用GPIO模塊測試目的:測試能否通過GPIO的GPC8、GPC9、GPF3、GPF4控制電子詞典硬件板上4個LED正常點亮和熄滅。GPIO的測試函數如下:Void GPIO_Test(void)Port_init();Le
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論