am335x芯片筆記_第1頁(yè)
am335x芯片筆記_第2頁(yè)
am335x芯片筆記_第3頁(yè)
am335x芯片筆記_第4頁(yè)
am335x芯片筆記_第5頁(yè)
已閱讀5頁(yè),還剩172頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、6 中斷6.1 功能描述中斷控制器通過(guò)屏蔽和優(yōu)先級(jí)排序處理輸入中斷,產(chǎn)生中斷信號(hào)給關(guān)聯(lián)的cpu。圖 6-1顯示了中斷處理頂級(jí)視圖。注:fiq在通用(gp)設(shè)備上存在。6.1.1 中斷處理 輸入選擇 intc僅支持電平觸發(fā)輸入中斷檢測(cè)。一個(gè)外設(shè)激活一個(gè)中斷,并一直維持中斷狀態(tài)直到軟件處理完這個(gè)中斷,并指導(dǎo)外設(shè)清理中斷。若mpu_intc.intc_isr_setn寄存器對(duì)應(yīng)位被設(shè)置,一個(gè)軟件中斷產(chǎn)生(mpu子系統(tǒng)intc的寄存器塊號(hào):n=0,1,2,3,支持128個(gè)輸入中斷線)。當(dāng)寫mpu_intc.intc_isr_clearn寄存器對(duì)應(yīng)位時(shí),軟件中斷清除。這個(gè)功能的經(jīng)典使用是軟

2、件調(diào)試。 masking.1 個(gè)別屏蔽每一個(gè)中斷輸入線上的中斷檢測(cè)可以通過(guò)mpu_intc.intc_mirn中斷屏蔽寄存器獨(dú)立使能或禁用。對(duì)應(yīng)于一個(gè)沒(méi)有屏蔽的輸入中斷,intc可以產(chǎn)生兩類中斷請(qǐng)求中的一個(gè)給處理器。l irq:低優(yōu)先級(jí)中斷請(qǐng)求;l fiq:快速中斷請(qǐng)求(在通用設(shè)備(gp)上不存在)。中斷請(qǐng)求的類型由m寄存器位pu_intc.intc_ilrm0 fiqnirq(m=0,127)位確定。.2 優(yōu)先級(jí)屏蔽為了使能高優(yōu)先級(jí)中斷的快速處理,提供了一個(gè)可編程的優(yōu)先級(jí)屏蔽閥值(mpu_intc.intc_threshold7:0 priority

3、threshold域)被提供。這個(gè)優(yōu)先級(jí)閥值允許被更高的優(yōu)先級(jí)中斷搶占;所有的比閥值更低的或相等的優(yōu)先級(jí)被屏蔽。然而,優(yōu)先級(jí) 0 從不被這個(gè)閥值屏蔽;一個(gè)0閥值優(yōu)先級(jí)處理方式和優(yōu)先級(jí)1處理方式一樣。priority和prioritythreshold域值應(yīng)該被設(shè)置為0x0和0x7之間;0x0是最高優(yōu)先級(jí),0x7是最低優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)屏蔽不必須時(shí),一個(gè)優(yōu)先級(jí)閥值0xff禁用優(yōu)先級(jí)閥值機(jī)制。這個(gè)值是復(fù)位默認(rèn)值,向后兼容先前的intc版本。 優(yōu)先級(jí)排序一個(gè)優(yōu)先級(jí)級(jí)別(0是最高優(yōu)先級(jí))被指派到每一個(gè)輸入中斷線。優(yōu)先級(jí)級(jí)別和中斷請(qǐng)求類型在mpu_intc.intc_ilrm寄存器中配置。若

4、多個(gè)輸入中斷線具有相同的優(yōu)先級(jí)級(jí)別,則中斷請(qǐng)求同時(shí)發(fā)生,最高序號(hào)中斷被優(yōu)先服務(wù)。當(dāng)一個(gè)或多個(gè)未屏蔽的輸入中斷被檢測(cè)到,intc使用對(duì)應(yīng)的mpu_intc.intc_ilrm0 fiqnirq位分離irq中斷和fiq中斷。若目前沒(méi)有其他的中斷處理,則結(jié)果在intc_pending_irqn或intc_pending_fiqn,intc激活irq/fiq,啟動(dòng)優(yōu)先級(jí)計(jì)算。irq和fiq的優(yōu)先級(jí)排序可以并行執(zhí)行。每一個(gè)irq/fiq優(yōu)先級(jí)排序器決定最高優(yōu)先級(jí)中斷數(shù)。每一個(gè)優(yōu)先級(jí)數(shù)處于對(duì)應(yīng)的mpu_intc.intc_sir_irq6:0 activeirq域或mpu_intc.intc_sir_fi

5、q6:0 activefiq域。在對(duì)應(yīng)的mpu_intc.intc_control newirqagr 或 newfiqagr位被設(shè)置之前,值一直保留。一旦,中斷的外設(shè)設(shè)備被服務(wù),輸入的中斷無(wú)效,用戶必須寫合適的newirqagr 或newfiqagr位表示intc已經(jīng)處理了此中斷。若有任何掛起的這種請(qǐng)求的中斷類型的未屏蔽的輸入中斷,intc重新發(fā)起合適的優(yōu)先級(jí)排序,否則irq或fiq中斷線無(wú)效。6.1.2 寄存器保護(hù)若mpu_intc.intc_protection0 protection位置位,訪問(wèn)intc寄存器僅限于超級(jí)用戶模式。訪問(wèn)mpu_intc.intc_protection寄存器

6、僅限于特權(quán)模式。更多信息參考部分,intc_protection寄存器(offset = 4ch) reset = 0h.。6.1.3 模塊省電intc在它的三個(gè)時(shí)鐘域提供一個(gè)自動(dòng)空閑功能:l 接口時(shí)鐘;l 功能時(shí)鐘;l 同步時(shí)鐘。mpu_intc.intc_sysconfig0寄存器autoidle位=1,接口時(shí)鐘自動(dòng)空閑省電式使能。當(dāng)這種模式使能,總線接口上沒(méi)有任何行為,模塊的接口時(shí)鐘無(wú)效,因此減少了電能損耗。當(dāng)總線接口上有新的行為,接口時(shí)鐘立即啟動(dòng)。復(fù)位后,默認(rèn)這種模式無(wú)效。若mpu_intc.intc_idle0寄存器 funcidle位=0,功能時(shí)鐘自動(dòng)空閑模式使能。當(dāng)

7、這種模式使能,沒(méi)有激活的中斷(正在處理或產(chǎn)生的iqr或fiq)或沒(méi)有掛起的中斷,模塊的內(nèi)部功能時(shí)鐘無(wú)效,因此減少了電能消耗。當(dāng)一個(gè)新的未屏蔽的輸入中斷被檢測(cè)到,功能時(shí)鐘重啟,intc處理中斷。若此種模式無(wú)效,中斷延遲減少一個(gè)周期。復(fù)位后,此種模式默認(rèn)無(wú)效。同步時(shí)鐘運(yùn)行外部異步中斷在屏蔽前被重新同步。若mpu_intc.intc_idle1 寄存器turbo位=1,同步輸入時(shí)鐘有一個(gè)自動(dòng)空閑省電模式使能。若自動(dòng)空閑模式使能,待機(jī)電能減少,但是irq和fiq中斷延遲從4個(gè)功能時(shí)鐘周期增加打牌6個(gè)。這個(gè)功能可以根據(jù)設(shè)備的要求動(dòng)態(tài)使能。復(fù)位后,此種模式默認(rèn)無(wú)效。6.1.4 錯(cuò)誤處理下面的訪問(wèn)將會(huì)引起一

