<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

USB2.0開發系統管理論文范文

2023-10-02

USB2.0開發系統管理論文范文第1篇

信息技術的發展,特別是各種數字處理器件處理速度的提高,實時處理大量的數據已經成為現實。但是,在一些惡劣環境和數據無法進行實時傳輸的情況下,還必須用到存儲測試的方法。存儲測試是指在對被測對象無影響或影響在允許的范圍條件下,在被測體內置入微型存儲測試系統,現場實時完成信息快速采集與存儲,事后對存儲器進行回收,由計算機處理和再現被測信息的一種動態測試技術。針對具體的情況,我們研制開發了一種用蓄電池就可工作的、能在各種惡劣環境下應用的、可回收的小體積低功耗的大容量數據采集存儲系統[1]。

1 系統總體設計

整個系統以FPGA為核心控制器來組織工作,它控制著整個系統的讀、寫、擦除等操作。系統主要解決的問題是采集、存儲和數據事后讀取[2]。系統整體框圖如下圖1所示。

1.1 數據采集

由于要同時對多路信號進行采集,我們采取了FPGA對模擬開關進行均等時間推進以實現通道的轉換。當轉換到某一通道時,FPGA同時要啟動A/D進行模數轉換。為了達到高精度采集的目的,采用16位的AD轉換器AD7621,模擬開關選用ADG706。以下是AD轉換器的硬件電路連接圖2。

1.2 AD采集時序

AD采集時序圖如下圖3所示。AD采集過程從/CNVST信號下降沿開始,BUSY信號下降沿完成,BYTE信號控制數據類型,低電平為低8位數據,高電平為高8位數據。延遲0.9us給出第一個WRFIFO信號,WRFIFO高電平有效,在此期間數據線上的數據為低8位數據,經過1.8us的低電平后,給出第二個WRCLK信號,此時數據為高8位數據,一個數據的轉換完成[3]。

圖3 AD采集時序圖(參見下頁)

1.3 數據存儲

對數據的存儲,我們采用閃存(FLASH Memory)作為存儲器.它具有體積小、功耗低和數據不易丟失的特點。對FLASH的寫操作過程有其固定的操作模式,如圖3所示。由于FLASH是按頁存儲的,當一頁寫完之后要進行下一頁的控制字和地址的重新寫入,為了使采集回來的數據能及時準確的寫入FLASH,而不至于在頁與頁的交替時間內使數據丟失.所以不可能將采集回的數據直接存入FLASH,我們利用FPGA內部集成FIFO來緩存FLASH MEMORY編程期間A/D控制器上傳的數據,A/D轉換器總的采樣率為12KSPS,精度為12位,加上通道號和幀計數,每秒鐘A/D控制器上傳到FIFO的數據為34KB。FLASH MEMORY最大編程時間為300us。在FLASH MEMORY編程期間A/D轉換器上傳到FIFO的數據為:34KB×300us=10.2B。因此FPGA內部集成FIFO設計成寬度為一個字節,深度為1024的異步FIFO,即總容量為1KB,完全能夠緩存FLASH MEMORY編程期間A/D控制器上傳的數據[4]。

FPGA內部集成FIFO是由存儲器、地址比較器、寫地址控制器和讀地址控制器構成,原理框圖如4所示。

其中存儲器是由兩個寬度為4位、深度為1024的雙口RAM采用并聯的方式構成的。連接方法如圖5所示。

通過DIA端口將數據寫入雙口RAM,通過DOB端口將數據讀出,WEA和ENA接VCC,即接高電平,使雙口RAM的A部分工作在寫入狀態,在CLKA的上升沿通過DIA將數據寫入雙口RAM;WEB接GND,即接低電平;ENB接VCC,即接高電平,使雙口RAM的B部分工作在輸出狀態,在CLKB的上升沿通過DOB將數據輸出雙口RAM[5]。

1.4 數據的分區存儲

本系統采用一片FLASH存儲器,該芯片有128M Byte的容量,根據計算32M Byte的容量就可以把需要采集的數據全部記錄下來,所以把存儲器按其塊地址順序分為4個區,每個區均為32M Byte。測試系統上電復位后首先進入的是自檢狀態,每次順序檢測第1區中是否有數據,如果沒有則把該次啟動的采集的數據順序寫入第1區中,直到第1區存儲完成,則停止記錄并且系統斷電。斷電后再一次啟動采集也一樣首先檢測第一塊中是否有數據,有數據則檢測下一塊是否有數據,若沒有數據,則順序把從FIFO中上傳的導彈飛行數據寫入存儲器,如果有數據,則依次地址跳到下下一塊,采集滿則停止,依次類推,直到把4個區都寫入了數據,則不論怎么啟動采集也不會把數據覆蓋再寫入,除非執行擦除操作把存儲器中的數據清空。

這種多次啟動系統,存儲器分區記錄的技術使系統具有一定的冗余設計,雖然不能從根本上消除誤啟動而造成整個試驗的失敗,但是該技術在實際試驗中具有十分重大的意義。

2 系統的灌封技術

采集存儲系統需工作在高溫高壓等惡劣環境下,因此最重要的是它的防護結構的設計。在結構設計上采用了抗高沖擊的結構設計技術,主要包括:緩沖保護技術、灌封保護技術,力求能夠最好的保護好存儲模塊。圖7是采集存儲器的可靠性結構示意圖。

圖7采集存儲器可靠性結構示意圖(參見下頁)

3 創新性說明

本文介紹了一種基于FPGA的多路數據采集存儲系統的設計方法及其可靠性結構設計,該系統存儲容量大,體積小,可工作在高溫、高壓、強沖擊、強振動、高過載等惡劣環境下。采用了存儲器分區存儲技術,可以避免誤操作將有用數據覆蓋。該系統已投入使用,性能優,值得推廣。

參考文獻

[1]張文棟.存儲測試系統的設計理論及其應用[M].北京:高等教育出版社.2002

