日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 電源 > 電源
[導(dǎo)讀]0引言 我們在進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)的過程中,根據(jù)需求,要設(shè)計(jì)出特定的嵌入式應(yīng)用系統(tǒng),而嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)包含硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)兩個部分,并且這兩部分設(shè)

0引言

我們在進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)的過程中,根據(jù)需求,要設(shè)計(jì)出特定的嵌入式應(yīng)用系統(tǒng),而嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)包含硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)兩個部分,并且這兩部分設(shè)計(jì)是互相關(guān)聯(lián)、密不可分的,嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)經(jīng)常需要在硬件和軟件設(shè)計(jì)之間進(jìn)行權(quán)衡與折中。因此,這就要求嵌入式系統(tǒng)設(shè)計(jì)者具有較深厚的硬件和軟件基礎(chǔ),并具有熟練應(yīng)用的能力。在整個設(shè)計(jì)過程中,硬件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的基礎(chǔ)和核心,而各功能部件在整個設(shè)計(jì)中的調(diào)試又是該環(huán)節(jié)的重點(diǎn)和難點(diǎn)。本文詳細(xì)介紹嵌入式系統(tǒng)Flash存儲器的接口電路的調(diào)試。

1 Flash存儲器接口電路的引腳信號及各項(xiàng)特性

1.1 Flash存儲器接口電路的特點(diǎn)

Flash存儲器是一種可在系統(tǒng)(In-System)中進(jìn)行電擦寫,掉電后信息不會丟失的存儲器。它具有低功耗、大容量、擦寫速度快、可整片或分扇區(qū)在系統(tǒng)編程(燒寫)、擦除等特點(diǎn),并且可由內(nèi)部嵌入算法完成對芯片的操作,因而在各種嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。作為一種非易失性存儲器,F(xiàn)lash在系統(tǒng)中通常用于存放程序代碼、常量表以及一些在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等。常用的Flash為8位或16位數(shù)據(jù)寬度,編程電壓為單3.3V。主要有ATMEL、AMD、HYUNDAI等生產(chǎn)廠商,他們生產(chǎn)的同型器件一般具有相同的電氣特性和封裝形式,可通用。

1.2以HY57V641620為例的SDRAM接口電路的基本特性

本文以Flash存儲器HY29LV160為例,簡要描述一下Flash存儲器的基本特性:

HY29LV160的單片存儲容量為16M位(2M字節(jié)),工作電壓為2.7V~3.6V,采用48腳TSOP封裝或48腳FBGA封裝,16位數(shù)據(jù)寬度,可以以8位(字節(jié)模式)或16位(字模式)數(shù)據(jù)寬度的方式工作。

HY29LV160僅需單3V電壓即可完成在系統(tǒng)的編程與擦除操作,通過對其內(nèi)部的命令寄存器寫入標(biāo)準(zhǔn)的命令序列,可對Flash進(jìn)行編程(燒寫)、整片擦除、按扇區(qū)擦除以及其它操作。

HY29LV160的邏輯框圖、引腳分布及信號描述分別如圖1和表1所示:

圖1 HY29LV160引腳分布(TSOP48封裝)

表1 HY29LV160的引腳信號描述

引 腳

類型

描 述

A[19:0]

I

地址總線。在字節(jié)模式下,DQ[15]/A[-1]用作21位字節(jié)地址的最低位。

DQ[15]/A[-1]

DQ[14:0]

I/O

三態(tài)

數(shù)據(jù)總線。在讀寫操作時提供8位或16位數(shù)據(jù)的寬度。在字節(jié)模式下,DQ[15]/A[-1]用作21位字節(jié)地址的最低位,而DQ[14:8]處于高阻狀態(tài)。

BYTE#

I

模式選擇。低電平選擇字節(jié)模式,高電平選擇字模式

CE#

I

片選信號,低電平有效。在對HY29LV160進(jìn)行讀寫操作時,該引腳必須為低電平,當(dāng)為高電平時,芯片處于高阻旁路狀態(tài)

OE#

I

輸出使能低電平有效輸出使能,低電平有效。在讀操作時有效,寫操作時無效。

WE#

I

低電平有效寫使能,低電平有效。在對HY29LV160進(jìn)行編程和擦除操作時,控制相應(yīng)的寫命令。

