<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用Java良好的移植特性的FPGA可編程嵌入式系統

利用Java良好的移植特性的FPGA可編程嵌入式系統

作者: 時(shí)間:2012-07-12 來(lái)源:網(wǎng)絡(luò ) 收藏

傳統的產(chǎn)品只能實(shí)現某種特定的功能,不能滿(mǎn)足用戶(hù)可變的豐富多彩的應用需求。為解決這個(gè)問(wèn)題,本文設計并實(shí)現了一種使用作為軟件平臺的基于,以實(shí)現對多種本地應用和網(wǎng)絡(luò )的支持。

本文引用地址:http://dyxdggzs.com/article/148784.htm

  1. 概述

  傳統的設計的主要目標是找到一種優(yōu)化的體系結構來(lái)完成單一的,特定的功能。對這樣的系統來(lái)說(shuō),ASIC和核心處理器是作為特別的構件模塊加以考慮的:設計者根據應用的要求選擇適當的ASIC,根據給定的性能要求比如處理器主頻,系統穩定性,以及對功耗的要求等選用適當的處理器內核。

  然而,在當今移動(dòng)通信已經(jīng)進(jìn)入每個(gè)人的生活的今天,現在的嵌入式系統比如PDA等已經(jīng)不同于傳統意義上的嵌入式系統了,它們有自己的獨特特點(diǎn)??陀^(guān)需要要求它們能夠支持多種應用功能如網(wǎng)頁(yè)瀏覽,播放音頻/視頻文件,以及進(jìn)行無(wú)線(xiàn)網(wǎng)絡(luò )通信等。

  這樣看來(lái),傳統的設計思路因為只面向單一的應用,無(wú)法滿(mǎn)足多應用嵌入式系統的需求。而解決這一問(wèn)題的途徑便是向嵌入式系統引入能力,以使得系統能夠根據用戶(hù)的不同要求實(shí)現對不同應用的支持。

  為了向系統中引入能力,我們考慮在系統中嵌入,因為具有下列特點(diǎn),使得它成為我們的首選:

  1.現在的FPGA的處理能力和邏輯容量已經(jīng)接近于專(zhuān)用ASIC,功耗也比較低,能夠滿(mǎn)足我們系統設計的要求;

  2.由于FPGA具有的可重編程能力,使用了FPGA的嵌入式系統能夠滿(mǎn)足各種不同的應用要求;

  從嵌入式系統管理的角度來(lái)說(shuō),對網(wǎng)絡(luò )通信的支持也是很有必要的,也是很有特色的一個(gè)應用,因為它使得從遠端服務(wù)器下載新的應用程序并在本地運行成為可能。為實(shí)現對這個(gè)功能的支持,我們采用作為軟件平臺。因為運行在Java虛擬機之上,它能夠下載并執行新的應用程序代碼,并且無(wú)需在下載后重新啟動(dòng)系統。

  綜上所述,這個(gè)新的嵌入式系統是基于Java的,有一個(gè)FPGA和標準處理器相連。我們通過(guò)網(wǎng)絡(luò )下載Java代碼和可以對FPGA進(jìn)行編程的比特流。該系統也支持對FPGA的動(dòng)態(tài)重新配置。為了實(shí)現硬件(FPGA)和軟件(Java應用程序代碼)之間的通信,又定義了一組本地API,以使得從Java應用層能夠訪(fǎng)問(wèn)到底層的硬件。為了調用這些本地API,采用了Java本地接口(JNI)。在本文中,將一些Java函數(Java method)用FPGA可編程硬件來(lái)實(shí)現,稱(chēng)之為硬件方法(HW method)。

  2. 系統設計

  實(shí)現一個(gè)Java函數功能的對應的硬件方法實(shí)現的邏輯結構圖如圖1所示。

  


  輸入緩存和輸出緩存分別用來(lái)接收輸入參數和存儲輸出結果??刂凭彺嬗糜趯τ布椒ǖ目刂坪蜋z測,比如向硬件方法發(fā)出啟動(dòng)指令,檢查其所處的狀態(tài)并判斷操作是否完成等。該模塊中的所有緩存都映射到處理器物理地址空間中,處理器可以使用正常的讀寫(xiě)指令完成對這些緩存的訪(fǎng)問(wèn)。

  圖2是該嵌入式系統的硬件平臺,由一個(gè)標準處理器,一個(gè)FPGA和一個(gè)系統存儲單元構成。它們之間通過(guò)共享的系統總線(xiàn)連接在一起。

  

  當處理器向一個(gè)硬件方法發(fā)出讀寫(xiě)操作指令時(shí),該硬件方法在其自己的地址解碼器的幫助下向數據總線(xiàn)上發(fā)送對應的響應信號。在這里,我們可以認為是處理器發(fā)起的硬件/軟件通信指令,而FPGA則是作為一個(gè)從屬單元做出回應。因為在處理器發(fā)起初始指令后,就由可配置管理器來(lái)負責管理FPGA編程。這樣一來(lái),就實(shí)現了處理器和FPGA的并行運行。

  如圖3所示,我們選擇Java作為軟件平臺,并且裝載了一個(gè)嵌入式操作系統為Java實(shí)時(shí)應用程序提供基本的服務(wù),比如線(xiàn)程和其它硬件管理等。

  

  通過(guò)系統管理器,可以從遠程服務(wù)器下載Java應用程序。系統管理器主要實(shí)現了下面3種協(xié)議:

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>