《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于USB的多通道俄制串行總線接口卡設計

基于USB的多通道俄制串行總線接口卡設計

2008-03-26
作者:鄧青海,景小寧,劉 安

  摘 要: 基于USB的多通道" title="多通道">多通道俄制軍用串行總線接口卡的設計及實現方案,重點論述了在基于FPGA的俄制軍用串行總線IP核上通過雙口RAM與USB通信,以及CY7C68013芯片在GPIF模式下進行固件和驅動程序設計的方法。
  關鍵詞: ΓОСТ18977 PTM1495 現場可編程門陣列 通用串行總線 通用可編程接口


  俄羅斯標準ΓОСТ18977規定了飛機的成套機載設備通信的電器特性,其中一部分規定了與美國標準ARINC429相對應的串行碼信號的類型及其電氣標準。而與之配套的PTM1495技術資料中則規定了按照ΓОСТ18977標準采用雙極性碼進行信息交換的具體方法。該標準在蘇27、蘇30的火控計算機、大氣計算機等機載設備中得到廣泛應用。目前,基于該標準的接口卡大多數為PCI總線接口,且只具有兩收一發的功能,測試維護很不方便。為了使接口卡使用方便、即插即用,本文提出了基于USB接口的多通道總線接口卡的實現方案。
1 ΓОСТ18977標準及其對應的數據格式標準
  ΓОСТ18977標準采用雙極歸零制模式傳輸32位位信息,其信號電平的定義見表1。在連續傳輸時,它們之間的間隔至少有4個位時間(零電壓)。ΓОСТ18977中規定的串行碼信號可以在12kbps、48kbps、100kbps、250kbps四種速率下工作,而目前的飛機系統和裝置一般均在48kbps、公差為±25%的傳輸速率下工作。


  ΓОСТ18977和PTM1495規定通信中可以采用四種數據格式:二進制碼,二-十進制碼(BCD)、指令和標志碼,以及由字母、符號、數字組成的字符碼。這四種數據的發送和接收都要按照PTM1495規定的32位串行數據的方式進行。
2 CY7C68013簡介
  CY7C68013是Cypress公司推出的USB2.0控制器。它包括帶8KB片上RAM的高速8051單片機、4KB FIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)、USB2.0收發器、6條可編程控制輸出線、9條地址輸出線、6條通用的準備輸入線(數據線寬可為8位或16位),具有56引腳、100引腳、128引腳[3]三種封裝規格。
  CY7C68013外設交換數據通常采用Slave FIFOs(從設備)和GPIF兩種方式。GPIF為一個靈活的8位或16位的并行接口,由一個用戶可編程的狀態機驅動。
  USB傳輸類型有控制傳輸、中斷傳輸、同步傳輸及塊傳輸。通常,塊傳輸用于傳輸大量數據的設備,而且對數據進行校驗和重傳。USB2.0版本支持高達480Mbps的傳輸速率,塊傳輸完全可滿足多通道總線接口卡的要求。
3 系統設計
  系統硬件設計主體結構如圖1所示,主要由USB2.0接口器件CY7C68013-128PIN、雙端口" title="雙端口">雙端口RAM IDT7025、FPGA(Altera Cyclone系列EP1C12)、電平轉換器件HI8585和HI-8482組成。
3.1 雙端口RAM地址空間劃分
  數據緩存的關鍵是雙端口RAM。本系統采用IDT7025,規格為8K×16位。考慮到數據傳輸無間隙的要求,將雙端口RAM分為讀、寫兩部分。其中前4K×16位用來存儲發送的數據,后4K×16位用來存儲接收的數據。由于對雙端口RAM可以同時讀寫,所以又將讀、寫RAM地址區各劃分為4部分,分別對應4個發送、接收通道。以發送通道1為例,其地址范圍為0x0000~0x03FF,在發送通道1內,又分為4個小部分,地址空間為0x0000~0x00FF,0x0100~0x01FF,0x0200~0x02FF,0x0300~0x03FF。當0x0000~0x00FF寫滿時,CY7C68013-128PIN將產生TXFULL信號,由FPGA讀取其雙端口RAM內的數據,同時發送數據可以存入下個地址空間0x0100~0x01FF,從而達到數據的無間隙傳輸。其他通道的RAM工作過程類似。圖1中的ADDR[7..0]L和PA[7..4]是CY7C68013-128PIN用來訪問雙端口的地址,ADDR[7..0]L為低8位,PA[7..4]為高4位;ADDR[11..0]R是FPGA用來訪問雙端口的地址。


