基于ARM內(nèi)核SoC的FPGA 驗(yàn)證環(huán)境設(shè)計(jì)方法
a) 預(yù)充電命令的發(fā)出要求:在時(shí)鐘周期的上升沿處CS、RAS、WE 為低,CAS 為高。
b) 自刷新命令的發(fā)出要求:在時(shí)鐘周期的上升沿處CS、RAS、CAS 和CKE 保持低,WE 為高。
c) 模式寄存器的激活:在時(shí)鐘的上升沿處RAS、CAS、CS 和WE 為低。
剛開(kāi)始時(shí),外部端口根本不能出現(xiàn)有用的波形,通過(guò)AMBA 總線的一些控制線能夠正確地引出,從而排除了該驗(yàn)證平臺(tái)原理的正確性和PCB 上的硬件可靠性的疑問(wèn),再將內(nèi)部狀態(tài)機(jī)的各個(gè)信號(hào)采出進(jìn)行分析后,發(fā)現(xiàn)狀態(tài)機(jī)設(shè)計(jì)得不能工作,經(jīng)過(guò)修改代碼后,重新采集端口信號(hào)如圖6 所示。
圖6 預(yù)充電、自刷新
從圖6 中tr 線處的時(shí)序看出,上電后滿足預(yù)充電命令的要求,緊接著是8 個(gè)自刷新命令,最后是模式寄存器的設(shè)置,命令字為020H( 00100000B) ,即CASLatency 設(shè)置為2 個(gè)時(shí)鐘周期, Addressing Mode 為Sequential 模式, Burst Length 為1 個(gè)數(shù)據(jù)訪問(wèn)模式,模式設(shè)置命令通過(guò)地址線a02a9 發(fā)出,如圖7 所示。
圖7 模式設(shè)置
將該SDRAM的地址映射成為從30000000 的地址空間開(kāi)始的地址,利用SDRAM驅(qū)動(dòng)程序(協(xié)同調(diào)試時(shí),應(yīng)通過(guò)實(shí)時(shí)操作系統(tǒng)進(jìn)行SDRAM 的讀寫(xiě)) , 向以30000000 開(kāi)始的地址空間連續(xù)寫(xiě)入300 個(gè)從數(shù)據(jù)0 遞增到299 的數(shù),截取中間一段波形如圖8 所示。圖6~圖8 中各信號(hào)如下:clk 為同步時(shí)鐘,圖中是10 MHz ;cse 為EMI 的8 個(gè)片選信號(hào)之一,即SDRAM的片選信號(hào)cs;ras 和cas 為SDRAM 的控制信號(hào);we 為SDRAM 的讀寫(xiě)控制信號(hào);bank021 為SDRAM 的4 個(gè)bank 選擇控制信號(hào);sd10 為既是SDRAM 的控制信號(hào)又是地址信號(hào)a10;a0211 為不包括a10 的地址信號(hào);dqm021 為字節(jié)選擇信號(hào);d027 為低位數(shù)據(jù)線。
評(píng)論