8、個(gè)錯(cuò)誤:l 特權(quán)沖突(在用戶模式下,嘗試訪問(wèn)protection寄存器或其他寄存器,若保護(hù)位被設(shè)置)l 不支持的命令下面的訪問(wèn)將不會(huì)引起任何錯(cuò)誤答復(fù):l 訪問(wèn)一個(gè)非解碼地址;l 寫一個(gè)只讀寄存器。6.1.5 中斷處理若mpu_intc.intc_idle1 寄存器的turbo位=0,irq/fiq中斷產(chǎn)生占用4個(gè)intc功能時(shí)鐘周期。若mpu_intc.intc_idle1 寄存器的turbo位=1,中斷產(chǎn)生占用6個(gè)周期,但是當(dāng)?shù)却袛鄷r(shí),功耗減少。這些延遲可以通過(guò)禁用功能時(shí)鐘自動(dòng)空閑模式(mpu_intc.intc_idle0寄存器位 funcidle=1)減少一個(gè)時(shí)鐘周期,但是功耗會(huì)增加,

9、所以收益是很小的。當(dāng)一個(gè)未屏蔽中斷產(chǎn)生時(shí),為了最小化中斷延遲,則irq或fiq在優(yōu)先級(jí)排序完成前產(chǎn)生。優(yōu)先級(jí)排序占用10個(gè)功能時(shí)鐘周期,這個(gè)時(shí)間小于mpu在接收到一個(gè)irq或fiq時(shí)間之后切換到中斷上下文的最小時(shí)鐘周期數(shù)。在優(yōu)先級(jí)排序處理過(guò)程中,任何mpu_intc.intc_sir_irq 或 mpu_intc.intc_sir_fiq寄存器讀將會(huì)擱置,直到優(yōu)先級(jí)排序完成和相關(guān)的寄存器更新。然而,在產(chǎn)生中斷請(qǐng)求和中斷服務(wù)路由被執(zhí)行之間的延遲是優(yōu)先級(jí)排序總是在mpu_intc.intc_sir_irq或mpu_intc.intc_sir_fiq 寄存器讀之前完成。6.2 基本的編程模型6.2.

10、1 初始化時(shí)序1. 編程mpu_intc.intc_sysconfig寄存器:若需要,通過(guò)設(shè)置autoidle位,使能接口時(shí)鐘自動(dòng)空閑模式。2. 編程mpu_intc.intc_idle寄存器:若需要,通過(guò)設(shè)置funcidle 位 或turbo位無(wú)效功能時(shí)鐘自動(dòng)空閑模式或使能同步時(shí)鐘自動(dòng)空閑模式。3. 為每一個(gè)中斷線編程mpu_intc.intc_ilrm寄存器:為一個(gè)fiq中斷指派一個(gè)優(yōu)先級(jí)級(jí)別和fiqnirq位(默認(rèn),中斷被映射到irq,優(yōu)先級(jí)為0x0(最高)。4. 編程mpu_intc.intc_mirn寄存器:使能中斷(默認(rèn),所有中斷線被屏蔽)。注:編程mpu_intc.intc_mi

11、rn寄存器,提供的mpu_intc.intc_mir_setn和 mpu_intc.intc_mir_clearn寄存器設(shè)置屏蔽位,即使是為后兼任直接寫mpu_intc.intc_mirn寄存器。6.2.2 intc 處理時(shí)序intc_mirn和intc_ilrm寄存器被配置使能之后,指派優(yōu)先級(jí)到輸入中斷,中斷處理如下面部分解釋的。irq和fiq處理時(shí)序非常相似,fiq處理區(qū)別如下面代碼/字符后。1. 接收到一個(gè)或多個(gè)未屏蔽的輸入中斷(m_irq_n信號(hào)),irq或fiq輸出(irq/fiq)不會(huì)同時(shí)激活;2. 若intc_ilrm0 寄存器fiqnirq位=0,mpu_intc_irq輸出信

12、號(hào)產(chǎn)生。若fiqnirq位=1,則mpu_intc_fiq輸出信號(hào)產(chǎn)生。3. intc執(zhí)行優(yōu)先級(jí)排序,用目前的中斷號(hào)更新intc_sir_irq6:0 activeirq/intc_sir_fiq6:0 activefiq域;4. 優(yōu)先級(jí)排序過(guò)程中,若irq/fiq在主機(jī)處理器端被使能,則主機(jī)處理器自動(dòng)保存目前上下文,執(zhí)行isq,如下。arm主機(jī)處理器自動(dòng)執(zhí)行下述偽代碼行為:5. isr保存上下文,通過(guò)讀activeirq/activefiq域識(shí)別中斷源,后跳轉(zhuǎn)到相關(guān)的子程序處理,如下:6. 子程序處理程序在外設(shè)端通過(guò)處理事件和無(wú)效中斷條件執(zhí)行外設(shè)產(chǎn)生中斷的具體代碼;7. 子程序返回之后,is

13、r置位newirqagr/newfiqagr使能隨后掛起irqs/fiqs處理,回復(fù)arm上下文。因?yàn)閷懖僮鞅煌哆f到內(nèi)部互聯(lián)總線,在irqs和fiqs使能之前,完成前面的寫操作。之后,intc處理任何其它掛起的中斷,或若沒(méi)有其他中斷,則無(wú)效irq/fiq。圖 6-2顯示了從最初的設(shè)備外設(shè)模塊到主程序中的irq/fiq處理時(shí)序。在中斷處理時(shí)序過(guò)程中,優(yōu)先級(jí)排序停止。若此時(shí)有一個(gè)中斷條件產(chǎn)生,則中斷不會(huì)丟失。當(dāng)newirqagr/newfiqagr位置位時(shí),被排序(優(yōu)先級(jí)排序重新激活)。6.2.3 intc 搶占處理時(shí)序6.2.4 中斷搶占6.2.5 arm a8 intc偽中斷處理6.3 arm

14、 cortex-a8 中斷6.4 pwm事件6.5 中斷控制寄存器7 內(nèi)存子系統(tǒng)這一章描述了設(shè)備的內(nèi)存子系統(tǒng)。7.1 gpmc7.1.1 介紹通用目的內(nèi)存控制器(gpmc)是一個(gè)統(tǒng)一的內(nèi)存控制器專用于接口外部?jī)?nèi)存設(shè)備。l 異步類似sram內(nèi)存,具體應(yīng)用集成電路(asic)設(shè)備;l 異步,同步,和頁(yè)模式(非復(fù)用模式僅存在)突發(fā)nor flash設(shè)備。l nand flash;l 偽sram設(shè)備。 gpmc 特點(diǎn)l gpmc模塊通用特點(diǎn)包括:l 外部?jī)?nèi)存設(shè)備數(shù)據(jù)總線寬帶為16或8位;l 32位ocpip 2.0兼容核心,單從接口。支持非包裝盒包裝突發(fā)達(dá)到12*32位;l 達(dá)到100m