3.2 FPGA邏輯功能
  FPGA主要完成多通道協議IP核邏輯和自檢測" title="自檢測">自檢測邏輯[4]。多通道協議IP核邏輯的主要功能是實現ΓОСТ18977標準,它既能接收經過轉換的、符合ΓОСТ18977標準的數字信號并將其送入CPU或其他設備,又能將CPU或其他設備發出的數字信號按照ΓОСТ18977標準的數據格式輸出。該IP核提供8通道同時收發,且每路通道數據傳輸相互獨立;每個通道可以單獨定義總線頻率及通道標志,可以選擇是否允許校驗,其校驗方式可單獨定義為奇校驗或偶校驗等。另外,IP核提供8、16、32位的CPU總線接口。本系統IP核采用4通道同時收發,16位CPU數據總線接口。自檢測邏輯主要是對板卡進行發送和接收通道功能自檢測。
  由上述分析可知,FPGA的主要功能為:(1)實現多通道數據傳輸協議;(2)實現自檢測邏輯;(3)提供訪問IDT7025的控制信號、地址信號和數據;(4)對可能到來的4通道中斷信號排隊;(5)向USB提供數據滿信號(RAMRX1FULL等)、未滿信號(RXNOTFULL)和字計數器(COUNT[7..0]);(6)接收USB傳來的數據滿信號(TXFULL)、未滿信號(TXNOTFULL)、字計數器(PE[7..0])和RAM地址塊選擇信號(PA[7..4]);(7)提供與CY7C68013-128PIN內嵌8051CPU的接口。
3.3 ΓОСТ18977標準的接口
3.3.1 接口芯片選擇

  由于ΓОСТ18977標準與相應的ARINC429總線的電平定義基本一致,區別僅在于ΓОСТ18977標準對接收端的公差稍小,所以接口器件選用HOLT公司的ARINC429總線接口芯片,完全可以滿足系統的要求。發送通道選用HI-8585,可將一路TTL信號轉換成雙極歸零制電平信號;接收通道選用HI-8482,可將兩路雙極歸零制電平信號轉換成兩路TTL信號。
3.3.2 供電方案
  因為接口芯片HI-8585和HI-8482電源電壓工作在12V或15V,考慮到多通道收發對電源功率的要求,僅靠USB供電不能滿足系統的需要,因此本系統采用PS/2接口以輔助供電。
3.4 工作流程
  本系統設計四通道同時收發,其過程相對復雜,考慮到各通道收發過程非常類似,所以僅以收發通道1為例介紹其流程[5]。
3.4.1 數據發送工作流程
  數據發送分為大批量數據發送和小批量數據發送兩種情況。(1)大批量數據發送:當發送數據達到256×16位時,CY7C68013-128PIN將產生數據滿信號(TXFULL),PA[7..4]提供RAM數據塊選擇信號,FPGA通過這兩個信號讀取相應的RAM空間,得到256×16位數據。(2)小批量數據發送:CY7C68013-128PIN將產生數據未滿信號(TXNOTFULL),PA[7..4]提供RAM數據塊選擇信號,PE[7..0]提供數據字個數計數器,FPGA通過這三個信號讀取相應的RAM空間得到相應的數據。最后,FPGA通過多通道IP核完成數據發送。
