FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計_第1頁
FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計_第2頁
FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計_第3頁
FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計_第4頁
FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

FPGA器件EP1C3T100I7實現高速傳輸速率的電路設計1.概述近些年來,各種電路功能,包括模擬電路和數字電路,越來越多地用單片集成電路來實現。采用單片集成電路不僅可以有效地提高電路可靠性和其它性能,而且也大大地降低了使用難度。許多單片集成電路的信息輸入和工作控制是通過數字信號實現的。常用的控制器件為微控制器和可編程邏輯器件。由于微控制器一次只能執(zhí)行一條指令,因此它的主要局限性是工作速度。采用硬件方案設計的數字系統(tǒng)總是比軟件方案的數字系統(tǒng)的工作速度快。對數據的傳輸速率有較高要求的情況下,采用可編程邏輯器件是一種較好的選擇??删幊踢壿嬈骷械腇PGA器件不僅提供通用邏輯單元,而且還提供了可以形成各種存儲器的嵌入式陣列塊。2.nRF2401A無線收發(fā)芯片介紹無線收發(fā)芯片nRF2401是挪威NORDICSEMICONDUCTOR公司的產品,它把射頻收發(fā)電路集成在一塊芯片上,芯片內部包含頻率綜合器、微波功率放大器、信號調制和解調器等部分。控制器件與nRF2401芯片之間的數字傳輸通過串行同步接口實現。nRF2401芯片作為一種單片無線收發(fā)芯片,它的射頻范圍為2.4GHz~2.5GHz,這個頻率范圍被稱作為工業(yè)—科學—醫(yī)療(Industrial-Scientific-Medical,ISM)頻帶,可以自由使用。在正常工作模式下,發(fā)送端的nRF2401無線收發(fā)芯片可以從控制器件接收數據,然后發(fā)射頻移鍵控(FSK)信號;在接收端nRF2401無線收發(fā)芯片接收頻移鍵控信號,然后把解調產生的數據送到控制器件。正常工作模式具有2種工作方式:ShockBurstTM方式和直接方式。ShockBurstTM方式應用片內FIFO存儲器,從而使得控制器件與nRF2401芯片之間的數字傳輸可以采用較低的數據率,nRF2401芯片之間的數字無線電通信采用較高的數據率。這個優(yōu)點降低了射頻功率器件的工作時間,因此降低了電源的功耗,這在使用電池供電的場合非常重要。除此之外,ShockBurstTM方式對射頻傳輸數據幀的處理也比較簡單。射頻傳輸數據幀包括4個部分,它的結構如表1所示。這個結構對于2種工作方式,ShockBurstTM方式和直接方式,都是一樣的。PRE-AMBLE被稱為為前置代碼,這個部分的寬度為8位。當工作在ShockBurstTM方式,發(fā)射芯片在發(fā)送數據時自動把這個部分添加到射頻傳輸數據幀中;接收芯片從接收到的射頻傳輸數據幀中自動取掉這個部分。ADDRESS為用于接收的nRF2401無線收發(fā)芯片的地址,這個部分的最大寬度為40位。當工作在ShockBurstTM方式,發(fā)射芯片在發(fā)送數據時,控制器件向nRF2401無線收發(fā)芯片傳送的數據中必須包含這個部分;接收芯片從接收到的射頻傳輸數據幀中將自動取掉這個部分。PAYLOAD為實際需要傳輸的信息。當工作在ShockBurstTM方式,這個部分包含的數據位數可以由下面公式計算。PAYLOAD=256–ADDRESS–CRCCRC為循環(huán)冗余檢查,這個部分的寬度可以為8位或者16位。循環(huán)冗余檢查功能只能在ShockBurstTM工作方式下使用,在直接工作方式下不能使用這個功能。發(fā)射芯片在發(fā)送數據時自動把這個部分加到射頻傳輸數據幀中,它的寬度由芯片的配置字來決定;接收芯片從接收到的射頻傳輸數據幀中自動取掉這個部分。射頻傳輸數據幀中包含較長的地址位和循環(huán)冗余檢查位雖然減少了實際需要傳輸的信息使用的數據寬度,但是可以降低誤碼的發(fā)生概率。3.數字壓縮的實現在采用16位接收地址和16位CRC編碼,可用于傳輸遙測數據的位數可由上式計算出,其數值為224位。為保證待傳輸的測量信息具有足夠的動態(tài)范圍,遙測系統(tǒng)的所有模擬/數字轉換都采用12位的模擬/數字轉換器。使用無線收發(fā)芯片nRF2401傳輸12位的PCM編碼,一次只能傳輸18路測量信號。對于監(jiān)測的模擬信號,小振幅信號比大振幅信號出現的可能性大,因此采用非線性編碼可以用較少的數據位數獲得需要的精度,即小振幅信號使用較多的編碼,大振幅信號使用較少的編碼。這樣的非線性編碼系統(tǒng)也被稱作為壓縮擴展系統(tǒng),數據在傳輸之前先被壓縮,然后在接收端再被擴展。μ律壓縮擴展是一種常用的算法,它的壓縮特性為:式中,Vmax:最大未壓縮模擬輸入信號幅度;Vin:當前模擬輸入信號幅度;μ:定義壓縮量的參數;Vout:壓縮模擬輸出信號幅度。μ值越高,壓縮量越大,μ值為0時,特性為直線,這時無壓縮。數字壓縮把12位線性編碼轉換成8位非線性編碼,這樣在同樣的一幀224位測量數據就可以容納28路信號,比線性編碼多出10路。這里轉換的過程是使用8個直線段來近似μ值為255的模擬壓縮特性,每個直線段的斜率等于前一段的二分之一。8位壓縮碼由3段標識碼和5位幅度碼組成。表2給出12位到8位數字壓縮和擴展編碼。12位線性編碼中標為X的位在壓縮時被丟棄,標為A、B、C、D和E的位被原樣傳輸。在段0和段1,數據沒有被壓縮,原始的12位線性編碼可以被完整地恢復;在段2,壓縮比為2:1,64個線性編碼只生成32個壓縮編碼;在段3,壓縮比為4:1,128個線性編碼只生成32個壓縮編碼。依次類推,在段7,壓縮比為64:1,2048個線性編碼只生成32個壓縮編碼。采用查表的方法是一種常用的編碼方法,但是對于表2所示的壓縮編碼,使用硬件描述語言更加簡單,編碼速度更快、也節(jié)省可編程邏輯器件的資源。使用VHDL的并行條件信號賦值語句實現壓縮編碼的代碼如下,data_pcm12為12位線性編碼,data_pcm8為8位壓縮編碼。圖1給出使用ALTERA公司的EP1C3T100I7芯片的仿真波形圖,完成一次壓縮編碼只需要不到15ns的時間。data_pcm8《=“000”&data_pcm12(4DOWNTO0)WHENdata_pcm12《“000000100000”ELSE“001”&data_pcm12(4DOWNTO0)WHENdata_pcm12《“000001000000”ELSE“010”&data_pcm12(5DOWNTO1)WHENdata_pcm12《“000010000000”ELSE“011”&data_pcm12(6DOWNTO2)WHENdata_pcm12《“000100000000”ELSE“100”&data_pcm12(7DOWNTO3)WHENdata_pcm12《“001000000000”ELSE“101”&data_pcm12(8DOWNTO4)WHENdata_pcm12《“010000000000”ELSE“110”&data_pcm12(9DOWNTO5)WHENdata_pcm12《“100000000000”ELSE“111”&data_pcm12(10DOWNTO6);4.nRF2401A無線收發(fā)芯片數據接口的設計無線收發(fā)芯片nRF2401的ShockBurstTM工作方式可以使得控制器件與該芯片之間的數字傳輸可以采用較低的數據率,以降低對控制器件的要求;nRF2401芯片之間的數字無線電通信采用較高的數據率,最高為1Mbps,以降低電源的功耗。由于無線收發(fā)芯片nRF2401從控制器件獲取數據和發(fā)射頻移鍵控信號是分時進行的,因此控制器件較低的工作速度將降低實際的數據傳輸速率。nRF2401芯片的最高數據傳輸速率也為1Mbps,由于數據格式的非標準,如果采用微控制器實現則只能采用位尋址指令來實現,多條指令才能完成一位數據的傳送,使得達到較高的數據傳輸速率非常困難。應用FPGA器件實現需要的串行同步接口非常方便,使用2MHz的時鐘,第一個時鐘用于準備數據,第二個時鐘用于產生同步時鐘,即可獲得1Mbps的數據傳輸速率。采用有限狀態(tài)機(FSM)的時序電路模型,使用VHDL實現的nRF2401A無線收發(fā)芯片數據接口代碼格式如下:IF(data_read=‘0’)THENcurrent_state《=0;ELSIF(data_read=‘1’)THENIF(clk_sys‘EVENTANDclk_sys=’1‘)THENCASEcurrent_stateIS??????WHEN83=》current_state《=84;ce_read《=’1‘;data_addr《=“00000”;ce《=’1‘;clk1《=’0‘;data《=pcm8_m(199);WHEN84=》current_state《=85;ce_read《=’1‘;data_addr《=“00000”;ce《=’1‘;clk1《=’1‘;data《=pcm8_m(199);??????圖2是實現的nRF2401A無線收發(fā)芯片數據接口代碼模塊的仿真波形圖。遙測系統(tǒng)完成所有模擬/數字轉換器輸出數字信號的讀取,并把這些12位的數據壓縮為8位數據存入一個雙口RAM,接著產生一個讀數信號data_read。在讀數信號低電平期間有限狀態(tài)機狀態(tài)信號current_state清零,低電平過后,在時鐘信號clk_sys控制下實現nRF2401A的數據接口要求的時序。在狀態(tài)機執(zhí)行過程中,首先產生雙口RAM的讀使能信號ce_read和地址信號data_addr,把數據轉存在一個具有200位的信號pcm8_m中;接著逐位向nRF2401A無線收發(fā)芯片傳輸16位地址和信號pcm8_m中包含的200位數據。完成所有信息的傳送以后,狀態(tài)機停在最后一個狀態(tài),等待下一個低電平的讀數信號data_read。5.總

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論