嵌入式系統flash接口電路的實現
發布時間:2009/2/4 0:00:00 訪問次數:556
摘要:本文首先以hy29lv160為例重點介紹了嵌入式系統flash存儲器接口電路的引腳信號及各項特性,接著詳細介紹了s3c4510b系統管理器關于存儲器映射的工作原理,在此基礎上提出了一種基于s3c4510b的嵌入式系統flash存儲器接口電路的行之有效的調試方案。并通過實驗驗證了該方案的正確性。
0引言
我們在進行嵌入式系統設計的過程中,根據需求,要設計出特定的嵌入式應用系統,而嵌入式應用系統的設計包含硬件系統設計和軟件系統設計兩個部分,并且這兩部分設計是互相關聯、密不可分的,嵌入式應用系統的設計經常需要在硬件和軟件設計之間進行權衡與折中。因此,這就要求嵌入式系統設計者具有較深厚的硬件和軟件基礎,并具有熟練應用的能力。在整個設計過程中,硬件設計是系統設計的基礎和核心,而各功能部件在整個設計中的調試又是該環節的重點和難點。本文詳細介紹嵌入式系統flash存儲器的接口電路的調試。
1 flash存儲器接口電路的引腳信號及各項特性
1.1 flash存儲器接口電路的特點
flash存儲器是一種可在系統(in-system)中進行電擦寫,掉電后信息不會丟失的存儲器。它具有低功耗、大容量、擦寫速度快、可整片或分扇區在系統編程(燒寫)、擦除等特點,并且可由內部嵌入算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性存儲器,flash在系統中通常用于存放程序代碼、常量表以及一些在系統掉電后需要保存的用戶數據等。常用的flash為8位或16位數據寬度,編程電壓為單3.3v。主要有atmel、amd、hyundai等生產廠商,他們生產的同型器件一般具有相同的電氣特性和封裝形式,可通用。
1.2以hy57v641620為例的sdram接口電路的基本特性
本文以flash存儲器hy29lv160為例,簡要描述一下flash存儲器的基本特性:
hy29lv160的單片存儲容量為16m位(2m字節),工作電壓為2.7v~3.6v,采用48腳tsop封裝或48腳fbga封裝,16位數據寬度,可以以8位(字節模式)或16位(字模式)數據寬度的方式工作。
hy29lv160僅需單3v電壓即可完成在系統的編程與擦除操作,通過對其內部的命令寄存器寫入標準的命令序列,可對flash進行編程(燒寫)、整片擦除、按扇區擦除以及其它操作。
hy29lv160的邏輯框圖、引腳分布及信號描述分別如圖1和表1所示:
圖1 hy29lv160引腳分布(tsop48封裝)
表1 hy29lv160的引腳信號描述
1.3 以hy29lv160為例的flash接口電路的使用方法
下面,我們使用hy29lv160來構建存儲系統。由于arm微處理器的體系結構支持8位/16位/32位的存儲器系統,對應的可以構建8位、16位、32位的flash存儲器系統。32位的存儲器系統具有較高的性能,而16位的存儲器系統則在成本及功耗方面占有優勢,而8位的存儲器系統現在已經很少使用。下面主要介紹16位和32位的flash存儲器系統的構建。
1.3.1.16位的flash存儲器系統
在大多數的系統中,選用一片16位的flash存儲器芯片(常見單片容量有1 mb 、2mb 、4mb 、8mb 等)構建16位flash的存儲系統已經足夠,在此采用一片hy29lv160構建16位的flash存儲器系統,其存儲容量為2mb。flash存儲器在系統中通常用于存放程序代碼,系統上電或復位后從此處獲取指令并開始執行,因此,應將存有程序代碼的flash存儲器配置到rom/sram/flash bank0,即將s3c4510b的nrcs<0>(pin75)接至hy29lv160的ce#端。
hy29lv160的reset#端接系統復位信號;
oe#端接s3c4510b的noe(pin72);
we#端s3c4510b的nwbe<0>(pin100);
byte#上拉,使hy29lv160工作在字模式(16位數據寬度);
ry/by#指示hy29lv160編程或擦除操作的工作狀態,但其工作狀態也可通過查詢片內的相關寄存器來判斷,因此可將該引腳懸空;
地址總線[a19~a0]與s3c4510b的地址總線[addr19~addr0]相連;
16位數據總線[dq15~dq0]與s3c4510b的低16位數據總線[xdata15~xdata0]相連。
注意此時應將s3c4510b的b0size[1:0]置為“10”,選擇rom/sram/flash bank0為16位工作方式。
1.3.2. 32位的flash存儲器系統
作為一款32位的微處理器,為充分發揮s3c4510b的32性能優勢,有的系統也采用兩片16位數據寬度的flash存儲器芯片并聯(或一片32位數據寬度的flash存儲器芯片)構建32位的flash存儲系統。其構建方式與16位的flash存儲器系統相似。
采用兩片hy29lv16并聯的方式構建32位的flash存儲器系統,其中一片為高16位,另一片為低16位,將兩片hy29lv16
摘要:本文首先以hy29lv160為例重點介紹了嵌入式系統flash存儲器接口電路的引腳信號及各項特性,接著詳細介紹了s3c4510b系統管理器關于存儲器映射的工作原理,在此基礎上提出了一種基于s3c4510b的嵌入式系統flash存儲器接口電路的行之有效的調試方案。并通過實驗驗證了該方案的正確性。
0引言
我們在進行嵌入式系統設計的過程中,根據需求,要設計出特定的嵌入式應用系統,而嵌入式應用系統的設計包含硬件系統設計和軟件系統設計兩個部分,并且這兩部分設計是互相關聯、密不可分的,嵌入式應用系統的設計經常需要在硬件和軟件設計之間進行權衡與折中。因此,這就要求嵌入式系統設計者具有較深厚的硬件和軟件基礎,并具有熟練應用的能力。在整個設計過程中,硬件設計是系統設計的基礎和核心,而各功能部件在整個設計中的調試又是該環節的重點和難點。本文詳細介紹嵌入式系統flash存儲器的接口電路的調試。
1 flash存儲器接口電路的引腳信號及各項特性
1.1 flash存儲器接口電路的特點
flash存儲器是一種可在系統(in-system)中進行電擦寫,掉電后信息不會丟失的存儲器。它具有低功耗、大容量、擦寫速度快、可整片或分扇區在系統編程(燒寫)、擦除等特點,并且可由內部嵌入算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性存儲器,flash在系統中通常用于存放程序代碼、常量表以及一些在系統掉電后需要保存的用戶數據等。常用的flash為8位或16位數據寬度,編程電壓為單3.3v。主要有atmel、amd、hyundai等生產廠商,他們生產的同型器件一般具有相同的電氣特性和封裝形式,可通用。
1.2以hy57v641620為例的sdram接口電路的基本特性
本文以flash存儲器hy29lv160為例,簡要描述一下flash存儲器的基本特性:
hy29lv160的單片存儲容量為16m位(2m字節),工作電壓為2.7v~3.6v,采用48腳tsop封裝或48腳fbga封裝,16位數據寬度,可以以8位(字節模式)或16位(字模式)數據寬度的方式工作。
hy29lv160僅需單3v電壓即可完成在系統的編程與擦除操作,通過對其內部的命令寄存器寫入標準的命令序列,可對flash進行編程(燒寫)、整片擦除、按扇區擦除以及其它操作。
hy29lv160的邏輯框圖、引腳分布及信號描述分別如圖1和表1所示:
圖1 hy29lv160引腳分布(tsop48封裝)
表1 hy29lv160的引腳信號描述
1.3 以hy29lv160為例的flash接口電路的使用方法
下面,我們使用hy29lv160來構建存儲系統。由于arm微處理器的體系結構支持8位/16位/32位的存儲器系統,對應的可以構建8位、16位、32位的flash存儲器系統。32位的存儲器系統具有較高的性能,而16位的存儲器系統則在成本及功耗方面占有優勢,而8位的存儲器系統現在已經很少使用。下面主要介紹16位和32位的flash存儲器系統的構建。
1.3.1.16位的flash存儲器系統
在大多數的系統中,選用一片16位的flash存儲器芯片(常見單片容量有1 mb 、2mb 、4mb 、8mb 等)構建16位flash的存儲系統已經足夠,在此采用一片hy29lv160構建16位的flash存儲器系統,其存儲容量為2mb。flash存儲器在系統中通常用于存放程序代碼,系統上電或復位后從此處獲取指令并開始執行,因此,應將存有程序代碼的flash存儲器配置到rom/sram/flash bank0,即將s3c4510b的nrcs<0>(pin75)接至hy29lv160的ce#端。
hy29lv160的reset#端接系統復位信號;
oe#端接s3c4510b的noe(pin72);
we#端s3c4510b的nwbe<0>(pin100);
byte#上拉,使hy29lv160工作在字模式(16位數據寬度);
ry/by#指示hy29lv160編程或擦除操作的工作狀態,但其工作狀態也可通過查詢片內的相關寄存器來判斷,因此可將該引腳懸空;
地址總線[a19~a0]與s3c4510b的地址總線[addr19~addr0]相連;
16位數據總線[dq15~dq0]與s3c4510b的低16位數據總線[xdata15~xdata0]相連。
注意此時應將s3c4510b的b0size[1:0]置為“10”,選擇rom/sram/flash bank0為16位工作方式。
1.3.2. 32位的flash存儲器系統
作為一款32位的微處理器,為充分發揮s3c4510b的32性能優勢,有的系統也采用兩片16位數據寬度的flash存儲器芯片并聯(或一片32位數據寬度的flash存儲器芯片)構建32位的flash存儲系統。其構建方式與16位的flash存儲器系統相似。
采用兩片hy29lv16并聯的方式構建32位的flash存儲器系統,其中一片為高16位,另一片為低16位,將兩片hy29lv16