[2]周治良,劉俊,張斌珍.基于FPGA及FLASH的數據采集存儲系統設計.數采與監測.2003.1:91-92

[3]李勇志.NAND FLAH在電子戰設備中的應用[J].電子信息對抗技術,2007.22(9-5):28-31

[4]段靜輝.基于存儲測試技術的炮射導彈測試系統的研究,華北工學院碩士學位論文,2000

USB2.0開發系統管理論文范文第2篇

1 心電數據采集系統設計

生物測量儀器的設計應滿足以下幾個要求[2]。 (1) 測量過程當中不能對正常生理活動產生影響。 (2) 測量的生物信號不能失真。 (3) 盡可能的將生物信號與干擾信號分離。信號調理電路結構如圖1所示。

1.1 前置放大電路設計

因為心電信號具有低頻率、緩變化、弱信號、高阻抗并且伴有噪聲和干擾等特點, 因此前置放大器所具有的特點是輸入阻抗高、共模抑制比高、增益高、穩定性高以及噪聲低, 并且還要兼顧便攜性。綜上所述, 前置放大器選用AD公司的AD620AN。圖2為其內部結構簡化圖。

1.2 濾波電路設計

因為人體心電信號的頻率主要集中在0.05~100Hz左右, 所以心電放大器必須在該頻率范圍內不失真的放大所采樣的各種心電信號。濾波電路的作用是允許所需頻率信號通過, 同時有效衰減其他頻率信號, 所以可以分別采用高通濾波器及低通濾波器來對通頻帶進行整理[3]。

1.3 主放大電路設計

心電信號的幅度約為10μV~5m V, 而本文采用的A/D轉換器的輸入要求為0~3.3V, 必須將心電信號的高增益放大600~800倍。又因為前置放大器放大的倍數為10倍, 所以理論上主放大器約放大80倍, 主放大電路如圖3所示。

2 ARM系統設計

ARM微處理器具有如下特點[4]。

(1) 功耗低、成本低、體積小、性能高; (2) 可以兼容8/16位器件; (3) 指令執行速度快; (4) 尋址方式簡單靈活, 操作效率高; (5) 大部分數據操作在寄存器中完成; (6) 有固定的指令長度。

本文采用的處理器是ARM7TDMI-S處理器, 它是基于ARM結構的V4版本。

2.1 處理器狀態

ARM7TDMI處理器內核采用ARM v4T結構, 該結構由32位ARM指令集和16位Thumb指令集組成。因此該處理器就有兩種操作狀態:ARM狀態32位, 執行的是字方式ARM指令;Thumb狀態16位, 執行的是半字方式Thumb指令。通過BX指令使處理器內核的操作狀態在兩者之間切換。

2.2 處理器模式

ARM體系中共包括7種處理器模式, 分別是:用戶模式、快速中斷模式、外部中斷模式、特權模式、數據訪問中止模式、未定義指令中止模式以及系統模式。在7種模式中, 除了用戶模式以外, 其余6種模式都是特權模式, 也就是說可以訪問所有系統的資源, 并且也可以對處理器模式進行切換, 處理器模式如表1所示。

2.3 ARM的寄存器組

ARM處理器總共有37個寄存器, 包括6個狀態寄存器和31個通用寄存器。在每一種模式下, 可用的寄存器包含通用寄存器、狀態寄存器和程序寄存器。在這些寄存器中, 可以分為三類:分組寄存器、未分組的寄存器以及程序計數器。

(1) 分組寄存器。在ARM中有兩個作用:任一種處理器模式都存放著當前程序的返回地址;發生異常中斷時, 將異常模式設置成返回地址。

(2) 未分組的寄存器。在每一個處理器模式中, 該寄存器指的是同一個寄存器, 寄存器中數據會因為處理器模式的切換遭到破壞, 所以, 未分組的寄存器可以在通用寄存器的情景下采用。

(3) 程序計數器。因為ARM采用的機制為流水線機制, 所以, 在讀取程序計數器數值時, 該值為程序計數器當前指令之后的兩條指令的地址。

2.4 ARM體系的尋址方式

ARM體系的尋址方式包括9種, 分別為:寄存器尋址;立即尋址;寄存器偏移尋址;寄存器間接尋址;基址尋址;多寄存器尋址;堆棧尋址;快拷貝尋址以及相對尋址。

3 USB接口設計

3.1 USB簡介及特點

USB具有10個特點, 分別是:熱插拔;即插即用;使用靈活;低成本;可靠性;低功耗;系統總線供電;可擴充性;接口體積小巧靈活以及兼容性, 因此基于USB接口的醫療器械儀器逐步成為趨勢[5]。

3.2 USB體系結構

USB系統主要由4部分構成。

(1) USB主機:USB主機的功能是管理USB系統, 對USB設備進行操作;管理和恢復總線上出現的錯誤。

(2) USB集線器:USB集線器主要作用是擴展連接設備。

(3) USB功能設備:USB功能設備主要用于為系統提供具體功能。

(4) USB互連:USB互聯主要包括:總線訪問控制、內部層次關系、總線的拓撲結構以及數據流模式等。

在USB傳輸類型中, 主要包括4種。

(1) 控制傳輸:數據傳輸量小, 用于設備配置, 獲取設備狀態并且傳出指令。優先級別高于其他幾種方式。

(2) 中斷傳輸:數據傳輸量小, 實時性好, 傳輸速度快, 用于鼠標、鍵盤等設備。

(3) 同步傳輸:用于連續傳輸, 對正確性要求較低, 對時間要求十分敏感。用于麥克風、電話等設備。

(4) 批量傳輸:數據傳輸量大, 優先級別最低, 用于大量數據的傳輸設備當中, 如掃描儀、打印機等設備當中。

3.3 USB接口設計

