• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種SDRAM控制器的設(shè)計(jì)電路

      2022-02-21 00:45黃海生葉小艷
      現(xiàn)代電子技術(shù) 2022年4期
      關(guān)鍵詞:吞吐量以太網(wǎng)仲裁

      黃海生,黨 成,李 鑫,葉小艷

      (西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)

      0 引言

      以太網(wǎng)數(shù)據(jù)要通過(guò)E1線路傳輸就必須對(duì)以太網(wǎng)凈荷數(shù)據(jù)進(jìn)行幀封裝,才能從E1線路上恢復(fù)出以太網(wǎng)數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)的交換。使用HDLC協(xié)議進(jìn)行以太網(wǎng)數(shù)據(jù)的二次封裝,以太網(wǎng)數(shù)據(jù)在進(jìn)行HDLC協(xié)議封裝的傳輸過(guò)程中,不同數(shù)據(jù)鏈路進(jìn)行數(shù)據(jù)交互時(shí)會(huì)出現(xiàn)亞穩(wěn)態(tài)和數(shù)據(jù)吞吐量差異的問(wèn)題。由于已有設(shè)計(jì)在以太網(wǎng)模塊內(nèi)部完成了跨時(shí)鐘域的處理,因此本文提出的電路旨在解決跨時(shí)鐘域數(shù)據(jù)通信時(shí)的吞吐量差異問(wèn)題。這個(gè)問(wèn)題的解決通常需要一個(gè)存儲(chǔ)模塊進(jìn)行緩存,而SDRAM由于具有較高的讀寫速率和精度、存儲(chǔ)容量大等優(yōu)點(diǎn),常用于數(shù)據(jù)緩存模塊中,所以本文設(shè)計(jì)在利用SDRAM基本的緩存特性基礎(chǔ)上,提出一種SDRAM控制器的新設(shè)計(jì)思路,運(yùn)用模塊化的設(shè)計(jì)方法,即雙緩存模塊IN_FIFO和OUT_FIFO的設(shè)計(jì),將8 bit的輸入數(shù)據(jù)轉(zhuǎn)換為32 bit的數(shù)據(jù)進(jìn)行讀寫處理,有效地提高數(shù)據(jù)的讀寫速率;同時(shí)增設(shè)CIR模塊,通過(guò)設(shè)置CIR寄存器來(lái)控制以太網(wǎng)模塊至HDLC模塊發(fā)送的數(shù)據(jù)吞吐量,從而將SDRAM接收的以太網(wǎng)幀數(shù)據(jù)發(fā)送限制在設(shè)定的速率上。

      1 系統(tǒng)背景電路

      圖1所示為SDRAM控制器設(shè)計(jì)系統(tǒng)的背景框圖。圖中以太網(wǎng)幀接收模塊將接收的數(shù)據(jù)進(jìn)行一系列處理,在模塊內(nèi)部完成跨時(shí)鐘域處理后將數(shù)據(jù)輸出,與SDRAM模塊以相同的時(shí)鐘頻率進(jìn)行交互,由SDRAM將輸出的數(shù)據(jù)送入HDLC成幀電路模塊進(jìn)行封裝,得到HDLC幀數(shù)據(jù)后通過(guò)WAN接口發(fā)送,WAN接口能夠與Dallas Semiconductor/Maxim的E1成幀器、線路接口單元(LIU)和單片收發(fā)器(SCT)進(jìn)行無(wú)縫連接。本文提出的SDRAM控制器電路主要是為了使以太網(wǎng)幀和HDLC幀在完成速率同步后,能夠正確地對(duì)SDRAM進(jìn)行讀寫以實(shí)現(xiàn)數(shù)據(jù)緩存。

      圖1 SDRAM控制器設(shè)計(jì)系統(tǒng)背景框圖

      2 SDRAM控制器整體設(shè)計(jì)

      SDRAM控制器整體設(shè)計(jì)架構(gòu)如圖2所示。首先,將數(shù)據(jù)寫入讀緩存IN_FIFO模塊,IN_FIFO模塊輸出的讀請(qǐng)求信號(hào)RD_REQ經(jīng)仲裁模塊SDRAM_ARB仲裁后,得到SDRAM的寫指示信號(hào)WR_IND,并送入SDRAM控制模塊SDRAM_CTL中,得到SDRAM的寫使能信號(hào)(即IN_FIFO的讀使能信號(hào)),并將其送回IN_FIFO模塊控制數(shù)據(jù)的讀取。將讀出的數(shù)據(jù)送入SDRAM_CTL模塊,在SDRAM寫指示信號(hào)的控制下將數(shù)據(jù)通過(guò)總線SDATA送入SDRAM模塊中進(jìn)行處理,SDATA為inout類型。SDRAM輸出的數(shù)據(jù)也通過(guò)SDATA總線進(jìn)行傳輸。在OUT_FIFO寫使能信號(hào)控制下將數(shù)據(jù)SDATA寫入OUT_FIFO中,經(jīng)OUT_FIFO讀緩沖后輸出。

      圖2 SDRAM控制器設(shè)計(jì)總體框圖

      另外,REG_PRO模塊將數(shù)據(jù)隊(duì)列的最大和最小地址提供給FIFO_CTL模塊,進(jìn)而產(chǎn)生讀寫地址。CIR_CTL用來(lái)控制SDRAM發(fā)送數(shù)據(jù)的吞吐量,將其輸出的CIR_ACTIVE信號(hào)、OUT_FIFO輸出的寫請(qǐng)求信號(hào)WR_REQ以及FIFO_CTL輸出的幀指示信號(hào)FRM_IND送入仲裁模塊進(jìn)行仲裁,將得到的讀指示信號(hào)RD_IND送入SDRAM_CTL中,得到SDRAM的讀使能信號(hào)(即OUT_FIFO的寫使能信號(hào))并發(fā)送給OUT_FIFO模塊來(lái)控制數(shù)據(jù)SDATA的寫入。

      3 SDRAM控制器主要模塊的設(shè)計(jì)

      3.1 CIR_CTL模塊

      CIR用于將SDRAM接收的數(shù)據(jù)發(fā)送限制在設(shè)定的速率上,CIR寄存器控制數(shù)據(jù)的吞吐量。CIR寄存器在0~52 Mb/s范圍內(nèi)可設(shè),間隔為500 Kb/s。本文設(shè)計(jì)中CIR_REG[7:0]值為8′h8F,最高位置1將使能約定信息速率控制器功能,CIR_REG[6:0]提供約定信息速率數(shù)值,該數(shù)值乘以500 Kb/s得到CIR值。若可用吞吐量為正,則輸出CIR_ACTIVE信號(hào)送給SDRAM_ARB模塊進(jìn)行仲裁處理,從而控制SDRAM讀指示信號(hào)的產(chǎn)生。CIR工作原理如下:

      1)CIR模塊對(duì)每125 ms結(jié)束時(shí)累積的可用吞吐量進(jìn)行計(jì)數(shù)。

      2)計(jì)算新的可用吞吐量,可用吞吐量=原有可用吞吐量-最近發(fā)送幀長(zhǎng)度(以字節(jié)形式表示)。

      3)可用吞吐量每125 ms遞增CIR/8。

      4)每250 ms可用吞吐量復(fù)位為CIR初始值。

      5)CIR最大值不能超過(guò)發(fā)送線路速率。

      6)對(duì)于接收并存儲(chǔ)在SDRAM中的數(shù)據(jù),向OUT_FIFO模塊發(fā)送時(shí)要求可用吞吐量必須為正。如果可用吞吐量為負(fù),則CIR_ACTIVE為0,將不進(jìn)行數(shù)據(jù)傳送。

      3.2 IN_FIFO與OUT_FIFO模塊

      在數(shù)據(jù)高速傳輸?shù)那闆r下,應(yīng)加入緩存器FIFO對(duì)SDRAM寫入和讀出數(shù)據(jù)進(jìn)行緩沖,確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性和一致性,防止數(shù)據(jù)失真。本文設(shè)計(jì)采用雙FIFO緩沖設(shè)計(jì),即讀緩存和寫緩存,其中寫緩存IN_FIFO模塊將其輸入的8 bit位寬的以太網(wǎng)幀數(shù)據(jù)轉(zhuǎn)換為32 bit位寬的數(shù)據(jù)輸出,對(duì)32 bit數(shù)據(jù)的處理有效地提高了SDRAM的讀寫速率;讀緩存OUT_FIFO模塊將讀出的數(shù)據(jù)轉(zhuǎn)換為8 bit的數(shù)據(jù)輸出,確保數(shù)據(jù)輸入與輸出的一致性。

      3.3 SDRAM_ARB模塊

      仲裁模塊管理以太網(wǎng)端口與HDLC端口之間數(shù)據(jù)的傳輸請(qǐng)求,管理SDRAM中數(shù)據(jù)的輸入與輸出。對(duì)IN_FIFO輸出的讀請(qǐng)求信號(hào)進(jìn)行仲裁,將得到的SDRAM寫指示信號(hào)發(fā)送給SDRAM_CTL模塊處理,最終得到FIFO的讀使能與SDRAM的寫使能。對(duì)CIR_CTL輸出的CIR_ACTIVE、OUT_FIFO輸出的寫請(qǐng)求信號(hào)WR_REQ、FIFO_CTL輸出的幀指示信號(hào)FRM_IND進(jìn)行仲裁,得到SDRAM的讀指示信號(hào)RD_IND并送入SDRAM_CTL中,最終得到FIFO的寫使能與SDRAM的讀使能信號(hào)。

      3.4 SDRAM模塊

      SDRAM采用MICRON公司的MT48LC4M32B2型號(hào),時(shí)鐘為100 MHz,SDRAM容量為128 MB,數(shù)據(jù)位寬為32 bit。SDRAM的工作原理如下:

      1)初始化

      開機(jī)后,SDRAM需要先對(duì)邏輯控制單元進(jìn)行初始化操作(包括所有L-Bank預(yù)充電、刷新、設(shè)置模式寄存器)。其中,模式寄存器的設(shè)置需通過(guò)地址線來(lái)控制,在本文中突發(fā)長(zhǎng)度為1,CAS潛伏期CL=2,突發(fā)類型選擇為順序。在模式寄存器設(shè)置結(jié)束后,可以對(duì)SDRAM進(jìn)行數(shù)據(jù)讀寫。

      2)讀寫操作

      對(duì)一個(gè)L-Bank中的陣列進(jìn)行尋址時(shí),首先需要確定行,其次確定列。片選和L-Bank的定址可以與行有效同時(shí)進(jìn)行。文中有12個(gè)地址線A0~A11,共4096行,在SDARM控制命令為激活(act)時(shí),L-Bank根據(jù)bank地址的不同進(jìn)行定址,且具體的行地址可由地址線的不同來(lái)選擇確定。列尋址信號(hào)與讀寫命令是同時(shí)發(fā)出的。在SDARM的控制命令為讀(read)或?qū)懀╳rite)時(shí),具體的列地址由地址線A0~A7來(lái)決定。在確定列地址之后可找到具體的存儲(chǔ)單元,接著可將數(shù)據(jù)通過(guò)I/O通道(DQ)輸出到內(nèi)存總線上。當(dāng)SDRAM處于突發(fā)寫操作狀態(tài)時(shí),數(shù)據(jù)由DQ總線進(jìn)入模塊;當(dāng)SDRAM處于突發(fā)讀操作狀態(tài)時(shí),數(shù)據(jù)由DQ總線輸出。由于CL為2,因此在進(jìn)行數(shù)據(jù)讀操作時(shí),從CAS與讀命令發(fā)出后需要經(jīng)過(guò)2個(gè)時(shí)鐘周期才會(huì)有數(shù)據(jù)輸出,并且CL只作用于數(shù)據(jù)讀取時(shí)。

      3)刷新操作

      刷新操作須在64 ms內(nèi)被執(zhí)行4096次,可選擇周期執(zhí)行,也可突發(fā)執(zhí)行。本文選擇周期性刷新,即每15625 ns內(nèi)必須執(zhí)行一次刷新操作,由于系統(tǒng)時(shí)鐘為100 MHz,周期為10 ns,所以每1562個(gè)時(shí)鐘周期內(nèi)必須刷新一次,本文選擇每17頁(yè)刷新一次,1頁(yè)為30個(gè)時(shí)鐘周期。SDRAM控制命令如表1所示。

      表1 SDRAM控制命令表

      3.5 SDRAM_CTL模塊

      SDRAM_CTL中各模塊分布情況如圖3所示。

      圖3中各模塊具體功能如下:

      圖3 SDRAM_CTL中各模塊簡(jiǎn)單的分布圖

      1)SDRAM_NORM_INI模塊。上電后在SDRAM操作時(shí)鐘的作用下,通過(guò)計(jì)數(shù)得到SDRAM初始化的指示信號(hào)。

      2)SDRAM_CMD_PRO模塊。該模塊在對(duì)輸入指令進(jìn)行分析判斷后,產(chǎn)生相應(yīng)的CS、RAS、CAS、WE等信號(hào),從而形成對(duì)SDRAM的控制指令。

      3)SDRAM_ADDR_PRO模塊。在SDRAM初始化指示信號(hào)、刷新指示信號(hào)、讀寫指示信號(hào)、數(shù)據(jù)長(zhǎng)度指示信號(hào)的作用下,將外部發(fā)來(lái)的地址譯碼為SDRAM所需要的bank地址和row/col地址命令。

      4)SDRAM_DATA_PRO模塊。主要在數(shù)據(jù)寫操作時(shí)將數(shù)據(jù)發(fā)送到SDATA總線上,數(shù)據(jù)由輸入總線進(jìn)入SDRAM模塊中。

      4 SDRAM控制器設(shè)計(jì)仿真

      本文采用Verilog硬件描述語(yǔ)言對(duì)電路進(jìn)行描述,在ModelSim上對(duì)該電路進(jìn)行功能仿真。系統(tǒng)復(fù)位結(jié)束后,在時(shí)鐘的作用下將數(shù)據(jù)寫入IN_FIFO緩沖區(qū),由仲裁器負(fù)責(zé)將IN_FIFO中的數(shù)據(jù)導(dǎo)入SDRAM中。在CIR的作用下,仲裁器將SDRAM中的數(shù)據(jù)寫入OUT_FIFO緩沖區(qū),最后將OUT_FIFO中的數(shù)據(jù)讀出,觀察系統(tǒng)寫入與讀出數(shù)據(jù)是否一致。IN_FIFO模塊寫入的數(shù)據(jù)波形與OUT_FIFO模塊讀出的數(shù)據(jù)波形分別如圖4、圖5所示。

      圖4 IN_FIFO模塊寫入數(shù)據(jù)的波形

      圖5 OUT_FIFO模塊讀出數(shù)據(jù)的波形

      由圖4、圖5仿真結(jié)果表明,OUT_FIFO模塊讀出的數(shù)據(jù)與IN_FIFO模塊寫入的數(shù)據(jù)一致(其中,OUT_FIFO模塊讀開始信號(hào)所對(duì)應(yīng)的讀數(shù)據(jù)為該幀數(shù)據(jù)的長(zhǎng)度16′h7a)。

      5 結(jié) 語(yǔ)

      本文提出一種SDRAM控制器的設(shè)計(jì)電路,并使用Verilog HDL對(duì)該電路進(jìn)行了描述。經(jīng)仿真驗(yàn)證,在滿足CIR功能的條件下,OUT_FIFO模塊讀出的數(shù)據(jù)與IN_FIFO模塊寫入的數(shù)據(jù)始終保持一致,說(shuō)明了本文設(shè)計(jì)的正確性。本文電路設(shè)計(jì)簡(jiǎn)單,對(duì)于以太網(wǎng)映射器的研究有著重要的意義,可廣泛地用于不同鏈路的數(shù)據(jù)通信中。

      猜你喜歡
      吞吐量以太網(wǎng)仲裁
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      一種多通道共享讀寫SDRAM的仲裁方法
      ICSID仲裁中的有效解釋原則:溯源、適用及其略比
      2017年3月長(zhǎng)三角地區(qū)主要港口吞吐量
      2016年10月長(zhǎng)三角地區(qū)主要港口吞吐量
      2016年11月長(zhǎng)三角地區(qū)主要港口吞吐量
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      兩岸四地間相互執(zhí)行仲裁裁決:過(guò)去、現(xiàn)在及將來(lái)(上)
      镇安县| 镶黄旗| 肥西县| 大名县| 宜阳县| 黄冈市| 德格县| 南漳县| 共和县| 建德市| 尚志市| 上饶县| 哈尔滨市| 舒城县| 南部县| 迁西县| 同江市| 长兴县| 黄梅县| 社旗县| 贞丰县| 巨野县| 肇源县| 白沙| 长治县| 兴城市| 高阳县| 什邡市| 广汉市| 宝鸡市| 广东省| 张家界市| 大洼县| 芷江| 凤冈县| 平谷区| 云龙县| 长白| 闽清县| 天津市| 金昌市|