91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 接口電路

基于FPGA的ARINC429總線接口卡設計

發布時間:2008/8/16 0:00:00 訪問次數:494

  引言

  arinc429總線廣泛應用于商務運輸航空領域,如空中客車a310/a320、a330/a340飛機,波音公司727、737、747、757和767飛機,麥道公司md-11飛機等。它采用異步雙極性歸零碼進行數據的編碼,并通過雙絞線傳輸,具有很強的抗干擾性能。

  目前市場上的arinc429總線接口設計一般都采用專用接口芯片,如device engineering公司的dei-1016,intersil公司的hs-3282等,這些專用芯片價格昂貴,且路數有限,使用非常不靈活。本設計將altera公司的fpga芯片應用于arinc429標準數據傳輸,并完成了與計算機usb接口的通信,有效縮小了系統體積并降低了成本,同時也增加了系統配置的靈活度。

  arinc429總線數據

  arinc429數據總線協議規定一個數據字由32位組成,以脈沖形式發送,采用雙極性歸零碼,碼速率為12.5kb/s或100kb/s。電氣特性為:高電平(+10v)為邏輯1;低電平(-10v)為邏輯0;0電平(0v)發送自身時鐘脈沖,字與字之間以一定間隔(不少于4位)分開,以此間隔作為字同步。一個32位的數據字由五部分組成:標志位(label),用于標識傳輸數據的信息類型;源/目的標識碼(s/d),用于判斷在一個多系統中的源系統;數據區(data);符號/狀態位(ssm),用于標識數據字的特征或數據發生器的狀態;奇偶校驗位(parity),arinc429數字信息傳輸使用奇校驗。

  fpga內部邏輯設計

  根據arinc429總線協議,要完成數據的收發以及對usb總線接口的邏輯控制, fpga 芯片應完成的邏輯功能框圖如圖1所示,其中虛線框中是fpga實現的部分。

  發送器

  發送器結構如圖2所示,由緩沖存儲器、信號發生器和發送控制邏輯三部分構成,用于將來自總線接口通信模塊的32位429格式數據轉換成調制前的兩路串行數據,即圖2中ttl0和ttl1。其中使用緩存是為了提高數據傳輸速度,用戶向緩存寫進想要發送的多個32位數據字后,就可以通過entx信號控制數據從緩存連續不斷地讀出,并經過信號發生器轉換成串行數據后送給總線驅動電路。在這里,緩存是直接調用altera提供的lpm_fifo+宏功能模塊來實現的。

  信號發生器由位計數器、字間隔計數器、碼元調制、移位寄存器以及相應的控制邏輯組成,結構如圖3所示。其中,位數計數器用來控制429數字字的位數,字間隔計數器用于產生字間隔。在本設計中,采用狀態機來實現信號發生器的功能,共分3個狀態:

  a)idle:初始狀態,當復位或是發送完一個32位數后進入該狀態,在該狀態完成字間隔的產生,并用移位寄存器的load信號來鎖存待轉換數據,并在至少四位字間隔后進入trans狀態,否則等到直到有新數據載入。

  b)trans:進行數據的并串轉換,同時進行奇偶校驗,即每產生一位串行數據就進行一次異或運算,并由位數計數器控制計到31時就進入parity狀態。

  c)parity:輸出奇偶校驗位并回到idle狀態。

  碼元調制是在信號busy的有效區間內,將串行輸出數據serial_data與時鐘做邏輯運算得到的ttl0和ttl1(如圖4)送至外部調制電路,并轉換為429總線規范要求的雙極性歸零信號。其verilog語言描述如下:

  always @(busy,clk_tx,serial_data)

  begin

  if (busy)

  begin

  ttl1<=serial_data&clk_tx;

  ttl0<=~serial_data&clk_tx;

  end

  else begin

  ttl1<=0;

  ttl0<=0;

  end

  end

  endmodule

  發送控制邏輯用于協調緩存和信號發生器之間的數據傳遞。在緩存非空、busy無效(信號發生器狀態機處于trans狀態下busy有效)的條件下,一旦允許轉換信號entx有效,便開啟緩存的讀使能rden,并產生轉換數據的裝載信號load,以完成緩存數據的自動轉換和發送。

  接收器

  雙極性的arinc429 信號通過解調電路轉換為兩路ttl 信號,ttl1和ttl0。后經接收器轉換成32位并行數據供主機讀取。接收器結構如圖5所示。為使數據接收具有一定的抗干擾能力,本設計采用一個16倍于碼速率的高速時鐘對數據進行檢測。同步字頭檢測模塊對高速時鐘進行計數,當計數值計滿64(對應4位字間隔),即產生一個位接收允許信號rec_en,該信號啟動位檢測模塊。位檢測模塊對ttl0和ttl1信號進行監控,一旦兩路串行數據中任一路為高,則標志有效數據開始發送。位檢測模塊對每一位數據進行三次檢測,在碼元的前半周期檢測兩次,后半周期檢測一次,只有這三次檢測都符合429信號標準才能被視為有效數據,否則報錯并自動丟棄。字檢測模塊將正確檢出的位轉換為并行數據并做奇偶校驗和sdi校驗,校驗正確后數據被鎖存,并產生接收完成信號rec_done向主機發出中斷請求。

  時鐘發生器

  時鐘發生器對外部晶振(本設計采用的是12.8mhz的時鐘頻率)分頻產生100khz和12.5khz高低速率

  引言

  arinc429總線廣泛應用于商務運輸航空領域,如空中客車a310/a320、a330/a340飛機,波音公司727、737、747、757和767飛機,麥道公司md-11飛機等。它采用異步雙極性歸零碼進行數據的編碼,并通過雙絞線傳輸,具有很強的抗干擾性能。

  目前市場上的arinc429總線接口設計一般都采用專用接口芯片,如device engineering公司的dei-1016,intersil公司的hs-3282等,這些專用芯片價格昂貴,且路數有限,使用非常不靈活。本設計將altera公司的fpga芯片應用于arinc429標準數據傳輸,并完成了與計算機usb接口的通信,有效縮小了系統體積并降低了成本,同時也增加了系統配置的靈活度。

  arinc429總線數據

  arinc429數據總線協議規定一個數據字由32位組成,以脈沖形式發送,采用雙極性歸零碼,碼速率為12.5kb/s或100kb/s。電氣特性為:高電平(+10v)為邏輯1;低電平(-10v)為邏輯0;0電平(0v)發送自身時鐘脈沖,字與字之間以一定間隔(不少于4位)分開,以此間隔作為字同步。一個32位的數據字由五部分組成:標志位(label),用于標識傳輸數據的信息類型;源/目的標識碼(s/d),用于判斷在一個多系統中的源系統;數據區(data);符號/狀態位(ssm),用于標識數據字的特征或數據發生器的狀態;奇偶校驗位(parity),arinc429數字信息傳輸使用奇校驗。

  fpga內部邏輯設計

  根據arinc429總線協議,要完成數據的收發以及對usb總線接口的邏輯控制, fpga 芯片應完成的邏輯功能框圖如圖1所示,其中虛線框中是fpga實現的部分。

  發送器

  發送器結構如圖2所示,由緩沖存儲器、信號發生器和發送控制邏輯三部分構成,用于將來自總線接口通信模塊的32位429格式數據轉換成調制前的兩路串行數據,即圖2中ttl0和ttl1。其中使用緩存是為了提高數據傳輸速度,用戶向緩存寫進想要發送的多個32位數據字后,就可以通過entx信號控制數據從緩存連續不斷地讀出,并經過信號發生器轉換成串行數據后送給總線驅動電路。在這里,緩存是直接調用altera提供的lpm_fifo+宏功能模塊來實現的。

  信號發生器由位計數器、字間隔計數器、碼元調制、移位寄存器以及相應的控制邏輯組成,結構如圖3所示。其中,位數計數器用來控制429數字字的位數,字間隔計數器用于產生字間隔。在本設計中,采用狀態機來實現信號發生器的功能,共分3個狀態:

  a)idle:初始狀態,當復位或是發送完一個32位數后進入該狀態,在該狀態完成字間隔的產生,并用移位寄存器的load信號來鎖存待轉換數據,并在至少四位字間隔后進入trans狀態,否則等到直到有新數據載入。

  b)trans:進行數據的并串轉換,同時進行奇偶校驗,即每產生一位串行數據就進行一次異或運算,并由位數計數器控制計到31時就進入parity狀態。

  c)parity:輸出奇偶校驗位并回到idle狀態。

  碼元調制是在信號busy的有效區間內,將串行輸出數據serial_data與時鐘做邏輯運算得到的ttl0和ttl1(如圖4)送至外部調制電路,并轉換為429總線規范要求的雙極性歸零信號。其verilog語言描述如下:

  always @(busy,clk_tx,serial_data)

  begin

  if (busy)

  begin

  ttl1<=serial_data&clk_tx;

  ttl0<=~serial_data&clk_tx;

  end

  else begin

  ttl1<=0;

  ttl0<=0;

  end

  end

  endmodule

  發送控制邏輯用于協調緩存和信號發生器之間的數據傳遞。在緩存非空、busy無效(信號發生器狀態機處于trans狀態下busy有效)的條件下,一旦允許轉換信號entx有效,便開啟緩存的讀使能rden,并產生轉換數據的裝載信號load,以完成緩存數據的自動轉換和發送。

  接收器

  雙極性的arinc429 信號通過解調電路轉換為兩路ttl 信號,ttl1和ttl0。后經接收器轉換成32位并行數據供主機讀取。接收器結構如圖5所示。為使數據接收具有一定的抗干擾能力,本設計采用一個16倍于碼速率的高速時鐘對數據進行檢測。同步字頭檢測模塊對高速時鐘進行計數,當計數值計滿64(對應4位字間隔),即產生一個位接收允許信號rec_en,該信號啟動位檢測模塊。位檢測模塊對ttl0和ttl1信號進行監控,一旦兩路串行數據中任一路為高,則標志有效數據開始發送。位檢測模塊對每一位數據進行三次檢測,在碼元的前半周期檢測兩次,后半周期檢測一次,只有這三次檢測都符合429信號標準才能被視為有效數據,否則報錯并自動丟棄。字檢測模塊將正確檢出的位轉換為并行數據并做奇偶校驗和sdi校驗,校驗正確后數據被鎖存,并產生接收完成信號rec_done向主機發出中斷請求。

  時鐘發生器

  時鐘發生器對外部晶振(本設計采用的是12.8mhz的時鐘頻率)分頻產生100khz和12.5khz高低速率

相關IC型號

熱門點擊

 

推薦技術資料

耳機放大器
    為了在聽音樂時不影響家人,我萌生了做一臺耳機放大器的想... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
高清| 平武县| 黄平县| 江华| 通山县| 乳山市| 大足县| 双鸭山市| 赤水市| 彭州市| 芷江| 阿拉善左旗| 双柏县| 板桥市| 河东区| 海盐县| 光山县| 古蔺县| 桂阳县| 齐河县| 丰城市| 寻乌县| 丹阳市| 利津县| 平潭县| 永州市| 滁州市| 金湖县| 东城区| 林州市| 礼泉县| 龙里县| 沂源县| 南郑县| 冀州市| 长武县| 宿松县| 合山市| 扬州市| 仁化县| 湘阴县|