本設計當中, 所用的USB接口芯片為PHILIPS的ISP1581。它是一種USB接口器件, 它的價格低、功能強, 并且符合USB2.0規范。它與系統之間的通信是通過一個并行接口來實現, 并且它支持USB 2.0系統的檢測。此外, 它還具有低功耗的特性, 可以滿足ACPI, USB電源管理的要求, 并且它內部也集成了其他特性, 比如低頻晶體振蕩器等[6]。

它的功能主要包括:USB 2.0收發器;Philips串行接口引擎 (SIE) ;Philips HS (高速) 收發器;電壓調整器;存儲器管理單元 (MMU) 和集成RAM;軟件連接;微控制器/處理器的管理器/微控制器和處理器接口;DMA接口和DMA控制器;系統控制器。

在這里重點介紹Philips HS (高速) 收發器和DMA接口和DMA控制器。

Philips HS (高速) 收發器主要包括了三個方面, 分別是Philips并行接口引擎、外部電路和HS檢測。其中, 在外部電路當中, 采用一個帶隙基準電路和參考電阻來產生一個電流, 并且利用得到的電流驅動高速傳送電路并為其他電路提供一個穩定的偏置電壓。

DMA接口和DMA控制器組成了DMA模塊, DMA的傳送方式由命令操作碼來決定, 并且有4種方式, 即:通用DMA、MDMA、PIO以及UDMA。DMA接口的配置有:DMA握手和DMA時序。數據傳送通過DIOW和DIOR選信號來實現。不同的DMA配置由DMA配置寄存器來決定。

4 WDM驅動模型

WDM (Windows Driver Model) 是Microsoft公司推出的新型驅動模型。它由許多操作系統可調用的容器組成。在程序模型中, 在每個硬件設備中, 最少有2個驅動程序。一個為功能驅動程序, 它的作用是為用戶提供一種適合的控制方式;另一個為總線驅動程序, 它用于連接硬件和計算機。WDM功能驅動程序由2個執行文件組成。一個是類驅動程序, 包括了操作系統使用的協議、管理設備的基本特征;另一個是微笑驅動程序, 包含用于管理設備的專有特征例程。圖4為WDM驅動程序的分層結構模型[7]。

5 結語

文章基于ARM和USB 2.0技術, 設計了一款心電信號采集系統, 并且成功實現了心電信號的采集并且存儲在FLASH當中, 最后通過ISP1581使信號與上位機通信。通過該設計, 也預示了在未來設計當中, 可以利用ARM強大的功能, 實現智能預防、警報及診斷的功能, 也可以利用USB的高速傳輸速度進一步降低醫療費用, 進一步提高人們的生活質量以及將高技術治療普及到每個人身上。

參考文獻

[1]郭繼鴻, 張萍.動態心電圖學[M].北京:人民衛生出版社, 2003.

[2]馬艷莉.基于USB的嵌入式心電監護系統[D].哈爾濱:哈爾濱工程大學, 2005.

[3]馬忠梅, 馬廣云.ARM嵌入式處理器結構與應用基礎[M].北京:北京航空航天大學出版社, 2002.

[4]Philips Semiconductors, LPC2210 16/32-bit ARM microcontroller, with 10-bit ADC and external memory interface, Philips Eleetronics N.V, 2004.2.

[5]胡曉軍, 張愛成.USB接口開發技術[M].西安:西安電子科技大學出版社, 2005.

[6]姜京潤.USB 2.0總線接口的研究及應用[D].北京:中國科學院研究生院, 2003.

USB2.0開發系統管理論文范文第3篇

x射線數據采集模塊,是x射線安全檢測系統的核心設備,在小型安檢等系統中有廣泛的應用。主要實現將x射線探測器探測到的信號傳送給上位機進行處理顯示的功能。完整的安檢系統包含射線源、被測物體、探測器、數據采集、圖像處理和觀察者,本文所作的x射線數據采集模塊(XDAS)主要包括探測器到數據采集的部分,在安檢系統的位置如圖1所示。

本文采用專門的模擬前端芯片,利用FPGA和USB2.0實現控制和傳輸。整個系統用FPGA作為主處理器,探測器探測到信號經由模擬前端芯片和AD變換芯片轉換后經由FPGA處理,再通過USB2.0接口傳給上位機。

1 系統總體設計

基于FPGA與USB2.0的x射線數據采集系統的系統框圖如圖2所示。整個系統分為模擬板和數字板,兩者之間采用差分信號連接。模擬板主要包括探測器、模擬前端芯片和差分信號接收芯片。數字板主要包括FPGA、USB2.0、差分信號輸出芯片和電源模塊等。

由探測器輸出的信號,經由模擬前端芯片(AFE0064)濾波放大成型,輸出到AD變換電路轉化為數字信號,送入FPGA后,經由FPGA簡單處理到USB2.0傳輸模塊,傳送給上位機。主要控制指令由FPGA芯片發出,包括對模擬前端芯片的控制和其他相關模塊的控制。

同時一塊數字板可鏈接24塊模擬板,采用串行鏈接方式,如圖3所示的FPGA中含有處理AD數據的FIFO,編程接口有JTAG和AS兩種接口。

2 硬件設計

2.1 探測器

采用雙能x射線探測技術,如圖4所示。

在模擬板兩端貼上如上圖厚度CsI晶體(實際采用濱松公司的S5668系列產品),中間表貼0.1mm的薄銅片。

2.2 模擬前端電路

本文采用TI的AFE0064模擬前端芯片搭建前方電路,實現信號的濾波放大成型。

數字板上FPGA輸出控制信號,通過差分信號輸出端(LVDS389)轉化成差分信號,傳送到模擬板,再由模擬板上的差分信號接收端(LVDS388)轉化成原始控制信號對AFE0064進行控制。配置電路按照TI的AFE0064說明文檔設計[2]。

2.3 AD變換電路

