❶ 用1K×4的2114晶元組成一個1k×4的存儲器,求畫出線路圖~~~
晶元數=總容量/容量=4k*8÷1k*4=8片
圖我就不畫了,存儲器共有12根地址線其中2根連解碼器產生4個片選信號,剩下的10根連所有的晶元,用作片內定址。1k*4的晶元2個一組,共4組,一組連一個片選信號。還有一個讀信號線,連所有晶元
❷ Am29LV800D-----這個flash.如何接成16位,和8位求助
(1)S3C2440 的地址線 ADDR1-19 與 Am29LV800D 的地址線 A0-18 依次武漢理工大學碩士學位論文
10
相連。由於 NOR Flash 選擇的是 512K×16Bit 存儲形式,即 NOR Flash 的最小
存儲單位為 2 位元組,而 S3C2440 最小定址單位為 1 位元組,因此需要將地址線的
第二位 ADDR1 與 A0 相連,而 ADDR0 不與 NOR Flash 晶元相連。
(2)16位數據線依次相連。其中埠DQ15/A-1有兩種用途,如果NOR Flash
晶元選擇的是 1024K×8Bit 存儲方式,該埠將作為最低位的地址線,而本文選
擇的是 512K×16Bit 存儲方式,因此該埠用作數據線的最高位 DQ15。
(3)CE 是片選信號,由於 NOR Flash 連接到 BANK0,因此需要用到 BANK0
的片選信號 nGCS0。讀使能 OE,寫使能 WE 與 S3C2440 對應引腳相連。
(4)RY/BY 表示 NOR Flash 是就緒還是繁忙的狀態信息,此處沒有使用,
所以懸空。RESET 低電平有效,與電路的復位模塊相連。
(5)BYTE 是 NOR Flash 晶元讀寫方式的選擇,高電平對應 16bit 模式,低
電平對應 8bit 模式。本文使用的是 16bit 模式,因此直接接 VDD。
(6)OM0,OM1 是 S3C2440 啟動方式的選擇。當 OM0=1,OM1=0 晶元置
為 16bit 方式,並且將 NOR Flash 晶元映射到 BANK0 地址 0x0 處。S3C2440 只
有 16bit 和 32bir 兩種使用 NOR Flash 啟動的方式,因此前面的 Am29LV800D 只
能使用 16bit 讀寫方式,而不能使用 8bit 模式。
NOR Flash 的讀寫方式基本與內存一樣,可以直接在其地址范圍內進行讀寫。
因此將啟動程序拷貝到 NOR Flash 裡面,上電後便可以直接運行。但 NOR Flash
價格昂貴,而且 1M 容量也顯不足,因此本系統還加上了一塊 NAND Flash 晶元
作為補充。
2.4.2 NAND Flash 存儲器電路設計
相對於 NOR Flash 的昂貴,NAND Flash 則要便宜很多,因此更適合作為較
大容量的存儲介質使用。1989 年東芝公司發表了 NAND Flash 技術(後將該技
術無償轉讓給韓國三星公司),NAND Flash 技術強調降低每比特的成本,更高
的性能,並且像磁碟一樣可以通過介面輕松升級。NAND Flash 結構能提供極高
的單元密度,可以達到高存儲密度,並且寫入和擦除的速度也很快。其缺點在
於需要特殊的系統介面,並且 CPU 需要驅動程序才能從 NAND Flash 中讀取數
據,使用時一般是將數據從 NAND Flash 中拷貝到 SDRAM 中,再供 CPU 順序
執行,這也是大多數嵌入式系統不能從 NAND Flash 中啟動的原因。
S3C2440 不僅支持從 NOR Flash 啟動,而且支持從 NAND Flash 啟動。這是武漢理工大學碩士學位論文
11
因為從 NAND Flash 啟動的時候,Flash 中開始 4k 的數據會被 S3C2440 自動地復
制到晶元內部一個叫「Steppingstone」的 RAM 中,並把 0x0 設置為內部 RAM
的起始地址,然後 CPU 從內部 RAM 的 0x0 位置開始執行。這個過程不需要程
序干涉。而程序則可使用這 4k 代碼來把更多數據從 NAND Flash 中拷貝到
SDRAM 中去,從而實現從 NAND Flash 啟動。
選擇是從 NOR Flash 啟動,還是 NAND Flash 啟動,需要對 OM0 和 OM1
引腳進行不同的設置,如果常常需要切換啟動模式,可以將這兩個引腳接到跳
線柱上,通過跳線夾對其進行設置。
本文選用的是三星公司出品的 K9F1208U0B NAND Flash 晶元,該晶元容量
為 64M×8bit。由於 S3C2440 已經內置了 NAND Flash 控制器,因此電路設計十
分簡單,不需要再外加控制晶元。電路圖如圖 2-4 所示。
圖 2-4 NAND Flash 電路圖
電路圖說明:
(1)由於 NAND Flash 晶元是以位元組為單位存儲的,因此的數據線 I/O0-7
直接與 S3C2440 的數據線 DATA0-7 相連,不需要像 NOR Flash 那樣偏移一位進
行相連。I/O0-7 是充當地址,命令,數據復用的埠。
(2)ALE 地址鎖存允許,CLE 命令鎖存允許,CE 片選,WE 寫使能,RE
讀使能依次與 S3C2440 的 NAND Flash 控制器的引腳 ALE,CLE,nFCE,nFWE,
nFRE 相連。
(3)WP 防寫,這里沒有用到,直接接到高電平使其無效。VCC 與電源
相連,VSS 與地相連。武漢理工大學碩士學位論文
12
(4)當 OM0,OM1 均接地為 0 時,S3C2440 將會從 NAND Flash 中啟動,
內部 RAM「Steppingstone」將會被映射到 0x0 位置,取代本來在這個位置的 NOR
Flash。上電時 NAND Flash 中的前 4K 數據會被自動拷貝到「Steppingstone」中,
從而實現從 NAND Flash 啟動。
(5)NCON、GPG15 接地;GPG13、14 接電源。這四個引腳用來對 NAND
Flash 進行設置。以上設置表示使用的 Flash 是普通 NAND Flash,一頁的大小為
512 字 節 , 需 要 進 行 4 個 周 期 的 地 址 傳 輸 完 成 一 次 尋 址 操 作 ( 這 是 因 為
K9F1208U0B 片內採用 26 位定址方式,從第 0 位開始分四次通過 I/O0-I/O7 進
行傳送),數據位寬為 8bit。不同的晶元有不同的設置方式,以上是 K9F1208U0B
的設置方式,其它晶元的設置方法需要參考 S3C2440 和具體使用的 NAND Flash
晶元的數據手冊。
NAND Flash 不對應任何 BANK,因此不能對 NAND Flash 進行匯流排操作,
也就無法像 NOR Flash 和 SDRAM 一樣通過地址直接進行訪問。對 NAND Flash
存儲晶元進行操作,必須通過 NAND Flash 控制器的專用寄存器才能完成。
NAND Flash 的寫操作必須以塊方式進行,讀操作可以按位元組讀取。
對 K9F1208U0B 的操作是通過向命令寄存器(對於 S3C2440 來說此寄存器
為 NFCMMD,內存映射地址為 0x4e000004)發送命令隊列實現的,命令隊列一
般是連續幾條命令或是一條命令加幾個參數,具體的命令可以參考 K9F1208U0B
的數據手冊。地址寄存器把一個完整的 NAND Flash 地址分解成 Column Address
與 Page Address 進行定址。Column Address 是列地址,用來指定 Page 上的具體
某個位元組。Page Address 是頁地址,用來確定讀寫操作是在 Flash 上的哪個頁進
行的,由於頁地址總是以 512 位元組對齊的,所以它的低 9 位總是 0。
一個 26 位地址中的 A0~A7 是它的列地址,A9~A25 是它的頁地址。當發送
完命令後(例如讀命令 00h 或 01h),地址將分 4 個周期發送。第一個周期是發
送列地址。之後 3 個周期則是指定頁地址。當發送完地址後,就可以通過數據
寄存器對 NAND Flash 進行數據的讀寫。以上只是 S3C2440 的 NAND Flash 控制
器的大致操作流程,具體操作方式需要參考數據手冊。
2.4.3 SDRAM 存儲器電路設計
從 Flash 中讀取數據的速度相對較慢,而 S3C2440 運行的速度卻很快,其執
行指令的速度遠高於從 Flash 中讀取指令的速度。如果僅按照數據從 Flash 讀取,武漢理工大學碩士學位論文
13
然後再到晶元處理的方式設計系統,那麼即使晶元的運算能力再強,在沒有指
令執行的情況下,它也只能等待。因此系統中還需要加入 SDRAM。
SDRAM(Synchronous Dynamic Random Access Memory)是同步動態隨機
存取存儲器,同步是指工作時需要同步時鍾,內部命令的發送與數據的傳輸都
以它為基準,動態是指存儲陣列需要不斷的刷新來保證數據不丟失,隨機是指
數據不是線性依次存儲,而是由指定地址進行數據讀寫。
SDRAM 是與系統時鍾同步工作的動態存儲器,它具有數據吞吐量大,速度
快,價格便宜等特點。SDRAM 在系統中的主要作用是作為程序代碼的運行空間。
當系統啟動時,CPU 首先從復位地址處讀取啟動代碼,在完成系統的初始化後,
將程序代碼調入 SDRAM 中運行,以提高系統的運行速度。同時,系統和用戶
堆棧、操作數據也存放在 SDRAM 中。
由於 SDRAM 自身結構的特點,它需要定時刷新,這就要求硬體電路要有
定時刷新的功能,S3C2440 晶元在片內集成了獨立的 SDRAM 控制電路,可以
很方便的與 SDRAM 連接,使系統得以穩定的運行。
本設計使用的 SDRAM 晶元型號是 HY57V561620,存儲容量為 4Bank×4M
×l6bit,每個 Bank 為 8M 位元組,總共大小為 32M。本系統通過兩片 HY57V561620
構建了 64MB 的 SDRAM 存儲器系統,能滿足嵌入式操作系統及較復雜演算法的
運行要求。電路圖如圖 2-5 所示。
圖 2-5 SDRAM 電路圖
電路圖說明:
(1)本系統使用兩塊 HY57V561620 晶元組成容量 64M 的 SDRAM。兩片
SDRAM 都是以 2 位元組為單位進行存儲,因此一次存儲的最小容量為 4 位元組。將
一塊晶元的數據線 DQ0-DQ15 與 S3C2440 的數據線低位 DATA0-DATA15 相連,武漢理工大學碩士學位論文
14
而另一塊則與數據線的高位 DATA16-DATA31 相連。
(2)兩塊 SDRAM 晶元地址線均與 S3C2440 地址線 ADDR2-ADDR14 依次
相連。SDRAM 的內部是一個存儲陣列,陣列就如同表格一樣,將數據「填」進去,
和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),就
可以准確地找到所需要的單元格,這就是內存晶元定址的基本原理。正因為如
此 , 地 址 是 通 過 將 存 儲 單 元 的 列 地 址 和 行 地 址 分 開 進 行 傳 送 的 , 因 此
HY57V561620 只用了 13 根地址線便完成了一個 BANK(8M 大小)的定址。否
則按照正常情況 8M 大小的地址空間,按照位元組傳輸,需要用到 24 根地址線。
由於本系統由兩塊 16bit 的晶元組成,一次最小的存儲單位為 4 位元組,也就是說
定址的間隔應該為 4(2
2
)位元組。ADDR0 的間隔對應為 1 位元組,ADDR1 為 2 字
節,ADDR2 為 4 位元組。因此 HY57V561620 需要從 ADDR2 開始連接,從而達
到一次定址的間隔為 4 位元組的目的。
(3)HY57V561620由 4個BANK組成,每個BANK大小為8M(4M×16bit)。
因此在不同的 BANK 之間也需要定址。由於一個 BANK 的大小為 8M=2
23
,因
此對間隔為 8M 的 BANK 空間定址,需要使用從 ADDR24 開始的兩根地址線。
所以 BA0,BA1 分別接到 ADDR24,ADDR25。
(4)LDQM,UDQM 為數據輸入輸出屏蔽,由 S3C2440 的 SDRAM 控制器
使用,這里連接到低位數據線的晶元連接到 DQM0,DQM1;而連接到高位數據
線的晶元連接到 DQM2,DQM3。具體連接方法可以查看 S3C2440 的數據手冊。
(5)片選信號 CS 連接到 SDRAM 的片選信號 nSCS0,兩塊晶元對應同一
片選信號。這是因為兩塊晶元是按照高位,低位的方式連接的,他們處於同一
地址空間。
(6)RAS 行地址選通信號,CAS 列地址選通信號,WE 寫使能,分別與
S3C2440 相應的控制引腳 nSRAS、nSCAS、nWE 相連。CLK 時鍾信號,CKE
時鍾使能信號分別連接到 SCKE、SCLK。
使用程序讀寫 SDRAM 前,需要初始化 SDRAM,對一些配置寄存器進行設
置。這里只使用了 BANK6,並未用到 BANK7。
初始化的代碼大致如下:
void memsetup(void)
{
rBWSCON = 0x22111110; 武漢理工大學碩士學位論文
15
rBANKCON0 = 0x700;
rBANKCON1 = 0x700;
rBANKCON2 = 0x700;
rBANKCON3 = 0x700;
rBANKCON4 = 0x700;
rBANKCON5 = 0x700;
rBANKCON6 = 0x18005;
rBANKCON7 = 0x18005;
rREFRESH = 0x8e07a3;
rBANKSIZE = 0xb2;
rMRSRB6 = 0x30;
rMRSRB7 = 0x30;
}
BWSCON 寄存器這里主要用來設置位寬,其中每 4 位描述一個 BANK,對
於本系統,使用的是兩片容量為 32Mbyte、位寬為 16 的 SDRAM,組成了容量
為 64Mbyte、位寬為 32 的存儲器,因此要將 BANK6 設置為 32 位。BANKCON0-5
沒有用到,使用默認值 0x700 即可。BANKCON6-7 是用來設置 SDRAM,設成
0x18005 意味著外接的是 SDRAM,且列地址位數為 9。REFRESH 寄存器用於設
置SDRAM的刷新周期,查閱HY57V561620數據手冊即可知道刷新周期的取值。
BANKSIZE 設置 BANK6 與 BANK7 的大小。BANK6、BANK7 對應的地址空間
與 BANK0~5 不同。BANK0~5 的地址空間大小都是固定的 128M,BANK7 的起
始地址是可變的,本系統僅使用 BANK6 的 64M 空間,因此可以令該寄存器的
位[2:0]=010(128M/128M)或 001(64M/64M),多出來的空間會被檢測出來,
不會發生使用不存在內存的情況,因為Bootloader和Linux內核都會作內存檢測。
2.4.4 觸摸屏電路設計
使用觸摸屏 TSP(Touch Screen Panel)進行輸入,是指用手指或其它物體觸
摸安裝在顯示器前端的觸摸屏,將所觸摸的位置(以坐標形式)由觸摸屏控制
器檢測,並通過介面送到 CPU,從而確定輸入的相應信息。觸摸屏通過一定的
物理機制,使用戶直接在載入觸摸屏的顯示器上,通過觸摸控制方式而非傳統
的滑鼠鍵盤控制方式向計算機輸入信息[14]
。武漢理工大學碩士學位論文
16
根據其技術原理,觸摸屏可分為矢量壓力感測式、電阻式、電容式、紅外
式和表面聲波式等五類,當前電阻式觸摸屏在嵌入式系統中用的較多。電阻觸
摸屏是一個多層的復合膜,由一層玻璃或有機玻璃作為基層,表面塗有一層透
明的導電層,上面蓋有一層塑料層,它的內表面也塗有一層透明的導電層,在
兩層導電層之間有許多細小的透明隔離點把它們隔開絕緣。工業中常用 ITO
(Indium Tin Oxide 氧化錫)作為導電層。電阻式觸摸屏根據信號線數又分為四
線、五線、六線……等類型。信號線數量越多,技術越復雜,坐標定位也越精
確。所有電阻式觸摸屏的基本原理都是類似的,當觸摸屏幕時,平常絕緣的兩
層導電層在觸摸點位置就有了一個接觸,控制器檢測到這個接通後,由於其中
一面導電層接通 Y 軸方向的 5V 均勻電壓,另一導電層將接觸點的電壓引至控制
電路進行 A/D 轉換,得到電壓值後與 5V 相比,即可得觸摸點的 Y 軸坐標,同
理得出 X 軸的坐標[15]
。本文使用是四線電阻式觸摸屏。
S3C2440 提供 8 路 A/D 模擬輸入,其中有 4 路是與觸摸屏復用的,如果 XP、
XM、YP、YM 這 4 根引腳不用做觸摸屏輸入的時候可以作為普通的 A/D 轉換使
用。S3C2440 的觸摸屏介面有四種工作模式:
(1)正常轉換模式:此模式與通用的 A/D 轉換模式相似。此模式可在
ADCCON(ADC 控制寄存器)中設置,在 ADCDAT0(數據寄存器 0)中完成
數據讀寫。
(2)X/Y 坐標各自轉換:觸摸屏控制器支持兩種轉換模式,X/Y 坐標各自
轉換與 X/Y 坐標自動轉換。各自轉換是在 X 模式下,將 X 坐標寫入 ADCDAT0
然後產生中斷;在 Y 模式下,將 Y 坐標寫入 ADCDAT1 然後產生中斷。
(3)X/Y 坐標自動轉換:在此模式下,觸摸屏控制器先後轉換觸摸點的 X
坐標與 Y 坐標。當 X 坐標與 Y 坐標都轉換完成時,會向中斷控制器產生中斷。
(4)等待中斷模式:當觸摸筆按下時,觸摸屏產生中斷(INT_TC)。等待
中斷模式必須將寄存器 rADCTSC 設置為 0xd3;在觸摸屏控制器產生中斷以後,
必須將此模式清除。
本設計採用的觸摸屏是由廣州友善之臂公司提供的,並且已經加在 LCD 屏
AA084VC03 之上,與 LCD 一起提供了一個對外介面。AA084VC03 是日本三菱
公司的 8.4 寸 TFT-LCD,解析度為 640x480,262K 色。本款觸摸屏為四線電阻
式觸摸屏,使用 S3C2440 的觸摸屏控制單元可以大大簡化電路設計。具體電路
圖見下一小節中的圖 2-6。AM29LV800D
看看對你有沒有用
❸ 使用2114晶元設計4K×16位存儲器邏輯電路圖
2114是1K*4的RAM存儲器,4個2114地址線、控制線並聯,數據線單獨組成1K*16 ,4組地址線、數據線、we端並聯可以組成4K*16位的存儲器,加上ls138 3-8線解碼器或者ls139雙2-4線解碼器分別接在各組的cs端,就可以了。
滿意請採納