15、hz的外部?jī)?nèi)存時(shí)鐘性能(單設(shè)備)l 支持下面內(nèi)存類型: 外部異步或同步8位寬內(nèi)存或設(shè)備(非突發(fā)設(shè)備)外部異步或同步16位寬內(nèi)存或設(shè)備外部16位非多路復(fù)用nor flash設(shè)備外部16位地址和數(shù)據(jù)復(fù)用nor flash設(shè)備外部8位或16位nand flash設(shè)備外部16位psram設(shè)備l 達(dá)到16位的nand flash ecc支持,使用bch碼(t=4,8,16)或8位或16位的nand flash hamming 碼,頁(yè)大小為512字節(jié),1k字節(jié)或更多。l 支持512m字節(jié)最大地址容量,可以被劃分為7個(gè)獨(dú)立片選,每個(gè)片選可編程band大小和基地址,基于16m字節(jié),32m字節(jié),64字節(jié),128

16、m字節(jié)邊界。l 完全的流水線式操作方式以獲得最佳的內(nèi)存帶寬使用率;l 支持從l3時(shí)鐘的1,2,3,4分頻器分頻產(chǎn)生的外部設(shè)備時(shí)鐘頻率;l 支持當(dāng)沒(méi)有訪問(wèn)時(shí),可編程的自動(dòng)禁用時(shí)鐘功能;l 支持 midlereq/sidleack協(xié)議;l 當(dāng)和外部設(shè)備或外部?jī)?nèi)存通信時(shí),支持下面的接口協(xié)議:異步讀/寫訪問(wèn);異步讀頁(yè)訪問(wèn)(4-8-16 字16)同步讀/寫訪問(wèn) 同步突發(fā)讀訪問(wèn)(4-6-16 字16)l 復(fù)用的地址和數(shù)據(jù)總線訪問(wèn);l 每個(gè)片選的設(shè)置和保存時(shí)間都有獨(dú)立的和可編程的控制信號(hào)時(shí)序參數(shù);l 靈活的內(nèi)部訪問(wèn)時(shí)間控制(等待狀態(tài))和使用外部wait引腳監(jiān)控(達(dá)到兩個(gè)wait引腳)靈活的握手模式;l 支持

17、總線保持;l 支持總線翻轉(zhuǎn);l 預(yù)取址和寫提交引擎關(guān)聯(lián)系統(tǒng)dma從nand設(shè)備操作上獲得極大性能,對(duì)正在進(jìn)行的nor/sram訪問(wèn)影響很?。籰 快速ecc hamming code計(jì)算極大提高了nand使用的可靠性,對(duì)sw會(huì)有很小的影響。 框圖 gpmc通過(guò)l3慢內(nèi)部互聯(lián)模塊可以訪問(wèn)多種不同的外設(shè)。靈活的編程模式允許多種連接設(shè)備類型和訪問(wèn)模式。基于gpmc寄存器的編程配置位,gpmc根據(jù)關(guān)聯(lián)的設(shè)備和訪問(wèn)類型,可以產(chǎn)生所有的控制信號(hào)時(shí)序。根據(jù)片選解碼和關(guān)聯(lián)的配置寄存器,gpmc選擇合適的設(shè)備裂隙控制信號(hào)時(shí)序。figure 7-1 顯示了gpmc功能時(shí)鐘框圖,gpmc包括6塊:l 內(nèi)

18、部互聯(lián)端口接口;l 地址解碼,gpmc配置,片選配置寄存器文件;l 訪問(wèn)引擎;l 預(yù)取指和寫提交引擎;l 錯(cuò)誤校驗(yàn)碼引擎(ecc);l 外部設(shè)備/內(nèi)存端口接口。 不支持的gpmc特征下面模塊功能在這個(gè)設(shè)備中不支持。7.1.2 整合gpmc的一個(gè)實(shí)例,這個(gè)設(shè)備提供了訪問(wèn)nand,nor flash,和其它一般和同步的接口外設(shè)。圖 7-2 展示了設(shè)備的gpmc模塊的集成。 gpmc互聯(lián)熟悉gpmc模塊的互聯(lián)屬性如表 7-2所示。 gpmc時(shí)鐘和復(fù)位管理gpmc是一個(gè)同步設(shè)計(jì),以相同的時(shí)鐘操作,slow l3時(shí)鐘。所有的時(shí)序使用這個(gè)時(shí)鐘為參考時(shí)鐘。7.1.2

19、.3 gpmc 信號(hào)列表7.1.3 功能描述 gpmc信號(hào)表 7-5顯示了基于外設(shè)類型的地址和數(shù)據(jù)gpmc控制引腳使用。表 7-5 略。針對(duì)所有的設(shè)備類型,gpmc不驅(qū)動(dòng)無(wú)關(guān)的地址總線,無(wú)關(guān)的地址總線都保持復(fù)位值00。l 地址映射支持地址/數(shù)據(jù)復(fù)用16位寬設(shè)備;l nor flash內(nèi)存控制器支持非復(fù)用地址和數(shù)據(jù)內(nèi)存設(shè)備;l 復(fù)用模式通過(guò)gpmc_config1_i9-8 muxadddata位選定;l 復(fù)用地址和數(shù)據(jù)設(shè)備不支持異步頁(yè)模式。 gpmc模式 這一部分顯示了3個(gè)gpmc外部連接選項(xiàng): figure 7-3 顯示了gpmc和一個(gè)16位同步地址/數(shù)據(jù)復(fù)用(a

20、ad復(fù)用,但是這種協(xié)議使用更少的地址引腳)外部?jī)?nèi)存設(shè)備的連接;figure 7-4 顯示了gpmc和一個(gè)16位的同步非復(fù)用外部?jī)?nèi)存設(shè)備的連接;figure 7-5 顯示了gpmc和一個(gè)8位nand設(shè)備連接。 gpmc功能描述 gpmc基本的編程模塊為8個(gè)可配置的片選的任何一個(gè)為支持多種訪問(wèn)協(xié)議提供了極大的靈活性?;谕庠O(shè)的功能,使用可選的片選設(shè)置:l 可以選擇不同的協(xié)議支持通用的同步或異步隨機(jī)訪問(wèn)設(shè)備(nor flash,sram)或支持具體的nand設(shè)備;l 地址和數(shù)據(jù)總線在在相同的外部總線上復(fù)用;l 讀寫訪問(wèn)可以被獨(dú)立的定義為同步或異步;l 系統(tǒng)請(qǐng)求(字節(jié),16位字,突發(fā))通

