• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的智能串行通信板卡的設計與實現

      2015-03-21 12:49王劍博胡曉吉
      現代電子技術 2015年7期
      關鍵詞:波特率通信協(xié)議板卡

      王劍博,胡曉吉

      (華北計算技術研究所加固計算機產品事業(yè)部,北京100083)

      基于FPGA的智能串行通信板卡的設計與實現

      王劍博,胡曉吉

      (華北計算技術研究所加固計算機產品事業(yè)部,北京100083)

      串行通信模塊是每臺計算機所必須的對外通信模塊的一部分,但由于串行通信協(xié)議較多,串行接口也較多,所以,往往這部分模塊需要占用較多的體積和資源。將RS 232,RS 422和RS 485三種串行協(xié)議和同異步兩種串行傳輸方式通過FPGA兼容于一塊智能通信板卡上,通過上位機控制界面的控制,完成對8路串行通道的配置,并介紹了板卡的總體結構及硬件設計,展示了上位機控制界面的通信效果。結果表明,該智能串行通信卡能夠很好地完成多協(xié)議多方式的串行通信之間的切換,達到了預期的效果。

      串行通信;串行協(xié)議;串行方式;FPGA;智能串行通信卡

      0 引言

      串行通信作為計算機與其他設備之間廣泛使用的一種通信方式,具有開發(fā)簡單,抗干擾性強,傳輸距離遠的特點。作為現在應用比較廣泛的串行通信協(xié)議RS 232[1],RS 422[2]和RS 485[3]三種標準各有特點,應用于不同的方面,但是在實際應用中,對于需要與應用不同標準的設備實現通信,卻必須添加相應的轉換模塊,這種方法既繁瑣又很麻煩,而且浪費不必要的資源。在需要實現多標準多設備同時與主控計算機通信時,以上述的傳統(tǒng)方式,除非主控機同時具有三種標準接口,否則幾乎無法實現這樣的功能,將會導致某些設備與主控機通信受阻,無法實現特定的性能要求,所以提出一種能夠智能化轉化上述三種串行傳輸標準的通信系統(tǒng)勢在必行。

      1 總體方案

      本文所設計的多協(xié)議串行通信模塊的總體結構圖如圖1所示,由于本模塊有8路串行傳輸的通道,各通道所執(zhí)行的傳輸協(xié)議由上位機控制界面通過FPGA對各路通道進行配置,因此由外接設備所發(fā)出的各通道信號經電平轉換電路進入FPGA,FPGA內的接收/發(fā)送緩存模塊在緩存后,各路通過調用RS 232/422/485相應的處理模塊進行處理。而后經串/并轉換后,由協(xié)議轉換控制模塊傳輸給上位機,完成與外接設備的實時通信。

      2 硬件電路設計

      本系統(tǒng)的硬件部分主要是由具有SCSI(Small Com?puter System Interface)標準[4]接口的板卡來實現,板卡上總共有8路串行通道,每路通道的RS 232,RS 422及RS 485的標準協(xié)議的轉換控制、同異步串行方式的轉換選擇均由Xilinx Spartan6系列的FPGA芯片XC6SLX45完成,FPGA通過PCI9030與上位機控制程序完成通信。PCI9030將復雜的PCI總線轉換為簡單的Local Bus總線[5],FPGA通過對Local Bus的讀寫完成與上位機的通信。由于FPGA芯片的管腳電平一般為標準的TTL電平,與RS 232,RS 422和RS 485串行協(xié)議的輸入電壓的電平不符,故還需要相應的電壓轉換芯片進行電平轉換。同時,為了使8路串行通道能夠兼容多種串行接口標準,每路通道需要有一款通道轉換芯片完成RS 232/RS 422/RS 485協(xié)議的電路轉換工作,FPGA通過對通道轉換芯片進行控制從而配置每路通道所支持的通信協(xié)議[6]。圖2是串行通信卡的硬件結構圖。

      圖1 多協(xié)議串行通信模塊的總體結構

      圖2 智能串行通信卡硬件結構圖

      3 串行通信各模塊IP核設計

      3.1 FPGA片內程序設計

      FPGA內部程序大致分為三大模塊:異步UART處理模塊、同步HDLC處理模塊和協(xié)議轉換控制模塊,如圖3所示,其中異步UART和同步HDLC模塊各自又可劃分為發(fā)送和接收兩個部分,如圖4,圖5所示。接收流程如下,首先,8路串行通道所選擇的同異步通信方式及通信協(xié)議由上位機控制界面已經設定,8路串行數據進入FPGA后,分別由各路相應的處理模塊進行處理,而后存入各自的接收緩存(FIFO)中,等待PCI9030進行讀取,最后發(fā)送給上位機。發(fā)送流程則是首先由上位機選定各通道的配置協(xié)議及方式,而后分別將8路通道上所要傳輸的信息通過PCI9030寫入FPGA內各自通道的發(fā)送緩存(FIFO),然后經過相應的處理發(fā)送給各通道接口電路直至外接設備。

      圖3 FPGA片內程序框圖

      圖4 各通道接收程序流程圖

      3.2 UART方式

      UART(Universal Asynchronous Receiver/Transmit?ter)協(xié)議作為一種低速全雙工通信協(xié)議[7],是異步串行通信協(xié)議的一種,廣泛應用于通信領域等各個場合。它工作于數據鏈路層,其工作原理是以串行方式一位接一位地傳輸數據字符的每個比特。

      UART具有如下的協(xié)議特點:

      (1)UART協(xié)議是設備之間實現低速數據通信的標準協(xié)議。UART字符格式為1位起始位,5~8位數據位,1位奇偶校驗位(可選),1位停止位。由于是異步通信,所以在數據發(fā)送時,不需要同時發(fā)送時鐘。接收器接收數據的時候,用幾倍于波特率的時鐘對輸入數據流過采樣,通常采樣時鐘為波特率的16倍,然后使用16個采樣值的中間三個值。

      圖5 各通道發(fā)送程序流程圖

      (2)串行異步數據傳輸時,發(fā)送方通過在字符幀之間插入任意個空閑位使得幀與幀之間的時間間隔各不相同,也就是每個字符幀的傳送都是隨機的。

      (3)通過起始位來實現收發(fā)雙方的同步,起始位開啟一個字符幀的傳送,同時通知接收方數據傳送開始。在傳送每個幀之前,收發(fā)雙方都可以根據要求改變通信設置,例如改變傳輸的速率(波特率)、改變數據位的個數、改變校驗類型、改變停止位的長度,但發(fā)送和接收雙方的字符格式和波特率必須統(tǒng)一。

      UART處理模塊按照邏輯功能可以劃分為六個小模塊:發(fā)送緩存、接收緩存、波特率產生模塊、邏輯控制模塊、發(fā)送模塊和接收模塊。其中發(fā)送模塊和接收模塊是整個邏輯電路最核心的功能模塊,它們要完成協(xié)議的轉換和數據的發(fā)送接收。波特率產生模塊根據設定好的波特率產生相應的分頻因子,然后對系統(tǒng)時鐘進行相應分頻得到波特率時鐘。采用數據緩存模塊FIFO主要有兩個考慮:一是為了解決FPGA和PCI9030的Local Bus跨時鐘域通信問題而設立的,FPGA的內部時鐘與Local Bus上的時鐘并不一致,數據不能直接傳輸,需要一個緩存地帶來解決存入和取出的速度不同的問題;二是為了很好地解決8路串行通道的向上傳輸競爭問題,由于8路通道同時工作,各路相互獨立,而向上傳輸的路徑卻只有32位的Local Bus,所以每路設立FIFO一方面先把數據緩存起來,另一方面等待PCI9030對每路FIFO進行讀取,由于讀取速度遠遠快于數據的存儲速度,所以可以保證8路通道與上位機的即時通信。邏輯控制模塊則是通過對上位機的控制信息的讀取,對本通道的相應協(xié)議的配置等進行控制,同時也對整個處理過程進行控制。

      3.3 HDLC方式

      高級數據鏈路控制規(guī)程HDLC(High?level Data Link Control)是一個同步傳輸數據、面向比特的數據鏈路層協(xié)議[8]。IBM公司在70年代初期的時候首先提出了面向比特的數據鏈路層協(xié)議。該協(xié)議包括主站、從站和復合站三種類型的站點。主站主要負責命令幀的發(fā)送、響應幀的接收,同時還負責初始化鏈路、控制流程、檢測差錯和恢復鏈路。從站的主要職責是接收由主站發(fā)來的命令幀,向主站發(fā)送響應幀,同時從站還配合主站進行鏈路控制,比如參與差錯恢復等。復合站將主站和從站的功能集于一身,既能發(fā)送命令幀又能接收響應幀,并且負責控制整個鏈路。

      HDLC協(xié)議根據通信雙方的傳輸響應類型和鏈路結構,提供了正常響應方式、異步響應方式和異步平衡方式三種操作方式。本文中的HDLC即采用這種方式,正常響應方式(NRM)適用于點?點和點?多點的不平衡鏈路結構,特別是點?多點的鏈路。這種方式中,整個鏈路的控制由主站負責,主站主要工作包括初始化鏈路、控制數據流、恢復鏈路等。從站操作簡單,只有在主站明確允許的情況下,它才可以作出響應。

      HDLC處理模塊主要分為七個小模塊:發(fā)送數據幀緩存模塊、接收數據幀緩存模塊、時鐘生成接收模塊、CRC校驗碼生成模塊、CRC碼檢驗模塊,發(fā)送模塊、接收模塊。其中發(fā)送模塊主要完成HDLC協(xié)議的發(fā)送處理、標志字的生成及插入“0”[9]。接收模塊主要完成標志字檢測及刪除“0”,HDLC協(xié)議的接收處理等工作。數據幀緩存模塊的功能與UART模式下相同。時鐘生成接收模塊則是負責產生每路的發(fā)送同步時鐘和接收外設所傳輸的接收同步時鐘,該模塊利用FPGA自身的全局時鐘資源,并不占用邏輯資源。CRC校驗碼的生成和檢驗則是為了保證數據傳輸的準確性,提高線上資源的利用率。

      3.4 協(xié)議轉換控制模塊

      該模塊主要完成與上位機的通信,讀取上位機的控制信息,集中控制各通道RS 232/422/485協(xié)議的配置和同異步傳輸方式的配置,對數據的傳輸以及各通道相應狀態(tài)信息的讀取進行簡單的控制,該模塊可以對各通道的傳輸協(xié)議以及方式進行設置以期符合外接設備的通信要求。

      圖6是PCI9030寫入FPGA的部分配置寄存器,其作用一是儲存記錄上位機控制界面所錄入的配置信息,二是FPGA通過對每路配置寄存器信息的讀取完成對各路的配置。

      圖6 部分配置寄存器

      表1是兩種寄存器部分標志位的定義。

      表1 部分配置寄存器標志位定義

      4 實驗結果與分析

      上位機控制界面如圖7所示,其功能是對每通道串口都可進行通信方式(HDLC/UART)、通信協(xié)議(RS 232/ 422/485)、校驗方式及波特率、停止位、數據位等進行相應的選擇及配置,波特率設置在當通信方式為UART下可用;在通信方式為HDLC下,接收時通過同步時鐘接收數據,發(fā)送時可設置波特率選擇所需要的同步時鐘,停止位、數據位均不可用。在所有通道配置完畢后,點擊配置按鈕,則將各通道配置信息傳送至FPGA的協(xié)議轉換控制模塊完成配置,配置完成后,彈出配置完成對話框,點擊確定后即可進行每路通道的接收發(fā)送顯示,接收發(fā)送效果如圖7所示。

      圖7 上位機串行通信效果圖

      5 結語

      本文設計并實現了基于FPGA的多協(xié)議串行通信模塊,通過將三種通信協(xié)議集成于一塊板卡上,大大提高了通信模塊的高密度和集成度。FPGA通過接收上位機控制界面所設置的配置信息對各通道進行配置,使應用該模塊的通信板卡能良好的兼容三種通信協(xié)議及同異步通信方式,解決了接口板接口過多、體積過大的問題。目前該板卡已在多套嵌入式系統(tǒng)中得到應用,運行良好,具有較好的安全性和可靠性。

      [1]ANSITIA.ANSITIA?232?F interface between data terminal equipment and data circuit?terminating equipment employing serial binary data interchange[S].[S.l.].ANSITIA,1997.

      [2]EIATIA.EIATIA/EIA?422?B electrical characteristics of ba?lanced voltage digital interface circuits[S].[S.l.]:EIATIA,1994.

      [3]EIA.EIA TSB?89?A application guidelines for TIA/EIA?485?A [S].USA:EIA,2006.

      [4]ANSI.ANSI SCSI X3.131?1986 standard[S].USA:ANSI,1986.

      [5]PLX Technology,Inc.SDK user manual[M].USA:PLX Tech?nology,Inc,2006.

      [6]吳德銘.基于PCI總線的高速串行通信研究與實現[D].廈門:廈門大學,2006.

      [7]朱勤,錢敏,楊翠軍.嵌入式UART的設計及FPGA驗證[J].通信技術,2012,45(1):150?153.

      [8]張必英.基于FPGA的HDLC協(xié)議控制器的設計[D].哈爾濱:哈爾濱工程大學,2005.

      [9]高希權.異步傳輸方式的HDLC協(xié)議的實現[J].通信技術,2008,41(11):78?80.

      Design and implementation of intelligent serial communication card based on FPGA

      WANG Jian?bo,HU Xiao?ji
      (North China institute of computer technology,Business Unit of ruggedized computer product,Beijing,100083,China)

      Serial communication module is a part of external communication module which is necessary for every computer. However,because of too many serial communication protocols and interfaces,more resources and volumes are always occupied by the serial communication module.In this paper,three serial communication protocols(RS?232,RS 422 and RS 485)are com?patible with two serial communication modes(UART and HDLC)into an intelligent communication board through FPGA.The configuration of eight serial communication channels is completed under the control of the control interface of upper computer. The overall structure and the hardware design of the communication board are introduced in this article.At last,the communica?tion result of the upper computer control interface is displayed.The conclusion proves that this intelligent serial communication board can execute the switching between multi?protocol and multi?mode,and meet the requirements of different kinds of serial communication as expected.

      serial communication;serial protocol;serial mode;FPGA;intelligent serial communication card

      TN911?34

      A

      1004?373X(2015)07?0039?04

      王劍博(1988—),男,碩士研究生。主要研究方向為計算機加固技術及嵌入式系統(tǒng)。

      胡曉吉(1962—),男,正研級高級工程師。主要研究領域為計算機加固技術。

      2014?10?26

      猜你喜歡
      波特率通信協(xié)議板卡
      CAN 總線波特率自適應程序設計
      基于PCI9054的多總線通信板卡的研制
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      基于FPGA的異步串行通信波特率容錯設計
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設計
      基于DMX512通信協(xié)議的多路轉發(fā)器設計與研究
      基于NS-3的PLC多頻通信協(xié)議仿真平臺設計與實現
      一種基于光纖數據傳輸的多板卡軟件程序燒寫技術
      一種通用模擬量及開關量信號采集板卡的設計
      RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實現技術簡介
      霍州市| 南阳市| 长汀县| 靖远县| 永仁县| 平乐县| 望都县| 泌阳县| 壤塘县| 大同县| 保德县| 庐江县| 镇远县| 社会| 合作市| 北海市| 琼海市| 福清市| 巴林右旗| 贵德县| 安平县| 都匀市| 郁南县| 万源市| 拉孜县| 乐昌市| 阜新| 汝阳县| 峨边| 浪卡子县| 都匀市| 凉城县| 枣庄市| 于田县| 江孜县| 新源县| 高阳县| 双城市| 台东市| 五指山市| 南宫市|