模擬前端芯片AFE0064的輸出頻率1-15MHz,本文采用了AD9244,AD9244是Analog Devices公司生產的5V、14位高精度、65MSPS高采樣率的AD轉換器,輸入帶寬有750MHz,微分非線性只有±0.7LSB,輸入信號閾值1V或者2V。為匹配幅度,采用的是差分放大器THS4520調節輸入信號使其與AD變換范圍相匹配。其電路連線可以參見AD9244技術文檔[3]。

2.4 FPGA電路設計

本模塊采用Altera公司的Cyclone II系列的EP2C8F256C8N芯片。BGA封裝,256引腳,速度級別為8。該芯片的參數如表1所示[4]。

使用Verilog HDL語言進行硬件模塊化編程,主要包含圖5所示功能模塊。為解決時序匹配問題和數據緩存,采用異步FIFO來緩沖。每個模塊具體功能按照相應芯片的控制時序圖編寫程序。

2.5 USB2.0模塊設計

USB2.0芯片采用CYPRESS公司的EZ-USB FX2系列的CY7C68013A,56引腳,內置8051單片機,支持12Mbps全速模式和480Mbps高速模式,與上位機通信有四種傳輸方式:控制傳輸、中斷傳輸、批量傳輸、同步傳輸CY7C68013與下位機有兩種通信模式:GPIF和SLAVE FIFO。本設計采用從FIFO(SLAVE FIFO)的模式[5]SLAVE FIFO

模式下,FPGA查詢FLAGA、FLAGB、FLAGC、FLAGD的值可以確定設定端點FIFO狀態,從而決定是否寫入[6]。

上位機需要完成68013的固件編程和上位機應用程序,固件編程用KEIL C51對68013寄存器配置來實現,上位機程序用MFC編寫,主要完成數據的轉存。

2.6 電源和地設置

采用模擬電源和數字電源分割,模擬地和數字地分割,在AD芯片附近將模擬地和數字地短接。

為較少探測器和模擬前端的噪聲影響,設置兩大模塊,分別為模擬板和數字板,兩者之間采用差分信號進行聯系,有效個隔離噪聲。

3 結論

本設計主要搭建數據采集的硬件平臺,不做x射線采集到的數據的圖像顯示處理。所以為驗證本設計硬件平臺的可靠性,測試137Cs的頻譜圖。

實驗結果在MFC所編寫的上位機程序上如圖7所示。

在設計的電路上,系統工作穩定,性能良好,傳輸速度與處理速度都很高,達到了預期要求。

參考文獻

[1]Qiang Lu.The Utility of X-ray Dual-Energy Transmission and Scatter Technologies for Illicit Material Detection:[Ph.D.dissertation].Virginia Polytechnic Institute and State University,1999:40

[2]64Channel Analog Front End for Digital X-Ray Detector AFE0064http://www.ti.com.cn/cn/lit/ds/symlink/afe0064.pdf:24

[3]14-Bit,40MSPS/65MSPS A/D Converter AD9244 http://www.analog.com/static/imported-files/data_sheets/AD9244.pdf:15-16

[4]Altera CycloneⅡFPGA Familyhttp://www.altera.com.cn/literature/hb/cyc2/cyc2_cii5v1.pdf:4-5

[5]Cypress,CY7C68013A.http://www.cypress.com/?doc ID=30172:30-42

USB2.0開發系統管理論文范文第4篇

1 FT245R芯片簡介

FT245R是FTDI公司新推出的一款用于并行FIFO雙向數據傳輸接口的USB獨立芯片,該芯片功能強大,使用D2XX驅動程序能獲得更好的數據傳輸性能,傳輸速率可達到1MB/s;通過簡單的四線握手信號與MCU、CPLD、FPGA等邏輯器件接口;完整的片內USB協議解決方案,無需底層固件的編程;完全兼容USB1.1,USB2.0協議;附加的EEPROM接口可定制USB接口設備;在內部硬件邏輯的作用下能夠實現USB串行數據格式與并行數據格式的雙向轉換。

FT245R內部主要由USB收發器、串行接口引擎(SIE)、USB協議引擎和FIFO控制器等構成。片內256byte的接收FIFO和128byte的發送FIFO使得芯片可以實現高速數據吞吐。而內嵌的EEPROM接口單元可外接串行存儲器,用來儲存USB取電模式及各種產品信息。FT245R支持總線供電、自我供電和高功率總線供電等USB配置 ,其內部集成的3.3V電平轉換器,可用于USB I/O;在FIFO接口和控制引腳集成電平轉換器,使接口支持5V/3.3V/2.8V/1.8V邏輯,真正5V/3.3V/2.8V/1.8V CMOS驅動輸出和TTL輸入。另外,FT245BM還包括1個12MHz的振蕩器、4倍頻的時鐘倍頻器和USB鎖相環。

2 系統的設計方案

系統結構如圖1所示,主要包括底層硬件和上位機兩個部分。本設計中,上位機作為整個系統的控制和顯示中心,它通過USB接口芯片完成與FPGA的通信。在通信的過程中,上位機負責發送命令及信號源,FPGA負責調度各芯片的工作時序,共同協調完成數據的傳輸。上位機中的界面應用程序通過動態鏈接庫DLL調用相關函數與USB驅動程序通信,通過USB驅動程序獲得USB總線上的數據,或者將控制命令通過USB驅動程序發送到USB總線上。最后由界面應用程序完成數據的顯示、存儲及處理。

2.1 硬件結構設計

本系統硬件主要連接FPGA和USB控制器(圖2),其中核心控制器件FPGA采用的是Xilinx公司的SpartanⅡ XC2S100芯片,USB控制器則采用的是FTDI公司的FT245R。在高速數據傳輸系統中,FPGA作為核心控制芯片對USB接口芯片進行控制,因此USB接口芯片采用了從機方式,即Slave FIFO方式,而FPGA作為主機角色控制處于從機模式下的FT245R。

由USB設計規范可知,USB設備有總線供電和自供電兩種方式,考慮到設計的系統不屬于移動應用,無需通過總線供電方式來供給芯片工作所需電源,因此采用自供電方式進行設計,USB總線供電則被用來控制FT245R的RESET#引腳,此外在USB接口的地端采用一個磁珠,以減少主機和設備的干擾。