21、過(guò)單個(gè)或多個(gè)訪問(wèn)執(zhí)行。外部訪問(wèn)原型(單個(gè),帶有可選突發(fā)長(zhǎng)度的多個(gè),固有,或模仿封裝)基于外部設(shè)備功能(支持的協(xié)議,總線寬帶,數(shù)據(jù)緩沖區(qū)大小,固有封裝支持)。l 系統(tǒng)突發(fā)讀或?qū)懻?qǐng)求時(shí)同步突發(fā)(多讀或多寫)。當(dāng)外部?jī)?nèi)存或asic設(shè)備不支持突發(fā)和頁(yè)模式時(shí),系統(tǒng)突發(fā)讀或?qū)懻?qǐng)求被轉(zhuǎn)換為連續(xù)的單個(gè)同步或異步訪問(wèn)(單讀或單寫)單同步或異步讀或?qū)懼抵С?位寬設(shè)備;l 模仿一個(gè)可編程的內(nèi)部等待狀態(tài),一個(gè)外部等待引腳在初始化訪問(wèn)時(shí)間開(kāi)始和突發(fā)訪問(wèn)過(guò)程中被監(jiān)控用于動(dòng)態(tài)的控制外設(shè)訪問(wèn)。每一個(gè)控制信號(hào)被每一個(gè)片選獨(dú)立控制。gpmc的內(nèi)部功能時(shí)鐘(gpmc_fclk)用于具體的參考時(shí)鐘:l 讀寫訪問(wèn)持續(xù)時(shí)間;l 大多數(shù)g

22、pmc外部接口控制信號(hào)激活和禁用時(shí)序;l 讀訪問(wèn)過(guò)程中的數(shù)據(jù)捕獲時(shí)序;l 當(dāng)請(qǐng)求時(shí),訪問(wèn)中的空閑時(shí)間持續(xù)時(shí)間。.1 gpmc時(shí)鐘配置 表7-6 描述了gpmc時(shí)鐘。gmmc_clk由gpmc內(nèi)部的gpmc_fclk時(shí)鐘產(chǎn)生。gpmc_fclk時(shí)鐘源在表 7-3描述。gpmc_clk通過(guò)gpmc_config_i1-0寄存器的gpmcfclkdivider域(i=0到3)配置,如表 7-7所示。.2 gpmc軟件復(fù)位gpmc通過(guò)軟件置位gpmc_sysconfig1 softreset位復(fù)位。置位此位使能一個(gè)有效的軟件復(fù)位,功能等同于硬件復(fù)位。硬件和軟件復(fù)位無(wú)條件和及

23、時(shí)初始化所有的gpmc寄存器和狀態(tài)機(jī)(fsm)。gpmc_sysstatus0 resetdone位為1時(shí),表示軟件復(fù)位成功。軟件必須保證做gpmc操作前的軟件復(fù)位操作完成。.3 gpmc電源管理 core電源域提供gpmc電源,gpmc電源管理服從系統(tǒng)電源指導(dǎo)。表 7-8 描述了gpmc模塊存在的電源管理功能。 .4 gpmc中斷請(qǐng)求gpmc產(chǎn)生一個(gè)中斷事件如下所示,figure 7-2。中斷請(qǐng)求從gpmc(gpmc_irq)到mpu子系統(tǒng):a_irq_100。表 7-9列出了事件標(biāo)志,屏蔽碼,可以導(dǎo)致模塊中斷。.5 gpmc dma 請(qǐng)求 gpmc

24、產(chǎn)生一個(gè)dma事件,來(lái)自gpmc(gpmc_dma_req)到edma:e_dma_53。.6 l3慢互連接口 gpmc l3慢互聯(lián)接口是一個(gè)流水線式接口,包括一個(gè)16*32位字寫緩存。任何系統(tǒng)主機(jī)可以通過(guò)gpmc發(fā)出外部訪問(wèn)請(qǐng)求。這邊系統(tǒng)可以通過(guò)這個(gè)接口產(chǎn)生下面請(qǐng)求:一個(gè)8位/16位/32位內(nèi)部互連訪問(wèn)(讀/寫);兩個(gè)遞增的32位內(nèi)部互連訪問(wèn)(讀/寫);2個(gè)包裝的32位內(nèi)部互連訪問(wèn)(讀/寫);4個(gè)遞增32位內(nèi)部互連訪問(wèn)(讀/寫);4個(gè)包裝的32位內(nèi)部互連訪問(wèn)(讀/寫);8個(gè)遞增的32位內(nèi)部互連訪問(wèn)(讀/寫);8個(gè)包裝的32為內(nèi)部互連訪問(wèn)(讀/寫)。僅支持線性突發(fā)事務(wù);不支持交錯(cuò)

25、突發(fā)事務(wù)。2的n次方精確突發(fā)2*32,4*32,8*32或16*32,支持整個(gè)突發(fā)大小的基地址對(duì)齊(這種限制應(yīng)用于遞增突發(fā))。這個(gè)接口也為具體的事件控制提供一個(gè)中斷和一個(gè)dma請(qǐng)求線。推薦根據(jù)有效連接設(shè)備頁(yè)長(zhǎng)度編程gpmc_config1_i 寄存器的attacheddevicepagelength 位 (24-23),若連接的設(shè)備支持包裝突發(fā),則使能gpmc_config1_i寄存器wrapburst位(31)。然而,通過(guò)提供頁(yè)上相關(guān)地址或分割事務(wù),可能在一個(gè)非包裝內(nèi)存上仿真包裝突發(fā)。突發(fā)長(zhǎng)度大于內(nèi)存頁(yè)長(zhǎng)度被切分為多個(gè)突發(fā)事務(wù)。制約與對(duì)齊需求,不會(huì)出現(xiàn)頁(yè)邊界越界。.7 gpmc

26、 地址和數(shù)據(jù)總線目前的應(yīng)用支持gpmc連接nand設(shè)備和地址/數(shù)據(jù)復(fù)用內(nèi)存或設(shè)備。連接到地址/數(shù)據(jù)非復(fù)用內(nèi)存取決于每個(gè)片選的gpmc配置,不要求特別訪問(wèn)協(xié)議的地址和數(shù)據(jù)總線不用更新(從目前值改變),當(dāng)輸入時(shí)不會(huì)被樣本化(輸入數(shù)據(jù)總線)。針對(duì)地址/數(shù)據(jù)復(fù)用和aad復(fù)用nor設(shè)備,地址和數(shù)據(jù)總線復(fù)用;8位寬nor設(shè)備不使用gpmc i/o:gpmc_ad15-8為數(shù)據(jù)總線(若需要用于地址總線)。16位寬nand設(shè)備不使用gpmc i/o:gpmc_a27-0。8位寬nand設(shè)備不使用gpmc i/o:gpmc_a27-0和gpmc i/o: gpmc_ad15-8。.7.1 gpmc

27、 i/o配置設(shè)置注:本部分和下一部分,gpmc_configx_i寄存器i代表gpmc片選i(0到6)。選擇一個(gè)nand設(shè)備,編程下面寄存器域:l gpmc_config1_i11-10 devicetype field = 10bl gpmc_config1_i9-8 muxadddata bit = 00選擇一個(gè)地址/數(shù)據(jù)多路復(fù)用設(shè)備,編程下面寄存器域:l gpmc_config1_i11-10 devicetype field = 00l gpmc_config1_i9-8 muxadddata bit = 10b選擇一個(gè)地址/地址/數(shù)據(jù)多路復(fù)用設(shè)備,編程下面的寄存器域:l gpmc_c

