FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證_第1頁
FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證_第2頁
FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證_第3頁
FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、    FreeARM7 IP核的微處理器邏輯擴(kuò)展與驗(yàn)證介紹了FreeARM7IP核的基本概況及其接口特點(diǎn),以LPC2101為原型對該IP核進(jìn)行了擴(kuò)展。結(jié)合USB1.1設(shè)備控制器IP核和自定制硬件邏輯,構(gòu)建了一種微控制器功能驗(yàn)證回路。在主機(jī)端開發(fā)了驗(yàn)證程序、驅(qū)動(dòng)和通信軟件。驗(yàn)證程序下栽執(zhí)行結(jié)果表明,功能驗(yàn)證回路工作正常,微處理器運(yùn)行穩(wěn)定。 1FreeARM7IP核簡介 FreeARM微處理器的ARM7系列(簡稱FreeARM7)首發(fā)于,由Free-arm聯(lián)合其他ARM愛好者基于ARMv4架構(gòu)開發(fā)而成。整個(gè)IP核代碼采用可綜合的Ve介紹了FreeARM7I

2、P核的基本概況及其接口特點(diǎn),以LPC2101為原型對該IP核進(jìn)行了擴(kuò)展。結(jié)合USB1.1設(shè)備控制器IP核和自定制硬件邏輯,構(gòu)建了一種微控制器功能驗(yàn)證回路。在主機(jī)端開發(fā)了驗(yàn)證程序、驅(qū)動(dòng)和通信軟件。驗(yàn)證程序下栽執(zhí)行結(jié)果表明,功能驗(yàn)證回路工作正常,微處理器運(yùn)行穩(wěn)定。1 FreeARM7 IP核簡介FreeARM微處理器的ARM7系列(簡稱FreeARM7)首發(fā)于,由Free-arm聯(lián)合其他ARM愛好者基于ARMv4架構(gòu)開發(fā)而成。整個(gè)IP核代碼采用可綜合的Verilog HDL描述,接口簡單,描述精煉,全部代碼不超過2000行。在整體設(shè)計(jì)上,采用了三級流水線和哈佛結(jié)構(gòu),全面兼容各種中斷和操作指令(除T

3、humb和協(xié)處理器指令)。經(jīng)過評估可知,該IP核基于FPGA和SMIC工藝庫都有很好的實(shí)現(xiàn)結(jié)果。FreeARM7接口定義如表1所列,概括起來可分為4類:系統(tǒng)接口,提供系統(tǒng)控制信號;中斷源,提供ARM架構(gòu)需要的5個(gè)中斷信號;ROM接口,與提供指令的ROM之間的接口;單口RAM接口,與單口RAM和外設(shè)之間數(shù)據(jù)交互的接口。 其中,單口RAM接口可以實(shí)現(xiàn)兩類用途:一、掛接單口RAM,使得FreeARM7能夠正確地讀寫數(shù)據(jù);二、掛接外設(shè),使得FteeARM7能夠正確操作外設(shè)。2 微處理器改進(jìn)與邏輯擴(kuò)展基于FreeARM7的微處理器改進(jìn)與邏輯擴(kuò)展的結(jié)構(gòu)如圖1所示。預(yù)期的實(shí)現(xiàn)目標(biāo)是:在主機(jī)上編寫嵌

4、入式程序匯編成機(jī)器碼后,經(jīng)過USB 1.1設(shè)備控制器傳輸至雙端口RAM中,在微處理器代碼下載模式下,代碼下載控制邏輯將雙端口RAM中的機(jī)器代碼裝載至ROM中,之后啟動(dòng)微處理器正常工作模式,微處理器執(zhí)行ROM中的嵌入式代碼,接收主機(jī)通過USB傳送來的參數(shù)值,并將運(yùn)行結(jié)果通過USB返回至主機(jī)。 模塊,而其他硬件邏輯的擴(kuò)展都是以IP核(Verilog描述)的形式出現(xiàn)。2.1 微處理器lP核改進(jìn)FreeARM7 IP核是微處理器的核心部分,不能直接作為微處理器使用,其原因是數(shù)據(jù)總線需要讀取ROM內(nèi)的數(shù)據(jù)、本文選擇Philips公司32位ARM7微處理器LPC2101作為原型設(shè)計(jì)。LPC210

5、1帶有適當(dāng)?shù)拇鎯Y源,內(nèi)嵌2 KB片內(nèi)靜態(tài)RAM和8 KB的Flash存儲器,且軟件可移植性好,工作可靠。參考LPC2101工作原理,當(dāng)FreeARM7的輸出信號ram_addr的最高4位為4'b0時(shí),表示數(shù)據(jù)總線需要讀取ROM的數(shù)據(jù)。為解決該問題,新增一個(gè)wrap文件lpc2101_arm.v完成該功能。它的作用是:當(dāng)ram_addr31:28=4'b0時(shí),該邏輯直接從rom_en、rom_addr、rom_data的接口中讀取ROM數(shù)據(jù),送入ram rdata。本文選用的USB設(shè)備控制器是課題組早期項(xiàng)目之一,它是由Opencores網(wǎng)站提供的初級開源版本改進(jìn)而成,其結(jié)構(gòu)如圖

6、2所示。IP核支持低速和全速模式,共有1個(gè)控制傳輸端點(diǎn)(EP0)、7個(gè)其他可配置端點(diǎn),且缺少微處理器也能響應(yīng)主機(jī)對設(shè)備的枚舉。收發(fā)器電路主要完成模/數(shù)信號轉(zhuǎn)換,即在OUT事物中將模擬信號D+和D-轉(zhuǎn)換成串行接口引擎模塊可識別的數(shù)字信號rxd、rxdp和rxdn,在IN事物中將數(shù)字信號txdp和txdn在使能信號txoe的控制下轉(zhuǎn)換成模擬信號D+和D-;串行接口引擎模塊主要完成收發(fā)包,根據(jù)傳輸方向可分為接收和發(fā)送,主要包括總線檢測、同步檢測、時(shí)鐘恢復(fù)、不歸零反向編碼和解碼、位填充及位去除、數(shù)據(jù)的串/并轉(zhuǎn)換;協(xié)議層包括協(xié)議引擎態(tài)機(jī)、組包、解包、FIFO控制器;端點(diǎn)O控制器主要負(fù)責(zé)響應(yīng)主機(jī)標(biāo)準(zhǔn)請求;

7、描述符RAM存儲了設(shè)備的各種描述符;其他端點(diǎn)控制器及FIFO提供了配置接口,目的是預(yù)留給開發(fā)者進(jìn)行IP核移植。 2.3 代碼下載控制邏輯該邏輯主要功能是在代碼下載模式下,將雙端口RAM中的匯編程序轉(zhuǎn)移到ROM中,其主要任務(wù)是產(chǎn)生讀雙端口RAM使能信號和地址信號,以及寫ROM的使能信號和地址信號。在硬件邏輯中通過計(jì)數(shù)器實(shí)現(xiàn)。當(dāng)系統(tǒng)復(fù)位或退出代碼下載模式時(shí),計(jì)數(shù)器:rom_wr_cnt清零,否則當(dāng)USB接收完一個(gè)包(64字節(jié))后,置計(jì)數(shù)器使能信號cnt_vld有效,rom_wr_cnt開始計(jì)數(shù)。cnt_vld直接作為讀雙端口RAM的使能信號,cnt_vld兩級緩存后作為寫ROM的使能信號。同時(shí),rom_wr_cnt的低8位直接作為讀雙端口RAM的地址信號,rom_wr_cnt計(jì)算結(jié)果經(jīng)過兩級緩存后作為寫ROM的地址信號。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論