基于EPM1240的SDRAM控制器的設(shè)計(jì)
2.3 突發(fā)長(zhǎng)度模塊
突發(fā)長(zhǎng)度也使在模式寄存器中設(shè)置的,它的內(nèi)部實(shí)質(zhì)是4位遞增計(jì)數(shù)器,這一計(jì)數(shù)器監(jiān)視讀寫突發(fā)工作時(shí)的時(shí)鐘周期數(shù),原理與2位遞增計(jì)數(shù)器相同。
突發(fā)長(zhǎng)度可以是1、2、4或者8,突發(fā)(Burst)是指在同一行中相鄰的存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸所涉及到存儲(chǔ)單元(列)的數(shù)量就是突發(fā)長(zhǎng)度。
2.4 地址轉(zhuǎn)換模塊
地址發(fā)生器將微處理器提供的地址按照要求的格式映射到移動(dòng)SDRAM設(shè)備上。命令模塊接收控制接口模塊輸入的解碼后的命令和刷新控制單元發(fā)出的刷新請(qǐng)求命令,產(chǎn)生合適的SDRAM操作命令。
該模塊包含一個(gè)簡(jiǎn)單的仲裁邏輯單元,仲裁主接口和刷新單元發(fā)出的命令,刷新請(qǐng)求的優(yōu)先級(jí)最高。當(dāng)刷新單元和主接口同時(shí)發(fā)出命令時(shí),仲裁單元掛起主接口的命令直到刷新操作執(zhí)行完畢;若主接口發(fā)出的命令正在執(zhí)行時(shí),仲裁單元掛起刷新命令直至正在處理的操作執(zhí)行結(jié)束。仲裁單元接收控制接口模塊發(fā)出的命令后,命令產(chǎn)生單元根據(jù)接收到的命令產(chǎn)生合適的SDRAM控制信號(hào)。命令產(chǎn)生單元基于三個(gè)移位寄存器產(chǎn)生正確的時(shí)序:第一個(gè)寄存器控制SDRAM激活命令的時(shí)序;第二個(gè)寄存器控制SDRAM讀寫時(shí)的時(shí)序;第3個(gè)用于產(chǎn)生命令延時(shí),以便決定所請(qǐng)求的命令是否執(zhí)行完畢。它根據(jù)狀態(tài)分別產(chǎn)生塊和行列地址,并傳送到移動(dòng)SDRAM設(shè)備上。
地址發(fā)生器的輸入輸出如下:
clk是系統(tǒng)的主時(shí)鐘輸入,addr是輸入的地址信號(hào),pr_state是輸入的當(dāng)前狀態(tài),這3個(gè)信號(hào)均由微控制器提供。地址發(fā)生器接收來(lái)自微控制器的命令,把命令轉(zhuǎn)換成SDRAM能夠理解的狀態(tài)信號(hào),地址發(fā)生器根據(jù)狀態(tài)信號(hào)產(chǎn)生相應(yīng)的地址選擇SDRAM的行或列進(jìn)行操作。
3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
選擇ALTERA公司MAXⅡ系列的EPM1240芯片,用CPLD方式實(shí)現(xiàn)SDRAM接口。接口仿真時(shí)序圖如圖5所示。本文引用地址:http://butianyuan.cn/article/161059.htm
SDRAM接口仿真波形圖如圖5所示,其中sd_clk_97為操作SDRAM的時(shí)鐘,sd_cke_98,sd_csn_99,sd_casn_103,sd_rasn_105,sd_wen_106分別為時(shí)鐘使能信號(hào),片選信號(hào),列選通信號(hào),行選通信號(hào)和讀寫使能信號(hào)。sd_ba是SDRAM的2位Bank地址線,sd_a_是SDRAM的13根地址線。data為SDRAM的16位輸入/輸出雙向數(shù)據(jù)線。
4 結(jié)論
在SDRAM的接口設(shè)計(jì)中,刷新的實(shí)現(xiàn)一直是一個(gè)關(guān)鍵問(wèn)題。選用CPLD產(chǎn)生控制SDRAM的時(shí)序,實(shí)現(xiàn)對(duì)SDRAM的各種操作。應(yīng)用Verilog語(yǔ)言和QuartusⅡ軟件實(shí)現(xiàn)了SDRAM的接口設(shè)計(jì),在QuartusⅡ軟件環(huán)境下模擬了STM32系列單片機(jī)對(duì)SDRAM的讀寫操作時(shí)序,讀寫速度達(dá)到100MHz,可以在STM32系列單片機(jī)擴(kuò)展64 MBit的SDRAM,其中SDRAM的地址線為13根(行地址線13根,列地址線9根),Bank地址線2根,數(shù)據(jù)線16根。
評(píng)論