28、onfig1_i11-10 devicetype field = 00l gpmc_config1_i9-8 muxadddata bit = 01b 選擇一個(gè)地址/非多路復(fù)用數(shù)據(jù)設(shè)備,編程下面寄存器域:l gpmc_config1_i11-10 devicetype field = 00l gpmc_config1_i9-8 muxadddata bit = 00.8 地址解碼和片選配置地址根據(jù)片選的地址請(qǐng)求和片選基地址寄存器文件解碼,包括一座全局gpmc配置寄存器和8組片選配置寄存器。gpmc配置寄存器文件時(shí)內(nèi)存映射的,可以以字節(jié),16位字,32位字讀或?qū)憽<拇嫫魑募?huì)被配

29、置為一個(gè)非緩存的域,用于防止任何主機(jī)執(zhí)行(寫請(qǐng)求)和寄存器配置完成(帶寄存器更新寫完成)之間的任何不同步操作。提供gpmc寄存器位置。參考gpmc內(nèi)存位置映射。片選配置之后,訪問(wèn)引擎訪問(wèn)外部設(shè)備,驅(qū)動(dòng)外部接口控制信號(hào),應(yīng)用基于用戶定義的時(shí)鐘參數(shù)和配置的接口協(xié)議。.8.1 片選基地址和域大小任何外部?jī)?nèi)存或連接在gpmc外部接口上的asic設(shè)備可以被任何設(shè)備系統(tǒng)主訪問(wèn)gpmc512m連續(xù)的地址空間。gpmc512m地址空間可以被劃分為最多7個(gè)片選區(qū)域,每個(gè)片選區(qū)域的基地址和大小可以編程。cs大小可以編程為16m字節(jié)到256m字節(jié)(必須為2的指數(shù)冪),定義在掩碼域中。關(guān)聯(lián)的內(nèi)存小于編程

30、的cs域大小通過(guò)整個(gè)cs域來(lái)訪問(wèn)。(別名)每個(gè)片選有一個(gè)6位基地址編碼和一個(gè)4位解碼掩碼,必須根據(jù)下面規(guī)則編程:l 編程的片選域基地址必須和片選域大小邊界對(duì)齊,是一個(gè)2的指數(shù)冪值。訪問(wèn)解碼過(guò)程中寄存器基地址值用于和描述在figure7-6(a0作為設(shè)備系統(tǒng)字節(jié)地址線)地址位線映射進(jìn)行地址比較?;刂吠ㄟ^(guò)gpmc_config7_i5-0 baseaddress位域編程。l 寄存器掩碼用于排除來(lái)自解碼部分的部分地址線。一個(gè)寄存器屏蔽位域清0表示阻止相關(guān)的地址線進(jìn)行地址比較(不關(guān)心輸入地址位線)。寄存器屏蔽值必須限制在隨后的值,基于期望的片選域大小。任何其它的值會(huì)導(dǎo)致無(wú)效的結(jié)果。當(dāng)多個(gè)片選域具有重

31、疊的地址,且并發(fā)使能,那么訪問(wèn)這些片選域的行為將會(huì)被取消,產(chǎn)生一個(gè)gpmc訪問(wèn)錯(cuò)誤。屏蔽位通過(guò)gpmc_config7_i11-8 maskaddress位域編程。 應(yīng)該避免屏蔽值為0010或1001,因?yàn)樵谄x地址空間將會(huì)產(chǎn)生洞。必須進(jìn)行片選配置(基地址和屏蔽地址或任何協(xié)議和時(shí)鐘設(shè)置),而相關(guān)的片選是通過(guò)gpmc_config7_i6寄存器csvalid位來(lái)禁用的。另外僅當(dāng)片選上沒(méi)有正在進(jìn)行的訪問(wèn)時(shí),片選配置才可以禁用。這個(gè)請(qǐng)求對(duì)預(yù)取指和寫提交引擎的監(jiān)控的行為,當(dāng)引擎在片選上有效時(shí)。同時(shí),必須監(jiān)控寫緩沖區(qū)狀態(tài)直到片選的任何提交的寫操作完成。任何嘗試訪問(wèn)一個(gè)無(wú)效的gpmc地址區(qū)域(csvali

32、d禁用或地址解碼超出一個(gè)有效的片選域)不會(huì)傳播到外部接口,會(huì)產(chǎn)生一個(gè)gpmc訪問(wèn)錯(cuò)誤。片選重疊情況下,將會(huì)產(chǎn)生一個(gè)錯(cuò)誤,任何一個(gè)片選不會(huì)產(chǎn)生訪問(wèn)行為。片選0在掉電復(fù)用后事唯一的使能片選域。盡管gpmc接口可以取代7個(gè)片選,這個(gè)接口指定的頻率是一個(gè)具體的負(fù)載。若負(fù)載過(guò)高,經(jīng)不會(huì)達(dá)到最大頻率。一種解決方案是在板卡應(yīng)用緩沖區(qū),允許最慢的設(shè)備維持連上的所有負(fù)載。.8.2 訪問(wèn)協(xié)議.8.2.1 支持的設(shè)備每一個(gè)片選的訪問(wèn)協(xié)議都是通過(guò)gpmc_config1_i11-10 devicetype參數(shù)獨(dú)立指明的。隨機(jī)訪問(wèn)同步或異步內(nèi)存,如nor flash,sram;nand fl

33、ash異步設(shè)備。關(guān)于nand flash gpmc基本編程模型和nand支持的更多信息,參考section .12 和section .12.1。.8.2.2 訪問(wèn)字節(jié)選擇和設(shè)備寬度每一個(gè)片選可以通過(guò)gpmc_config1_i13-12 devicesize域獨(dú)立配置連接16位寬設(shè)備或8位寬設(shè)備。系統(tǒng)請(qǐng)求的數(shù)據(jù)寬度大于外部設(shè)備數(shù)據(jù)總線寬帶,則根據(jù)外部設(shè)備數(shù)據(jù)總線寬帶和小端數(shù)據(jù)組織劃分為連續(xù)的訪問(wèn)。一個(gè)8位寬設(shè)備必須連接在d0到d7外部接口總線。當(dāng)關(guān)聯(lián)的片選連接到一個(gè)8位寬設(shè)備時(shí),gpmc數(shù)據(jù)訪問(wèn)僅適用這個(gè)總線帶。8位寬設(shè)備在單個(gè)數(shù)據(jù)階段(非8位寬設(shè)備

34、突發(fā)模式)可以連接在同步或異步模式。若片選配置寄存器設(shè)置了8為寬設(shè)備,不用考慮多讀和多寫位,僅執(zhí)行單訪問(wèn)。一個(gè)16位設(shè)備在一個(gè)訪問(wèn)的單個(gè)或多個(gè)數(shù)據(jù)階段可以以同步或異步方式連接,支持固有或模仿包裝模式。.8.2.3 地址/復(fù)用數(shù)據(jù)總線接口針對(duì)隨機(jī)同步或異步內(nèi)存接口(devicetype = 0b00),一個(gè)地址和多路復(fù)用數(shù)據(jù)協(xié)議可以通過(guò)gpmc_config1_i9-8 muxadddata域來(lái)選定。advn信號(hào)必須用于外部設(shè)備地址鎖存控制信號(hào)。針對(duì)相關(guān)的片選配置,advn激活和禁用時(shí)間和oen激活激活時(shí)間必須設(shè)置為合適的值來(lái)滿足外部設(shè)備的地址鎖存安裝/保持時(shí)間要求(參考7.1.2

35、)。這個(gè)地址/復(fù)用數(shù)據(jù)接口不應(yīng)用于nand設(shè)備接口。nand設(shè)備要求一個(gè)具體的地址、命令和復(fù)用數(shù)據(jù)協(xié)議(參考 section .12).)。.8.3 外部信號(hào).8.3.1 wait pin monitoring control當(dāng)外部設(shè)備訪問(wèn)時(shí)間不確定時(shí),且不能通過(guò)gpmc內(nèi)部rdaccesstime,,wraccesstime和 pageburstaccesstime等待狀態(tài)發(fā)生器定義和控制時(shí),gpmc訪問(wèn)時(shí)間可以通過(guò)外部gpmc_wait引腳動(dòng)態(tài)控制。gpmc特征兩個(gè)輸入等待引腳:gpmc_wait1,和gpmc_wait0。這個(gè)引腳可以用不同的wa

