版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第 4 章章 Nios II外圍設(shè)備外圍設(shè)備主講人:李蘭英哈爾濱理工大學(xué)計算機(jī)學(xué)院 本章主要內(nèi)容:本章主要內(nèi)容:(1) SDRAM(1) SDRAM控制器概述控制器概述 (8) SPI(8) SPI核綜述核綜述 (2) CFI Flash(2) CFI Flash控制器概述控制器概述 (9) DMA(9) DMA控制器核綜述控制器核綜述 (3) EPCS(3) EPCS控制器綜述控制器綜述 (10)(10)系統(tǒng)系統(tǒng)IDID核綜述核綜述 (4) PIO(4) PIO控制器綜述控制器綜述 (11) PLL(11) PLL核綜述核綜述 (5)(5)定時器控制器綜述定時器控制器綜述 (12) Mut
2、ex(12) Mutex核核 (6) UART(6) UART核綜述核綜述 (7) JTAG UA RT (7) JTAG UA RT 核綜述核綜述 第四章 目錄n1 SDRAM控制器控制器 1.1 SDRAM控制器概述控制器概述 1.2 SOPC Builder中的中的 SDRAM控制器內(nèi)核配置選項控制器內(nèi)核配置選項 1.3 配置實例配置實例 1.4 SDRAM軟件編程模型軟件編程模型 1.5 時鐘、時鐘、PLL和時序和時序 1.6 Thumb指令集概述指令集概述n2.CFI2.CFI(通用(通用FlashFlash接口)控接口)控制器制器 2.1 CFI Flash2.1 CFI Flas
3、h控制器概述控制器概述 2.2 SOPC Builder2.2 SOPC Builder中中CFICFI控控制器配置選項制器配置選項 2.3 CFI2.3 CFI軟件編程模型軟件編程模型 n3 EPCS3 EPCS設(shè)備控制器設(shè)備控制器n3.1 EPCS3.1 EPCS控制器綜述控制器綜述 n3.2 SOPC Builder3.2 SOPC Builder中中EPCSEPCS控制器的配置選項控制器的配置選項n3.3 EPCS3.3 EPCS軟件編程模型軟件編程模型 第四章 目錄n4 PIO4 PIO控制器控制器n4.1 PIO4.1 PIO控制器綜述控制器綜述n4.2 SOPC Builder4
4、.2 SOPC Builder中中PIOPIO配置選項配置選項 n4.34.3PIOPIO軟件編程模型軟件編程模型 n4.44.4PIOPIO寄存器描述與中寄存器描述與中斷斷n5 5定時器控制器定時器控制器 n5.1 5.1 定時器控制器綜述定時器控制器綜述 n5.2 SOPC Builder5.2 SOPC Builder中定時中定時器核配置選項器核配置選項 n5.3 5.3 定時器軟件編程模型定時器軟件編程模型 n5.4 5.4 定時器寄存器描述與中定時器寄存器描述與中斷斷 n6 UART6 UART核核 n6.1 UART6.1 UART核綜述核綜述n6.2 SOPC Builder6.
5、2 SOPC Builder中中UARTUART核配置選項核配置選項 n6.3 UART6.3 UART軟件編程模型軟件編程模型 n6.4 UART6.4 UART寄存器描述與中斷寄存器描述與中斷 第四章 目錄n7 JTAG UART7 JTAG UART核核 n7.1 JTAG UA RT 7.1 JTAG UA RT 核綜述核綜述 n7.2 SOPC Builder7.2 SOPC Builder中中JTAG JTAG UARTUART核配置選項核配置選項 n7.3 JTAG UART7.3 JTAG UART的軟件編的軟件編程模型程模型 n7.4 JTAG UART7.4 JTAG UA
6、RT寄存器描寄存器描述與中斷述與中斷 n8 SPI8 SPI核核 n8.1 SPI8.1 SPI核綜述核綜述n8.2 SPI8.2 SPI配置實例配置實例 n8.3 SOPC Builder8.3 SOPC Builder中中SPISPI核核配置選項配置選項 n8.4 SPI8.4 SPI軟件編程模型軟件編程模型n8.5 SPI8.5 SPI寄存器描述寄存器描述 n9 DMA9 DMA控制器控制器 n9.1 DMA9.1 DMA控制器核綜述控制器核綜述 n9.2 SOPC Builder9.2 SOPC Builder中中DMADMA控制器配置選項控制器配置選項 n9.3 DMA9.3 DMA
7、軟件編程模型軟件編程模型 n9.4 DMA9.4 DMA寄存器描述與中斷寄存器描述與中斷 第四章 目錄n1010系統(tǒng)系統(tǒng)IDID核核 n10.1 10.1 系統(tǒng)系統(tǒng)IDID核綜述核綜述 n10.2 SOPC10.2 SOPC中系統(tǒng)中系統(tǒng)IDID配配置選項置選項 n10.3 10.3 系統(tǒng)系統(tǒng)IDID軟件編程軟件編程模型模型 n11 PLL11 PLL核核 n11.1 PLL11.1 PLL核綜述核綜述 n11.2 SOPC Builder11.2 SOPC Builder中中PLLPLL控控制器配置選項制器配置選項 n11.3 PLL11.3 PLL寄存器描述寄存器描述 n12 Mutex12
8、 Mutex核核 n12.1 12.1 概述概述 n12.2 12.2 功能描述功能描述 n12.3 12.3 在在SOPC BuliderSOPC Bulider中使用中使用mutexmutex核核 n12.4 Mutex12.4 Mutex軟件編程模型軟件編程模型 n12.5 Mutex12.5 Mutex核的核的API API 1 SDRAM控制器控制器 1.1 SDRAM1.1 SDRAM控制器概述控制器概述 1.2 SOPC Builder1.2 SOPC Builder中的中的 SDRAM SDRAM 控制器內(nèi)核配置選項控制器內(nèi)核配置選項 1.3 1.3 配置實例配置實例 1.4
9、SDRAM1.4 SDRAM軟件編程模型軟件編程模型 1.5 1.5 時鐘、時鐘、PLLPLL和時序和時序 1.6 Thumb1.6 Thumb指令集概述指令集概述 第四章第四章 目錄目錄 1 SDRAM 1 SDRAM控制器概述控制器概述n具有具有Avalon接口的接口的SDRAM控制器控制器IP核為核為FPGA片外片外SDRAM提供一個提供一個Avalon接口,使設(shè)計者在接口,使設(shè)計者在FPGA中創(chuàng)建一個方便與中創(chuàng)建一個方便與SDRAM芯片連接的定芯片連接的定制系統(tǒng)。它支持制系統(tǒng)。它支持PC100規(guī)范中所描述的標(biāo)準(zhǔn)規(guī)范中所描述的標(biāo)準(zhǔn)SDRAM。nSDRAM一般用在需要大容量易失性存儲器且對
10、成本敏感的應(yīng)用中,一般用在需要大容量易失性存儲器且對成本敏感的應(yīng)用中,即即SDRAM相對便宜,但需要進(jìn)行刷新、行打開(相對便宜,但需要進(jìn)行刷新、行打開(OpenRow)管理、)管理、延時及其他操作。延時及其他操作。SDRAM控制器與一個或多個控制器與一個或多個SDRAM芯片相連,并由芯片相連,并由它處理所有的它處理所有的SDRAM協(xié)議請求。在協(xié)議請求。在FPGA內(nèi)部,內(nèi)部,SDRAM控制器核提供控制器核提供一個線性存儲器(一個線性存儲器(flat地址空間)的地址空間)的Avalon從端口,與從端口,與Avalon主外設(shè)相主外設(shè)相連。連。n該核可通過不同的數(shù)據(jù)寬度(該核可通過不同的數(shù)據(jù)寬度(8、
11、16、32或或64位)來訪問位)來訪問SDRAM,可訪問不同容量且有多個片選的存儲器??稍L問不同容量且有多個片選的存儲器。Avalon接口有延遲功能,允許接口有延遲功能,允許進(jìn)行流水讀操作。該核可選擇與其他片外進(jìn)行流水讀操作。該核可選擇與其他片外Avalon三態(tài)設(shè)備共享地址和數(shù)三態(tài)設(shè)備共享地址和數(shù)據(jù)總線。這一點對引腳有限的系統(tǒng)很重要,此時,除了據(jù)總線。這一點對引腳有限的系統(tǒng)很重要,此時,除了SDRAM之外,系之外,系統(tǒng)還必須與其他多個存儲器芯片相連。統(tǒng)還必須與其他多個存儲器芯片相連。n具有具有Avalon接口的接口的SDRAM控制器核包含在控制器核包含在SOPC Builder中,很容中,很容
12、易集成到任何易集成到任何SOPC Builder所創(chuàng)建的系統(tǒng)中。所創(chuàng)建的系統(tǒng)中。n圖4-1是SDRAM控制器核的方框圖。該控制器與一個外部SDRAM芯片相連。1Avalon接口接口Avalon從端口是SDRAM控制器核唯一用戶可見部分。該端口提供了一個平面的(flat)、連續(xù)的且與SDRAM容量相應(yīng)的存儲器空間。對從端口的訪問完全是透明的。Avalon接口就像一個簡單的存儲器接口,無任何存儲器映射配置寄存器。Avalon從端口允許外設(shè)控制插入讀和寫傳送的等待周期,從端口等待直到外設(shè)提供有效數(shù)據(jù)。從端口也支持具有可變延時的讀傳送,允許高帶寬的流水讀傳送。當(dāng)主外設(shè)讀取來自從外設(shè)的連續(xù)地址時,第一個
13、延遲周期后,返回第一個數(shù)據(jù),隨后的讀操作在每個時鐘周期都可讀取一個新的數(shù)據(jù),但是不能保證每個時鐘周期都能返回一個數(shù)據(jù),因為SDRAM控制器必須周期地暫停讀操作,而去刷新SDRAM。2片外片外SDRAM接口接口SDRAM控制器核與片外SDRAM芯片的接口提供PC100定義的標(biāo)準(zhǔn)信號。這些信號必須通過FPGA的 I/O引腳連接到SDRAM芯片上。(1)信號的時序與電氣特性信號的時序取決于核的配置,由硬件設(shè)計者完成核的配置以匹配系統(tǒng)中所選擇的SDRAM芯片。FPGA引腳的電氣特性取決于FPGA型號和在Quartus II軟件中的設(shè)定值。某些FPGA芯片系列支持較寬范圍的電氣標(biāo)準(zhǔn),能夠與多種SDRAM
14、芯片接口。(2)同步時鐘與數(shù)據(jù)信號SDRAM芯片的驅(qū)動時鐘必須和Avalon接口的時鐘速率相同,如圖4-1所示。一個片內(nèi)鎖相環(huán)(PLL)常被用于SDRAM控制器核與SDRAM芯片之間的時鐘相位調(diào)整。時鐘速度較低的系統(tǒng)往往不需要PLL,在較高時鐘頻率下,PLL用于調(diào)整時鐘以滿足SDRAM的需要。PLL模塊不是SDRAM控制器核的集成部件。若需要PLL,設(shè)計者必須添加altpll宏模塊(在SOPC Builder系統(tǒng)模塊之外)或PLL核(Quartus II 5.1以上版本支持),F(xiàn)PGA和SDRAM芯片不同的連接需要不同的PLL設(shè)置。若使用PLL,必須調(diào)整PLL來引入一個時鐘相移,以使得SDRA
15、M時鐘沿在同步信號穩(wěn)定之后才出現(xiàn)。SDRAM控制器不支持時鐘禁止模式,它總是設(shè)置cke信號有效。(3)與其他Avalon三態(tài)設(shè)備共享引腳如果Avalon三態(tài)橋出現(xiàn)在SOPC Builder系統(tǒng)中,SDRAM控制器核能與三態(tài)橋共享引腳。在這種情況下,該核的addr,dq(data)和dqm(字節(jié)使能)引腳與連接到Avalon三態(tài)橋的其他設(shè)備共享。這個特性節(jié)省I/O腳,這在包含多個外部存儲器芯片的系統(tǒng)中很有用(例如,F(xiàn)lash,SRAM,SDRAM等)。性能考慮性能考慮在最優(yōu)條件下,SDRAM控制器核的帶寬為每個時鐘周期接近一個字。然而,由于刷新SDRAM的開銷,每一個時鐘周期傳送一個字是不可能的
16、,其他影響內(nèi)核性能的因素有:(1)行打開SDRAM芯片由多個存儲器體(bank)組成,每個bank可獨(dú)立地進(jìn)行行打開地址管理。SDRAM控制器對每個bank進(jìn)行行打開管理,在同一行和同一bank中將以接近每個時鐘1個字的速率進(jìn)行連續(xù)讀和寫操作。頻繁地訪問不同banks時,行的關(guān)閉和打開將需要額外的管理周期。(2)數(shù)據(jù)和地址引腳的共享當(dāng)控制器與其他三態(tài)設(shè)備共享引腳時,通常平均訪問時間要增加而帶寬減少,當(dāng)允許其他設(shè)備訪問三態(tài)橋時,SDRAM需要行打開和關(guān)閉開銷周期。SDRAM控制器被允許重新訪問三態(tài)橋之前,必須等待幾個時鐘周期。為了使帶寬最大化,只要在同一行和同一bank內(nèi)進(jìn)行連續(xù)地讀或?qū)懖僮?,S
17、DRAM控制器自動維護(hù)三態(tài)橋的控制。注意:這種方式可能降低其他共享Avalon三態(tài)橋的設(shè)備的平均訪問時間。只要在連續(xù)的操作中有一個中斷,或者需要刷新操作,SDRAM控制器就會關(guān)閉一個打開的行。這將使得控制器不能永久阻塞對其他共享三態(tài)橋的設(shè)備的訪問;控制器保證不破壞SDRAM的行打開時間限制。(3)硬件設(shè)計與目標(biāo)FPGAFPGA影響硬件設(shè)計中可達(dá)到的最大時鐘周期頻率。某些系列的芯片可獲得較高的最大頻率,相同系列中速度高的性能也高。在Altera高性能FPGA中(例如,Stratix系列),SDRAM控制器可達(dá)到100MHz,但并不是在所有的FPGA都可達(dá)到100MHz的性能。最高頻率也取決于SO
18、PC Builder系統(tǒng)設(shè)計,SDRAM控制器時鐘也可能驅(qū)動系統(tǒng)模塊中的其他邏輯,這可能影響可達(dá)到的最大頻率。對達(dá)到100MHz的SDRAM控制器,由同一時鐘驅(qū)動的所有組件必須設(shè)計為100MHz, Quantus II軟件中的時序分析必須驗證硬件設(shè)計是否可以在100MHz下正常操作。SDRAM控制器核支持所有的Altera FPGA系列,不同的FPGA系列支持不同的I/O標(biāo)準(zhǔn),這可能影響該核與某些SDRAM芯片接口的能力。 1 SDRAM控制器控制器 1.1 SDRAM1.1 SDRAM控制器概述控制器概述 1.2 SOPC Builder1.2 SOPC Builder中的中的 SDRAM
19、SDRAM 控制器內(nèi)核配置選項控制器內(nèi)核配置選項 1.3 1.3 配置實例配置實例 1.4 SDRAM1.4 SDRAM軟件編程模型軟件編程模型 1.5 1.5 時鐘、時鐘、PLLPLL和時序和時序 1.6 Thumb1.6 Thumb指令集概述指令集概述 第四章第四章 目錄目錄 設(shè)計者在SOPC Builder中使用配置向?qū)碇付⊿DRAM控制器的硬件特性和仿真特性。配置向?qū)в?個標(biāo)簽:Memory Profile和Timing。Presets表提供了多個預(yù)定義的SDRAM配置以方便對SDRAM的配置。若目標(biāo)板上的SDRAM子系統(tǒng)與預(yù)定義配置中的某個相匹配,則選擇相應(yīng)的預(yù)置值很容易完成SDR
20、AM控制器的配置。當(dāng)選擇一個預(yù)置配置時,Memory Profile和Timing標(biāo)簽中的值自動改變。在標(biāo)簽中改變配置設(shè)定值,將使預(yù)置值變?yōu)槎ㄖ频闹怠?Memory Profile標(biāo)簽標(biāo)簽該標(biāo)簽允許設(shè)計者指明SDRAM子系統(tǒng)的結(jié)構(gòu)。例如,地址和數(shù)據(jù)總線的寬度、片選信號的個數(shù)和bank的數(shù)目等。表41列出了該標(biāo)簽下的所有設(shè)置選項。設(shè)定允許值缺省值描述數(shù)據(jù)寬度8、16、32、6432SDRAM數(shù)據(jù)總線寬度。該值決定了dq總線(數(shù)據(jù))和dqm總線(字節(jié)使能)的寬度。結(jié)構(gòu)設(shè)置片選1、2、4、81SDRAM子系統(tǒng)獨(dú)立片選的個數(shù)。使用多個片選,可將多個SDRAM芯片連接到一個存儲器子系統(tǒng)。塊2、44SDR
21、AM banks的數(shù)量。該值決定了與SDRAM相連ba (bank地址)總線的寬度,該值的設(shè)定由SDRAM數(shù)據(jù)手冊決定。地址寬度設(shè)置行11、12、13、1412 行地址位數(shù),該值決定地址總線的寬度。行和列值取決于所選擇SDRAM的尺寸。例如,具有4096(212)行512列的SDRAM行地址位數(shù)為12。列=8且小于行值8 列地址的位數(shù)。例如,4096行512(29)列的SDRAM的列位數(shù)為9??刂破鞴蚕韉q/dqm/addr I/O引腳Yes、NoNo 當(dāng)設(shè)為No,所有的引腳為SDRAM芯片專用。當(dāng)設(shè)為Yes,addr、dq和dqm引腳可與系統(tǒng)中的三態(tài)橋共享。這種情況下,SOPC Builde
22、r中會出現(xiàn)一個新的配置標(biāo)簽,允許用戶將SDRAM控制器引腳與一個指定的三態(tài)橋相連。在系統(tǒng)測試臺中包括一個功能存儲器模型Yes、NoYes若當(dāng)該選項被選中時,SOPC Builder為SDRAM芯片創(chuàng)建一個功能仿真模型。缺省的存儲器模型能加快使用SDRAM控制器的系統(tǒng)的創(chuàng)建和驗證過程。對該標(biāo)簽中的設(shè)定值,配置向?qū)б哉鬃止?jié)、兆位、可尋址字?jǐn)?shù)等單位顯示存儲器的容量,來驗證設(shè)定值是否正確。2Timing標(biāo)簽標(biāo)簽Timing標(biāo)簽允許設(shè)計者設(shè)定SDRAM芯片的定時參數(shù),正確的參數(shù)應(yīng)參照廠家數(shù)據(jù)手冊,表42列出了Timing標(biāo)簽的所有設(shè)置選項。表42 Timing標(biāo)簽設(shè)定設(shè)置允許值缺省值描述CAS延遲1、2
23、、33從讀命令到數(shù)據(jù)輸出延遲(以時鐘周期數(shù)為單位)。初始刷新周期182該值指明復(fù)位后,作為初始化序列的一部分,SDRAM控制器的刷新周期數(shù)。刷新時間間隔15.625us該值指明SDRAM控制器刷新SDRAM的時間間隔,一個典型的SDRAM每64ms需要4096次刷新,即刷新時間為64ms/4096=15.625us上電后、初始化之前延遲100us從時鐘和電源穩(wěn)定到SDRAM初始化之間的延遲。刷新命令的持續(xù)時間(t_rfc)70ns自動刷新周期。預(yù)充電命令的持續(xù)時間(t_rp)20ns預(yù)充電命令周期。ACTIVE to READ或 ACTIVE to WRITE延遲(t_rcd)20nsACTI
24、VE to READ或WRITE延遲。訪問時間(t_ac) 17ns從時鐘沿開始的訪問時間,該值可能取決于CAS延遲。寫恢復(fù)時間(t_wr,無任何自動預(yù)充電)14ns發(fā)出顯式的(explicit)預(yù)充電命令時的寫恢復(fù)時間。SDRAM控制器總是發(fā)出顯式的預(yù)充電命令。3硬件仿真硬件仿真下面討論SDRAM的仿真系統(tǒng),其硬件仿真需要3個主要的部件: SDRAM控制器的仿真模型。 SDRAM芯片的仿真模型,也稱之為存儲器模型。 連線存儲器模型到SDRAM控制器引腳的仿真測試臺。上述部件部分或全部在系統(tǒng)創(chuàng)建時產(chǎn)生。(1)SDRAM控制器仿真模型SOPC Builder創(chuàng)建的SDRAM控制器設(shè)計文件同時也適
25、合綜合和仿真。某些仿真特性在HDL中實現(xiàn)時通過使用“translate on/off”綜合命令,以使HDL代碼的某些段對綜合工具是不可見的。仿真特性的實現(xiàn)主要是方便ModelSim仿真器對Nios II處理器系統(tǒng)進(jìn)行仿真。沒有ModelSim專用的SDRAM控制器仿真模型,但是對其他仿真器,可能需要某些小的改動。(2)SDRAM存儲器模型仿真SDRAM存儲器模型有2個選擇。 使用通用存儲器模型若Include a functional memory model the system testbench選項在系統(tǒng)創(chuàng)建時被選中,則SOPC Builder為SDRAM存儲器創(chuàng)建一個HDL仿真模型。在
26、自動創(chuàng)建的系統(tǒng)測試臺中,SOPC Builder自動地連線存儲器模型到SDRAM控制器引腳。使用自動存儲器模型和測試臺加速包含SDRAM控制器系統(tǒng)的創(chuàng)建和驗證過程。但是存儲器模型是一個通用的功能模型,它并不能反映實際SDRAM芯片的時序和功能。通用模型總是被創(chuàng)建成單個、單片的存儲器塊。例如,對連接兩片SDRAM芯片的系統(tǒng),通用存儲器模型被創(chuàng)建成一個單個實體。使用SDRAM制造商的存儲器模型若上述選項未選中,設(shè)計者應(yīng)從SDRAM生產(chǎn)廠家獲取一個存儲器模型并在系統(tǒng)測試臺中手動連接該模型到SDRAM控制器的引腳。 4.1.3配置實例配置實例下面的實例表明如何把SDRAM控制器輸出引腳連到SDRAM芯
27、片。其中ctl是多個信號的集合體,例如cas_n、ras_n、cke和we_n。一個單片128M bit SDRAM芯片如圖42所示,它具有32位數(shù)據(jù)總線,其地址、數(shù)據(jù)和控制信號直接與芯片相連。存儲器空間是128M位(16M字節(jié))。圖42具有32位數(shù)據(jù)總線的單片128bit SDRAM芯片 圖43中包含2個64M位SDRAM芯片,每片的數(shù)據(jù)總線為16位,2個芯片的地址和控制總線并連。注意:2個芯片共享cs_n片選信號。每個芯片提供32位數(shù)據(jù)總線的一半。結(jié)果獲得一個容量為128M位(16M字節(jié))的32位數(shù)據(jù)存儲器。圖43 2個64M位SDRAM芯片(每個具有16位數(shù)據(jù)總線)圖44中包含2個128
28、M位SDRAM芯片,每個有32位數(shù)據(jù)線,控制、地址和數(shù)據(jù)線并聯(lián)。片選cs_n1:0決定哪一片被選中,結(jié)果獲得一個邏輯上256Mbit 32位的存儲器。圖44 2個128M位SDRAM芯片(每個具有32位數(shù)據(jù)總線) 1 SDRAM控制器控制器 1.1 SDRAM1.1 SDRAM控制器概述控制器概述 1.2 SOPC Builder1.2 SOPC Builder中的中的 SDRAM SDRAM 控制器內(nèi)核配置選項控制器內(nèi)核配置選項 1.3 1.3 配置實例配置實例 1.4 SDRAM1.4 SDRAM軟件編程模型軟件編程模型 1.5 1.5 時鐘、時鐘、PLLPLL和時序和時序 1.6 Thu
29、mb1.6 Thumb指令集概述指令集概述 第四章第四章 目錄目錄SDRAM軟件編程模型軟件編程模型當(dāng)通過Avalon接口訪問SDRAM控制器時,SDRAM控制器就是簡單的存儲器。沒有任何可配置的設(shè)定,也沒有任何存儲器映射的寄存器;處理器訪問SDRAM控制器不需要任何軟件驅(qū)動程序。 1 SDRAM控制器控制器 1.1 SDRAM1.1 SDRAM控制器概述控制器概述 1.2 SOPC Builder1.2 SOPC Builder中的中的 SDRAM SDRAM 控制器內(nèi)核配置選項控制器內(nèi)核配置選項 1.3 1.3 配置實例配置實例 1.4 SDRAM1.4 SDRAM軟件編程模型軟件編程模型
30、 1.5 1.5 時鐘、時鐘、PLLPLL和時序和時序 1.6 Thumb1.6 Thumb指令集概述指令集概述 第四章第四章 目錄目錄時鐘、時鐘、PLL和時序和時序 下面討論來自控制器核的同步信號與驅(qū)動SDRAM芯片的時鐘問題。在SDRAM操作期間,SDRAM引腳上的地址、數(shù)據(jù)和控制信號在某個時間窗口內(nèi)有效,在有效的時間窗口內(nèi)SDRAM時鐘必須切換(toggle)來捕獲正確的值,當(dāng)時鐘頻率較慢時,時鐘自然落在有效的窗口內(nèi);當(dāng)頻率較高時,必須補(bǔ)償SDRAM時鐘使之與有效窗口對齊。通過計算或利用示波器分析SDRAM引腳,可以觀察有效的窗口何時出現(xiàn),然后,使用PLL調(diào)整SDRAM時鐘的相位,以使得
31、邊沿發(fā)生在有效窗口的中間。為了滿足目標(biāo)板的要求,可能需要反復(fù)試驗來調(diào)節(jié)PLL的相移。1影響影響SDRAM時序的因素時序的因素窗口的位置和持續(xù)時間取決于下面幾個因素:PFGA和SDRAM I/O引腳的時序參數(shù) I/O時序參數(shù)隨著PFGA器件系列和速度等級而變。在FPGA上的引腳位置 與行布線(routing)連接的I/O引腳和與列布線連接的I/O引腳有不同的時序。在Quartus II編譯期間使用的邏輯選項 邏輯選項,例如,快速輸入寄存器和快速輸出寄存器,影響設(shè)計的布局布線。邏輯電路的位置和FPGA內(nèi)部的寄存器影響信號到I/O的傳播延時。SDRAM的CAS延遲。 FPGA和SDRAM芯片的不同的
32、連接,其有效的窗口時序不同,即窗口依賴于Quartus II的布局布線結(jié)果和引腳分配。2PLL的故障現(xiàn)象的故障現(xiàn)象檢測PLL調(diào)整的是否正確是困難的,數(shù)據(jù)傳送不可能總是失敗。例如,到SDRAM的單個傳送可能成功,而突發(fā)(burst)傳送可能失敗。對基于處理器的系統(tǒng),如果軟件能對SDRAM進(jìn)行讀寫操作,但當(dāng)代碼位于SDRAM中時卻不能運(yùn)行,則可能PLL調(diào)整的不正確。3估計有效的信號窗口估計有效的信號窗口下面討論使用由SDRAM數(shù)據(jù)手冊和Quartus II編譯報告提供的時序參數(shù),如何估計信號窗口的有效位置和持續(xù)時間。找到窗口后,可以調(diào)整PLL以使SDRAM時鐘邊沿精確地發(fā)生在窗口的中間位置。計算窗
33、口分兩步進(jìn)行:首先找到SDRAM時鐘可能比控制時鐘滯后多少,然后看它能超前多少。找到滯后和超前的最大值后,計算它們之間的中間點。這些計算僅提供一種估計。下面的延遲也能影響正常的PLL調(diào)整,但在下面的計算中沒有考慮。由于在PCB板上的延遲引起的信號相位偏移。計算中假設(shè)零偏移。從PLL時鐘輸出節(jié)點到目標(biāo)處的延遲。計算假設(shè)從PLL SDRAM時鐘輸出節(jié)點到引腳的延遲與從PLL的控制器時鐘輸出節(jié)點到SDRAM控制器中時鐘輸入的延遲相同。如果這些時鐘延遲相差較大,在窗口計算中必須考慮這種相移。圖4-5顯示出如何計算SDRAM時鐘滯后于控制器時鐘的最大值。圖4-6顯示如何計算超前的最大值。相對于控制器時鐘
34、,滯后是一個負(fù)的時移,超前是一個正的時移。SDRAM時鐘滯后于控制器時鐘的最大值取讀周期和寫周期的最大滯后值的較小值,即Maximum Lag = minimum(Read Lag, WriteLag)。類似地,超前值取讀周期和寫周期的最大超前值的較小值,即Maximum Lead =minimum(Read Lead, Write Lead)。圖4-5 計算SDRAM的最大時鐘滯后圖4-6 計算SDRAM的最大時鐘超前4計算實例計算實例 下面是計算信號窗口的一個例子,SDRAM芯片的型號是Micron MT48LC4M32B2-7,F(xiàn)PGA設(shè)計是針對Altera Stratix II EP2
35、S60F672C5的設(shè)計。這個例子使用3個周期的CAS延遲、50MHz的時鐘頻率;在FPGA上的所有SDRAM信號被寄存在I/O單元;在Quartus II軟件中選中Fast Input Register 和 Fast Output Register選項。表4-3是從MT48LC4M32B2設(shè)備手冊中節(jié)選的相關(guān)時序參數(shù)。參數(shù)符號值(ns)在-7速度級Min.Max.CLK訪問時間(正沿)CL = 3tAC(3)5.5CL = 2tAC(2)8CL = 1tAC(1)17地址保持時間tAH1地址建立時間tAS2時鐘高電平寬度tCH2.75表4-3 MT48LC4M32B2 SDRAM器件的時序參
36、數(shù)時鐘低電平寬度tCL2.75時鐘周期CL=3tCK(3)7CL=2tCK(2)10CL=1tCK(1)20CKE保持時間tCKH1CKE建立時間tCKS2CS#、 RAS#、 CAS#、 WE#、 DQM保持時間tCMH1CS#、 RAS#、CAS#、 WE#和DQM建立時間tCMS2數(shù)據(jù)輸入保持時間tDH1數(shù)據(jù)輸入建立時間tDS2數(shù)據(jù)輸出高阻時間CL=3tHZ(3)5.5CL=2tHZ(2)8CL=1tHZ(1)17數(shù)據(jù)輸出低阻時間tLZ1數(shù)據(jù)輸出保持時間tOH2.5表4-4顯示了PFGA相關(guān)的時序信息,來源于Quartus II編譯報告中的時序分析器。表4-4中的值是所有與SDRAM有關(guān)
37、的FPGA引腳的最大和最小值。FPGA上的SDRAM引腳之間的時序上的變化不大(小于100ps),原因是這些信號的寄存器被放在I/O單元中。表4-4 FPGA的 I/O時序參數(shù)參數(shù)符號值(ns)時鐘周期tCLK20時鐘到輸出的最小時間tCO_MIN2.399時鐘到輸出的最大時間tCO_MAX2.477時鐘后最大保持時間tH_MAX-5.607時鐘前最大建立時間tSU_MAX5.936FPGA設(shè)計的I/O時序信息必須通過設(shè)計的編譯才能得到。雖然Altrera系列器件的數(shù)據(jù)手冊包含一般的I/O時序信息,Quartus II編譯報告為特定的設(shè)計提供最精確的時序信息。 編譯報告里的時序值可能隨著布局、
38、引腳分配和其他Quartus II邏輯設(shè)置而改變,當(dāng)在Quartus II中重新編譯設(shè)計時,需驗證I/O時序沒有太大的變化。根據(jù)表4-3和4-4、圖4-5和4-6進(jìn)行如下計算:SDRAM的時鐘滯后控制器的時鐘值取讀滯后讀滯后或?qū)憸髮憸笾械妮^小值。Read Lag = tOH(SDRAM) - tH_MAX(FPGA)= 2.5 ns - (- 5.607 ns) = 8.107 ns或 Write Lag= tCLK - tCO_MAX(FPGA) - tDS(SDRAM)= 20 ns - 2.477 ns - 2 ns = 15.523 nsSDRAM的時鐘超前控制器的時鐘值取讀超前讀
39、超前或?qū)懗皩懗爸械妮^小值。Read Lead = tCO_MIN(FPGA) - tDH(SDRAM)= 2.399 ns - 1.0 ns = 1.399 ns或Write Lead = tCLK - tHZ(3)(SDRAM) - tSU_MAX(FPGA)= 20 ns - 5.5 ns - 5.936 ns = 8.564 ns所以上例中,相對于控制器的時鐘,SDRAM的時鐘相移從-8.107到1.399。在這個窗口的中間選擇一個相移的值為(-8.107 +1.399)/2 = -3.35 ns。 2.CFI2.CFI(通用(通用FlashFlash接口)控制器接口)控制器 2.1
40、 CFI Flash2.1 CFI Flash控制器概述控制器概述 2.2 SOPC Builder2.2 SOPC Builder中中CFICFI控制器配置選項控制器配置選項 2.3 CFI2.3 CFI軟件編程模型軟件編程模型 第四章第四章 目錄目錄CFI Flash控制器概述控制器概述具有Avalon接口的通用Flash接口(Common Flash Interface,CFI)控制器核很容易與SOPC Builder系統(tǒng)外的符合CFI參數(shù)要求的外部Flash相連,CFI控制器是SOPC Builder內(nèi)部集成的,可以很輕松地集成到SOPC Builder創(chuàng)建的系統(tǒng)中。對Nios II處
41、理器,Altera為CFI控制器提供HAL驅(qū)動子程序。驅(qū)動程序為CFI兼容的Flash提供通用的訪問子程序。HAL驅(qū)動子程序利用Flash的HAL通用設(shè)備模型,允許用戶使用熟悉的HAL API和/或ANSI C文件I/O標(biāo)準(zhǔn)庫函數(shù)訪問Flash。如何利用HAL API讀、寫Flash詳見第六章。Nios II開發(fā)工具提供了一個基于Nios II處理器和CFI控制器的Flash Programmer實用程序。該實用程序可對任何連接到FPGA的CFI兼容的Flash進(jìn)行編程。圖47是CFI控制器在一個典型系統(tǒng)中的方框圖。Flash芯片與Avalon接口通過一個Avalon三態(tài)橋相連接。三態(tài)橋創(chuàng)建一
42、個片外存儲器總線,允許Flash芯片與其他存儲器共享地址和數(shù)據(jù)引腳。對連接到存儲器總線的每個芯片,它提供單獨(dú)的片選、讀和寫引腳。CFI控制器是一個Avalon三態(tài)從端口,需要配置的參數(shù)有:與Flash芯片相匹配的等待狀態(tài)、建立和保持時間等。該從端口能進(jìn)行Avalon三態(tài)從端口讀傳送和寫傳送。Avalon主端口能直接從CFI控制器的Avalon口進(jìn)行讀傳送。圖47 集成了CFI控制器的SOPC Builder系統(tǒng) 2.CFI2.CFI(通用(通用FlashFlash接口)控制器接口)控制器 2.1 CFI Flash2.1 CFI Flash控制器概述控制器概述 2.2 SOPC Builder
43、2.2 SOPC Builder中中CFICFI控制器配置選項控制器配置選項 2.3 CFI2.3 CFI軟件編程模型軟件編程模型 第四章第四章 目錄目錄SOPC Builder中中CFI控制器配置選項控制器配置選項硬件設(shè)計者使用CFI控制器的SOPC Builder配置向?qū)碇该髟摵说奶匦?。配置向?qū)в?個標(biāo)簽:屬性(Attributes)標(biāo)簽和時序(Timing)標(biāo)簽。1屬性標(biāo)簽屬性標(biāo)簽在該標(biāo)簽下的選項控制CFI控制器的基本硬件配置。(1)預(yù)定義設(shè)置(Presets)Presets設(shè)置是一使用CFI控制器的Flash芯片的下拉菜單,在菜單中選擇一個芯片之后,向?qū)⒏?個標(biāo)簽中與指定Flas
44、h芯片相匹配的所有設(shè)定值(板子信息設(shè)置除外)。若目標(biāo)板上的Flash芯片沒有出現(xiàn)在Presets菜單中,則必須手動配置所有選項。(2)尺寸設(shè)置尺寸設(shè)置指明Flash的尺寸,有2個設(shè)置: 地址寬度 Flash芯片的地址總線寬度。 數(shù)據(jù)寬度 Flash芯片的數(shù)據(jù)總線寬度。尺寸設(shè)置使SOPC Builder為該設(shè)備分配正確的地址范圍。SOPC Builder將自動產(chǎn)生動態(tài)總線尺寸邏輯,以便將Flash正確地連接到不同數(shù)據(jù)寬度的Avalon主端口。(3)板子信息板子信息的設(shè)置內(nèi)容為Flash Programmer實用程序所使用,該設(shè)置內(nèi)容將CFI控制器映射到一目標(biāo)系統(tǒng)板上的已知芯片上。參考標(biāo)志符(Re
45、ference Designator)設(shè)定是一個下拉菜單,把當(dāng)前Flash元件映射到一個目標(biāo)板上參考標(biāo)志符。當(dāng)目標(biāo)板上有多個Flash時下拉菜單才有效。如果板上的所有Flash芯片被CFI控制器的其他實例所代表,SOPC Builder顯示一個錯誤。2時序(時序(Timing)標(biāo)簽)標(biāo)簽該選項指明Flash讀和寫傳送的時序要求,設(shè)定包括:Setup 片選有效后,發(fā)起讀或?qū)懶盘栔八钑r間。Wait 對每次傳送,使能讀寫信號所需的時間。Hold 寫信號無效后,使片選無效之前所需的時間。Units 定時單位,可以是ns,us,ms和時鐘周期數(shù)。 2.CFI2.CFI(通用(通用FlashFlash
46、接口)控制器接口)控制器 2.1 CFI Flash2.1 CFI Flash控制器概述控制器概述 2.2 SOPC Builder2.2 SOPC Builder中中CFICFI控制器配置選項控制器配置選項 2.3 CFI2.3 CFI軟件編程模型軟件編程模型 第四章第四章 目錄目錄CFI軟件編程模型軟件編程模型一般地,系統(tǒng)中任何Avalon主端口能直接對Flash進(jìn)行讀操作。對Nios II處理器用戶,Altera提供HAL系統(tǒng)庫子程序,通過HAL API函數(shù)可對Flash進(jìn)行擦除和寫操作。1HAL系統(tǒng)庫支持系統(tǒng)庫支持Altera提供了集成到Nios II的HAL系統(tǒng)庫的Flash設(shè)備驅(qū)動
47、程序。應(yīng)用程序調(diào)用熟悉的HAL API函數(shù)對CFI兼容的Flash進(jìn)行編程。用戶不需要了解底層驅(qū)動的任何細(xì)節(jié)。當(dāng)前,CFI控制器的驅(qū)動程序僅支持AMD和Intel 的Flash芯片。2軟件文件軟件文件下面文件定義了對硬件的底層訪問,提供了HAL Flash的設(shè)備驅(qū)動子程序,應(yīng)用程序開發(fā)者不應(yīng)該修改這些文件。 alter_avalon_cfi_flash.h、alter_avalon_cfi_flash.c 把驅(qū)動子程序集成到HAL System庫中所需的函數(shù)和變量的頭文件及源代碼。 altera_avalon_cfi_flash_amd_funcs.h、altera_avalon_cfi_fl
48、ash_ table.c 訪問CFI列表的頭文件和函數(shù)源代碼。 alter_avalon_cfi_flash_amd_funcs.h、Alter_avalon_cfi_flash_amd_funcs.c 對AMD CFI兼容的Flash進(jìn)行編程的頭文件和源碼。 altera_avalon_cfi_flash_intel_funcs.h、Altera_avalon_cfi_flash_intel_funcs.c 對Intel CFI兼容的Flash進(jìn)行編程的頭文件和源碼。 3 EPCS 3 EPCS設(shè)備控制器設(shè)備控制器 3.1 EPCS3.1 EPCS控制器綜述控制器綜述 3.2 SOPC Bu
49、ilder3.2 SOPC Builder中中EPCSEPCS控制器的配置選項控制器的配置選項 3.3 EPCS3.3 EPCS軟件編程模型軟件編程模型 第四章第四章 目錄目錄EPCS控制器綜述控制器綜述EPCS控制器允許Nios II系統(tǒng)訪問Altera的EPCS串行配置芯片。Altera提供集成到Nios II HAL系統(tǒng)庫的驅(qū)動程序, 可使用熟悉的訪問Flash的HAL API讀和寫EPCS設(shè)備。使用EPCS控制器, Nios系統(tǒng)可以: 在EPCS芯片中存入程序源代碼。EPCS控制器提供一個Bootloader功能,允許Nios系統(tǒng)把主程序代碼存到EPCS芯片中。 存儲非易失性的程序和數(shù)
50、據(jù),例如一個串行碼、NIC碼和其他的固定不變的數(shù)據(jù)。 管理FPGA配置數(shù)據(jù)。例如一個具有網(wǎng)絡(luò)功能的嵌入式系統(tǒng)能通過網(wǎng)絡(luò)接收新的FPGA配置數(shù)據(jù),使用EPCS控制器把新的數(shù)據(jù)寫到EPCS串行配置芯片中。EPCS控制器是SOPC Builder內(nèi)部集成的部件。很容易集成到SOPC系統(tǒng)中。利用NiosIDE中的Flash Programmer實用程序可把數(shù)據(jù)固化到EPCS芯片中。 1功能描述功能描述 圖48是一個典型的系統(tǒng)配置EPCS控制器的方塊圖。如圖所示,EPCS芯片中的存儲區(qū)可分兩個區(qū): FPGA配置存儲器 該區(qū)保存FPGA配置的數(shù)據(jù)。 通用存儲器 如果FPGA配置數(shù)據(jù)沒有填滿整個EPCS芯片
51、,剩余的空間可用來存放通用數(shù)據(jù)和系統(tǒng)啟動代碼。圖48 集成EPCS控制器的Nios系統(tǒng).依靠Flash的HAL通用設(shè)備模型,使用HAL API訪問EPCS設(shè)備的方法與任何Flash的訪問是相同的。EPCS芯片有一個特殊的硬件接口,所以Nios的程序必須使用HAL Flash驅(qū)動程序讀寫EPCS存儲器。EPCS控制存儲器包含1k字節(jié)的在片存儲器用來存放bootloader程序。 Nios處理器可配置為從EPCS控制器啟動。在這種情況下,復(fù)位后, CPU首先執(zhí)行bootloader中的ROM代碼,將EPCS通用存儲器的數(shù)據(jù)拷貝到RAM中,接著程序控制轉(zhuǎn)到RAM。NiosIDE提供實用工具來編譯存放
52、在EPCS中的程序,創(chuàng)建一個能夠?qū)懙紼PCS中的編程文件。Altera的EPCS配置芯片通過FPGA上專用的引腳與之相連,而不是通過通用I/O引腳,所以EPCS控制器在頂層的SOPC Builder系統(tǒng)模塊上并不創(chuàng)建任何I/O端口。如果在電路板上EPCS芯片和FPGA相連,目的是使用EPCS進(jìn)行配置(例如,主動串行配置模式),則不需要其他任何連線。當(dāng)在Quartus軟件中對SOPC Builder系統(tǒng)進(jìn)行編譯時,EPCS控制器信號被自動連線到EPCS芯片的專用引腳。注意:如果使用Quatursprogrammer對EPCS進(jìn)行編程,原來內(nèi)容將被擦除。使用NiosIDE 中的Flash Prog
53、rammer Utility,可將FPGA配置數(shù)據(jù)和Nios程序數(shù)據(jù)固化到EPCS的芯片中。2Avalon從接口與寄存器從接口與寄存器EPCS控制器有一個Avalon從接口,提供對bootloader代碼和控制該核的寄存器的訪問。如表45所示,前256個字專門用來存放bootloader代碼,緊接著7個字是控制和數(shù)據(jù)寄存器。NiosCPU可以讀取從EPCS控制器的基地址開始的256條指令。表45 EPCS控制寄存器映射偏移地址 寄存器名稱R/W位描述31.00 x0000 x0FF啟動ROM存儲器RBootloader 代碼0 x100讀數(shù)據(jù)R(1)0 x101寫數(shù)據(jù)W(1)0 x102狀態(tài)R
54、/W(1)0 x103控制R/W(1)0 x104保留-(1)0 x105從允許R/W(1)0 x106包結(jié)束R/W(1)表45注:(1) Altera沒有提供訪問控制和數(shù)據(jù)寄存器的功能,必須通過HAL驅(qū)動程序來訪問EPCS配置芯片。 3 EPCS設(shè)備控制器設(shè)備控制器 3.1 EPCS控制器綜述控制器綜述 3.2 SOPC Builder中中EPCS控制器的配置選項控制器的配置選項 3.3 EPCS軟件編程模型軟件編程模型 第四章第四章 目錄目錄硬件設(shè)計者使用EPCS控制器的SOPC Builder配置向?qū)碇该骱说奶匦?,該向?qū)е兄挥幸粋€選項。參考標(biāo)志符設(shè)置是一個下拉菜單,允許在當(dāng)前的SOPC
55、 Builder目標(biāo)板元件中選擇一個參考標(biāo)志符,目的是把當(dāng)前的EPCS控制器與板上EPCS芯片的參考標(biāo)識符相聯(lián)。如果沒有匹配的參考標(biāo)識符(例如板上不包含一個EPCS芯片),則EPCS控制器不能被加到系統(tǒng)中。 參考標(biāo)識符被NiosIDE Flash Programmer使用。詳情請看Nios II Flash Programmer User Guide。注意在每個FPGA設(shè)計中只能包含一個EPCS控制器。EPCS軟件編程模型軟件編程模型 Altera提供HAL系統(tǒng)庫驅(qū)動程序,若利用HAL API函數(shù)擦除和寫入EPCS存儲器,必須使用HAL驅(qū)動程序來訪問EPCS配置芯片。1HAL系統(tǒng)庫支持系統(tǒng)庫支
56、持Altera提供一個HAL Flash驅(qū)動程序,它集成到Nios系統(tǒng)的HAL系統(tǒng)庫。軟件調(diào)用HAL API函數(shù)來對EPCS存儲器進(jìn)行編程,而不需要了解低層驅(qū)動程序的細(xì)節(jié)。2軟件文件軟件文件下面的軟件文件提供了對硬件低層訪問,應(yīng)用程序開發(fā)人員不應(yīng)該修改這些文件。 altera-avalon-EPCS-flesh-controller.h、altera-avalon-EPCS-flesh-controller.c 定義集成到HAL系統(tǒng)庫所需頭文件和驅(qū)動程序代碼。 EPCS-commend.h、 EPCS-commend.c 直接控制EPCS硬件進(jìn)行讀寫操作的頭文件和源文件,這些文件也依賴Alte
57、ra的SPI核驅(qū)動程序。 4 PIO4 PIO控制器控制器 4.1 PIO4.1 PIO控制器綜述控制器綜述 4.2 SOPC Builder4.2 SOPC Builder中中PIOPIO配置選項配置選項 4.34.3PIOPIO軟件編程模型軟件編程模型 4.44.4PIOPIO寄存器描述與中斷寄存器描述與中斷 第四章第四章 目錄目錄PIO控制器綜述控制器綜述并行輸入輸出(PIO)核在Avalon從端口和通用I/O端口之間提供了一個存貯器映像接口。I/O端口與片上用戶邏輯或者FPGA的I/O引腳相連,I/O引腳連接片外設(shè)備。下面列舉了PIO的幾種應(yīng)用場合: 控制LEDs。 獲取開關(guān)數(shù)據(jù)。 控
58、制顯示設(shè)備。 片外設(shè)備的配置與通訊。PIO能產(chǎn)生基于輸入信號的中斷請求,PIO是SOPC Builder內(nèi)部集成的,易于集成到SOPC Builder創(chuàng)建的系統(tǒng)中。1功能描述功能描述每個PIO可提供32個I/O端口,處理器通過讀寫寄存器映象的Avalon接口控制PIO端口。在CPU控制下,PIO捕獲輸入端口的數(shù)據(jù),傳送數(shù)據(jù)到輸出端口。當(dāng)PIO端口直接與I/O引腳相連時,處理器通過寫PIO控制寄存器可對I/O引腳進(jìn)行三態(tài)控制。圖49是多個PIO的應(yīng)用實例。一個用于控制LEDs,一個用于捕捉片上復(fù)位請求控制邏輯,一個控制片外LCD顯示。圖49 使用多個PIO的系統(tǒng)實例當(dāng)集成到SOPC Builde
59、r 創(chuàng)建的系統(tǒng)時,PIO有2種用戶可見功能部件。 存貯器映像的寄存器,共有4個:data、direction、interruptmask和edgecapture。 1到32個I/O端口。I/O端口能與FPGA內(nèi)部邏輯相連,也可與連接片外設(shè)備的I/O引腳相連。寄存器通過Avalon接口提供與I/O端口的接口。在某些硬件配置中,某些寄存器不存在,對不存在的寄存器進(jìn)行讀操作返回一個未定義值,而進(jìn)行寫操作無影響。2數(shù)據(jù)輸入數(shù)據(jù)輸入/輸出輸出PIO核的I/O端口可連接片上邏輯或片外邏輯,PIO核可配置為輸入、輸出或雙向。若用來控制雙向I/O引腳,PIO核提供具有三態(tài)控制的雙向模式。讀和寫數(shù)據(jù)寄存器的硬件
60、邏輯是獨(dú)立的。讀數(shù)據(jù)寄存器返回輸入端口的數(shù)據(jù)。寫數(shù)據(jù)影響輸出端口的內(nèi)容。由于這些端口是獨(dú)立的,讀數(shù)據(jù)寄存器并不返回上次寫入的數(shù)據(jù)。3邊沿捕捉邊沿捕捉PIO可配置為對輸入端口進(jìn)行邊沿捕捉,可捕捉低到高的跳變、高到低的跳變或者2種跳變均捕捉。只要在輸入端檢測到跳變,就會記錄在edgecapture寄存器中,邊沿的檢測類型在系統(tǒng)創(chuàng)建時指明,不能通過寄存器進(jìn)行更改。4IRQ的產(chǎn)生的產(chǎn)生可配置PIO在不同的輸入條件下產(chǎn)生IRQ。IRQ產(chǎn)生的條件有: 電平檢測 PIO硬件能檢測一個高電平。可在外部插入一個NOT門改變檢測電平。邊沿檢測 PIO的邊沿捕捉配置決定何種邊沿能觸發(fā)IRQ。每個輸入端口的中斷均可屏
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度林業(yè)土地入股合作開發(fā)合同范本
- 二零二五年度土雞蛋綠色包裝采購合同范本3篇
- 二零二五年度有聲讀物配音制作合同范本
- 二零二五版木地板行業(yè)綠色生產(chǎn)標(biāo)準(zhǔn)認(rèn)證合同4篇
- 2025年度配音演員與兒童節(jié)目聘用合同范本3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)農(nóng)民工就業(yè)合同范本3篇
- 2025年度新型幼兒教育機(jī)構(gòu)教師聘用合同范本
- 二零二五年度創(chuàng)業(yè)投資公司融資合同范本
- 二零二四年度醫(yī)院兒科醫(yī)師派遣合同3篇
- 2025年度鋼管腳手架內(nèi)外施工質(zhì)量保障合同
- 《健康體檢知識》課件
- 2023年護(hù)理人員分層培訓(xùn)、考核計劃表
- 生產(chǎn)計劃主管述職報告
- GB/T 44769-2024能源互聯(lián)網(wǎng)數(shù)據(jù)平臺技術(shù)規(guī)范
- 【經(jīng)典文獻(xiàn)】《矛盾論》全文
- 部編版語文五年級下冊 第一單元 專項訓(xùn)練課外閱讀(含答案)
- 2024年寧夏回族自治區(qū)中考英語試題含解析
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責(zé)承諾書范本
- 練字本方格模板
- 《老山界》第1第2課時示范公開課教學(xué)PPT課件【統(tǒng)編人教版七年級語文下冊】
評論
0/150
提交評論