RESET#

I

硬件復(fù)位,低電平有效。對HY29LV160進(jìn)行硬件復(fù)位。當(dāng)復(fù)位時,HY29LV160立即終止正在進(jìn)行的操作。

RY/BY#

O

用就緒/忙 狀態(tài)指示。用于指示寫或擦除操作是否完成。當(dāng)HY29LV160正在進(jìn)行編程或擦除操作時,該引腳位低電平,操作完成時為高電平,此時可讀取內(nèi)部的數(shù)據(jù)。

VCC

--

3.3V電源

VSS

--

接地

1.3 以HY29LV160為例的Flash接口電路的使用方法

下面,我們使用HY29LV160來構(gòu)建存儲系統(tǒng)。由于ARM微處理器的體系結(jié)構(gòu)支持8位/16位/32位的存儲器系統(tǒng),對應(yīng)的可以構(gòu)建8位、16位、32位的Flash存儲器系統(tǒng)。32位的存儲器系統(tǒng)具有較高的性能,而16位的存儲器系統(tǒng)則在成本及功耗方面占有優(yōu)勢,而8位的存儲器系統(tǒng)現(xiàn)在已經(jīng)很少使用。下面主要介紹16位和32位的Flash存儲器系統(tǒng)的構(gòu)建。

1.3.1.16位的FLASH存儲器系統(tǒng)

在大多數(shù)的系統(tǒng)中,選用一片16位的Flash存儲器芯片(常見單片容量有1 MB 、2MB 、4MB 、8MB 等)構(gòu)建16位Flash的存儲系統(tǒng)已經(jīng)足夠,在此采用一片HY29LV160構(gòu)建16位的Flash存儲器系統(tǒng),其存儲容量為2MB。Flash存儲器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此處獲取指令并開始執(zhí)行,因此,應(yīng)將存有程序代碼的Flash存儲器配置到ROM/SRAM/FLASH Bank0,即將S3C4510B的nRCS<0>(Pin75)接至HY29LV160的CE#端。

HY29LV160的RESET#端接系統(tǒng)復(fù)位信號;

OE#端接S3C4510B的nOE(Pin72);

WE#端S3C4510B的nWBE<0>(Pin100);

BYTE#上拉,使HY29LV160工作在字模式(16位數(shù)據(jù)寬度);

RY/BY#指示HY29LV160編程或擦除操作的工作狀態(tài),但其工作狀態(tài)也可通過查詢片內(nèi)的相關(guān)寄存器來判斷,因此可將該引腳懸空;

地址總線[A19~A0]與S3C4510B的地址總線[ADDR19~ADDR0]相連;

16位數(shù)據(jù)總線[DQ15~DQ0]與S3C4510B的低16位數(shù)據(jù)總線[XDATA15~XDATA0]相連。

注意此時應(yīng)將S3C4510B的B0SIZE[1:0]置為“10”,選擇ROM/SRAM/FLASH Bank0為16位工作方式。

1.3.2. 32位的FLASH存儲器系統(tǒng)

作為一款32位的微處理器,為充分發(fā)揮S3C4510B的32性能優(yōu)勢,有的系統(tǒng)也采用兩片16位數(shù)據(jù)寬度的Flash存儲器芯片并聯(lián)(或一片32位數(shù)據(jù)寬度的Flash存儲器芯片)構(gòu)建32位的Flash存儲系統(tǒng)。其構(gòu)建方式與16位的Flash存儲器系統(tǒng)相似。

采用兩片HY29LV16并聯(lián)的方式構(gòu)建32位的FLASH存儲器系統(tǒng),其中一片為高16位,另一片為低16位,將兩片HY29LV16作為一個整體配置到ROM/SRAM/FLASH Bank0,即將S3C4510B的nRCS<0>(Pin75)接至兩片HY29LV16的CE#端;

兩片HY29LV160的RESET#端接系統(tǒng)復(fù)位信號;

兩片HY29LV160的OE#端接S3C4510B的nOE(Pin72);

低16位片的WE#端接S3C4510B的nWBE<0>(Pin100),高16位片的WE#端接S3C4510B的nWBE<2>(Pin102);
兩片HY29LV160的BYTE#均上拉,使之均工作在字模式;