36、it_pin極性對(duì)外部設(shè)備進(jìn)行控制。他們也允許來(lái)之外部設(shè)備的wait_pin激活重疊,不影響wait pin沒(méi)有激活的設(shè)備訪問(wèn)。l .gpmc_config1_i17-16 waitpinselect位域(i=0到6)選定那個(gè)gpmc_wait引腳用于設(shè)備關(guān)聯(lián)到對(duì)應(yīng)片選。l wait 引腳的極性通過(guò)gpmc_config寄存器的waitxpinpolarity位定義。一個(gè)wait引腳被配置激活為低電平,wait信號(hào)低電平表示數(shù)據(jù)沒(méi)有就緒,數(shù)據(jù)總線是無(wú)效的。當(dāng)wait是無(wú)效情況下,數(shù)據(jù)時(shí)有效的。gpmc訪問(wèn)引擎可以根據(jù)訪問(wèn)類型:讀或?qū)?,配置每一個(gè)片選監(jiān)控或不監(jiān)控外部?jī)?nèi)存設(shè)備的wait引腳。l g

37、pmc_config1_i22 waitreadmonitoring位定義了是否wait引腳在讀訪問(wèn)過(guò)程中被監(jiān)控或不被監(jiān)控。l gpmc_config1_i21 waitreadmonitoring位定義了是否wait引腳在寫訪問(wèn)過(guò)程中被監(jiān)控或不被監(jiān)控。gpmc訪問(wèn)引擎可以根據(jù)設(shè)備的訪問(wèn)類型同步還是異步的(gpmc_config1_i29 readtype 和gpmc_config1_i27 writetype 位)配置同步或異步的gpmc_clk時(shí)鐘監(jiān)控外部?jī)?nèi)存設(shè)備。.8.3.2 一個(gè)異步讀訪問(wèn)操作過(guò)程中的等待監(jiān)控當(dāng)讀訪問(wèn)((waitreadmonitoring)的wait_p

38、in監(jiān)控使能時(shí),有效的訪問(wèn)時(shí)間是rdaccesstime定時(shí)完成和wait-deasserted狀態(tài)時(shí)間的邏輯和。.8.3.3 一個(gè)異步寫訪問(wèn)過(guò)程中的等待監(jiān)控.8.3.4 一個(gè)同步讀訪問(wèn)過(guò)程中的等待監(jiān)控.8.3.5 一個(gè)同步寫訪問(wèn)過(guò)程中的等待監(jiān)控.3.6 wait with nand設(shè)備 關(guān)于使用wait引腳和一個(gè)nand flash設(shè)備通訊的詳細(xì)描述,參考section .12.2。.8.3.7 連續(xù)訪問(wèn)間的空閑周期控制. 總線周轉(zhuǎn)(busturnaround).8.

39、3.7.2 訪問(wèn)同一個(gè)片選間空閑周期(cycle2cyclesamecsen,cycle2cycledelay). 訪問(wèn)不同片選間空閑周期(cycle2cyclediffcsen,cycle2cycledelay).8.3.8 慢設(shè)備支持(timeparagranularity參數(shù)) 所有的存取定時(shí)參數(shù)可能通過(guò)設(shè)置gpmc_config1_i4寄存器的timeparagranularity位乘以2。增加所有的存取定時(shí)參數(shù)允許慢設(shè)備的支持。.8.3.9 gpmc_dir pin.8.3.10 復(fù)位.8.3.11

40、寫保護(hù)信號(hào)(wpn).8.3.12 字節(jié)使能(be1n/be0n).8.4 錯(cuò)誤處理.9 定時(shí)設(shè)置 gpmc為支持多種訪問(wèn)協(xié)議提供了最大的靈活性。用于和gpmc通訊的內(nèi)存或設(shè)備的大多數(shù)的協(xié)議訪問(wèn)時(shí)序參數(shù)在片選上是可編程的。定義了控制信號(hào)的激活和無(wú)效來(lái)匹配關(guān)聯(lián)內(nèi)存或設(shè)備的訪問(wèn)過(guò)程中的時(shí)序規(guī)格。關(guān)于cpmc_clk和gpmc_fclk的更多信息請(qǐng)參考section .9.6。 下面部分,起始存取訪問(wèn)時(shí)間指訪問(wèn)開(kāi)始的時(shí)間。.9.1 讀循環(huán)周期和寫循環(huán)周期(rdcycletime/wrcycletime).9.2 cs

41、n:片選信號(hào)控制激活/禁用時(shí)間(csontime/csrdofftime/cswrofftime/csextradelay).9.3 advn/ale:地址有效/地址鎖存使能信號(hào)控制激活/禁用時(shí)間(advontime/advrdofftime/advwrofftime/advextradelay/advaadmuontime/advaadmuxrdofftime/advaadmuxwrofftime).9.4 oen/ren:輸出使能/讀使能使能信號(hào)控制有效/禁用時(shí)間(oeontime/oeofftime/oeextradelay/oeaadmuxontime/oe

42、aadmuxofftime).9.5 wen:寫使能信號(hào)控制激活/禁用時(shí)間(weontime/weofftime/weextradelay).9.6 gpmc_clkl gpmc_clk是外部時(shí)鐘提供的,關(guān)聯(lián)在同步的內(nèi)存或設(shè)備。l gpmc_clk時(shí)鐘頻率四gpmc_fclk功能時(shí)鐘頻率通過(guò)1,2,3,4分頻,根據(jù)gpmc_config1_i1-0 gpmcfclkdivider位域,保證50%的占空比;l gpmc_clock時(shí)鐘僅在訪問(wèn)過(guò)程中被激活,定義為同步(讀或?qū)懺L問(wèn));l pmc_config1_i26-25 clkactivationtime域定義了從開(kāi)