3.4.2 數據接收" title="數據接收">數據接收工作流程
  數據接收分為大批量數據接收和小批量數據接收兩種情況。(1)大批量數據接收:當接收數據達到256×16位時,FPGA將產生數據滿信號(RAMRX1FULL),CY7C68013-128PIN通過此信號啟動GPIF波形,連續讀取RAM空間內256×16位數據。(2)小批量數據發送:當FPGA內計數器連續檢測到N個時間間隙(N值取決于實時性要求,本系統為5)沒有數據接收時,將產生數據未滿信號(RAMRXNOTFULL),同時CHANNEL[3..0]提供RAM數據塊選擇信號,COUNT[7..0]提供數據字個數計數器,CY7C68013-128PIN通過這三個信號讀取相應的RAM空間得到接收的數據。接收的數據通過USB數據線傳送到PC機。
4 USB器件CY7C68013的設計
4.1 GPIF波形描述符" title="描述符">描述符的實現機制
  GPIF是CY7C68013內FIFO的內部控制器。此方式下,接口內核可產生6個控制信號(CTL0~CTL5)、9個地址信號(ADDR0~ADDR8),可以接收6個外部輸入(RDY0~RDY5)和2個內部輸入,還有時鐘信號IFCLK和可選的8位FD[7..0]或16位FD[15..0]數據總線[6]。CY7C68013有四個波形描述符控制各個狀態,分別為單次讀、單次寫、FIFO讀、FIFO寫。這些波形描述符可以隨意配置給任何一個端點FIFO。每個波形描述符包含S0~S6 7個有效狀態和一個空閑狀態。在每個有效狀態對應的時間內,經過預先定義,GPIF可以做以下幾件事:(1)驅動(使高或使低)或懸浮控制信號;(2)采樣或驅動FIFO的數據總線;(3)增加GPIF地址總線值;(4)增加指向當前FIFO指針的值;(5)啟動GPIFWF(波形描述符)中斷。除此之外,在每個狀態,GPIF可以對下面信號中的任意兩個采樣:(1)RDY輸入端;(2)FIFO狀態標志位;(3)內部RDY標志;(4)傳輸計數終止標志位。然后把這兩個信號相與、相或、相異或,根據結果跳轉到其他任意一個狀態或延遲1~256個時鐘周期。當然也可以根據一個信號跳轉。每次波形描述符執行結束后必須跳轉到空閑狀態結束。在GPIF控制其總線進行傳輸的過程中,不需要CPU的干預,可直接通過FIFO與USB總線進行數據交換。在GPIF接口上同一時刻只能有一個波形描述符在執行,要更換波形描述符必須等到上個波形描述符執行完畢。
  利用Cypress公司提供的GPIF Designer可以方便地生成波形描述符源文件GPIF.c,其主要包括初始變量的設置和GPIF初始化函數GPIFInit。本系統采用16位數據總線FD[15..0]、8位地址總線ADDR[7..0]、3個控制線(CTL0選通IDT7025的R/WL,CTL1選通CEL,CTL2選通OEL)。RDY[3..0]接收4個通道的接收滿信號RAMRXFULL[4..1],另外PA[7..2]、PA0、PE[7..0]提供地址輔助信息。圖2為FIFO讀波形描述符。


4.2 8051CPU的功能
  8051CPU主要完成FPGA內發送和接收通道的控制寄存器、狀態寄存器、標志寄存器的設置,包括總線頻率、通道標志、是否允許校驗、校驗方式為奇校驗或偶校驗、是否允許自檢測等。
4.3 固件的設計
  Cypress公司為CY7C68013提供了一個開發框架,可以在Keil C51環境中開發。結合本系統,該框架由五部分組成:(1)fw.c包含了程序框架的MAIN函數,主要處理C51內核的運行,解析Setup命令包。(2)dscr.a51是描述表文件,負責USB設備的描述工作。CY7C68013在上電后自動利用其VID和PID取代默認的VID和PID。(3)gpif.c是GPIF波形描述符文件,由GPIF Designer生成。(4)Ezusb.lib是EZUSB函數庫的二進制文件,USBJmpTB.obj是USB的中斷向量表。(5)FX2_to_BUS.c 負責系統周邊器件的互聯,固件設計主要針對此部分。包括函數TD_Init、TD_Poll、DR_VendorCmnd和中斷函數的函數體等。
