999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA在線實驗平臺設計與在線實驗方法研究

2019-09-19 12:09:10
測控技術 2019年1期
關鍵詞:實驗教學信號實驗

(北京航空航天大學 計算機學院,北京 100191)

在高校人才培養中,實驗教學是不可或缺的重要教學環節之一,是培養學生創新意識、深化理論知識理解、形成專業工程素養、提升實踐動手能力的重要途徑[1]。

近年來隨著科學技術的進步以及人工智能的普及,數字信號處理已經變得尤為重要。尤其以FPGA(Field Programmable Gate Array,現場可編程門陣列)為核心的數字信號處理電路,在不同的領域都發揮著重要的作用[2-3]。高校計算機專業的硬件類課程一般包括數字邏輯、計算機組成原理、計算機接口與通信、計算機體系結構、嵌入式系統等課程,這些課程都有配套的實驗環節。為了將多門課程的知識點銜接貫通起來,現在國內外不少高校,都開發了基于FPGA的硬件實驗平臺。一方面,使實驗平臺具有通用性,能夠將硬件類課程貫通,實現課程之間互用;另一方面,使各課程之間在實驗項目的設計上具有延續性,能體現出課程之間的銜接[4]。然而,FPGA實驗教學通常只能在實驗室里開展,受實驗時間、實驗場地、設備數量和實驗形式等的限制,實驗教學的靈活性不足,實驗的延續性得不到保證,硬件設備利用率不高。因此,迫切需要一種新型實驗教學模式,使得學生可以“隨時、隨地”開展實驗,同時使昂貴的實驗設備能夠被充分利用,最大程度地發揮硬件設備的價值。

近幾年來,以開放性、互動性、個性化為特征的大規模開放在線課程(Massive Open Online Course,MOOC)在國內外得到快速發展,并引發了全球教育界對傳統教育模式的反思和變革。但是,現有的MOOC平臺提供的開放課程大多為理論課程,而涉及真實實驗操作的實驗類課程還很少。研究MOOC環境下開放共享的實驗教學的解決方法,不僅對于實驗教學本身在教育模式變革中的發展有重要的意義,對于輔助線上理論課程的教學也有著非常重要的作用[5]。

為此,一些高校和科研機構開始探索:如何將真實的硬件設備聯入網絡,同時利用MOOC的巨大優勢,為廣大學習者提供一個可以隨時隨地進行實驗的開放式、真實的實驗環境,從而實現真正的在線實驗教學。近幾年來,人們開發研制出各種FPGA在線實驗系統[4,6-14],建立了FPGA遠程實驗室,使得FPGA在線實驗成為可能,從而有效克服實驗教學受場地和時間約束的缺陷,激勵學生自主學習和自主研究。

然而,現有的FPGA在線實驗平臺通常只提供按鍵和撥碼開關等常規的輸入設備以及LED和數碼管等常規的輸出設備。由于結構和技術的局限性,并沒有提供鍵盤鼠標接口和VGA(Video Graphics Array,視頻圖像陣列)接口,也沒有考慮對鍵盤鼠標接口和VGA顯示在線實驗的支持。學生無法開展使用鼠標或鍵盤進行實驗操作的在線實驗,無法實時觀看VGA顯示,也就無法通過在線實驗掌握鍵盤鼠標接口標準和VGA顯示器標準的工作原理和設計方法;同時,這在很大程度上限制了在線實驗項目的種類,降低了實驗教學的多樣性和趣味性。

1 FPGA在線實驗平臺設計

1.1 FPGA在線實驗平臺簡介