43、始訪問(wèn)時(shí)間到gpmc_clk激活的gpmc_fclk時(shí)鐘周期數(shù);l 當(dāng)時(shí)鐘周期完成和訪問(wèn)間低有效時(shí)gpmc_clk時(shí)鐘停止;l 當(dāng)存取模式定義為異步時(shí),gpmc_clk時(shí)鐘保存低電平;l 當(dāng)gpmc配置為同步模式時(shí),gpmc_clk信號(hào)(輸出)必須在引腳的pin mux配置中設(shè)置為輸入。gpmc_clk通過(guò)對(duì)于gpmc_clk引腳的輸出和輸入緩沖區(qū)在設(shè)備邊界不斷循環(huán)。循環(huán)時(shí)鐘用于同步內(nèi)存信號(hào)的樣本。當(dāng)周期時(shí)序完成,gpmc_clk因?yàn)間pmcfclkdivider位域?qū)?huì)是高電平。為了保證gpmc_clk在50%的占空比周期內(nèi)正確停止,用戶負(fù)責(zé)擴(kuò)展rdcycletime 或wrcycletim

44、e的值。為了確保一個(gè)正確的外部時(shí)鐘周期,應(yīng)該遵守下面的規(guī)則:l (rdcycletime - clkactivationtime)必須是(gpmcfclkdivider + 1)的倍數(shù);l pageburstaccesstime值必須是(gpmcfclkdivider + 1)的倍數(shù)。.9.7 gpmc_clk 和控制信號(hào)啟動(dòng)和保持 gpmc_clk邊界相關(guān)的控制信號(hào)傳輸(激活和禁用)設(shè)置和保持值可以統(tǒng)一如下方法控制: 針對(duì)gpmc_clk信號(hào),gpmc_config1_i26-25 clkactivationtime域允許控制信號(hào)激活時(shí)間的設(shè)置和保持控制。分頻gpmc_clk的

45、使用允許控制信號(hào)激活和禁用時(shí)間的設(shè)備和保持控制;當(dāng)gpmc_clk運(yùn)行在gpmc_fclk頻率下,所以gpmc_clk邊界和控制信號(hào)傳輸執(zhí)行相同的gpmc_fclk邊界,控制信號(hào)可以延遲半個(gè)gpmc_fclk時(shí)鐘周期來(lái)提供最小的設(shè)置和保持時(shí)間。這半個(gè)gpmc_fclk延遲通過(guò)csextradelay,advextradelay,,oeextradelay,或 weextradelay參數(shù)使能。這個(gè)延遲必須小心使用防止連續(xù)不同片選訪問(wèn)時(shí)出現(xiàn)控制信號(hào)重疊。這表示rdcycletime和wrcycletime大于上一次控制信號(hào)禁用時(shí)間,包括額外的半個(gè)gpmc_fclk周期。.9.8 存

46、取時(shí)間(rdaccesstime/eraccesstime) 讀訪問(wèn)時(shí)間和寫訪問(wèn)時(shí)間持續(xù)可以通過(guò)gpmc_config5_i20-16 rdaccesstime和gpmc_config6_i28-24 wraccesstime域獨(dú)立編程。這允許oen和gpmc數(shù)據(jù)采集時(shí)鐘參數(shù)獨(dú)立于wen和內(nèi)存設(shè)備少交采集時(shí)鐘參數(shù)。rdaccesstime和wraccesstime位域可以通過(guò)gpmc_config1_i4 timeparagranularity域設(shè)置為1或2個(gè)粒度。.9.8.1 讀訪問(wèn)存取時(shí)間.9.8.2 寫訪問(wèn)存取時(shí)間.9.9 頁(yè)突發(fā)訪存取時(shí)間(pa

47、geburstaccesstime).9.9.1 讀訪問(wèn)頁(yè)突發(fā)訪問(wèn)時(shí)間.9.9.2 寫訪問(wèn)頁(yè)突發(fā)訪問(wèn)時(shí)間.10 nor 存取描述針對(duì)每一個(gè)片選配置,讀訪問(wèn)應(yīng)該通過(guò)gpmc_config1_i29 readtype位指明為異步或同步。針對(duì)每一個(gè)片選配置,寫訪問(wèn)通過(guò)gpmc_config1_i27 writetype位設(shè)置為異步或同步訪問(wèn)。異步或同步讀寫訪問(wèn)時(shí)間和相關(guān)的控制信號(hào)通過(guò)gpmc_fclk時(shí)鐘參數(shù)控制。同步模式的主要區(qū)別是有一個(gè)可配置的時(shí)鐘接口(gpmc_clk)來(lái)控制外部設(shè)備。同步模式也影響讀訪問(wèn)的數(shù)據(jù)采集和wait_pin監(jiān)控模式。關(guān)于異步和

48、同步訪問(wèn)的詳細(xì)描述,參考gpmc_clk,rdaccesstime,,wraccesstime,wait-pin monitoring.的描述。關(guān)于時(shí)鐘參數(shù)設(shè)置更多信息,參考這一章節(jié)樣本時(shí)序表。針對(duì)一個(gè)同步突發(fā)讀訪問(wèn)持續(xù)時(shí)間地址總線和be1:0是固定的,但是他們針對(duì)異步頁(yè)讀訪問(wèn)心跳更新。.10.1 異步存取描述.10.1.1 地址./數(shù)據(jù)總線復(fù)用設(shè)備存取操作. 地址/數(shù)據(jù)復(fù)用設(shè)備異步單讀操作. 地址/數(shù)據(jù)復(fù)用設(shè)備異步單讀. 地址/數(shù)據(jù)復(fù)用設(shè)備異步單寫操作.10.1

49、.1.4 地址/數(shù)據(jù)復(fù)用設(shè)備異步單寫. 地址/數(shù)據(jù)復(fù)用設(shè)備異步多(頁(yè))寫操作.10.1.2 地址/地址/數(shù)據(jù)(aad)復(fù)用設(shè)備存取操作. 一個(gè)aad復(fù)用設(shè)備上的異步單讀操作. 一個(gè)aad復(fù)用設(shè)備上的異步單讀. 一個(gè)aad復(fù)用設(shè)備上的異步單寫操作. 一個(gè)aad復(fù)用設(shè)備上的異步單寫.10.2 同步存取描述.10.2.1 同步單讀操作.10.2.2 帶環(huán)繞功能同步多(突發(fā))讀(4-,8-,16-字

50、16突發(fā)).10.2.3 同步單寫.10.2.4 同步多(突發(fā))寫.10.3 非復(fù)用模式的異步或同步存取.10.3.1 非復(fù)用設(shè)備異步單讀操作.10.3.2 非復(fù)用設(shè)備異步單寫操作.10.3.3 非復(fù)用設(shè)備異步多(頁(yè)模式)讀操作.10.3.4 非復(fù)用設(shè)備同步操作.10.4 頁(yè)和突發(fā)支持.10.5 系統(tǒng)突發(fā)與外部設(shè)備突發(fā)支持.11 psram存取特點(diǎn)psram設(shè)備是sram引腳兼容的低功耗內(nèi)存,包括一個(gè)獨(dú)自刷新的dram內(nèi)存組。gpmc_config1_i1

