3.3.4FLASH接口電路
系統(tǒng)的代碼與從上位機(jī)接受到的原始點(diǎn)陣碼以及顯示控制信息數(shù)據(jù)存放在CPU外的FLASH芯片中,當(dāng)S3C44BOX上電復(fù)位后,它立即從0x00000000地址處取指并開始執(zhí)行,并把定位在地址0x00000000處的存儲器稱為BOOTROM。因此系統(tǒng)的啟動代碼應(yīng)放置在0x00000000處,ARM系統(tǒng)中通常使用能夠快速讀取、因此方便寫入的FLASH作為代碼和常量存儲器。剛上電時(shí)CPU對FLASH的接口不需要任何軟件上的配置,因?yàn)镾3CA4BOX內(nèi)部的存儲器訪問控制寄存器默認(rèn)的控制時(shí)序足夠慢,可以讀出任何速度的ROM芯片數(shù)據(jù),但為了充分發(fā)揮FLASH芯片的性能,應(yīng)在初始化中配置相應(yīng)存儲器的訪問時(shí)序四l。值得注意的是要使CPU能正常地對FLASH進(jìn)行操作,需要注意兩個(gè)硬件設(shè)置:3cY4,端和BANK0的總線寬度岡.ARM體系結(jié)構(gòu)可以用兩種方式來存儲字(這里的字是32bit即4Byte),稱為大端格式和小端格式.S3C44BOX的ENDIAN引腳的輸入電平的邏輯來確定數(shù)據(jù)類型是大端還是小端【3ll。0為小端,l為大端。在本系統(tǒng)中使用小端方式,所以ENDLAN應(yīng)該接一下拉電阻后接地,連接示意圖如圖3.7所示.
圖3-8S3C44BOX與FLASH連接示意圖
BOOTROM在地址上位于ARM處理器的BANK0區(qū),它可能具有具有多種數(shù)據(jù)總線寬度,這個(gè)寬度是可以通過硬件設(shè)定的,即通過S3C44BOX上OM[1,O】引腳上的邏輯電平設(shè)定,如表3-5所示.
表3.5BOOTROM在BANK0的數(shù)據(jù)總線寬度設(shè)定
本系統(tǒng)采用一片SST39VFl601(1Mxl6bit)作為代碼和數(shù)據(jù)存儲器就能夠滿足系統(tǒng)要求了,所以本系統(tǒng)使用16bit外部總線。因此OM[1,o]-腳應(yīng)該設(shè)為Ol,并且初始化程序中將BWSCON寄存器中的DWO設(shè)為01。本系統(tǒng)采用TSOP封裝的SST39VFl601。應(yīng)注意的是SST39VFl601的WP引腳,當(dāng)WP接穩(wěn)定的低電平時(shí)扇區(qū)O是不能被擦除的1321,只有WP腳接穩(wěn)定的高電平或浮空時(shí)(當(dāng)該腳浮空時(shí)內(nèi)部電路將其拉高)才能擦除,所以應(yīng)在該腳處設(shè)置一根跳線,下載程序時(shí)將其浮空,而在產(chǎn)品運(yùn)行時(shí)使其接低電平。由于S3C44BOX是按照字節(jié)編址的,又由于SST39VFl601是16bit為一個(gè)存儲單元,因此處理器的地址向左偏離一位田l,采用ADDRI與SST39VFl601的A0相連,即:S3C44BOX的ADDR[20:l】對應(yīng)著FLASH的A[19:o】。由于FLASH的映射在BANK0區(qū)域內(nèi),SSl”39VFl601的片選與S3C44BOX的NGCS0。
3.3.5SDRAM接口電路
SDRAM是易失性存儲器,在調(diào)電后數(shù)據(jù)立即消失,但是其具有存儲速度快,容量大成本低的特點(diǎn),廣泛應(yīng)用于各種嵌入式系統(tǒng),本系統(tǒng)采用4Mxl6bhx4b£mk,即32MByte的SDR■uM芯片K4S561632D作為系統(tǒng)的R/W段、顯存、上位機(jī)通信段,中斷向量表,堆棧數(shù)據(jù)的存儲器,存儲空間的詳細(xì)配置見第3.2.2節(jié)。由于SDRAM的存儲單元電路的特點(diǎn),存儲單元可以理解為一個(gè)電容,總是傾向于放電,為了避免數(shù)據(jù)丟失,必須定時(shí)充電刷新。S3C4480X芯片本身提供了與DRAM和SDRAM進(jìn)行直接接口的方案,因?yàn)椴恍枰幊掏鈬倪壿嬰娐穪韺?shí)現(xiàn)SDRAM的刷新時(shí)序,只需對S3C44BOX內(nèi)容相應(yīng)若干個(gè)存儲器接口控制寄存器進(jìn)行適當(dāng)?shù)呐渲眉纯?。S3C44BOX與K4S561632D的連接示意圖如圖3-9所示。
K4S561632D是一款容量為32MB的SDRAM(同步動態(tài)隨機(jī)存儲器),所有的輸入與輸出信號與CPU的前端總線的系統(tǒng)時(shí)鐘相同,所以S3C4480X為其提供同步時(shí)鐘腳SCLK,該腳與K4S561632D的CLK腳相連。
K4S561632D的存儲空間組織方式是:4M×16bit×4bank,是多bank結(jié)構(gòu)口‘1.前面提到過DRAM的存儲單元電路特點(diǎn)相一個(gè)電容,在讀取數(shù)據(jù)前需要進(jìn)行預(yù)充電,采用多bank結(jié)構(gòu)可以在一個(gè)bank進(jìn)行預(yù)先充電時(shí)間對另外一個(gè)bank進(jìn)行讀寫操作,這樣當(dāng)進(jìn)行一行讀取后,對已預(yù)充電的bank又可以馬上讀取了,這樣就省去了預(yù)先充電的時(shí)間,大大提高了存儲器的訪問速度。K4s561632D分為4個(gè)bank,它內(nèi)部對4個(gè)bank進(jìn)行管理??刂聘鱾€(gè)bank進(jìn)行預(yù)先充電,它上面的BA0,BAI引腳就是用來實(shí)現(xiàn)4個(gè)bank間的選擇。由于K4S561632D的容量為32MB,其BAl與BA2接地址線A24、A23。由于高速數(shù)字布線的需要,在PCB布線時(shí),幾根重要的信號線端應(yīng)接20歐阻抗匹配電阻,以保證高速數(shù)字信號的畸變不超過要求的范圍。
再讀取操作時(shí)候首先使CKE引腳有效,激活K4S561632D,隨后是一個(gè)讀或者寫有效,在激活后的地址用來選擇需要的操作的bank和行(BA0、BAI用來選擇bank,A0道All用來選擇行)。在行地址被讀取并延遲一到幾個(gè)時(shí)鐘后(潛伏期)地址總線上A0到A8用來選擇操作開始的列地址,這樣,數(shù)據(jù)就被讀取出來了。
3.3.6主控電路與LED屏的接口電路設(shè)計(jì)
本顯示系統(tǒng)選用基于ARM7TDMI內(nèi)核并帶有內(nèi)部DMA控制器的S3C44BOX作主控制器,使其工作在ARM狀態(tài),為了加快傳輸數(shù)據(jù)的速度,提高傳輸數(shù)據(jù)的效率,本系統(tǒng)的設(shè)計(jì)思想是:
(1)將LED顯示屏虛擬的視為一段連續(xù)的存儲空問【3習(xí).C2)使用S3C44BOX內(nèi)部的DMA控制器實(shí)現(xiàn)數(shù)據(jù)的準(zhǔn)確傳輸,在傳輸過程中CPU不參與,實(shí)現(xiàn)在連續(xù)的讀寫操作時(shí)就完成一段數(shù)據(jù)的傳輸。
?。?)使用并行技術(shù),主控板到LED屏的數(shù)據(jù)總線寬為16bit,同時(shí)對縱向級聯(lián)的兩個(gè)顯示模式傳輸數(shù)據(jù)。
在第2.2.4節(jié)中已說明了將LED顯示屏視為一段連續(xù)的存儲空間是可能的,它是使用DMA控制器在連續(xù)的讀寫操作完成一段數(shù)據(jù)傳輸?shù)幕A(chǔ)。由第2.2.4節(jié)可知,并行數(shù)據(jù)傳輸顯示模板上的譯碼電路與錯(cuò)位級聯(lián)思想可使每個(gè)顯示模板及顯示模板上的各個(gè)列數(shù)據(jù)鎖存器準(zhǔn)確選通,如圖2-6所示,橫向級聯(lián)的顯示模板可看成一段連續(xù)的存儲單元,所以對顯示驅(qū)動板傳輸列數(shù)據(jù)實(shí)際上就是對存儲單元的寫操作.這樣就可以利用CPU寫存儲器的控制線、數(shù)據(jù)總線、地址總線上出現(xiàn)的信號作傳輸列數(shù)據(jù)到顯示驅(qū)動板第一級列數(shù)據(jù)鎖存器鎖存的控制信號。第一級列數(shù)據(jù)鎖存器的選通譯碼器的譯碼信號可以利用微控制器的地址線,由于LED顯示屏一個(gè)顯示驅(qū)動模塊上共有16對鎖存器,所以需要4根低位地址線作第一級列數(shù)據(jù)鎖存的譯碼信號,而橫向級聯(lián)可最多級聯(lián)8塊顯示驅(qū)動模塊,所以需要三根地址高位地址線,但為了以后擴(kuò)展需要預(yù)留一根高位地址線共8根地址線。列數(shù)據(jù)由數(shù)據(jù)總線傳送。
由第2.2.4節(jié)可知,并行數(shù)據(jù)傳輸?shù)腖ED顯示模板上的數(shù)據(jù)總線寬度是8bit的,而主控板到LED顯示屏的數(shù)據(jù)總線寬度是16bit,所以主控板對LED顯示屏的一次寫操作實(shí)際上是同時(shí)對縱向級聯(lián)的兩個(gè)顯示模板的同名行同名列傳輸了數(shù)據(jù),這樣提高了數(shù)據(jù)傳輸?shù)乃俣群托?。但是這樣使用16bit寬度的并行DMA傳輸技術(shù)需要軟件先將原始的點(diǎn)陣碼按要求進(jìn)行排序,排序算法僅需在接收到新的顯示內(nèi)容后或重新上電后運(yùn)行一次,這樣對于異步顯示系統(tǒng)是可以接受的。算法將在第3.4.4節(jié)詳細(xì)討論,在此我們假設(shè)顯存中的數(shù)據(jù)都是按要求完成排序的,可以直接進(jìn)行DMA傳輸。
圖3-10主控板與LED屏接口電路原理圖
所以主控電路與LED顯示屏接口電路應(yīng)能實(shí)現(xiàn)一下功能:
(1)選通任意位置的顯示模塊及該模塊上的第一級列數(shù)據(jù)鎖存器。將該位置要顯示的點(diǎn)陣碼準(zhǔn)確鎖存,并能控制在第一級列數(shù)據(jù)鎖存器數(shù)據(jù)刷新后將刷新數(shù)據(jù)鎖存到第二級列數(shù)據(jù)鎖存器并輸出。
(2)能控制選通驅(qū)動16行同名行中一行進(jìn)行逐行掃描顯示.
?。?)實(shí)現(xiàn)主控芯片3.3v到LED屏5V的邏輯電平轉(zhuǎn)換136】。主控板與LED屏接口電路原理圖示意圖如圖3·10所示。對于一個(gè)大型LED屏其結(jié)構(gòu)可分為縱向級聯(lián)和橫向級聯(lián),這種結(jié)構(gòu)類似于一個(gè)三維數(shù)組.們假設(shè)一個(gè)三維數(shù)組LED[i][j]啕,其中;
i=0,l‘2…,m表示LED屏縱向級聯(lián)級的序號。
j=O,1’2…,n表示LED屏橫向級聯(lián)級的序號。
k=0,l,2…,15表示顯示模塊上16個(gè)第一級列數(shù)據(jù)鎖存器的序號.
評論