FT245R通過D0~D7這8位雙向數據總線和4位讀寫狀態控制信號RxF#、TxE#、RD#和WR實現與FPGA之間的數據傳輸,其外圍電路較為簡單,各電源和接地引腳通過去耦電容接電源或接地,其余控制引腳和數據引腳都連接到FPGA上,由FPGA控制FT245R的讀寫操作。一方面,當FPGA有數據要傳給主機時,數據通過8位并行I/O接口傳給USB芯片內部的數據緩沖區,FT245R再將8位并行數據轉化為串行數據,通過USB接口把數據發送給主機;另一方面,當主機有數據要給外部設備時,先將串行數據通過USB接口存儲在USB芯片內部緩存區中,FT245R再將串行數據轉化為8位并行數據,然后通過8位I/O接口把數據傳給FPGA。

2.2 系統軟件設計

系統的軟件設計主要包括:VHDL代碼和應用程序:VHDL程序主要負責對FT245R和SRAM進行時序控制,以完成數據的傳輸;應用程序則主要負責命令的發送、文件的獲取、文件的編解碼及文件的保存。

FPGA是通過Slave FIFO的方式與USB控制器FT245R相連。在對FT245R進行讀操作時,FPGA通過查詢FT245R中的接收FIFO的狀態來判斷是否可以進行讀數據,主要是查詢狀態標志位RXF#;在對FT245R進行寫操作時,FPGA通過查詢FT245R中的發送FIFO的狀態來判斷是否可以進行寫數據,主要是查詢狀態標志位TXE#。底層硬件在收到上位機命令后,對FT245R和SRAM進行時序操作,其程序狀態轉移圖如圖3所示。

狀態1——在空閑狀態,接到命令,初始化相關控制信號及SRAM地址,進入狀態2;狀態2——查詢讀狀態的FIFO標志位RXF#,如果RXF#為低,則進入狀態3,否則繼續等待;狀態3——FPGA對FT245R進行讀操作,開始接收數據,接收數據完后進入狀態4;狀態4——FPGA對SRAM進行寫操作,將接收到的數據存入SRAM中,且地址計數器加1,進入狀態5;狀態5——查詢SRAM的數據存儲量,若已寫入數據小于512K,則進入狀態2,否則進入空閑狀態。

FPGA在上傳輸據時,原理基本相同,方向相反,采用不同的FIFO和狀態查詢標志位。

3 測試結果

把硬件連接至上位機,利用上述的應用程序經USB接口向FPGA發送數據,將其存入SRAM中。為了驗證數據傳輸的準確性,筆者將SRAM中的數據回讀到上位機自檢,界面應用程序顯示經處理后的數據如圖4所示。結果表明,上位機與FPGA實現了準確的數據傳輸。

4 結束語

USB 接口因其高速、即插即用等特點得到了廣泛的應用。本系統通過FPGA控制USB接口芯片FT245R達到數據高速傳輸的目的,具有硬件結構簡單、軟件擴展性強及傳輸數據準確性高等特點。FT245R的使用避開了固件設計和驅動的編寫,擺脫了常規USB數據接口設計的難度,大大縮短了開發周期。因此該系統完全可以用于高速數據采集、高速數據通信及存儲設備等。

摘要:從系統的總體結構、硬件設計和軟件設計3個方面闡述了USB2.0接口傳輸的FPGA控制與實現的設計方法。FPGA作為硬件設計中的主控芯片,完成了對USB接口芯片FT245R的通信控制、SRAM的讀寫操作等。通過USB驅動連接應用程序和底層硬件,實現了上位機中數據的發送、顯示與存儲。測試結果表明,FPGA通過USB接口實現了高速可靠的數據傳輸。

關鍵詞:數據傳輸,USB,FPGA,FT245R,驅動程序

參考文獻

[1]邊海龍.USB2.0設備的設計與開發[M].北京:人民郵電出版社,2004,4~7.

USB2.0開發系統管理論文范文第5篇

進入21世紀以后,電子信息技術以前所未有的速度迅猛發展,各種類型的集成電路不斷推出并廣泛地應用于各個技術領域。當前,電子設備的發展趨勢是小型化和集成化,在便攜式電子、消費類電子、通信電子設備等有著廣泛的應用,體積和重量成為電子系統設計的影響因素。高速數據傳輸接口,作為電子設備之間數據交換的必要組件,將集成于整個系統芯片內。鎖相環電路成為時鐘產生、數據恢復電路模塊不可或缺的部分。隨著材料、工藝的進步以及制造技術的關鍵問題解決,以一個芯片實現多功能的單片集成電路逐漸成為現實,其體積小、可靠性高、重量輕、成本低的優勢也愈加明顯[1]。

本文側重于集成電路的電路設計考慮,介紹了集成電路的電路設計特點,并以鎖相環為典型電路進行詳細的討論。鎖相環PLL既是系統的關鍵模塊,又是一個獨立的分系統,其應用的范圍非常廣。

1 集成電路設計特點

集成電路設計不同于印制板電路設計,主要原因在于集成電路設計更接近于電路底層半導體器件的設計,更容易受到制造工藝的影響。在設計時通常要求電路達到三個無關,即與工藝(process)制造無關、與電源電壓(power supply voltage)抖動無關、與溫度(temperature)變化無關,就是常說的必須與PVT無關。當然,鎖相環(PLL)作為系統內的一個不可或缺的子系統也不例外。所以,需要在電路設計時從結構上解決以上問題使得電路能正常工作而不受外界的干擾。比如,電源輸入模塊前由于其他信號的串擾或耦合使得電源電壓存在一定的抖動噪聲,在分立器件電路板上很容易用局部的濾波電容將這種噪聲隔離。而在當前普遍的數?;旌霞呻娐分?由于模擬和數字模塊同時存在于同一芯片內,距離極近,使得電源電壓上存在許多無法預料的擾動的問題,所以在設計電路時就必須在電路結構上充分考慮,使得集成電路制造產品后,確保電路參數對電源上不純凈的信號成分不敏感。