北京航空航天大學計算機學院自2014年以來,以“任何人、任何時間、任何地點、多種設備”開展實踐性學習為目標,積極探索MOOC在線教育在實驗教學中的應用新模式,為學生提供不受時空限制的在線實驗環境,自主研發了“基于FPGA的硬件類課程在線實驗平臺”(簡稱FPGA在線實驗平臺)。該平臺支持以FPGA為核心的多門硬件類課程在線實驗,能夠提供實驗目標文件的遠程下載、硬件設備遠程操控、實驗設計在線調試、實驗結果實時反饋和自動評測等功能。并在北航學堂上建設了《計算機組成實驗》、《計算機EDA設計》等MOOC課程,將FPGA在線實驗平臺嵌入其中,使得學生可以隨時隨地進行在線實驗,從而突破了傳統硬件類實驗課程在時間、空間和形式上的限制,將實驗教學場所從象牙塔尖延伸到學生宿舍、圖書館乃至地球上網絡能訪問的任一地點。

1.2 FPGA在線實驗平臺的結構

FPGA在線實驗平臺的整體架構如圖1所示。

圖1 FPGA在線實驗平臺整體架構

整個平臺由硬件系統和軟件系統兩部分組成。其中,硬件系統主要包括上位機和FPGA板。

上位機采用M58工控板,M58采用Intel低功耗Atom系列處理器。上位機主要有3個功能:① 接收實驗者在客戶端上傳的目標文件;② 接收實驗者在客戶端發送的指令;③ 接收FPGA板上的LED、數碼管等輸出設備的信號狀態。

FPGA板是實驗的硬件載體,它包括實驗FPGA和主控FPGA(分別采用Xilinx公司的Spartan6系列FPGA芯片XC6SLX100-2FGG676C和XC6SLX16-2FTG256C),還有輸入設備(通用按鍵開關,撥碼開關)和輸出設備(LED,7段數碼管),以及一些外設接口(如UART串口,VGA接口,PS/2接口,蜂鳴器等)。每個實驗所生成的編程目標文件都下載到實驗FPGA中運行。主控FPGA是上位機與實驗FPGA之間的橋梁,一方面,模擬輸入設備產生實際激勵信號發送至實驗FPGA;另一方面,實時采集FPGA板上所有輸出設備和外設接口輸出的信號,并傳送至上位機。

軟件系統提供在線實驗服務和設備控制管理功能,包括在線實驗管理系統和上位機控制軟件。在線實驗管理系統部署在MOOC服務器上,上位機控制軟件部署于上位機中,它們協同完成實驗者在MOOC平臺上對實驗設備的遠端操控。

實驗者所使用的終端稱為用戶前端。用戶前端采用SaaS(Software-as-a-service,軟件即服務)的軟件應用模式,用戶(實驗者)無需安裝客戶端軟件,即可通過Web界面使用在線實驗管理系統。

2 在線實驗方法研究

2.1 實現鍵盤鼠標接口在線實驗的遠程控制方法

2.1.1 鍵盤和鼠標接口簡介

鍵盤和鼠標是實現人機交互的重要輸入設備。鍵盤、鼠標的接口形式因主機而異,過去的計算機都采用PS/2接口,而現在的PC機、筆記本電腦大多已用USB接口替代了PS/2接口,目前普遍使用USB接口的鍵盤鼠標。但是,仍有一部分PS/2接口的設備在使用,尤其是在軍用加固設備領域,可長距離傳輸數據的優勢使得PS/2接口廣泛應用于軍用加固計算機、服務器等設備。

此外,由于PS/2通信協議簡單、容易理解和實現,所以特別適于作為教學內容學習和掌握;而USB通信協議相對要復雜得多,并不適合開展教學。故在FPGA實驗中,PS/2鍵盤鼠標接口實驗常常被作為一類實驗項目,通過此類實驗,使學生了解雙向同步串行通信協議的一般原理,進而掌握其設計方法。

PS/2通信協議是一種雙向同步串行通信協議。PS/2鍵盤/鼠標可以發送數據到主機,而主機也可以發送數據到PS/2鍵盤/鼠標。主機一般指與PS/2設備相連的計算機。本文中,主機即實驗FPGA,實驗者將電路的目標文件下載到實驗FPGA中,從而產生實驗的控制邏輯。

2.1.2 鍵盤鼠標接口在線實驗方法主要思路