兩片HY29LV160的地址總線[A19~A0]均與S3C4510B的地址總線[ADDR19~ADDR0]相連;

低16位片的數(shù)據(jù)總線與S3C4510B的低16位數(shù)據(jù)總線[XDATA15~XDATA0]相連,高16位片的數(shù)據(jù)總線與S3C4510B的高16位數(shù)據(jù)總線[XDATA31~XDATA16]相連。

注意此時應(yīng)將S3C4510B的B0SIZE[1:0]置為“11”,選擇ROM/SRAM/FLASH Bank0為32位工作方式。

2.S3C4510B系統(tǒng)管理器關(guān)于存儲器映射的工作原理

當(dāng)系統(tǒng)設(shè)計(jì)制作完成時,必須經(jīng)過仔細(xì)的調(diào)試,才能保證系統(tǒng)按照設(shè)計(jì)意圖正常工作。盡管系統(tǒng)的調(diào)試與個人對電路工作原理的理解和實(shí)際的電路調(diào)試經(jīng)驗(yàn)有很大的關(guān)系,但一定的調(diào)試方法也是必不可少的。掌握正確的調(diào)試方法可使調(diào)試工作變得容易,大大縮短系統(tǒng)的開發(fā)時間,反之,可能會使整個系統(tǒng)的開發(fā)前功盡棄,以失敗告終。

在系統(tǒng)的兩類存儲器中,SDRAM相對于FLASH存儲器控制信號較多,似乎調(diào)試應(yīng)該困難一些,但由于SDRAM的所有刷新及控制信號均由S3C4510B片內(nèi)的專門部件控制,無需用戶干預(yù),在S3C4510B正常工作的前提下,只要連線無誤,SDRAM就應(yīng)能正常工作,反之,F(xiàn)lash存儲器的編程、擦除操作均需要用戶編程控制,且程序還應(yīng)在SDRAM中運(yùn)行,因此,應(yīng)先調(diào)試好SDRAM存儲器系統(tǒng),再進(jìn)行Flash存儲器系統(tǒng)的調(diào)試。

基于S3C4510B系統(tǒng)的最大可尋址空間為64MB,采用統(tǒng)一編址的方式,將系統(tǒng)的SDRAM、SRAM、ROM、Flash、外部I/O以及片內(nèi)的特殊功能寄存器和8K一體化SRAM均映射到該地址空間。為便于使用與管理,S3C4510B又將64MB的地址空間分為若干個組,分別由相應(yīng)的特殊功能寄存器進(jìn)行控制:

(1) ROM/SRAM/Flash組0~ROM/SRAM/Flash組5,用于配置ROM、SRAM或Flash,分別由特殊功能寄存器ROMCON0~ROMCON5控制;

(2)DRAM/SDRAM組0~DRAM/SDRAM組3用于配置DRAM或SDRAM,分別由特殊功能寄存器DRAMCON0~DRAMCON3控制;

(3)外部I/O組0~外部I/O組3用于配置系統(tǒng)的其他外擴(kuò)接口器件,由特殊功能寄存器REFEXTCON控制;

(4)特殊功能寄存器組用于配置S3C4510B片內(nèi)特殊功能寄存器的基地址以及片內(nèi)的8K一體化SRAM,由特殊功能寄存器SYSCFG控制;

在系統(tǒng)中,使用了Flash存儲器和SDRAM,分別配置在ROM/SRAM/FLASH組0和DRAM/SDRAM組0,暫未使用外擴(kuò)接口器件。

3基于S3C4510B的嵌入式系統(tǒng)Flash存儲器接口電路的調(diào)試

Flash存儲器的調(diào)試主要包括Flash存儲器的編程(燒寫)和擦除,與一般的存儲器件不同,用戶只需對Flash存儲器發(fā)出相應(yīng)的命令序列,F(xiàn)lash 存儲器通過內(nèi)部嵌入的算法即可完成對芯片的操作,由于不同廠商的Flash存儲器在操作命令上可能會有一些細(xì)微的差別,F(xiàn)lash存儲器的編程與擦除工具一般不具有通用性,這也是為什么Flash接口電路相對較難調(diào)試的原因之一,因此,應(yīng)在理解Flash存儲器編程和擦除的工作原理的情況下,根據(jù)不同型號器件對應(yīng)的命令集,編寫相應(yīng)的程序?qū)ζ溥M(jìn)行操作。