印制板電路(亦稱板級電路)的設計優勢在于擁有各個等級的準確標稱的電容、電阻等元器件。利用它們可以將PLL中的環路濾波器(loop filter)設計成高階、高特性的濾波器。因為可以選用精確電阻、高Q值的電容,高頻情況下甚至可以選用聲表面濾波器(SAW filter)。但是,集成電路設計卻無法利用這些資源,而且由于受到制造工藝的限制不能完成準確值的無源器件的設計,例如設計出有具體標稱值的電阻、電容。如果需求特殊,即使可以達到也很困難,其價格當然也就非常昂貴了。例如,雖然環路濾波器是鎖相環必不可少的部件,因為它可以減少VCO控制電壓信號的紋波(ripple),但在集成電路設計中我們一般也只能采用一階或二階的方案。但另一方面,集成電路設計也有不同于板級電路設計的優點和特點,其最大的優點是在于它能做到非常精準的比例,而可以不受制于工藝中的很多因素的影響。集成電路設計更容易利用MOS管及相應的子模塊的參數,例如電流源,放大器,有源負載等等。特別是由于它能準確實現比值電路,因此使其成為對其它模塊更加有效的設計方法,例如電路中各個支路之間的成比例的鏡像電流。

另外,分立元件設計電路時在電路搭建完成后,還可以通過更換其中具有更優參數值的器件或部件來改善設計效果,但是集成電路一旦設計完成,并進行流片,大部分的參數都成為既定事實無法更改。這也是集成電路設計的一個重大特點和難點,由于沒有印制板電路加工出來以后的調試階段,必須在設計時就充分的、完整的仔細考慮。

2 鎖相環集成電路的系統設計

無論是利用分立元件搭建鎖相環電路還是采用集成電路設計鎖相環,首先需要研究的都是鎖相環整個環路系統的參數和特性,比如開、閉環傳輸函數,鎖定帶寬,系統跟蹤特性,等等。雖然集成電路設計的鎖相環模塊組成有時還會更多一些,但是不管需要多少個模塊,每個模塊的參數也是來源于系統框架的。所以,第一步都需要制定系統的框架。

一般地,一個最基本的鎖相環系統包括鑒頻鑒相器(PFD),環路濾波器(LPF),壓控振蕩器(VCO),有的結構中也包含分頻器(divider),系統原理框圖如圖1所示。

在鎖定狀態下,即ΔΦ對時間變化為常數,也就是說輸入輸出頻率相同,環路中所有的信號均處于穩態。鎖定狀態時的時域[2],環路濾波器將鑒相器輸出信號中的高頻分量抑制后得到直流VCO的控制信號。壓控振蕩器VCO的輸出頻率為自由振蕩頻率與ΔΦ的相差之和。

為了定量分析環路特性,一般采用在輸入端加入頻率階躍的方法,即t<t0時環路鎖定,t=t0提供正的頻率階躍。如圖2所示,由于輸入頻率x(t)瞬時大于輸出頻率y(t),鑒相器產生越來越寬的脈沖,增加的脈寬對應更高的VCO的控制電壓值。當輸入輸出信號x(t),y(t)的相位相同時,系統輸出y(t)脈沖寬度逐漸減小,最終逐漸達到大于t=t0時的頻率初始值ω0。

第二步,根據系統框圖,按照確定的模塊分配情況對鎖相環進行系統仿真,計算環路參數等:

系統開環傳輸函數[3]

Ηo=ΚΡDGLΡFΚVCΟs(1)

假設濾波器為一階濾波器

GLΡF=11+sωLΡF(2)

系統閉環傳輸函數

Η(s)=Φout(s)Φin(s)=ΚΡDΚVCΟGLΡF(s)s+ΚΡDΚVCΟGLΡF(s)=ΚΡDΚVCΟs2ωLΡF+s+ΚΡDΚVCΟ(3)

經過簡化可以得到標準形式,

Η(s)=ωn2s2+2ξωns+ωn2(4)

其中

ωn=ωLΡFΚΡDΚVCΟ,ξ=12ωLΡFΚ(5)

根據(5)式,可以推導出-3dB帶寬,阻尼系數,系統穩定性等鎖相環的系統指標。至此為止,分立器件的鎖相環系統設計完成,下一步只需要購買合適的各個部件進行調試即可。

但是在系統級的設計中,集成電路考慮的因素與板級電路卻不完全相同,在鎖相環組合模塊中仍有一些差別。集成電路設計的組合模塊中,為了更好地將PFD的數字信號轉換為由VCO控制電壓控制的模擬信號,會增加電荷泵模塊;為了消除外部偏置引入的各種問題,須增添自偏置模塊(self-bias)??紤]到以上因素,應用與USB2.0的集成電路鎖相環系統框架。

3 模塊設計舉例

系統框圖確定以后,需要對各個模塊進行設計與仿真驗證。下面以鑒頻鑒相器PFD設計為例簡單介紹集成電路模塊設計。

鑒頻鑒相器可以同時檢測到輸入的兩路信號相位和頻率的不同,這點對提高鎖相環的捕獲時間和鎖定速度非常重要。鑒頻鑒相器可以分別用異或門組成,也可以用R-S鎖存器,以及雙邊沿觸發器(D觸發器)組成。與異或門和R-S鎖存器構成的鑒頻鑒相器不同的是,雙邊沿觸發器的兩路輸出信號不是互補的[4]。對于鑒相器兩個輸入信號的頻率相同

ωA=ωB時,輸出QAQB以脈沖寬度反應輸入信號的相位差;當兩個輸入信號的頻率不同ωAωB時,QAQB中一個為零而另外的一個為正脈沖。因此QA-QB的平均值表示輸入信號頻率和相位的差。另外,雙邊沿觸發器(D觸發器)的輸出非互補信號還可以避免后級電荷泵輸出產生死區現象。本設計選用D觸發器組成鑒頻鑒相器,具體電路如圖3所示。

