亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的制作方法

文檔序號(hào):77436閱讀:361來(lái)源:國(guó)知局
專利名稱:一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),屬計(jì)算機(jī)教學(xué)實(shí)驗(yàn)儀器技術(shù)領(lǐng)域

技術(shù)背景
目前國(guó)內(nèi)的計(jì)算機(jī)硬件課程實(shí)驗(yàn)都是在本地完成實(shí)驗(yàn)內(nèi)容,需要實(shí)驗(yàn)者在實(shí)驗(yàn)設(shè)備前操作實(shí)驗(yàn)設(shè)備,得到實(shí)驗(yàn)結(jié)果,以達(dá)到實(shí)驗(yàn)的目的,但是由于實(shí)驗(yàn)場(chǎng)地開放時(shí)間和實(shí)驗(yàn)設(shè)備數(shù)量的限制,造成實(shí)驗(yàn)設(shè)備只有在場(chǎng)地開放的時(shí)候才能被用來(lái)完成實(shí)驗(yàn),而有很多時(shí)候都是空閑的。如果使用網(wǎng)絡(luò)來(lái)進(jìn)行遠(yuǎn)程實(shí)驗(yàn)就能夠解決這個(gè)問(wèn)題,讓實(shí)驗(yàn)者在遠(yuǎn)程在任何地點(diǎn)任何時(shí)候進(jìn)行實(shí)驗(yàn),大大增加了實(shí)驗(yàn)地點(diǎn)和實(shí)驗(yàn)時(shí)間的靈活度,提高了實(shí)驗(yàn)設(shè)備的利用率,降低對(duì)實(shí)驗(yàn)室空間的要求,從而節(jié)約了實(shí)驗(yàn)經(jīng)費(fèi)。
目前存在的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),都不是基于實(shí)際硬件設(shè)備的,而是在服務(wù)器上做模擬, 客戶端上得到的實(shí)驗(yàn)結(jié)果也是模擬結(jié)果,并不是實(shí)際硬件運(yùn)行的結(jié)果,這樣就有可能出現(xiàn)模擬結(jié)果和實(shí)際硬件運(yùn)行結(jié)果不一致的情況,大大降低了實(shí)驗(yàn)結(jié)果的可信度和可驗(yàn)證性。