若使用SDT調(diào)試環(huán)境,調(diào)試過程與上述步驟相似。

>obey C:memmap.txt

打開AXD Debugger的命令行窗口,執(zhí)行obey命令:

此時,2MB的Flash存儲器映射到地址空間的0x0000,0000~0x001F,FFFF處,選擇菜單Processor Views→Memory選項(xiàng),出現(xiàn)存儲器窗口,在存儲器起始地址欄輸入Flash存儲器的映射起始地址:0x0,數(shù)據(jù)區(qū)應(yīng)顯示Flash存儲器中的內(nèi)容,若Flash存儲器為空,所顯示的內(nèi)容應(yīng)全為0xFF,否則應(yīng)為已有的編程數(shù)據(jù)。雙擊其中的任一數(shù)據(jù),輸入新的值,對應(yīng)存儲單元的內(nèi)容應(yīng)不能被修改,此時可初步認(rèn)定Flash存儲器已能被訪問,但是否能對其進(jìn)行正確的編程與擦除操作,還需要編程驗(yàn)證,通過程序?qū)lash存儲器進(jìn)行編程和擦除操作。

4結(jié)束語

這樣整個基于的嵌入式系統(tǒng)Flash存儲器接口電路的調(diào)試基本上完成了,當(dāng)然對于不同的系統(tǒng),操作是略有不同的,我們可以根據(jù)所要開發(fā)或使用的嵌入式系統(tǒng)模式,進(jìn)行適當(dāng)?shù)恼{(diào)整,保證我們正確的使用Flash存儲器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機(jī)的首要原因之一。據(jù)統(tǒng)計(jì),超過60%的現(xiàn)場問題源于通信配置錯誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實(shí)際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

上海2025年8月7日 /美通社/ -- 在近日落幕的"2025長三角(昆山)具身智能場景應(yīng)用大賽"中,國內(nèi)知名品牌節(jié)卡機(jī)器人憑借卓越的技術(shù)與應(yīng)用實(shí)力,奪得機(jī)器人賽道工業(yè)制造場景上下料第一名。該賽事由...

關(guān)鍵字: 大賽 機(jī)器人 相機(jī) 調(diào)試

人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強(qiáng)大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機(jī)器學(xué)習(xí)

Zephyr開源項(xiàng)目由Linux基金會維護(hù),是一個針對資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實(shí)時操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實(shí)時操作系統(tǒng) Zephyr項(xiàng)目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開發(fā)者需要權(quán)衡的核心問題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見的代碼展開技術(shù),在性能、可維護(hù)性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開發(fā)中,日志系統(tǒng)是故障排查和運(yùn)行監(jiān)控的核心組件。本文基于Linux環(huán)境實(shí)現(xiàn)一個輕量級C語言日志庫,支持DEBUG/INFO/WARN/ERROR四級日志分級,并實(shí)現(xiàn)按大小滾動的文件輪轉(zhuǎn)機(jī)制。該設(shè)計(jì)在某...

關(guān)鍵字: C語言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動開發(fā)中,C語言因其高效性和可控性成為主流選擇,但缺乏原生單元測試支持成為開發(fā)痛點(diǎn)。本文提出一種基于宏定義和測試用例管理的輕量級單元測試框架方案,通過自定義斷言宏和測試注冊機(jī)制,實(shí)現(xiàn)無需外部依賴的嵌入...

關(guān)鍵字: C語言 嵌入式系統(tǒng) 驅(qū)動開發(fā)

在嵌入式系統(tǒng)與驅(qū)動開發(fā)中,內(nèi)存映射I/O(Memory-Mapped I/O, MMIO)是一種將硬件寄存器映射到處理器地址空間的技術(shù),允許開發(fā)者通過指針直接讀寫寄存器,實(shí)現(xiàn)高效、低延遲的硬件控制。本文通過C語言實(shí)戰(zhàn)案例...

關(guān)鍵字: 內(nèi)存映射 I/O操作 嵌入式系統(tǒng)
關(guān)閉