51、1-10 devicetype域應(yīng)該被清除為0b00。psram設(shè)備使用nor協(xié)議。支持下面操作:l 異步單讀;l 異步頁(yè)讀;l 異步單寫;l 同步單讀和寫;l 同步突發(fā)讀;l 同步突發(fā)寫(不支持nor flash內(nèi)存)。psram設(shè)備必須上電根據(jù)關(guān)聯(lián)設(shè)備的規(guī)格初始化為預(yù)定義方式。psram設(shè)備可以編程為使用固定或可變延遲模式。psram設(shè)備可以自動(dòng)調(diào)度自動(dòng)刷新操作,這個(gè)當(dāng)讀寫操作發(fā)生在一個(gè)內(nèi)部自動(dòng)刷新操作間時(shí),強(qiáng)迫gpmc使用wait信號(hào)能力,或psram設(shè)備自動(dòng)包括訪問(wèn)時(shí)間中的自動(dòng)刷新操作。這些設(shè)備不要求額外的wait信號(hào)能力或最小的連續(xù)的訪問(wèn)的csn高脈沖寬度,確保正確的內(nèi)部刷新操作被調(diào)

52、度。.12 nand存取描述使用標(biāo)準(zhǔn)nand異步地址/數(shù)據(jù)多路復(fù)用模式的nand(8位或16為)內(nèi)存設(shè)備可以在任何帶有合適的異步配置設(shè)置的片選上被支持。至于任何其它兼容gpmc接口的內(nèi)存類型,訪問(wèn)一個(gè)分配給一個(gè)nand設(shè)備的片選可能被一個(gè)訪問(wèn)其它外部設(shè)備連接的片選交叉。這個(gè)交叉能力限制了系統(tǒng)使能芯片,不關(guān)心nand設(shè)備,因?yàn)槿粽?qǐng)求訪問(wèn)到其它片選時(shí),分配給nand設(shè)備的片選應(yīng)該被禁用。.12.1 字節(jié)或16位字流模式nand內(nèi)存設(shè)備nand設(shè)備在數(shù)據(jù)組讀或?qū)懺L問(wèn)之前需要正確的命令和地址編程。gpmc不包括具體的翻譯一個(gè)隨機(jī)的地址系統(tǒng)請(qǐng)求為一個(gè)具體nand多階段訪問(wèn)的硬

53、件。在這個(gè)意義上,gpmc nand支持,相對(duì)于對(duì)接內(nèi)存映射設(shè)備支持,是面向數(shù)據(jù)流的(16位字或字節(jié))。gpmc nand編程模式依賴一個(gè)軟件驅(qū)動(dòng),這個(gè)軟件驅(qū)動(dòng)根據(jù)塊和頁(yè)結(jié)構(gòu)用正確的數(shù)據(jù)地址指針值格式化地址和命令。由于nand結(jié)構(gòu)和協(xié)議接口的密度,gpmc不支持自動(dòng)命令和地址相位編程,軟件驅(qū)動(dòng)必須訪問(wèn)nand設(shè)備id來(lái)保證正確的命令和地址格式化用于識(shí)別的設(shè)備。nand設(shè)備數(shù)據(jù)讀寫訪問(wèn)通過(guò)一個(gè)異步讀或?qū)懺L問(wèn)來(lái)完成。相關(guān)的片選信號(hào)定時(shí)控制必須根據(jù)nand設(shè)備時(shí)鐘參數(shù)規(guī)格編程。任何片選域可以編程為一個(gè)nand域來(lái)限制在地址訪問(wèn)過(guò)程中,advn_ale信號(hào)為地址鎖存使能(ale激活為高電平,默認(rèn)為低電

54、平),在命令編程過(guò)程中,be0n_cle信號(hào)為命令鎖存使能(cle激活高電平,默認(rèn)為低電平)。gpmc地址線在nand訪問(wèn)過(guò)程中不使用。.12.1.1 nand接口字節(jié)或字流模式片選配置gpmc_config7_i寄存器關(guān)聯(lián)一個(gè)字節(jié)或字流模式接口的nand設(shè)備域被初始化為16m大小的最小尺寸,因?yàn)槲挥谄x內(nèi)存域的任何地址可以被用于訪問(wèn)一個(gè)nand數(shù)據(jù)組。nand flash 協(xié)議規(guī)定一個(gè)地址序列,地址位通過(guò)數(shù)據(jù)總線以寫訪問(wèn)方式串行傳輸,ale引腳有效。地址階段之后,所有的操作都是流式的,系統(tǒng)請(qǐng)求地址無(wú)關(guān)。為了運(yùn)行正確的命令,地址,數(shù)據(jù)訪問(wèn)控制,gpmc_config1_i寄存器關(guān)

55、聯(lián)一個(gè)nan設(shè)備域必須初始化為異步讀或?qū)懩J?,參?shù)設(shè)置如下表所示。不正確的設(shè)備將會(huì)破壞nand接口協(xié)議。gpmc_config1_i 到 gpmc_config4_i寄存器關(guān)聯(lián)一個(gè)nand設(shè)備域必須根據(jù)nand設(shè)備時(shí)鐘參數(shù)用正確控制信號(hào)值初始化。.12.1.2 nand設(shè)備命令和地址相位控制nand設(shè)備需要多個(gè)地址編程階段。mpu軟件驅(qū)動(dòng)根據(jù)設(shè)備命令設(shè)置和設(shè)備地址映射模式,負(fù)責(zé)產(chǎn)生正確的命令和地址處理訪問(wèn)數(shù)。nand命令設(shè)備和相位地址編程通過(guò)寫入gpmc_nand_command_i 和gpmc_nand_address_i寄存器合適的值來(lái)完成。這些位置映射在管理的片選寄存器域。

56、關(guān)聯(lián)的片選信號(hào)定時(shí)控制必須根據(jù)nand設(shè)備時(shí)鐘規(guī)格編程。命令和地址值在訪問(wèn)過(guò)程中不能鎖存,在寄存器位置不能寫回。l 只有寫訪問(wèn)必須產(chǎn)生這些位置,但是gpmc不會(huì)丟棄任何讀訪問(wèn)。oen和cle或ale有效情況下,訪問(wèn)一個(gè)nand設(shè)備會(huì)產(chǎn)生未定義的結(jié)果。l gpmc_nand_command_i寄存器位置的寫訪問(wèn)和寫gpmc_nand_address_i寄存器位置在快速操作過(guò)程時(shí)必須被提交。gpmc_config0 nandforcepostedwrite位使能提交的寫訪問(wèn)到這些位置,甚至若操作定義為非提交。寫緩存用于在外部設(shè)備被訪問(wèn)前存儲(chǔ)寫發(fā)送信息:l 達(dá)到8個(gè)連接提交寫訪問(wèn)可能被接收或存儲(chǔ)在寫緩存中;l 針對(duì)非提交寫操作,the pipeline is one deep.;l gpmc_status0 emptywritebufferstatus位存儲(chǔ)了寫緩存的空狀態(tài)。gpmc_nand_co

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論