發(fā)明內(nèi)容
本發(fā)明的目的是設(shè)計(jì)一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),在該實(shí)驗(yàn)系統(tǒng)上可以遠(yuǎn)程進(jìn)行計(jì)算機(jī)系列硬件課程的實(shí)驗(yàn)。
本發(fā)明提出的計(jì)算機(jī)硬件系列課程的實(shí)驗(yàn)裝置包括開展實(shí)驗(yàn)的實(shí)驗(yàn)設(shè)備,管理實(shí)驗(yàn)設(shè)備的服務(wù)器和軟件,進(jìn)行實(shí)驗(yàn)的客戶端計(jì)算機(jī)和軟件。實(shí)驗(yàn)設(shè)備通過(guò)USB接口連接到服務(wù)器上,多個(gè)設(shè)備需要經(jīng)過(guò)USB集線器再通過(guò)USB接口連接到服務(wù)器上,集線器之間也可以級(jí)聯(lián);客戶端和服務(wù)器通過(guò)網(wǎng)絡(luò)接口連接到以太網(wǎng)上,二者通過(guò)以太網(wǎng)進(jìn)行通訊。
實(shí)驗(yàn)設(shè)備包括實(shí)驗(yàn)芯片、控制芯片、下載芯片、存儲(chǔ)器、USB通信接口、FLASH存儲(chǔ)器以及各類實(shí)驗(yàn)用接口。
(1)實(shí)驗(yàn)芯片,由實(shí)驗(yàn)者寫入代碼、進(jìn)行實(shí)驗(yàn);
(2)控制芯片,用于控制板上電路、提供對(duì)于實(shí)驗(yàn)芯片的實(shí)驗(yàn)支持和監(jiān)測(cè)、以及對(duì)外發(fā)出監(jiān)測(cè)內(nèi)容。主要分為三個(gè)部分
a)內(nèi)存總線部分發(fā)出內(nèi)存總線的所有控制信號(hào)。
b)寄存器部分監(jiān)聽實(shí)驗(yàn)芯片的寄存器信息等實(shí)驗(yàn)內(nèi)容。
c)通信部分對(duì)外發(fā)送消息;
(3)下載芯片,用于下載程序到實(shí)驗(yàn)芯片和控制芯片,同時(shí)負(fù)責(zé)時(shí)鐘分頻以及控制芯片對(duì)USB接口的通信中轉(zhuǎn);
(4)存儲(chǔ)器,用于存儲(chǔ)相關(guān)實(shí)驗(yàn)測(cè)試程序以及數(shù)據(jù);
(5) USB通信接口,用于同控制程序通信;
(6)FLASH存儲(chǔ)器,存儲(chǔ)供下載芯片存儲(chǔ)需錄入內(nèi)容;
(7)各類實(shí)驗(yàn)用接口,用于輔助進(jìn)行各種硬件實(shí)驗(yàn);[0017]上述控制芯片通過(guò)數(shù)據(jù)總線、地址線、內(nèi)存讀寫線、寄存器傳輸線、數(shù)據(jù)三態(tài)控制和實(shí)驗(yàn)芯片相連,通過(guò)數(shù)據(jù)總線、地址線以及數(shù)據(jù)三態(tài)控制線和存儲(chǔ)器相連;上述實(shí)驗(yàn)芯片通過(guò)數(shù)據(jù)總線以及地址線和存儲(chǔ)器相連,直接與各類實(shí)驗(yàn)接口相連;上述下載芯片通過(guò) JTAG線與實(shí)驗(yàn)芯片和控制芯片相連,和FLASH存儲(chǔ)器直接相連,和控制芯片的通信部分直接相連,和USB通信接口直接相連。
管理實(shí)驗(yàn)設(shè)備的服務(wù)器和軟件包括計(jì)算機(jī)服務(wù)器,USBInterface軟件,RLab軟件及數(shù)據(jù)庫(kù)軟件。
(1)計(jì)算機(jī)服務(wù)器,運(yùn)行windows系統(tǒng),具有USB接口和以太網(wǎng)接口 ;
( USBInterface軟件,負(fù)責(zé)掃描連接到服務(wù)器USB接口上的實(shí)驗(yàn)設(shè)備;下載固件程序,使硬件可以和USBInterface正常通信,與硬件通信,完成操作(包括寫flash芯片, 寫FPGA芯片,設(shè)地址總線,讀寄存器,等等);
(3) RLab軟件,負(fù)責(zé)管理用戶、實(shí)驗(yàn)設(shè)備和實(shí)驗(yàn)進(jìn)程,同時(shí)負(fù)責(zé)維護(hù)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫,提供WCF服務(wù)給客戶端軟件;
(4)數(shù)據(jù)庫(kù)軟件,記錄用戶信息、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)過(guò)程、日志等;
上述軟件都運(yùn)行在服務(wù)器上,RLab軟件從USBInterface軟件中得到實(shí)驗(yàn)設(shè)備信息,讀寫數(shù)據(jù)庫(kù),提供實(shí)驗(yàn)內(nèi)容,并為客戶端軟件提供WCF服務(wù)。
進(jìn)行實(shí)驗(yàn)的客戶端計(jì)算機(jī)和軟件包括客戶端計(jì)算機(jī),VLabClient軟件。
(1)客戶端計(jì)算機(jī),運(yùn)行windows系統(tǒng),具有以太網(wǎng)接口 ;
(2) VLabClient軟件,負(fù)責(zé)用戶實(shí)驗(yàn)界面,連接服務(wù)器,訪問(wèn)服務(wù)器的WCF服務(wù),傳輸數(shù)據(jù)及命令完成實(shí)驗(yàn)及查看實(shí)驗(yàn)結(jié)果等。
本發(fā)明提出的計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),既可以在本地完成實(shí)驗(yàn),也可以在遠(yuǎn)程完成實(shí)驗(yàn),二者實(shí)驗(yàn)效果相同,沒(méi)有本質(zhì)的區(qū)別;它不僅適用于駐性實(shí)驗(yàn),還適用于開放式、創(chuàng)新式的實(shí)驗(yàn),實(shí)現(xiàn)了對(duì)于計(jì)算機(jī)硬件系列課程的實(shí)驗(yàn)的支持。