4.4 驅動程序的設計
  本驅動程序開發采用了Jungo公司的WinDriver開發平臺。WinDriver的優點是用戶不需要了解操作系統內部原理,不需要了解DDK開發工具。另外,Cypress公司為CY7C68013提供了專門的開發框架,因此大大縮短了開發周期。
  本接口卡四個收發通道完全符合俄羅斯標準ΓОСТ18977,四通道同時工作在最高頻率250kbps時都能滿足實時性要求。另外,由于基于USB接口,使得接口卡的體積較小,實現了即插即用,應用靈活,節省了系統資源。目前該接口卡已成功應用于某航空機載計算機項目中。
參考文獻
1 王 勇.航空機載計算機與航空電子總線[M].西安:空軍工程學院出版社,1998
2 劉歡迎,羅志強.ARINC429協議和與之對應的俄羅斯標準的比較[J].航空電子技術,2002;33(1)
3 Cypress Semiconductor Corp.EZ-USB FX2 Manual Technical Reference V2.1
4 Actel Corporation.ARINC 429 Bus Interface.http://www.actel.com/ipdocs/CoreARINC429_DS.pdf,2005
5 高世杰,竺曉山.基于USB2.0的多路異步串行系統設計[J].電視技術,2005;(7)
6 周云峰,單甘霖,王 鑫.FX2的波形描述符設計及應用.微計算機信息,2005;21(2)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲性图久久| 亚洲国产精品久久| 国产亚洲成精品久久| 欧美日韩一级大片网址| 欧美福利电影在线观看| 美女精品自拍一二三四| 久久人人看视频| 久久久亚洲午夜电影| 性刺激综合网| 午夜久久福利| 午夜久久电影网| 午夜天堂精品久久久久| 亚洲婷婷综合久久一本伊一区| 一区二区日韩| 亚洲午夜女主播在线直播| 中日韩高清电影网| 亚洲一二三区精品| 亚洲欧美电影院| 午夜宅男欧美| 欧美在线视频观看| 久久精品国产一区二区三区免费看 | 久久久久国产精品www| 久久精品国亚洲| 久久亚洲国产成人| 欧美大片一区| 欧美日韩亚洲一区二区| 欧美日韩一级大片网址| 国产精品theporn88| 国产乱肥老妇国产一区二| 国内精品久久久久影院色 | 欧美伊人影院| 久久三级视频| 欧美激情一区二区三区全黄| 欧美三日本三级少妇三2023| 国产精品久久久久久久第一福利| 国产欧美日韩视频一区二区三区 | 精品1区2区| 亚洲日本成人| 亚洲一区3d动漫同人无遮挡| 羞羞答答国产精品www一本| 亚洲国产婷婷香蕉久久久久久| 日韩视频在线一区二区| 亚洲一区二区三区乱码aⅴ| 欧美专区日韩视频| 欧美www在线| 国产精品国产三级国产a| 国产午夜精品在线观看| 樱桃国产成人精品视频| 亚洲伦理在线| 欧美亚洲综合在线| 亚洲精品系列| 性视频1819p久久| 美女国产一区| 国产精品久久久久一区二区三区| 国产主播精品| 亚洲精品免费在线观看| 亚洲欧美激情视频| 亚洲精品久久久久久久久久久久久| 亚洲视频一区在线观看| 久久久91精品国产| 欧美日韩国产一区二区三区地区| 国产美女精品| 亚洲精品美女久久7777777| 午夜一区不卡| 宅男噜噜噜66国产日韩在线观看| 久久福利电影| 欧美日韩国产在线看| 国产午夜精品在线观看| 亚洲美女在线视频| 久久成人18免费网站| 国产精品99久久久久久有的能看 | 亚洲激情电影在线| 亚洲欧美日产图| 99re66热这里只有精品3直播| 欧美一区视频| 欧美性大战久久久久久久| 伊人天天综合| 亚洲欧美视频在线| 亚洲视频在线观看免费| 久久视频在线视频| 国产精品伦理| 日韩亚洲欧美一区| 亚洲第一在线综合在线| 欧美一区二区精美| 欧美日韩亚洲一区二| 在线国产亚洲欧美| 午夜精品久久久久久久久久久| 一本久久综合| 欧美电影免费观看网站| 国产一区91| 亚洲综合精品一区二区| 99视频国产精品免费观看| 美国十次成人| 国产一区二区三区成人欧美日韩在线观看 | 一区二区高清在线| 蜜乳av另类精品一区二区| 国产一区二区精品丝袜| 亚洲女女女同性video| 亚洲一区欧美| 欧美日韩蜜桃| 亚洲人体影院| 亚洲免费观看| 欧美高清视频| 亚洲国产精品一区二区第四页av| 久久精品亚洲国产奇米99| 久久精品国产在热久久| 国产伦精品一区二区三| 一区二区高清视频| 一区二区三区久久精品| 欧美久久久久中文字幕| 亚洲国产精品一区二区尤物区| 久久精品国产免费观看| 久久久人成影片一区二区三区| 国产精品中文字幕在线观看| 中文一区二区在线观看| 亚洲午夜av| 国产精品久久久久久超碰| 亚洲视频在线观看视频| 亚洲一区欧美一区| 欧美性视频网站| 一本色道久久综合亚洲精品婷婷| 一本色道久久综合亚洲精品按摩| 欧美日本国产一区| 亚洲精品在线观看视频| 日韩网站在线观看| 欧美日韩精品免费观看| 99v久久综合狠狠综合久久| 在线视频欧美一区| 欧美日韩国产成人在线免费| 日韩一级免费| 午夜精品成人在线视频| 国产精品无人区| 欧美一区二区三区久久精品| 久久亚洲一区二区| 亚洲国产成人精品女人久久久 | 亚洲精品乱码久久久久久按摩观| 免费在线欧美黄色| 亚洲日本成人网| 亚洲午夜免费视频| 国产精品日韩一区| 欧美一级在线亚洲天堂| 老巨人导航500精品| 亚洲国产成人午夜在线一区| 99综合在线| 国产精品二区二区三区| 午夜日韩av| 麻豆成人在线观看| 亚洲精品欧美日韩| 亚洲一区免费看| 国产亚洲一级高清| 亚洲日本电影| 欧美视频网址| 欧美亚洲免费电影| 免费成人黄色| 一本一本a久久| 久久aⅴ乱码一区二区三区| 在线观看欧美日韩国产| 在线视频你懂得一区| 国产女主播视频一区二区| 亚洲高清精品中出| 欧美伦理视频网站| 亚洲欧美一级二级三级| 蜜桃视频一区| 亚洲午夜久久久久久久久电影院 | 亚洲调教视频在线观看| 久久久精品国产免大香伊| 亚洲黑丝在线| 欧美在线三区| 亚洲精品一区二区在线| 久久国产免费| 亚洲精品免费在线| 久久激情综合网| 亚洲欧洲日韩在线| 欧美一区二区三区免费视| 亚洲国产毛片完整版| 午夜亚洲福利在线老司机| 在线欧美日韩| 亚洲欧美日韩国产中文| 伊人一区二区三区久久精品| 亚洲视频香蕉人妖| 狠狠色综合一区二区| 亚洲一区二区三区高清| 在线观看不卡av| 午夜精品在线看| 亚洲欧洲精品一区二区| 久久精品久久99精品久久| 亚洲精品视频中文字幕| 久久久久久久激情视频| 一本一本久久a久久精品牛牛影视| 久久亚洲色图| 亚洲免费一在线| 欧美日韩国产综合网 | 亚洲人成在线观看一区二区| 国产精品青草综合久久久久99| 亚洲精品美女91| 国产丝袜一区二区三区| 亚洲午夜一区二区| 亚洲欧洲中文日韩久久av乱码| 久久国产视频网| 亚洲午夜一级|