999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2015-04-12 00:00:00王劍博胡曉吉
現代電子技術 2015年7期

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

關鍵詞: 串行通信; 串行協議; 串行方式; FPGA; 智能串行通信卡

中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2015)07?0039?04

0 引 言

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

1 總體方案

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

2 硬件電路設計

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

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

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

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

3.1 FPGA片內程序設計

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

圖3 FPGA片內程序框圖

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

3.2 UART方式

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

UART具有如下的協議特點:

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

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

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

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

3.3 HDLC方式

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

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

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

3.4 協議轉換控制模塊

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

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

圖6 部分配置寄存器

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

4 實驗結果與分析

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

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

5 結 語

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

參考文獻

[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 Technology, Inc, 2006.

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

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

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

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

主站蜘蛛池模板: 欧美一级夜夜爽www| 亚洲精品国产首次亮相| 高清大学生毛片一级| a亚洲视频| 综合社区亚洲熟妇p| 国产精品99久久久| 亚洲第一成年人网站| 夜夜操国产| 国产精品免费p区| av在线5g无码天天| 国产精品自在在线午夜| 欧美伊人色综合久久天天| 99久久亚洲综合精品TS| 国产av色站网站| 她的性爱视频| 国产亚卅精品无码| 亚洲国产综合自在线另类| 国产h视频免费观看| 99er精品视频| 欧美午夜理伦三级在线观看| 夜夜高潮夜夜爽国产伦精品| 久热这里只有精品6| 久久中文字幕不卡一二区| 久久semm亚洲国产| 国产第八页| 精品成人一区二区| a在线观看免费| 午夜免费小视频| V一区无码内射国产| 黄色网站不卡无码| 成人一级免费视频| 国产小视频在线高清播放| 国产永久无码观看在线| 97超爽成人免费视频在线播放| 亚洲欧美在线综合一区二区三区 | 欧美精品影院| 亚洲第一av网站| 日本午夜影院| 伊人福利视频| 国产91导航| 色哟哟精品无码网站在线播放视频| 亚洲综合色吧| 精品国产香蕉在线播出| 欧美色图第一页| 在线色国产| 亚洲三级网站| 欧美亚洲激情| 玖玖精品视频在线观看| 亚洲精品片911| 欧美国产日韩在线| 美女高潮全身流白浆福利区| 青青草原国产免费av观看| 亚洲欧美成人综合| 欧亚日韩Av| 蜜桃视频一区二区| 亚洲av无码牛牛影视在线二区| 免费观看欧美性一级| 色一情一乱一伦一区二区三区小说| 在线精品亚洲国产| 亚洲天堂免费| 成人一级免费视频| 999福利激情视频| 国产爽爽视频| 亚洲综合在线网| 国产区网址| 新SSS无码手机在线观看| 在线国产你懂的| 亚洲第七页| 国产真实乱子伦视频播放| 精品国产成人国产在线| 亚洲天堂成人| 亚洲六月丁香六月婷婷蜜芽| 国产在线无码av完整版在线观看| 成人精品视频一区二区在线| 波多野结衣中文字幕一区二区| 国产午夜一级毛片| 91麻豆国产在线| 精品国产网| 国产午夜一级毛片| 精品国产免费第一区二区三区日韩| 激情在线网| 免费国产黄线在线观看|