圖1是本發(fā)明提出的計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)框圖
圖2是本發(fā)明中實(shí)驗(yàn)者登錄服務(wù)器和操作設(shè)備的示意圖
圖3是本發(fā)明中實(shí)驗(yàn)的具體操作流程
圖4是本發(fā)明中實(shí)驗(yàn)設(shè)備的結(jié)構(gòu)圖
圖5是本發(fā)明中USBInterface軟件的結(jié)構(gòu)圖和流程圖
圖6是本發(fā)明中RLab軟件結(jié)構(gòu)圖
具體實(shí)施方式
本發(fā)明提出的計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,包括實(shí)驗(yàn)設(shè)備,服務(wù)器和客戶端三個(gè)部分。其中
(1)實(shí)驗(yàn)設(shè)備,用來(lái)完成硬件實(shí)驗(yàn),上面有實(shí)驗(yàn)芯片和控制芯片用來(lái)進(jìn)行實(shí)驗(yàn)和控制,還有通訊接口用來(lái)完成傳送數(shù)據(jù)和實(shí)驗(yàn)結(jié)果;
(2)服務(wù)器,用來(lái)管理實(shí)驗(yàn)設(shè)備,并提供遠(yuǎn)程實(shí)驗(yàn)服務(wù);
(3)客戶端,有實(shí)驗(yàn)界面,用來(lái)在遠(yuǎn)程進(jìn)行實(shí)驗(yàn)操作,并查看實(shí)驗(yàn)結(jié)果。[0038]設(shè)計(jì)使用了如下的實(shí)驗(yàn)流程
實(shí)驗(yàn)者需要通過(guò)客戶端遠(yuǎn)程登錄服務(wù)器,然后服務(wù)器會(huì)根據(jù)實(shí)驗(yàn)者的請(qǐng)求分配給實(shí)驗(yàn)者一臺(tái)或多個(gè)實(shí)驗(yàn)設(shè)備,接著實(shí)驗(yàn)者就能夠通過(guò)客戶端的軟件來(lái)操作實(shí)驗(yàn)設(shè)備進(jìn)行實(shí)驗(yàn),并在客戶端上查看實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)者登錄登錄服務(wù)器的示意圖如圖2(1)所示,實(shí)驗(yàn)者在客戶端使用登錄界面發(fā)送向登錄認(rèn)證發(fā)送登錄信息,登錄認(rèn)證再請(qǐng)求服務(wù)器,服務(wù)器通過(guò)查詢數(shù)據(jù)庫(kù)來(lái)確認(rèn)是否為合法用戶,如果是合法用戶,則給客戶端發(fā)送應(yīng)答信息,客戶端進(jìn)入實(shí)驗(yàn)界面,實(shí)驗(yàn)者在上面可以看到連接情況、設(shè)備使用情況、用戶在線信息和操作信息等。
實(shí)驗(yàn)者操作設(shè)備的示意圖如圖2(2)所示,服務(wù)器在得到實(shí)驗(yàn)者連接請(qǐng)求時(shí),首先判斷此其是否已連接上設(shè)備,如果沒(méi)有,則分配端口和設(shè)備,之后初始化設(shè)備,并將分配到的設(shè)備信息返回給實(shí)驗(yàn)者,此后實(shí)驗(yàn)者就可以通過(guò)這些信息對(duì)分配到的設(shè)備進(jìn)行操作。在用戶操作設(shè)備的過(guò)程中,服務(wù)器端主要工作有
(1)數(shù)據(jù)庫(kù)操作動(dòng)態(tài)記錄設(shè)備列表和連接表,在實(shí)驗(yàn)者操作時(shí)記錄操作數(shù)以及操作時(shí)間,當(dāng)實(shí)驗(yàn)者離開時(shí)將歷史記錄中的總操作數(shù)和總在線時(shí)間(累加最后一次操作時(shí)間減去本次上線時(shí)間)更新。
(2)日志信息主要通過(guò)配置文件中的路徑信息保存日志。日志分兩種,一種是 txt格式,記錄重要信息,如操作、上傳等,另一種是WCflog形式,記錄所有與網(wǎng)絡(luò)傳輸相關(guān)的連接信息。
(3)操作硬件調(diào)用硬件服務(wù)類、硬件管理類和數(shù)據(jù)庫(kù)操作類,客戶端和服務(wù)器通過(guò)WCF通信維護(hù)實(shí)驗(yàn)者和設(shè)備的對(duì)應(yīng),將實(shí)驗(yàn)者給設(shè)備的操作信息發(fā)送給對(duì)應(yīng)設(shè)備,并將設(shè)備返回值返回到客戶端。在多個(gè)實(shí)驗(yàn)者并發(fā)時(shí),服務(wù)器端通過(guò)在服務(wù)器上生成多個(gè)實(shí)例進(jìn)行多線程操作。
(4)硬件分配對(duì)于掃描到的設(shè)備,分配給固定的端口號(hào),當(dāng)設(shè)備被掛起時(shí),不容許原有實(shí)驗(yàn)者繼續(xù)操作。在新連接設(shè)備申請(qǐng)到達(dá)時(shí),首先掃描是否有被掛起的設(shè)備,如果有則分配給新實(shí)驗(yàn)者,否則到剩余設(shè)備列表中尋找第一臺(tái)可用設(shè)備。
(5)操作驗(yàn)證在接到一個(gè)新的操作時(shí),服務(wù)器通過(guò)查詢保留在內(nèi)存的實(shí)驗(yàn)者和設(shè)備的對(duì)應(yīng)表找到實(shí)驗(yàn)者對(duì)應(yīng)的設(shè)備,之后依次檢查硬件是否正常工作和是否處于可用狀態(tài)。當(dāng)滿足操作驗(yàn)證的要求后,對(duì)設(shè)備的操作會(huì)發(fā)送給設(shè)備。
在實(shí)驗(yàn)過(guò)程中具體的操作流程如圖3所示,客戶端發(fā)出操作請(qǐng)求,經(jīng)過(guò)WCF認(rèn)證后到服務(wù)器端,服務(wù)器端查找到對(duì)應(yīng)設(shè)備并將操作通過(guò)TCP/IP協(xié)議發(fā)送給服務(wù)器的底層程序(USBInteface),底層程序通過(guò)USB接口發(fā)送實(shí)驗(yàn)設(shè)備,實(shí)驗(yàn)設(shè)備運(yùn)行后將結(jié)果通過(guò)USB 接口發(fā)送回底層程序,然后再回到服務(wù)器端,服務(wù)器端分析結(jié)果并記錄操作,最后將結(jié)果通過(guò)WCF返回到客戶端,整個(gè)操作過(guò)程完成,如果出現(xiàn)錯(cuò)誤的話,則返回操作未成功。
實(shí)驗(yàn)設(shè)備的結(jié)構(gòu)框圖如圖4所示,包括實(shí)驗(yàn)設(shè)備實(shí)驗(yàn)芯片K1、控制芯片K2、下載芯片K4、存儲(chǔ)器K3、USB通信接口 K6、FLASH存儲(chǔ)器K5以及各類實(shí)驗(yàn)用接口 K7。其中
(1)實(shí)驗(yàn)芯片K1,由實(shí)驗(yàn)者寫入代碼、進(jìn)行實(shí)驗(yàn);
(2)控制芯片K2,用于控制板上電路、提供對(duì)于實(shí)驗(yàn)芯片Kl的實(shí)驗(yàn)支持和監(jiān)測(cè)、以及對(duì)外發(fā)出監(jiān)測(cè)內(nèi)容。
(3)下載芯片K4,用于下載程序到實(shí)驗(yàn)芯片Kl和控制芯片K2,同時(shí)負(fù)責(zé)時(shí)鐘分頻以及控制芯片對(duì)USB接口 K6的通信中轉(zhuǎn);
(4)存儲(chǔ)器K3,用于存儲(chǔ)相關(guān)實(shí)驗(yàn)測(cè)試程序以及數(shù)據(jù);
(5) USB通信接口 K6,用于同服務(wù)器通信;
(6)FLASH存儲(chǔ)器K5,存儲(chǔ)供下載芯片存儲(chǔ)需錄入內(nèi)容;
(7)各類實(shí)驗(yàn)用接口 K7,用于輔助進(jìn)行各種硬件實(shí)驗(yàn);
上述控制芯片K2通過(guò)數(shù)據(jù)總線、地址線、控制線、數(shù)據(jù)控制線和實(shí)驗(yàn)芯片Kl相連, 通過(guò)數(shù)據(jù)總線、地址線以及數(shù)據(jù)控制線和存儲(chǔ)器K3相連;上述實(shí)驗(yàn)芯片Kl通過(guò)數(shù)據(jù)總線以及數(shù)據(jù)控制線和存儲(chǔ)器K3相連,直接與各類實(shí)驗(yàn)接口 K7相連;上述下載芯片K4通過(guò)JTAG 線與實(shí)驗(yàn)芯片Kl和控制芯片K2相連,和FLASH存儲(chǔ)器K5直接相連,和控制芯片K2直接相連,和USB通信接口 K6直接相連。
在實(shí)驗(yàn)設(shè)備上進(jìn)行實(shí)驗(yàn)的流程如下針對(duì)具體的實(shí)驗(yàn),服務(wù)器通過(guò)USB通信接口 K6將實(shí)驗(yàn)需要的硬件代碼發(fā)送給下載芯片K4,下載芯片K4將代碼下載到實(shí)驗(yàn)芯片Kl中, 同時(shí),K4將預(yù)存在Flash里的控制芯片的代碼下載到控制芯片K2里。接下來(lái),通過(guò)控制芯片K2設(shè)置數(shù)據(jù)總線狀態(tài),控制并輔助實(shí)驗(yàn)芯片Kl進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)過(guò)程中,實(shí)驗(yàn)芯片內(nèi)運(yùn)行了實(shí)驗(yàn)中實(shí)驗(yàn)者編寫的代碼,該代碼按指定接口實(shí)現(xiàn)了一個(gè)暫存區(qū)域Al (通用寄存器),Al 中暫存了實(shí)驗(yàn)者所關(guān)心的實(shí)驗(yàn)芯片內(nèi)部信號(hào)??刂菩酒琄2內(nèi)部同樣維護(hù)了一段格式相同的暫存區(qū)域A2,通過(guò)寄存器傳輸線路保持Al的實(shí)時(shí)鏡像,該鏡像繼續(xù)向上發(fā)送至上位機(jī)。。 用戶要把從客戶端把測(cè)試代碼和數(shù)據(jù)寫入存儲(chǔ)器或者從存儲(chǔ)器里讀取測(cè)試代碼和數(shù)據(jù)的時(shí)候,K2暫時(shí)搶占數(shù)據(jù)總線和地址總線的控制權(quán),直到把測(cè)試代碼和數(shù)據(jù)寫入到存儲(chǔ)器或者測(cè)試代碼和數(shù)據(jù)都從存儲(chǔ)器里讀出之后,才把數(shù)據(jù)總線和地址總結(jié)的控制權(quán)交還實(shí)驗(yàn)芯片;測(cè)試代碼和數(shù)據(jù)的讀寫也由控制芯片完成。用戶還可以從客戶端向?qū)嶒?yàn)芯片發(fā)送時(shí)鐘, 復(fù)位信號(hào),讀取數(shù)據(jù)總線、地址總線等。
下面結(jié)合附圖,詳細(xì)介紹本發(fā)明的一個(gè)實(shí)施例。
在圖1中客戶端和服務(wù)器都是通用計(jì)算機(jī),運(yùn)行的系統(tǒng)都是windows,均須有以太網(wǎng)接口,服務(wù)器還需要具有USB接口,如果實(shí)驗(yàn)設(shè)備過(guò)多,還需要USB集線器做級(jí)聯(lián)。
客戶端上運(yùn)行了 VLabClient軟件,負(fù)責(zé)用戶實(shí)驗(yàn)界面,連接服務(wù)器,訪問(wèn)服務(wù)器的WCF服務(wù),傳輸數(shù)據(jù)及命令完成實(shí)驗(yàn)及查看實(shí)驗(yàn)結(jié)果等。
服務(wù)器端運(yùn)行了底層硬件程序USBInterface (也稱作硬件接口程序)、實(shí)驗(yàn)管理軟件RLab和數(shù)據(jù)庫(kù)軟件MySQL。
硬件接口程序是運(yùn)行在連接了硬件的PC機(jī)上的一段程序,使用MFC開發(fā),通過(guò)usb 驅(qū)動(dòng)程序和硬件進(jìn)行通信。USBInterface接收來(lái)自服務(wù)器的指令后,將其翻譯為相應(yīng)的操作并發(fā)送到硬件;操作完畢后讀取結(jié)果并發(fā)送回服務(wù)器,再由服務(wù)器轉(zhuǎn)發(fā)給客戶端,在客戶端顯示相應(yīng)的結(jié)果。
UsWnterface程序結(jié)構(gòu)如圖5(1)所示,在頭文件UsWnterface. h中定義了 USB 類。USB類包含以“Do_”開頭的一組操作函數(shù),通過(guò)調(diào)用usb驅(qū)動(dòng)程序CyAPI,實(shí)現(xiàn)與硬件通信和具體操作。在頭文件中同時(shí)定義了與服務(wù)器端相同的一組操作指令符。服務(wù)器傳來(lái)的指令被翻譯為對(duì)這組函數(shù)的調(diào)用,以完成用戶指定的操作。翻譯指令工作由FIFC^erver 函數(shù)完成。
USBInterface的工作流程如圖5(2)所示,USBhterface主進(jìn)程啟動(dòng)以后,開始了
6三個(gè)線禾呈Info_Auto_Sender, USBThread 禾口 CyRam_Auto_Downloader。
(l)Info_Auto_Sender的作用是掃描目前連接在電腦上的硬件設(shè)備,將可用設(shè)備的地址列表發(fā)送給服務(wù)器。
O) USBThread新建一個(gè)USB類的實(shí)例,以調(diào)用USB類的成員函數(shù)FIFC^erver ()。 FIFOServerO函數(shù)的作用是將從服務(wù)器發(fā)來(lái)的指令翻譯為具體的函數(shù)調(diào)用。并將操作結(jié)果返回服務(wù)器。
(3)Cyram_Auto_Downloader 的作用是向 usb 下載固件程序。
實(shí)驗(yàn)管理軟件RLab主要負(fù)責(zé)組織好用戶和設(shè)備的對(duì)接,傳輸數(shù)據(jù),維護(hù)數(shù)據(jù)庫(kù)和日。RLab啟動(dòng)后,就根據(jù)USBInterface向上發(fā)送的設(shè)備情況建立自己的設(shè)備表和數(shù)據(jù)表,啟動(dòng)圖形界面。之后程序首先由Maini7Orm中的MartAllConfiguredServicesO函數(shù)根據(jù)app. config文件設(shè)定的WCF相關(guān)信息(地址,綁定,服務(wù))生成IDeviceService. cs和IClientService. cs這兩個(gè)服務(wù)。這兩個(gè)服務(wù)的具體實(shí)現(xiàn)在DeviceService. cs和 ClientService. cs中。DeviceService連接用戶和底層,通過(guò)驗(yàn)證用戶發(fā)來(lái)的請(qǐng)求判斷應(yīng)該對(duì)哪一個(gè)設(shè)備進(jìn)行操作,并將返回值返回給用戶。ClientService主要提供用戶的登錄, 退出,修改用戶信息,獲得服務(wù)器IP地址和設(shè)備列表等操作。
服務(wù)器端的工程結(jié)構(gòu)如圖6所示。在MainR)rm· cs和app. config兩個(gè)文件中部署了 WCF服務(wù)的發(fā)布。ClientService. cs和DeviceService. cs為具體的WCF服務(wù)。DataControll. cs為所有與數(shù)據(jù)庫(kù)相關(guān)的操作。DeviceControll. cs用于硬件管理, ProgramUsb. cs 用于禾口硬件通信。其中 devicesForm. cs、experimentForm. cs、pluginForm. cs、userinfoForm. cs、user_experimentForm. cs、userrecordForm 為數(shù)據(jù)表的界面顯不。
數(shù)據(jù)庫(kù)軟件使用MySQL,主要由以下六個(gè)表組成,其中在程序運(yùn)行過(guò)程中會(huì)被動(dòng)態(tài)改動(dòng)的表有設(shè)備表devices、連接表plugin、用戶實(shí)驗(yàn)信息記錄表userrecord ;不會(huì)在程序運(yùn)行時(shí)被改變的有學(xué)生信息表userinfo、試驗(yàn)信息experiment、學(xué)生成績(jī)錄入user_ experiment。具體字段信息具體介紹如下;
表一 devices的主鍵為由心跳函數(shù)讀取到的設(shè)備號(hào);其中type用于實(shí)驗(yàn)設(shè)備的擴(kuò)展,addr用于標(biāo)示不同設(shè)備,可以通過(guò)心跳函數(shù)得到此值,用于在設(shè)備故障時(shí)給出設(shè)備具體位置。^ed表示當(dāng)前是否被使用,state表示當(dāng)前是否正常工作,port為設(shè)備在初始化時(shí)被分配到的端口號(hào)。^er為使用者學(xué)號(hào)。
表二 Userinf0的主鍵為自增的整數(shù),其他字段為用戶的信息。其中主要用于區(qū)別用戶的為學(xué)號(hào)(studentnumber)和密碼(password)。
表三userrecord表的主鍵為用戶的學(xué)號(hào)(表中用username表示),其中l(wèi)ogout_ time為最后一次操作時(shí)間,login_time為本次登錄時(shí)間,online為是否在線,onlinetime 為累積在線時(shí)間。
表四experiment表主鍵為實(shí)驗(yàn)名,attribute為實(shí)驗(yàn)屬性,info_e為具體信息, device_num為應(yīng)該使用的設(shè)備數(shù)
表五user_experiment表的主鍵是學(xué)號(hào)和實(shí)驗(yàn)名。user_names為學(xué)生姓名; done_time為實(shí)驗(yàn)提交時(shí)間;time_Spend為此實(shí)驗(yàn)用時(shí);device_num為完成實(shí)驗(yàn)所用設(shè)備號(hào);operatetimes為此實(shí)驗(yàn)所作操作數(shù);record和remark為教師打分所用的分?jǐn)?shù)和評(píng)語(yǔ)。
表六plugin表的主鍵為用戶學(xué)號(hào)+設(shè)備號(hào),這樣是為了容許同一個(gè)學(xué)生使用多個(gè)設(shè)備,其中devicejype用于實(shí)驗(yàn)設(shè)備的擴(kuò)展,只需同步herRequest數(shù)據(jù)契約中的相應(yīng)數(shù)據(jù)即可;devicejames用于標(biāo)示不同設(shè)備,可以通過(guò)心跳函數(shù)得到此值,用于在設(shè)備故障時(shí)給出設(shè)備具體位置。
實(shí)驗(yàn)中重要日志根據(jù)配置文件記錄在某目錄下的rlablog.txt中,WCF相關(guān)日志 (消息和事件)記錄在同一目錄下的.svclog文件中,這種日志需要.net Framework提供的 SvcConfigEditor. exe 禾口 SvcTraceViewer. exe 工具打幵。
實(shí)驗(yàn)設(shè)備主要由實(shí)驗(yàn)芯片、控制芯片、下載芯片、存儲(chǔ)器、USB通信接口、FLASH存儲(chǔ)器以及各類實(shí)驗(yàn)用接口組成,如圖4所示,具體實(shí)現(xiàn)如下。
Kl是實(shí)驗(yàn)芯片,采用FPGA實(shí)現(xiàn),型號(hào)為EP2C20Q240。這里寫入實(shí)驗(yàn)中進(jìn)行實(shí)驗(yàn)的相關(guān)內(nèi)容。實(shí)驗(yàn)芯片Kl從控制芯片K2處得到運(yùn)行的時(shí)鐘后,將運(yùn)行過(guò)程的需監(jiān)測(cè)信息,通過(guò)控制芯片K2和實(shí)驗(yàn)芯片Kl的通路,也就是控制線將需要監(jiān)測(cè)的信息發(fā)回到控制芯片K2, 繼而最終傳輸?shù)娇蛻舳擞蓪?shí)驗(yàn)者看到。所有的實(shí)驗(yàn)中,實(shí)驗(yàn)芯片的實(shí)驗(yàn)部分時(shí)鐘和復(fù)位信號(hào)都是由控制芯片提供的,而監(jiān)測(cè)線路,則采用獨(dú)立于實(shí)驗(yàn)部分的單獨(dú)的時(shí)鐘和復(fù)位信號(hào)。
K2是控制芯片,同樣由一塊FPGA芯片實(shí)現(xiàn),型號(hào)為EP2C20Q240??刂菩酒瑑?nèi)的代碼是針對(duì)實(shí)驗(yàn)事先實(shí)現(xiàn)完成的,下載后運(yùn)行,將會(huì)圍繞實(shí)驗(yàn)芯片Ki將特定實(shí)驗(yàn)所需要的總線狀態(tài)和監(jiān)測(cè)邏輯配置完畢。在接下來(lái)的實(shí)驗(yàn)過(guò)程中,發(fā)送實(shí)驗(yàn)芯片Kl運(yùn)行所需的時(shí)鐘和控制信號(hào),需要數(shù)據(jù)總線控制的實(shí)驗(yàn)中,協(xié)同控制總線上的所有器件,發(fā)出所有器件的數(shù)據(jù)控制信號(hào),同時(shí)在整個(gè)實(shí)驗(yàn)過(guò)程中將實(shí)驗(yàn)芯片Ki中需要觀察的信號(hào)獲取得到,以內(nèi)存影射的方式與下載芯片交互信息。
K3是存儲(chǔ)器,由4片RAM5U8TS0P構(gòu)成。在需要存儲(chǔ)代碼和一些文件的實(shí)驗(yàn)中,我們將代碼通過(guò)數(shù)據(jù)總線和地址線寫入存儲(chǔ)器中。對(duì)于K3的讀寫信號(hào)完全是由控制芯片K2 來(lái)發(fā)出的。當(dāng)需要寫存儲(chǔ)器K3的時(shí)候,控制芯片K2發(fā)送給存儲(chǔ)器相關(guān)的寫信號(hào)和地址,同時(shí),控制實(shí)驗(yàn)芯片K2,保證自身K2與實(shí)驗(yàn)芯片Kl中,只有一個(gè)在數(shù)據(jù)總線上有效,發(fā)出數(shù)據(jù)。當(dāng)讀取存儲(chǔ)器K3的時(shí)候,控制芯片K2發(fā)送給存儲(chǔ)器相關(guān)的讀信號(hào)和地址,同時(shí)控制自身K2和實(shí)驗(yàn)芯片Kl在數(shù)據(jù)總線上取得所需的數(shù)據(jù)。
K4是下載芯片,由一片EPM3256A構(gòu)成,主要負(fù)責(zé)在實(shí)驗(yàn)內(nèi)容的初始化階段,將實(shí)驗(yàn)所需的板上代碼下載到FLASH存儲(chǔ)器K5中,下載完畢再分別裝入控制芯片K2和實(shí)驗(yàn)芯片Kl中。當(dāng)需要切換實(shí)驗(yàn)或者強(qiáng)行重啟動(dòng)實(shí)驗(yàn)的時(shí)候,協(xié)助發(fā)出復(fù)位信號(hào)。同時(shí),下載芯片還利用它的可編程邏輯,實(shí)現(xiàn)分頻器的作用。下載芯片向上與USB芯片相連,與上位機(jī)一起構(gòu)成USB芯片的FIFO兩端的讀/寫者。。存儲(chǔ)器讀寫,寄存器讀取,時(shí)鐘信號(hào),復(fù)位信號(hào), 數(shù)據(jù)總線三態(tài)控制等命令都以內(nèi)存影射的方式與控制芯片交互。
K6是一個(gè)Flash存儲(chǔ)器,是一片MI^8F640J3,用來(lái)存儲(chǔ)下載芯片K4臨時(shí)裝入的控制芯片K2的代碼和實(shí)驗(yàn)箱編號(hào)。
K6是USB通信接口,由CY7C68013A-U8芯片構(gòu)成,它是一款單片機(jī),但本設(shè)備只用到它的Slave模式的FIFO。通過(guò)此接口,與服務(wù)器通信發(fā)送來(lái)的數(shù)據(jù)發(fā)送到下載芯片K4 或者通過(guò)K4傳輸?shù)酵ㄐ趴偩€上。
K7是各類實(shí)驗(yàn)用接口,包括PS2、VGA、音頻、單色I(xiàn)XD以及串口和SD卡接口。各類實(shí)驗(yàn)接口都與實(shí)驗(yàn)芯片Kl直接連接,需要使用時(shí),應(yīng)在實(shí)驗(yàn)芯片Kl中實(shí)現(xiàn)相應(yīng)的驅(qū)動(dòng)程序。[0086] 數(shù)據(jù)總線部分,實(shí)驗(yàn)芯片與控制芯片共享32根數(shù)據(jù)信號(hào)線。地址總線方面,我們采用了“實(shí)驗(yàn)芯片Kl訪問(wèn)存儲(chǔ)器的地址總線以及讀寫控制信號(hào)完全接入控制芯片,由控制芯片根據(jù)狀態(tài)參考這些信號(hào)和自身情況生成對(duì)應(yīng)的總線訪問(wèn)信號(hào)”的方式。復(fù)位信號(hào)方面, 由控制芯片接受并解析來(lái)自復(fù)位按鍵或上位機(jī)的復(fù)位信號(hào),向?qū)嶒?yàn)芯片轉(zhuǎn)發(fā)復(fù)位信號(hào)。時(shí)鐘信號(hào)的生成與復(fù)位信號(hào)一樣。
權(quán)利要求
1. 一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),其特征在于含有至少一個(gè)實(shí)驗(yàn)設(shè)備、 管理所述實(shí)驗(yàn)設(shè)備的服務(wù)器和至少一個(gè)客戶端計(jì)算機(jī),其中實(shí)驗(yàn)設(shè)備,經(jīng)過(guò)USB集線器連接到所述服務(wù)器上,所述實(shí)驗(yàn)設(shè)備包括實(shí)驗(yàn)芯片、存儲(chǔ)器、控制芯片、下載芯片、USB通信接口、FLASH存儲(chǔ)器以及各類實(shí)驗(yàn)用接口,其中實(shí)驗(yàn)芯片,通過(guò)數(shù)據(jù)總線以及數(shù)據(jù)控制線和所述存儲(chǔ)器相連,同時(shí)又與所述各類實(shí)驗(yàn)用接口相連,用于供實(shí)驗(yàn)者寫入代碼并進(jìn)行實(shí)驗(yàn),控制芯片,至少包括三個(gè)部分內(nèi)存總線,發(fā)出所有控制信號(hào);寄存器,監(jiān)聽所述實(shí)驗(yàn)芯片的寄存器信息;通信組件,與所述下載芯片通信;所述控制芯片通過(guò)所述數(shù)據(jù)總線、地址線、內(nèi)存讀寫線、寄存器傳輸線、數(shù)據(jù)三態(tài)控制線、時(shí)鐘信號(hào)線、復(fù)位信號(hào)線、中斷信號(hào)線分別和所述實(shí)驗(yàn)芯片相連,同時(shí),所述控制芯片通過(guò)所述數(shù)據(jù)總線、地址線以及數(shù)據(jù)三態(tài)控制線和所述存儲(chǔ)器相連,所述控制芯片用于控制板上的電路、提供對(duì)于所述實(shí)驗(yàn)芯片的實(shí)驗(yàn)支持和監(jiān)督、以及對(duì)外發(fā)送監(jiān)測(cè)內(nèi)容,下載芯片,通過(guò)JTAG線與所述實(shí)驗(yàn)芯片和控制芯片相連,同時(shí)又與所述FLASH存儲(chǔ)器和USB通信接口相連,用于下載程序到所述實(shí)驗(yàn)芯片和控制芯片,同時(shí)負(fù)責(zé)時(shí)鐘分頻以及所述控制芯片和USB通信接口之間的通信中轉(zhuǎn), 存儲(chǔ)器,用于存儲(chǔ)相關(guān)實(shí)驗(yàn)測(cè)試程序以及數(shù)據(jù),USB通信接口,用于同服務(wù)器通信;FLASH存儲(chǔ)器,存儲(chǔ)供下載芯片存儲(chǔ)需錄入的內(nèi)容; 各類實(shí)驗(yàn)用接口,用于輔助進(jìn)行各種硬件實(shí)驗(yàn),服務(wù)器,運(yùn)行windows系統(tǒng),具有USB接口和以太網(wǎng)接口,在所述服務(wù)器上設(shè)有下述軟件USBInterface軟件,負(fù)責(zé)掃描連接到所述服務(wù)器USB接口上的實(shí)驗(yàn)設(shè)備,下載USB固件程序,保持所述實(shí)驗(yàn)設(shè)備和所述USBInterface軟件之間的正常通信,完成包括燒寫FLASH 芯片、下載FPGA芯片、設(shè)置數(shù)據(jù)總線控制狀態(tài)、讀取寄存器、發(fā)送時(shí)鐘、發(fā)送復(fù)位在內(nèi)的用戶操作,數(shù)據(jù)庫(kù)軟件,記錄用戶信息、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)過(guò)程和日志, 還有RLab軟件,同所述USBInterface軟件通過(guò)TCP/IP協(xié)議通訊,以獲取實(shí)驗(yàn)設(shè)備信息、讀寫數(shù)據(jù)庫(kù)、提供實(shí)驗(yàn)內(nèi)容并為客戶端軟件提供WCF的服務(wù);客戶端計(jì)算機(jī),運(yùn)行windows系統(tǒng),具有以太網(wǎng)接口,還設(shè)有=VLabClient軟件,用于傳輸數(shù)據(jù)和命令、完成實(shí)驗(yàn)和查看實(shí)驗(yàn)結(jié)果。
專利摘要
一種計(jì)算機(jī)硬件系列課程的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),屬計(jì)算機(jī)教學(xué)實(shí)驗(yàn)儀器技術(shù)領(lǐng)域
,其特征在于,含有實(shí)驗(yàn)設(shè)備,服務(wù)器和客戶端計(jì)算機(jī),實(shí)驗(yàn)設(shè)備通過(guò)USB接口與服務(wù)器相連,客戶端和服務(wù)器通過(guò)網(wǎng)絡(luò)接口連接的以太網(wǎng)口。本發(fā)明克服了在服務(wù)器作模擬實(shí)驗(yàn)存在的和實(shí)際硬件運(yùn)行結(jié)果不一致的缺點(diǎn),不僅適用于駐地實(shí)驗(yàn),還適用于遠(yuǎn)程式、開放式、創(chuàng)新式實(shí)驗(yàn)。
文檔編號(hào)G09B19/00GKCN101814248 B發(fā)布類型授權(quán) 專利申請(qǐng)?zhí)朇N 201010143124
公開日2011年11月9日 申請(qǐng)日期2010年4月7日
發(fā)明者全成斌, 李山山, 李耀鏘, 趙有健 申請(qǐng)人:清華大學(xué)導(dǎo)出引文BiBTeX, EndNote, RefMan專利引用 (5),
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1