仿真結果如圖4所示,可以看到,左右兩幅圖是分別在輸入端A、B輸入不同頻率的信號時,即相位隨時間變化,輸出波形。右圖為當ωA>ωB時,QA有隨相位差而變化的輸出,QB沒有輸出。左圖為當ωA<ωB時,QA沒有輸出,QB有隨相位差而變化的輸出。波形均未見任何失真現象,說明所有的MOS管均工作在飽和區,電路工作正常。

4 設計方法比較

綜上所述,板級電路PLL設計主要針對的是系統環路的特性,具體的電路級設計應該重點在環路濾波器具體參數。相對而言,集成電路PLL設計不僅僅需要設計整個環路參數,還需要設計系統內部各個模塊的器件參數,可更改的參數量更多,設計也更加靈活??梢钥闯?

①由于印制板電路與集成電路制造的各自特點,分立元件電路設計可以在印制板制造完成后具體調試系統,設計更改比較靈活;而集成電路設計則相對固定,一旦流片完成就不可再更改。因此整個系統的設計和仿真時需要考慮包括電路的抗外界影響能力、寄生參數影響、版圖放置等問題,以確保生產出的芯片可以正常工作。

②由于集成電路設計貼近物理層,更容易受到制造工藝的影響,所以系統設計時需要添加一些電路模塊以滿足系統不受電源、溫度、工藝的干擾。例如在鎖相環的設計中,為了減小壓控振蕩器的偏置電流保持恒定、與電源電壓無關,集成電路系統結構中會增加自偏置模塊。

③印刷板電路更側重于系統的設計,根據系統要求選擇單元模塊的設計思想,而集成電路設計是從底層每個模塊開始根據電路需要完成整個系統的設計。在鎖相環設計實例中,印刷板電路設計主要是通過選擇器件來達到系統環路的特性,比如環路帶寬、環路增益、穩定性等;相對而言,集成電路設計時則須從每個模塊著手,適當地添加部分模塊,調整部件參數等來實現系統環路的特性。

5 結束語

系統設計走向小型化集成化的趨勢已經越來越明顯。單個芯片要集成更多的功能使得設計不得不從電路最底層做起。本文通過應用于USB2.0中480MHz鎖相環的系統和消除死區的鑒頻鑒相器的設計,突出介紹了集成電路設計的方法與思路,為集成電路的設計人員和使用人員提供參考和借鑒,以利于廣大電子電路設計工程師設計出自己需要的、更新穎、更復雜的電路和系統。

參考文獻

[1]萬天才.頻率合成器技術發展動態[J].微電子學,2004.

[2]Behzad Razavi.Monolithic phase-locked loops and clock recoverycircuits[C].IEEE J.Solid-State Circuit,1996.

[3]Gardner F M.Phaselock Techniques[M].2nd ed.Publication:NewYork,John Wiley,1979 Grey.

USB2.0開發系統管理論文范文第6篇

(一) CY7C68013a芯片簡介

賽普拉斯半導體公司 (賽普拉斯) 的EZ-USB FX2LP™ (CY7C68013A/14A) 是高集成、低功耗USB 2.0微控制器EZ-USB FX2™ (CY7C68013) 的一個低功耗版本, 其內部集成了USB2.0收發器、串行接口引擎 (SIE) 、增強型8051微控制器, 以及可編程外設接口。FX2LP按照2000年4月27日發布的《USB規范修訂版2.0》中定義的三種速率中的兩種運行:1.全速, 信號傳輸比特率為12 Mbps;2.高速, 信號傳輸比特率為480 Mbps。FX2LP不支持1.5Mbps的低速信號發射模式。

USB數據是通過端點緩存來流入和流出CY7C68013A的。CY7C68013A的端點緩存被分為“小”和“大”兩類:端點0和端點1是小的, 大小為64個字節, 它們只能由CPU來訪問。端點2、端點4、端點6和端點8是大的, 大小為512個字節, 它們可配置為不同種類和深度, 并可由外部控制器來訪問。通常數據流是在外部FIFO接口的控制下通過“大”端點緩存來流動的, 這樣可以滿足USB2.0設備對高帶寬的要求。當然, “大”端點緩存也可以通過CPU來訪問。

(二) 接口硬件設計

圖1為USB接口電路的簡化原理圖。U4是24LC64, 64K的IIC串行EEPROM, 用于存儲主芯片CY7C68013A的固件程序。USBJ1為USB插座。U1為主芯片CY7C68013A。在本設計中, CY7C68013A只是扮演一個接口的角色, CY7C68013A中集成的CPU不對USB數據做任何的處理, USB數據通過CY7C68013A內部的端點緩存 (端點FIFO) 徑直在主機端和外部處理邏輯器件之間流動 (外部處理邏輯器件可以是DSP/FPGA等) 。對于外部處理邏輯器件來說, 這些端點FIFO與普通的FIFO沒有什么不同, 它們提供通常的定時信號。如圖1所示:FIFOADDR0、FIFOADDR1用來選擇哪一個端點被連接到FIFO接口的數據總線FD上 (CY7C68013A內部集成了四個端點FIFO:端點2、端點4、端點6和端點8) 。SLCS為片選信號, SLOE為輸出使能信號, FLAG_EMPTY為FIFO空信號, FLAG_FULL為FIFO滿信號, SLRD和SLWR分別為FIFO的讀寫控制信號。

(三) 固件設計

1. 固件設計的框架