為了利用客戶端的通用鍵盤或鼠標(不限于PS/2鍵盤或鼠標)進行在線實驗操作,筆者提出一種遠程控制方法,實現基于FPGA在線實驗平臺的PS/2鍵盤鼠標接口在線實驗。

簡單來說,通用鍵盤或鼠標產生的數據經歷了用戶前端—服務器—上位機—主控FPGA—實驗FPGA的通信過程,其中涉及了相應的編碼轉換和解碼。該方法的基本思路如下:

(1) 用戶前端捕獲鍵盤事件或鼠標事件并進行編碼轉換。

實驗者操作與終端相連的通用鍵盤或鼠標進行實驗,用戶前端實時捕捉鍵盤事件或鼠標事件,并進行編碼轉換,得到相應的PS/2鍵盤數據或PS/2鼠標數據(統稱為PS/2數據)。

(2) 用戶前端將PS/2數據打包后經服務器發送給上位機。

用戶前端根據服務器與上位機之間的通信協議,對PS/2數據按照約定的格式打包得到PS/2數據包,并將PS/2數據包通過Websocket發送給MOOC服務器;MOOC服務器再轉發給上位機。

(3) 上位機解析PS/2數據包,將PS/2數據發送給主控FPGA。

上位機接收到PS/2數據包后,根據預設通信協議對PS/2數據包進行解析,得到PS/2數據,并將PS/2數據通過串口發送給主控FPGA。

(4) 主控FPGA將PS/2鍵盤數據或鼠標數據發送給實驗FPGA。

主控FPGA中的鍵盤接口控制模塊和鼠標接口控制模塊對PS/2數據進行識別,區分其到底是鍵盤數據還是鼠標數據,然后將相應的數據通過模擬PS/2鍵盤接口和PS/2鼠標接口的4個特定引腳(PS/2鍵盤的數據線和時鐘線、PS/2鼠標的數據線和時鐘線)分別發送至實驗FPGA相應的4個特定引腳,從而使下載到實驗FPGA中的目標文件產生相應的輸出,完成實驗。

2.2 實現VGA顯示在線實驗的遠程控制方法

2.2.1 VGA顯示原理介紹

VGA是IBM在1987年推出的一種視頻傳輸標準,其具有分辨率高、顯示速率快、顏色豐富等優點,在彩色顯示器領域得到了廣泛的應用。VGA標準一直沿用至今,現在的液晶顯示器也都兼容VGA標準。

采用VGA標準的顯示器通過VGA接口與計算機內部的顯卡相連。VGA接口通常為D形三排15針接口。顯示器只接受模擬信號輸入,其中最重要的信號包含R、G、B(紅、綠、藍)三原色信號和HSYNC(行同步信號)、VSYNC(場同步信號)控制信號。

VGA是一種使用模擬信號的視頻傳輸標準,顏色信號R、G、B均為模擬信號,用紅、綠、藍這3種顏色可以隨意配出自然界中的大部分顏色,因此采用VGA標準能夠提供絢麗多彩的顏色。但在某些應用場合,并不需要顯示彩色高分辨率的圖像,如超市、車站、機場等公共場所的廣告宣傳和提示信息顯示,工廠車間生產過程中的操作信息顯示等。這時可以簡單地采用數字量代替模擬量作為顏色信號R、G、B,則能夠顯示的最大顏色數只有23=8色,但8種顏色足矣。故在一些嵌入式系統中,廣泛采用VGA進行圖像顯示,可以使得系統結構簡單,降低成本,易于設計。

FPGA擁有豐富的硬件資源,可重配置能力強,保密性好,是嵌入式設計的主流平臺之一[15]。故在嵌入式系統中,人們基于FPGA設計出各種圖像采集與VGA顯示系統[16],甚至是視頻采集、實時視頻跟蹤系統[17]等。其中一個關鍵部分是設計VGA顯示接口控制電路,產生相應的RGB信號和控制信號,然后通過VGA接口將這些信號傳輸到顯示設備中,從而使顯示器顯示各種圖像。在FPGA教學中,VGA顯示接口控制電路設計往往是必不可少的重要內容之一。

