找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4607|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

EMC之SDRAM,跟你想的有點(diǎn)不一樣了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113517 發(fā)表于 2016-4-12 18:19 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
      EMC作為一個(gè)外部存儲接口,使其為MCU追求大容量、高速度成為可能。作為比較常用的外部存儲芯片SDRAM,其相對復(fù)雜的數(shù)據(jù)傳輸時(shí)序,在擁有EMC之后,又會出現(xiàn)那些問題,今天就談一下它們之間的那些事。

         恩智浦(NXP)公司生產(chǎn)的這款LPC1788芯片帶有控制外部存儲的控制器,它是一個(gè)多端口存儲外設(shè),它支持異步靜態(tài)存儲設(shè)備,如RAM、ROM和Flash,也支持單數(shù)據(jù)速率傳輸?shù)腟DRAM這種動態(tài)存儲器。該控制器帶有26根地址線,32根數(shù)據(jù)線。其支持4塊靜態(tài)存儲片選地址映射和4塊動態(tài)存儲片選地址映射。下圖是EMC接口在內(nèi)存映射的位置。


        EMC與外部的動態(tài)存儲器相連時(shí),其占用的地址線相對來說是比較少的,這還是跟動態(tài)存儲器的這種存儲結(jié)構(gòu)是有一定關(guān)系的。就拿SDRAM來說,其內(nèi)部存儲是按行列分布的,如下圖所示,就像表格一樣,有對應(yīng)的行地址和列地址,每一個(gè)小方格就是一個(gè)存儲單元。在對其尋址時(shí),需要先進(jìn)行行地址尋址,再進(jìn)行列地址尋址,才選擇出確定的操作單元。所以其行列地址線是可以分時(shí)復(fù)用,這也就決定了其占用的地址線較少。




   EMC為動態(tài)存儲器提供了引腳完成對應(yīng)的信號傳輸     
EMC_D[31:0]: 數(shù)據(jù)線;
EMC_A[14:0]:地址線;
EMC_CLK:為SDRAM提供時(shí)鐘;
EMC_CKE:SDRAM的時(shí)鐘使能位;
EMC_DQM[3:0]:數(shù)據(jù)掩碼信號;
EMC_RAS:SDRAM行地址選通脈沖信號;
EMC_CAS:SDRAM列地址選通脈沖信號
EMC_DYCS[3:0]:SDRAM的片選信號;
EMC_WE:SDRAM寫使能。

         當(dāng)動態(tài)存儲器件的引腳連接到EMC上后,就需要對EMC的寄存器來進(jìn)行配置?梢钥吹綄τ赟DRAM,有很多的關(guān)于時(shí)間參數(shù)配置的寄存器,需要根據(jù)實(shí)際連接的外部存儲器件來進(jìn)行相應(yīng)的配置。當(dāng)然,這些時(shí)間參數(shù)在外部存儲器件的數(shù)據(jù)手冊中都是可以找著的。

         但我們也不能掉以輕心,一些錯(cuò)誤的時(shí)間配置可能導(dǎo)致數(shù)據(jù)傳輸無法完成,嚴(yán)重的可能導(dǎo)致動態(tài)存儲器內(nèi)部數(shù)據(jù)丟失。對于動態(tài)存儲器件來說,其需要不斷進(jìn)行刷新才能保存數(shù)據(jù),這是它很重要的操作,所以刷新時(shí)間的配置是很重要的。對于常用的SDRAM 芯片IS42S16400來說,在其數(shù)據(jù)手冊中找到下圖這樣一個(gè)時(shí)間參數(shù),它的意思就是說刷新4096次需要的時(shí)間是64ms,也就是說刷新一次的時(shí)間是15.625us,如果刷新的周期比這個(gè)大的話,SDRAM就無法保存數(shù)據(jù)。而對于LPC1788 EMC模塊,它就有這樣一個(gè)時(shí)間參數(shù)寄存器EMCDynamicRefresh,它可以用來設(shè)置SDRAM刷新一次的時(shí)間。



         由于寄存器是以EMC的時(shí)鐘作為基準(zhǔn)的,所以這個(gè)刷新時(shí)間的設(shè)置還跟EMC的時(shí)鐘有關(guān),在配置的過程中,根據(jù)當(dāng)前時(shí)鐘計(jì)算一下,以免出現(xiàn)錯(cuò)誤。對于連有多個(gè)動態(tài)外部存儲芯片,而他們是共用這一個(gè)刷新時(shí)間的,這時(shí)候就要根據(jù)各個(gè)數(shù)據(jù)手冊中要求的刷新周期,以每次刷新時(shí)間最短的為準(zhǔn),這樣才能保證都能在規(guī)定的時(shí)間內(nèi)完成刷新。同時(shí)對于支持熱復(fù)位的情況下,也要注意一下,由于熱復(fù)位期間,EMC的時(shí)鐘發(fā)生變化,這時(shí)候的刷新周期也就有所變化,在配置過程中,也要考慮到上面的情況。

         對于其他的時(shí)間參數(shù),可以對照EMC關(guān)于時(shí)間參數(shù)配置的寄存器和對應(yīng)的外部存儲芯片的數(shù)據(jù)手冊,完成正確的配置,當(dāng)EMC配置完成之后,就可以通過訪問總線地址來訪問外部存儲。

         EMC實(shí)現(xiàn)的這種與外部存儲數(shù)據(jù)傳輸方式,會在以后的嵌入式產(chǎn)品中應(yīng)用越來越廣泛,它為小容量MCU提供了新的契機(jī)。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表