電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>通信網(wǎng)絡(luò)>USB2.0高速無(wú)線數(shù)傳接收設(shè)備的數(shù)據(jù)接收存儲(chǔ)方法資料下載

USB2.0高速無(wú)線數(shù)傳接收設(shè)備的數(shù)據(jù)接收存儲(chǔ)方法資料下載

2021-04-07 | pdf | 283.84KB | 次下載 | 3積分

資料介紹

摘要:介紹了一種利用USB2.0接口芯片ISP1581并配合FPGA芯片EP1K30TI144和DSP芯片TMS320F206實(shí)現(xiàn)無(wú)線數(shù)傳接收設(shè)備中數(shù)據(jù)接收存儲(chǔ)的方法。這種方法具有接口簡(jiǎn)單、使用方便等特點(diǎn)。數(shù)據(jù)接收存儲(chǔ)技術(shù)是信號(hào)采集處理領(lǐng)域內(nèi)的一個(gè)重要課題。利用這種技術(shù),可以把信號(hào)的實(shí)時(shí)采集和精確處理在時(shí)間上分為兩個(gè)階段,有利于獲得令人更滿意的處理結(jié)果。在無(wú)線數(shù)傳接收設(shè)備中應(yīng)用數(shù)據(jù)接收存儲(chǔ)方法時(shí),除了要滿足數(shù)據(jù)傳輸速率和差錯(cuò)控制方面的要求外,還需要考慮如何使設(shè)備易于攜帶、接口簡(jiǎn)單、使用方便。傳統(tǒng)外設(shè)接口技術(shù)不但數(shù)據(jù)傳輸速率較低,獨(dú)占中斷、I/O地址、DMA通道等計(jì)算機(jī)系統(tǒng)關(guān)鍵資源,容易造成資源沖突問(wèn)題,而且使用時(shí)繁雜的安裝配置手續(xù)也給終端用戶帶來(lái)了諸多不便。近年來(lái),USB接口技術(shù)迅速發(fā)展,新型計(jì)算機(jī)紛紛對(duì)其提供支持。USB2.0是USB技術(shù)發(fā)展的最新成果,利用USB2.0接口技術(shù)開(kāi)發(fā)計(jì)算機(jī)外設(shè),不但可以借用其差錯(cuò)控制機(jī)制[1][6]減輕開(kāi)發(fā)人員的負(fù)擔(dān)、獲得高速數(shù)據(jù)傳輸能力(480Mb/s),而且可以實(shí)現(xiàn)便捷的機(jī)箱外即插即用特性,方便終端用戶的使用。1 無(wú)線數(shù)傳接收設(shè)備總體構(gòu)成無(wú)線數(shù)傳接收設(shè)備是某靶場(chǎng)測(cè)量系統(tǒng)的一個(gè)重要組成部分。如圖1所示,該設(shè)備由遙測(cè)接收機(jī)、GPS接收機(jī)和數(shù)據(jù)轉(zhuǎn)存系統(tǒng)構(gòu)成。遙測(cè)接收機(jī)利用天線接收經(jīng)過(guò)調(diào)制的無(wú)線電波信號(hào),解調(diào)后形成傳輸速率為4Mb/s 的RS-422電平差分串行數(shù)據(jù)流。以幀同步字打頭的有效數(shù)據(jù)幀周期性地出現(xiàn)在這些串行數(shù)據(jù)中。數(shù)據(jù)轉(zhuǎn)存系統(tǒng)從中提取出有效的數(shù)據(jù)幀,并在幀同步字后插入利用GPS接收機(jī)生成的本地時(shí)間信息,用于記錄該幀數(shù)據(jù)被接收到的時(shí)間,然后送給主機(jī)硬盤保存。在無(wú)線數(shù)傳接收設(shè)備中,數(shù)據(jù)轉(zhuǎn)存系統(tǒng)是實(shí)現(xiàn)數(shù)據(jù)接收存儲(chǔ)的關(guān)鍵子系統(tǒng)。下面將詳細(xì)介紹該系統(tǒng)的硬件實(shí)現(xiàn)及工作過(guò)程。2 數(shù)據(jù)轉(zhuǎn)存系統(tǒng)基本構(gòu)成及硬件實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)存系統(tǒng)主要由FPGA模塊、DSP模塊、USB2.0接口芯片構(gòu)成,各個(gè)模塊之間的相互關(guān)系如圖2所示示。圖中,4Mb/s的串行數(shù)據(jù)輸入信號(hào) SDI已由RS-422差分電平轉(zhuǎn)換為CMOS電平。為突出重點(diǎn),不太重要的信號(hào)連線未在圖中繪出。下面分別介紹這幾個(gè)模塊的主要功能。2.1 FPGA模塊實(shí)現(xiàn)及其功能FPGA模塊在Altera公司ACEX系列的EP1K30TI144-2芯片中實(shí)現(xiàn)。其中主要的功能子模塊有:位同步邏輯、幀同步邏輯、授時(shí)時(shí)鐘和譯碼邏輯。位同步邏輯主要由數(shù)字鎖相環(huán)構(gòu)成,用于從串行數(shù)據(jù)輸入信號(hào)SDI中恢復(fù)出位時(shí)鐘信號(hào)。幀同步邏輯從位同步邏輯的輸出信號(hào)提取幀同步脈沖。兩者為 DSP利用其同步串行口接收串行數(shù)據(jù)作好準(zhǔn)備。這樣,利用一對(duì)差分信號(hào)線就可以接收同步串行數(shù)據(jù),簡(jiǎn)化了印制電路板的外部接口。授時(shí)時(shí)鐘在DSP和GPS 接收機(jī)的協(xié)助下生成精度為0.1ms的授時(shí)信息。譯碼邏輯用于實(shí)現(xiàn)系統(tǒng)互聯(lián)。2.2 DSP模塊實(shí)現(xiàn)及其功能DSP模塊是數(shù)據(jù)轉(zhuǎn)存系統(tǒng)的主控模塊,在TI公司16位定點(diǎn)DSP芯片TMS320F206[4]中實(shí)現(xiàn)。在DSP的外部數(shù)據(jù)空間還配置了32K×16的高速SRAM,可以緩存80余幀數(shù)據(jù),用于提高系統(tǒng)的差錯(cuò)控制能力。DSP利用同步串行口接收FPGA送來(lái)的同步串行數(shù)據(jù),利用異步串行口接收GPS接收機(jī)送來(lái)時(shí)間信息(用于初始化FPGA授時(shí)時(shí)鐘),利用外部總線接口訪問(wèn)FPGA授時(shí)時(shí)鐘、外部SRAM、ISP1581的片內(nèi)寄存器。可以看出DSP模塊主要用于完成數(shù)據(jù)幀的接收、重組以及轉(zhuǎn)存調(diào)度等任務(wù)。2.3 USB2.0接口芯片ISP1581ISP1581芯片是PHILIPS公司推出的高速USB2.0設(shè)備控制器,實(shí)現(xiàn)了USB2.0/1.1物理層、協(xié)議層,完全符合USB2.0規(guī)范,既支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581沒(méi)有內(nèi)嵌微處理器,但對(duì)微處理器提供了靈活的接口。在上電時(shí),通過(guò)配置 BUS_CONF/DA0、MODE1、MODE0/DA1引腳電平可以適應(yīng)絕大多數(shù)的微處理器接口類型。例如,通過(guò)BUS_CONF/DA0引腳,總線配置可以選擇普通處理器模式(Generic Processor mode)或分割總線模式(Split Bus Mode);在普通處理器模式下,通過(guò)MODE0/DA1引腳可以選擇讀寫選通為8051風(fēng)格或者M(jìn)otorola風(fēng)格。在數(shù)據(jù)轉(zhuǎn)存系統(tǒng)中,ISP1581用于處理主機(jī)的高速數(shù)據(jù)傳輸。它工作在普通處理器接口模式下,采用8051風(fēng)格的讀寫選通信號(hào),由DSP芯片TMS320F206控制。兩者在選定工作方式下的信號(hào)連線如圖3所示,圖中未畫出的信號(hào)引腳可以懸空,供電引腳的連接方式在參考資料[2]第46頁(yè)有簡(jiǎn)明描述。在FPGA譯碼邏輯的作用下,ISP1581的片內(nèi)寄存器被映射在DSP的片外數(shù)據(jù)空間中。DSP通過(guò)8位地址線選擇要訪問(wèn)的寄存器,在讀寫選通信號(hào)的控制下,利用16 位數(shù)據(jù)線與選定的寄存器交換數(shù)據(jù)。在訪問(wèn)ISP1581單字節(jié)寄存器時(shí),數(shù)據(jù)總線高字節(jié)內(nèi)容無(wú)關(guān)緊要。ISP1581通過(guò)中斷引腳INT向DSP報(bào)告發(fā)生的總線事件,利用D+、D-引腳完成與主機(jī)的數(shù)據(jù)交換。3 數(shù)據(jù)轉(zhuǎn)存系統(tǒng)的工作過(guò)程系統(tǒng)加電后,當(dāng)FPGA配置過(guò)程結(jié)束時(shí),如果有串行數(shù)據(jù)輸入,位同步邏輯和幀同步邏輯便啟動(dòng)同步過(guò)程。同時(shí),DSP片內(nèi)FLASH中復(fù)位中斷服務(wù)程序c_int0()[4]被立即執(zhí)行,在建立好C語(yǔ)言的工作環(huán)境下,它會(huì)調(diào)用主函數(shù)main()。在main()中,需要安排好一系列有先后順序的初始化工作。其中,ISP1581的初始化過(guò)程比較復(fù)雜,需要考慮設(shè)備采用的供電方式(這里為自供電[6]方式)、插接主機(jī)和系統(tǒng)上電的先后次序,并需要與USB總線枚舉[1][6]過(guò)程相結(jié)合。在FPGA中的位同步邏輯和幀同步邏輯均進(jìn)入同步狀態(tài),且DSP主控模塊配合主機(jī)完成初始化任務(wù)后,即可啟動(dòng)數(shù)據(jù)的傳輸過(guò)程。下面介紹一下ISP1581的初始化過(guò)程及DSP控制的數(shù)據(jù)幀的接收轉(zhuǎn)存流程。3.1 ISP1581的初始化在初始化過(guò)程中,首先需要設(shè)置影響ISP1581自身工作方式的一些寄存器,然后與主機(jī)端USB系統(tǒng)配合進(jìn)行,應(yīng)答來(lái)自主機(jī)端的設(shè)備請(qǐng)求。當(dāng)數(shù)據(jù)轉(zhuǎn)存系統(tǒng)板作為USB2.0設(shè)備通過(guò)連接器連到主機(jī)USB根集線器上的一個(gè)端口時(shí),主機(jī)便可檢測(cè)到這一連接,接著給該端口加電,檢測(cè)設(shè)備并激活該端口,向USB 設(shè)備發(fā)送復(fù)位信號(hào)。設(shè)備收到這一復(fù)位信號(hào)后,即進(jìn)入缺省狀態(tài),此后就能夠通過(guò)缺省通信通道響應(yīng)主機(jī)端送來(lái)的設(shè)備請(qǐng)求。主機(jī)通過(guò)獲得描述符請(qǐng)求 (GET_DESCRIPTOR)獲得設(shè)備端的詳細(xì)信息,通過(guò)設(shè)置地址請(qǐng)求(SET_ADDRESS)設(shè)置設(shè)備地址,通過(guò)設(shè)置配置請(qǐng)求 (SET_CONFIGURATION)選定合適的設(shè)備配置。在設(shè)備成功響應(yīng)了這些設(shè)備請(qǐng)求之后,就可以與主機(jī)通信了。在響應(yīng)主機(jī)請(qǐng)求的過(guò)程中,DSP需要配置ISP1581的端點(diǎn)以實(shí)現(xiàn)不同類型的傳輸通道。根據(jù)數(shù)據(jù)傳輸速率的要求,除了缺省的控制通道外,系統(tǒng)中實(shí)現(xiàn)了一個(gè)批傳輸(bulk)[1]類型的輸入通道。這樣,ISP1581就可以像FIFO一樣方便地從數(shù)據(jù)轉(zhuǎn)存系統(tǒng)向主機(jī)傳輸數(shù)據(jù),而且具有差錯(cuò)控制能力,簡(jiǎn)化了設(shè)備端軟件設(shè)計(jì)的復(fù)雜性。3.2 數(shù)據(jù)幀的接收轉(zhuǎn)存過(guò)程系統(tǒng)正常工作時(shí),需要與主機(jī)端程序相互配合。主機(jī)端需要開(kāi)發(fā)者實(shí)現(xiàn)的程序包括設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序。在Windows 2000操作系統(tǒng)下,USB設(shè)備驅(qū)動(dòng)程序?yàn)閃DM模型的驅(qū)動(dòng)程序,開(kāi)發(fā)環(huán)境DriverStudio為WDM型驅(qū)動(dòng)程序提供了框架結(jié)構(gòu),使得驅(qū)動(dòng)開(kāi)發(fā)變得非常容易(參見(jiàn)參考文獻(xiàn)[5]第八、九、十章)。驅(qū)動(dòng)程序接收應(yīng)用程序的請(qǐng)求,利用USB總線驅(qū)動(dòng)程序(USBD)和主機(jī)控制器驅(qū)動(dòng)程序(HCD)通過(guò)主機(jī)控制器安排USB總線事務(wù),設(shè)備端則根據(jù)這些事務(wù)調(diào)度相應(yīng)的數(shù)據(jù)幀的傳輸。關(guān)于主機(jī)端如何安排總線事務(wù)可以查閱參考文獻(xiàn)[1]。以下著重介紹設(shè)備端數(shù)據(jù)的調(diào)度過(guò)程。數(shù)據(jù)幀的接收轉(zhuǎn)存過(guò)程主要由DSP負(fù)責(zé),DSP在外部SRAM中建立了一個(gè)數(shù)據(jù)幀的隊(duì)列,如圖4所示。系統(tǒng)主要工作在中斷驅(qū)動(dòng)模式下,與同步串行口相關(guān)的中斷服務(wù)程序負(fù)責(zé)建立隊(duì)列的尾部,對(duì)應(yīng)于ISP1581中斷引腳INT的中斷服務(wù)程序負(fù)責(zé)建立隊(duì)列的頭部。當(dāng)以幀同步字打頭的一幀數(shù)據(jù)以串行位流的形式到來(lái)時(shí),FPGA產(chǎn)生的幀同步脈沖可以直接啟動(dòng)DSP同步串行口接收數(shù)據(jù),該同步脈沖同時(shí)以中斷方式通知 DSP為一幀數(shù)據(jù)的接收做好準(zhǔn)備。DSP接到通知后,首先檢查外部SRAM中是否有足夠的空間容納一幀數(shù)據(jù)。如果沒(méi)有空間,則丟棄當(dāng)前數(shù)據(jù)幀(根據(jù)設(shè)計(jì), 這種情況是很少見(jiàn)的);如果有空間,則為當(dāng)前數(shù)據(jù)幀保留足夠的空間。接著在幀起始位置填寫幀同步字,讀取授時(shí)時(shí)鐘的當(dāng)前值并填寫在幀同步字后。這樣,一個(gè)新的數(shù)據(jù)幀(圖4中數(shù)據(jù)幀F(xiàn)_N)就建立了,但是并沒(méi)有加入到隊(duì)列中,而是要等待來(lái)自同步串行口的后繼數(shù)據(jù)嵌入該幀中后再加入到隊(duì)列中。同步串行口的接收緩沖區(qū)在接收到若干字(由初始化時(shí)的設(shè)置決定)后,會(huì)向DSP提出中斷請(qǐng)求。在中斷服務(wù)程序中,DSP讀取接收緩沖區(qū)中的內(nèi)容,并將其填入上述新開(kāi)辟的幀F(xiàn)_N中。在一幀數(shù)據(jù)接收完畢后,就將該幀添加到隊(duì)列的尾部,表示該幀數(shù)據(jù)已經(jīng)準(zhǔn)備好(圖4中數(shù)據(jù)幀F(xiàn)_R),可以通過(guò)ISP1581送給主機(jī)硬盤保存。DSP在查詢到隊(duì)列中有已經(jīng)準(zhǔn)備好的數(shù)據(jù)幀存在時(shí),就設(shè)置ISP1581的端點(diǎn)索引寄存器(Endpoint Index Register)使其指向初始化時(shí)配置的批傳輸輸入端點(diǎn),然后將隊(duì)列首幀數(shù)據(jù)通過(guò)ISP1581的數(shù)據(jù)端口寄存器(Data Port Register)填寫在端點(diǎn)緩沖區(qū)中。在端點(diǎn)緩沖區(qū)被填滿后,它就自動(dòng)生效。在不能填滿端點(diǎn)緩沖區(qū)的情況下,可以通過(guò)設(shè)置控制功能寄存器 (Control Function Register)的VENDP位[2]強(qiáng)制該端點(diǎn)緩沖區(qū)生效。端點(diǎn)緩沖區(qū)生效后,在USB 總線上下一IN令牌到來(lái)時(shí),該端點(diǎn)緩沖區(qū)中的數(shù)據(jù)就通過(guò)USB總線傳輸?shù)街鳈C(jī)中。主機(jī)成功接收到數(shù)據(jù)后,會(huì)給ISP1581以ACK應(yīng)答。ISP1581 在得到ACK應(yīng)答后,能夠通過(guò)INT引腳報(bào)告給DSP,DSP就可以繼續(xù)往端點(diǎn)中填寫該幀其余數(shù)據(jù)。在隊(duì)列首幀數(shù)據(jù)被成功轉(zhuǎn)移到主機(jī)后,DSP就丟棄首幀數(shù)據(jù)。如果隊(duì)列中還有數(shù)據(jù)幀,則將次首幀作為首幀,繼續(xù)前述傳輸過(guò)程;如果沒(méi)有要傳輸?shù)臄?shù)據(jù)幀,則為隊(duì)列首幀指針Head_Ptr賦空值(NULL),等待新的數(shù)據(jù)幀的到來(lái)。USB2.0是計(jì)算機(jī)外設(shè)接口技術(shù)發(fā)展的最新成果,具有廣闊的應(yīng)用前景。本文介紹了PHILIPS公司USB2.0接口芯片ISP1581在無(wú)線數(shù)傳接收設(shè)備中的應(yīng)用。ISP1581芯片與FPGA芯片、DSP芯片相互配合,實(shí)現(xiàn)了高性能、便攜化的無(wú)線數(shù)傳接收設(shè)備。其在靶場(chǎng)實(shí)彈試驗(yàn)中受到了用戶的好評(píng)。(mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開(kāi)關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)