2.2.2 VGA顯示在線實驗方法主要思路

在線下實驗中,實驗者可以通過VGA線纜直接將一個VGA顯示器與FPGA板上的VGA接口相連,從而顯示圖像。但是,做在線實驗時,實驗者是無法看到遠程VGA顯示器上的畫面的;而且,VGA顯示器的輸出信號并不是簡單的電平或脈沖信號,而是具有一定時序關系的多個信號,數據量巨大,直接傳輸根本無法保證實時性。因此,需要考慮如何將VGA顯示器的畫面實時回傳給客戶端,借用實驗者的顯示器復現實驗產生的圖像畫面。

為此,提出一種VGA遠程顯示控制方法,實現VGA信號采集和壓縮、本地分發推流以及在線實時播放。VGA信號的轉換和傳送過程如圖 2所示。

圖2 VGA信號的轉換和傳送過程

該方法的關鍵是采用VGA2USB視頻采集卡將VGA模擬信號轉換為壓縮的視頻流,再通過網絡進行傳送。VGA2USB視頻采集卡是外置VGA信號采集盒,它能夠實時捕獲計算機或嵌入式系統輸出的VGA模擬信號;并將其轉換成數字信號;再編碼成視頻流,通過USB2.0接口回傳到計算機或嵌入式系統中。

VGA信號的轉換和傳送過程具體如下:

(1) VGA2USB視頻采集卡對FPGA板輸出的VGA模擬信號進行實時采集、壓縮,轉換成flv(FlashVideo)格式的視頻流。

flv是現在非常流行的流媒體格式,由于其視頻文件體積輕巧、封裝播放簡單等特點,使其很適合在網絡上應用;此外,由于當前瀏覽器與Flash Player緊密結合,使得網頁播放flv視頻輕而易舉,這也是flv流行的原因之一。flv視頻格式是Adobe公司設計開發的,目前已經免費開放。

flv格式文件是一個二進制文件,包括文件頭(Flv Header)和文件體(Flv Body)兩部分,其中文件體由一系列的Tag及Tag Size對組成。Tag又可以分成3類:audio、video、script,分別代表音頻流、視頻流和腳本流(關鍵字或者文件信息之類)。

(2) 通過視頻采集卡與上位機相連的USB線將flv視頻流傳送到上位機,上位機上運行的FFmpeg推流器接收視頻流數據。

實時流媒體編碼工具FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并將其轉化為流的開源計算機程序。它提供了錄制、轉換以及流化音視頻的完整解決方案。FFmpeg從視頻采集卡處獲取視頻流數據,并設置相關參數(VGA2USB采集卡的設備ID,SRS服務器IP地址,上位機的ID)。

(3) FFmpeg推流器將視頻數據以RTMP(Real Time Messaging Protocol,實時消息協議)流的形式推送到SRS(Simple-RTMP-Server)流媒體服務器端;SRS服務器搜集來自多個上位機推送的視頻流,并根據用戶請求提供正確的視頻流供用戶訪問。

RTMP是一種進行實時數據通信的網絡協議,主要用來在Flash/AIR(Adobe Integrated Runtime,Adobe集成運行環境)平臺與支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。

RTMP協議規定,播放一個流媒體有兩個步驟:① 建立一個網絡連接(NetConnection);② 建立一個網絡流(NetStream)。其中,網絡連接代表服務器端應用程序和客戶端之間基礎的連通關系。網絡流代表發送多媒體數據的通道。服務器與客戶端之間只能建立一個網絡連接,但是基于該連接可以創建很多網絡流。

播放一個RTMP協議的流媒體具體需要以下幾個環節:握手、建立連接、建立流、播放。RTMP連接都是以握手作為開始的。建立連接階段用于建立客戶端與服務器之間的“網絡連接”;建立流階段則用于建立客戶端與服務器之間的“網絡流”;播放階段用于傳輸視音頻數據。