為簡化USB設備的開發過程和縮短設備開發時間, 賽普拉斯半導體公司為EZ-USB芯片的使用者提供了固件設計的框架。這個框架完成了大部分的8051代碼。例如:CY7C68013A芯片的初始化, USB標準設備請求的處理, 還有USB掛起的電源管理服務。而USB接口設計者的工作只需提供一個USB的設備描述表和一些實現外圍設備功能的C代碼。圖2大體地描繪了這個框架程序的執行流程:上電復位后, 首先初始化一些全局的狀態變量, 這些變量主要為了各個例程的通信之用。然后調用初始化函數TD_init () , 主要完成外圍設備的配置。在本設計中, TD_init () 主要完成對端點RAM和外部FIFO接口的配置。使能相應的中斷后, CPU進入一個循環之中。在這個循環中, CPU會不斷查詢是否有USB設備請求和USB掛起請求到來, 如果有就調用相應的例程來進行處理。

上文已經提到, 賽普拉斯半導體公司為EZ-USB芯片的使用者提供的固件設計框架已完成了大部分的8051代碼。接口設計者要完成的工作有兩個:完成外圍設備的配置和提供一個USB設備描述符表。下面介紹本設計中對端點RAM和外部FIFO接口的配置的情況以及對應的USB設備描述符表。

2. 端點RAM和外部FIFO接口的配置

CY7C68013A內部集成了8個512個字節緩沖區, 這些緩沖區可以有12種的端點配置方法 (具體的配置請參看賽普拉斯半導體公司提供的CY7C68013A芯片資料) 。為實現最大的雙向數據傳輸速率, 本設計將通信端點設置為兩個:端點2和端點6。端點2為OUT端點, 類型為Bulk傳輸端點, 端點深度為4×512字節。

端點6為IN端點, 類型為Bulk傳輸端點, 端點深度為4×512字節。

FX2LP Slave FIFO體系架構中, 端點RAM的8個512字節存儲塊, 直接充當FIFO存儲器, 并由FIFO控制信號 (如IFCLK、SLCS#、SLRD、SLWR、SLOE、PKTEND和標志) 所控制。只有對FIFO接口進行了正確的配置之后, 外部的智能處理邏輯才能通過CY7C68013A提供的FIFO接口對端點RAM中的數據進行正確的訪問。本設計對FIFO接口設置如下:16bit數據寬度, 異步讀寫方式, 采用自動模式。

把FIFO設置為自動模式, 是為了實現最大的帶寬。在自動模式下, 主機和FIFO Master是通過端點RAM直接相連的, 而CY7C68013A中的CPU是不會對FIFO中的數據進行處理的。這樣, 來自主機的數據會直接通過FIFO接口傳輸到FIFO Master, 而來自FIFO Master的數據也直接會傳輸到主機中。

對端點RAM和外部FIFO接口的配置的實現, 是在框架中的TD_init () 函數中, 對EPx CFG、PINFLAGSAB、PINFLAGSCD、EP6AUTOINLENH、EP6AUTOINLENL、EPx FIFOCFG等相關寄存器的配置中完成的。具體配置方法請參看開發套件中的文檔:EZ-USB_TRM.pdf。

3. USB設備描述符

USB設備的屬性通過一組描述符來通知主機的操作系統, 這些描述符是具有一定格式的數據結構, 主機軟件可通過GET_DESCRIPTOR請求獲取這些描述符。每一個描述符的第一個字節表明本描述符的長度, 其后是一個字節的描述符類型信息。USB描述符類型有以下五種: (1) 設備描述符, 用于描述整個設備, 它提供了產品和供應商的ID, 以使主機加載正確的驅動程序。 (2) 配置描述符, 用于描述設備的一個配置。 (3) 接口描述符, 描述配置中的一個接口, 說明了這個接口中通信端點的個數。 (4) 端點描述符, 具體描述了接口中各個端點的類型、方向、大小。 (5) 串描述符, 一個Unicode串, 該串用自然語言描述設備、配置、接口和端點。

用戶提供的描述符表, 在固件框架中的DSCR.A51中實現。根據本設計對端點RAM的配置, 本例中的描述符表的結構如圖3所示。

圖中, 端點描述符中的各域含義為:End Point Addr:0x02, 端點2為OUT;End Point Addr:0x86, 端點6為IN;bm Attributes:0x2, 端點屬性為BULK;w Max Packet Size:512, 端點的每包載荷為512個字節。

(四) 本接口通信的特點

CY7C68013A的FIFO具有“原子”特性。所謂“原子”特性, 就是說, CY7C68013A的FIFO對外部處理邏輯器件FPGA來說是瞬間變滿和瞬間變空的。對于OUT端點, 當FPGA第一次檢測到FIFO不為空時, 意味著此時FIFO中有512個字節的數據。對于IN端點, 當FPGA第一次檢測到FIFO不為滿時, 意味著此時FIFO可以容納512個字節的數據。

下圖為FPGA以40Mbit/s的碼率進行連續讀取CY7C68013A的FIFO時的串行輸出波形 (PC端不斷將“0Xff”寫入CY7C68013A的FIFO中) :

可見, 串行輸出波形會有低電平的出現。這是由于FPGA的讀取速度大于PC機寫入數據“0Xff”的緣故。但可以保證在一個數據包中是沒有間斷時隙出現的。

(五) 結語

本文提供了一種以實現CY7C68013a最大數據傳輸能力為目標的USB2.0接口設計。測試表明, 當FPGA以40Mbit/s的碼率進行讀取時, 會有CY7C68013a的FIFO被讀空的情況發生。如果此接口用于以較高碼率傳輸的設備中, 就要考慮一些保護措施, 以避免因CY7C68013a的FIFO被讀空而帶來的誤碼情況的發生。

摘要:USB2.0接口的實現是開發對數據傳輸率有較高要求的USB設備的首要任務。文章提供了一種以實現CY7C68013a最大數據傳輸能力為目標的USB2.0接口設計, 并對此接口的數據傳輸特點進行了測試。

關鍵詞:CY7C68013a,USB2.0,接口設計

參考文獻

上一篇:幼兒園美術論文題目范文下一篇:民事訴訟審前程序分析論文范文

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火