(4) 當目標文件燒錄到FPGA中后,實驗者單擊客戶端實驗界面上方的“VGA顯示”按鈕,實驗界面將彈出一個顯示器窗口,顯示實驗者所設計的VGA畫面。

最終,客戶端通過Internet訪問流媒體服務器,使用基于Flash技術的播放器(如Adobe Flash Player)即可實時播放視頻,從而實現FPGA在線實驗平臺的遠程VGA顯示。

3 在線實驗平臺應用

基于FPGA在線實驗平臺可以支持多門課程。目前,FPGA在線實驗平臺配置了40套設備(系統規模還可以根據需要隨時擴充),在各門課程運行期間,能夠7×24 h為學生提供在線實驗服務,部分實驗環節還可通過互聯網面向全球開放運行,以實現優質實驗教學資源的開放共享。平臺已多輪次在筆者所在學校的《計算機組成實驗》、《計算機EDA設計》和《數字系統設計》課程中使用,實現了多門硬件課程的在線實驗教學,與課內實驗起到了很好的互補作用,形成了一種線下實驗和線上實驗相結合的實驗教學新模式。

筆者開發了對抗性彈球游戲在線實驗,該實驗項目在《數字系統設計》課程中被作為大作業選題使用。學生在離開實驗室后,在任何時候,可以在宿舍、圖書館或者有網絡的任何地方,通過連接于終端上的通用鍵盤和鼠標,操縱顯示在實驗界面中的游戲界面上的擋板,遠程進行實驗,來驗證設計的正確性,從而保證了實驗的連貫性,顯著提高了學生的學習效率。

為了驗證所提出方法的有效性,結合對抗性彈球游戲在線實驗,對在線實驗平臺的性能進行了測試。測試環境配置如表1所示。

表1 測試環境詳細配置

使用JavaScript語言在Visual Studio Code平臺上編寫腳本,捕捉實驗者的鍵盤/鼠標被觸發的時間點以及客戶端實驗界面收到SRS服務器傳回的視頻圖像的時間點。通過多次測試可以發現,從按下鍵盤/鼠標至實驗界面的VGA畫面發生響應的時間,即全過程時延,平均低于700 ms。

分析可知,當實驗者希望通過鍵盤/鼠標控制游戲畫面中的擋板,在鍵盤或鼠標按下時,鍵盤或鼠標產生的數據經歷了用戶前端—MOOC服務器—上位機—主控FPGA—實驗FPGA的通信過程。由于字符指令所占帶寬較小,故該傳輸過程對帶寬沒有限制,時延為毫秒級。

由于實驗者的“對抗性彈球游戲在線實驗”目標文件已經遠程上傳、下載到實驗FPGA中,所以該目標文件會自動運行,產生預定的邏輯,隨時響應鍵盤/鼠標操作,使游戲畫面中的擋板上移或下移。則實驗FPGA產生的VGA信號經歷了實驗FPGA—VGA2USB采集卡—上位機/FFmpeg推流器—SRS服務器—用戶前端的通信過程。

上述數據回傳過程的主要時延在于VGA2USB進行編碼的過程,即由VGA信號轉換為flv格式視頻流的過程。最終,小巧的flv格式視頻流傳輸到SRS服務器,服務器再傳送給客戶端界面進行播放。實驗者只需單擊客戶端實驗界面上方的“VGA顯示”按鈕,實驗界面將彈出一個顯示器窗口,刷新顯示實驗者所設計的VGA畫面。

實驗平臺使用的VGA2USB采集卡為科伍KW520采集卡,其最大采樣率為230 Mpixels/s。若適應640×480的視頻模式,根據其官方數據,其刷新率在典型應用下為10次/s;而在640×480的分辨率下,WinXP的刷新率(每秒鐘填充圖像的幀數)為28.0 f/s,因此可以實現實時刷新。故整體時延在在線實驗的過程中是可以接受的。

學生在完成“對抗性彈球游戲在線實驗”時,充分發揮其想象力,對設計進行優化、改進和創新,有效提升了其系統設計能力和自主設計能力,培養了創新精神,取得了很好的教學效果。

由于在線實驗打破時空限制,學生開展實驗的方式更加靈活,投入實驗的時間明顯增加,實驗學習效果有顯著提升。

4 結束語

采用一體化設計的FPGA在線實驗平臺,保證了線上實驗和線下實驗的實驗設備的一致性,能夠顯著提高學生的學習效率;平臺同時具有一臺多用、輸入設備和輸出設備豐富、普適性強等特點。所提出的實現鍵盤鼠標接口在線實驗和VGA實時顯示的遠程控制方法,擴展了現有FPGA在線實驗平臺的功能,極大地豐富了實驗的種類,增加了實驗的趣味性。

筆者開發的在線實驗平臺和在線實驗方法已被應用于實際教學中,并取得了很好的教學效果。實踐表明,借助于這個平臺,學生可以開發更多有趣的游戲或者復雜的系統,從而進一步激發學習興趣,有利于學生開展自主學習、自主設計和創新。

猜你喜歡
實驗教學信號實驗
記一次有趣的實驗
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
小議初中化學演示實驗教學
甘肅教育(2020年4期)2020-09-11 07:42:36
電容器的實驗教學
物理之友(2020年12期)2020-07-16 05:39:20
對初中化學實驗教學的認識和體會
甘肅教育(2020年8期)2020-06-11 06:10:04
做個怪怪長實驗
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
幾何體在高中數學實驗教學中的應用
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 中文字幕调教一区二区视频| 青青草欧美| 污网站免费在线观看| 国产无码性爱一区二区三区| 在线毛片免费| 波多野结衣一区二区三区88| 色综合天天操| 97久久精品人人| 2019年国产精品自拍不卡| 日本午夜精品一本在线观看| 天天躁狠狠躁| 国产在线视频二区| 国产精品va| 亚洲精品天堂自在久久77| 日韩精品中文字幕一区三区| 国产拍揄自揄精品视频网站| 国产精品永久久久久| 精品国产电影久久九九| 色天堂无毒不卡| 国产成人无码综合亚洲日韩不卡| 视频二区欧美| 国产欧美日韩专区发布| 欧美成人一级| 免费一级毛片完整版在线看| 国产精品第一区在线观看| 久久公开视频| 国产激情影院| 国产浮力第一页永久地址| 日本免费一区视频| 成人在线亚洲| 国产18在线播放| 亚洲国产天堂在线观看| 成人蜜桃网| 一级爱做片免费观看久久| lhav亚洲精品| 亚洲伦理一区二区| 欧美性色综合网| 亚洲国语自产一区第二页| 欧美福利在线播放| 久久精品国产电影| 九九九久久国产精品| 九一九色国产| 国产亚洲欧美日本一二三本道| 欧美亚洲另类在线观看| 精品无码一区二区在线观看| 久久激情影院| 日韩精品高清自在线| 免费又黄又爽又猛大片午夜| 毛片在线看网站| 黄色网站在线观看无码| 欧美日韩精品在线播放| 欧美三级不卡在线观看视频| 国产制服丝袜无码视频| 欧美性天天| 91青青在线视频| 五月天婷婷网亚洲综合在线| 97青草最新免费精品视频| AV熟女乱| 亚洲精品国产成人7777| 美女免费精品高清毛片在线视| 欧美日韩一区二区在线免费观看| 亚洲91精品视频| 亚洲天堂视频在线播放| 中文字幕亚洲乱码熟女1区2区| 欧美在线视频不卡第一页| 国产精品午夜电影| 亚洲欧美日韩成人高清在线一区| 日韩在线播放中文字幕| 久久五月天国产自| WWW丫丫国产成人精品| 国产永久在线观看| 中文字幕天无码久久精品视频免费| 99er这里只有精品| 色视频久久| 国产成人精品一区二区秒拍1o| 91视频99| 国产不卡国语在线| 国产成人无码AV在线播放动漫| 中文字幕第1页在线播| 亚洲欧洲日产国产无码AV| 国产日本视频91| 福利小视频在线播放|