下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于FPGA的智能串行通信板卡的設(shè)計(jì)策略應(yīng)用0 引 言串行通信作為計(jì)算機(jī)與其他設(shè)備之間廣泛使用的一種通信方式,具有開(kāi)發(fā)簡(jiǎn)單,抗干擾性強(qiáng),傳輸距離遠(yuǎn)的特點(diǎn)。作為現(xiàn)在應(yīng)用比較廣泛的串行通信協(xié)議RS 232【1】,RS 422【2】和RS 485【3】三種標(biāo)準(zhǔn)各有特點(diǎn),應(yīng)用于不同的方面,但是在實(shí)際應(yīng)用中,對(duì)于需要與應(yīng)用不同標(biāo)準(zhǔn)的設(shè)備實(shí)現(xiàn)通信,卻必須添加相應(yīng)的轉(zhuǎn)換模塊,這種方法既繁瑣又很麻煩,而且浪費(fèi)不必要的資源。在需要實(shí)現(xiàn)多標(biāo)準(zhǔn)多設(shè)備同時(shí)與主控計(jì)算機(jī)通信時(shí),以上述的傳統(tǒng)方式,除非主控機(jī)同時(shí)具有三種標(biāo)準(zhǔn)接口,否則幾乎無(wú)法實(shí)現(xiàn)這樣的功能,將會(huì)導(dǎo)致某些設(shè)備與主控機(jī)通信受阻,無(wú)法實(shí)現(xiàn)特定的性能要求,所以提出
2、一種能夠智能化轉(zhuǎn)化上述三種串行傳輸標(biāo)準(zhǔn)的通信系統(tǒng)勢(shì)在必行。1 總體方案本文所設(shè)計(jì)的多協(xié)議串行通信模塊的總體結(jié)構(gòu)圖如圖1所示,由于本模塊有8路串行傳輸?shù)耐ǖ?,各通道所?zhí)行的傳輸協(xié)議由上位機(jī)控制界面通過(guò)FPGA對(duì)各路通道進(jìn)行配置,因此由外接設(shè)備所發(fā)出的各通道信號(hào)經(jīng)電平轉(zhuǎn)換電路進(jìn)入FPGA,F(xiàn)PGA內(nèi)的接收/發(fā)送緩存模塊在緩存后,各路通過(guò)調(diào)用RS 232/422/485相應(yīng)的處理模塊進(jìn)行處理。而后經(jīng)串/并轉(zhuǎn)換后,由協(xié)議轉(zhuǎn)換控制模塊傳輸給上位機(jī),完成與外接設(shè)備的實(shí)時(shí)通信。2 硬件電路設(shè)計(jì)本系統(tǒng)的硬件部分主要是由具有SCSI(Small Computer System Interface)標(biāo)準(zhǔn)【4】接口
3、的板卡來(lái)實(shí)現(xiàn),板卡上總共有8路串行通道,每路通道的RS 232,RS 422及RS 485的標(biāo)準(zhǔn)協(xié)議的轉(zhuǎn)換控制、同異步串行方式的轉(zhuǎn)換選擇均由Xilinx Spartan6系列的FPGA芯片XC6SLX45完成,F(xiàn)PGA通過(guò)PCI9030與上位機(jī)控制程序完成通信。PCI9030將復(fù)雜的PCI總線轉(zhuǎn)換為簡(jiǎn)單的Local Bus總線【5】,F(xiàn)PGA通過(guò)對(duì)Local Bus的讀寫完成與上位機(jī)的通信。由于FPGA芯片的管腳電平一般為標(biāo)準(zhǔn)的TTL電平,與RS 232,RS 422和RS 485串行協(xié)議的輸入電壓的電平不符,故還需要相應(yīng)的電壓轉(zhuǎn)換芯片進(jìn)行電平轉(zhuǎn)換。同時(shí),為了使8路串行通道能夠兼容多種串行接口
4、標(biāo)準(zhǔn),每路通道需要有一款通道轉(zhuǎn)換芯片完成RS 232/RS 422/RS 485協(xié)議的電路轉(zhuǎn)換工作,F(xiàn)PGA通過(guò)對(duì)通道轉(zhuǎn)換芯片進(jìn)行控制從而配置每路通道所支持的通信協(xié)議【6】。圖2是串行通信卡的硬件結(jié)構(gòu)圖。圖1 多協(xié)議串行通信模塊的總體結(jié)構(gòu)圖2 智能串行通信卡硬件結(jié)構(gòu)圖3 串行通信各模塊IP核設(shè)計(jì)3.1 FPGA片內(nèi)程序設(shè)計(jì)FPGA內(nèi)部程序大致分為三大模塊:異步UART處理模塊、同步HDLC處理模塊和協(xié)議轉(zhuǎn)換控制模塊,如圖3所示,其中異步UART和同步HDLC模塊各自又可劃分為發(fā)送和接收兩個(gè)部分,如圖4,圖5所示。接收流程如下,首先,8路串行通道所選擇的同異步通信方式及通信協(xié)議由上位機(jī)控制界面已
5、經(jīng)設(shè)定,8路串行數(shù)據(jù)進(jìn)入FPGA后,分別由各路相應(yīng)的處理模塊進(jìn)行處理,而后存入各自的接收緩存(FIFO)中,等待PCI9030進(jìn)行讀取,最后發(fā)送給上位機(jī)。發(fā)送流程則是首先由上位機(jī)選定各通道的配置協(xié)議及方式,而后分別將8路通道上所要傳輸?shù)男畔⑼ㄟ^(guò)PCI9030寫入FPGA內(nèi)各自通道的發(fā)送緩存(FIFO),然后經(jīng)過(guò)相應(yīng)的處理發(fā)送給各通道接口電路直至外接設(shè)備。圖3 FPGA片內(nèi)程序框圖圖4 各通道接收程序流程圖3.2 UART方式UART(Universal Asynchronous Receiver/Transmitter)協(xié)議作為一種低速全雙工通信協(xié)議【7】,是異步串行通信協(xié)議的一種,廣泛應(yīng)用于
6、通信領(lǐng)域等各個(gè)場(chǎng)合。它工作于數(shù)據(jù)鏈路層,其工作原理是以串行方式一位接一位地傳輸數(shù)據(jù)字符的每個(gè)比特。UART具有如下的協(xié)議特點(diǎn):(1) UART協(xié)議是設(shè)備之間實(shí)現(xiàn)低速數(shù)據(jù)通信的標(biāo)準(zhǔn)協(xié)議。UART字符格式為1位起始位,58位數(shù)據(jù)位,1位奇偶校驗(yàn)位(可選),1位停止位。由于是異步通信,所以在數(shù)據(jù)發(fā)送時(shí),不需要同時(shí)發(fā)送時(shí)鐘。接收器接收數(shù)據(jù)的時(shí)候,用幾倍于波特率的時(shí)鐘對(duì)輸入數(shù)據(jù)流過(guò)采樣,通常采樣時(shí)鐘為波特率的16倍,然后使用16個(gè)采樣值的中間三個(gè)值。(2) 串行異步數(shù)據(jù)傳輸時(shí),發(fā)送方通過(guò)在字符幀之間插入任意個(gè)空閑位使得幀與幀之間的時(shí)間間隔各不相同,也就是每個(gè)字符幀的傳送都是隨機(jī)的。(3) 通過(guò)起始位來(lái)實(shí)
7、現(xiàn)收發(fā)雙方的同步,起始位開(kāi)啟一個(gè)字符幀的傳送,同時(shí)通知接收方數(shù)據(jù)傳送開(kāi)始。在傳送每個(gè)幀之前,收發(fā)雙方都可以根據(jù)要求改變通信設(shè)置,例如改變傳輸?shù)乃俾剩úㄌ芈剩?、改變?shù)據(jù)位的個(gè)數(shù)、改變校驗(yàn)類型、改變停止位的長(zhǎng)度,但發(fā)送和接收雙方的字符格式和波特率必須統(tǒng)一。UART處理模塊按照邏輯功能可以劃分為六個(gè)小模塊:發(fā)送緩存、接收緩存、波特率產(chǎn)生模塊、邏輯控制模塊、發(fā)送模塊和接收模塊。其中發(fā)送模塊和接收模塊是整個(gè)邏輯電路最核心的功能模塊,它們要完成協(xié)議的轉(zhuǎn)換和數(shù)據(jù)的發(fā)送接收。波特率產(chǎn)生模塊根據(jù)設(shè)定好的波特率產(chǎn)生相應(yīng)的分頻因子,然后對(duì)系統(tǒng)時(shí)鐘進(jìn)行相應(yīng)分頻得到波特率時(shí)鐘。采用數(shù)據(jù)緩存模塊FIFO主要有兩個(gè)考慮:一
8、是為了解決FPGA和PCI9030的Local Bus跨時(shí)鐘域通信問(wèn)題而設(shè)立的,F(xiàn)PGA的內(nèi)部時(shí)鐘與Local Bus上的時(shí)鐘并不一致,數(shù)據(jù)不能直接傳輸,需要一個(gè)緩存地帶來(lái)解決存入和取出的速度不同的問(wèn)題;二是為了很好地解決8路串行通道的向上傳輸競(jìng)爭(zhēng)問(wèn)題,由于8路通道同時(shí)工作,各路相互獨(dú)立,而向上傳輸?shù)穆窂絽s只有32位的Local Bus,所以每路設(shè)立FIFO一方面先把數(shù)據(jù)緩存起來(lái),另一方面等待PCI9030對(duì)每路FIFO進(jìn)行讀取,由于讀取速度遠(yuǎn)遠(yuǎn)快于數(shù)據(jù)的存儲(chǔ)速度,所以可以保證8路通道與上位機(jī)的即時(shí)通信。邏輯控制模塊則是通過(guò)對(duì)上位機(jī)的控制信息的讀取,對(duì)本通道的相應(yīng)協(xié)議的配置等進(jìn)行控制,同時(shí)也對(duì)
9、整個(gè)處理過(guò)程進(jìn)行控制。3.3 HDLC方式高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC(High?level Data Link Control)是一個(gè)同步傳輸數(shù)據(jù)、面向比特的數(shù)據(jù)鏈路層協(xié)議。IBM公司在70年代初期的時(shí)候首先提出了面向比特的數(shù)據(jù)鏈路層協(xié)議。該協(xié)議包括主站、從站和復(fù)合站三種類型的站點(diǎn)。主站主要負(fù)責(zé)命令幀的發(fā)送、響應(yīng)幀的接收,同時(shí)還負(fù)責(zé)初始化鏈路、控制流程、檢測(cè)差錯(cuò)和恢復(fù)鏈路。從站的主要職責(zé)是接收由主站發(fā)來(lái)的命令幀,向主站發(fā)送響應(yīng)幀,同時(shí)從站還配合主站進(jìn)行鏈路控制,比如參與差錯(cuò)恢復(fù)等。復(fù)合站將主站和從站的功能集于一身,既能發(fā)送命令幀又能接收響應(yīng)幀,并且負(fù)責(zé)控制整個(gè)鏈路。HDLC協(xié)議根據(jù)通信雙方的
10、傳輸響應(yīng)類型和鏈路結(jié)構(gòu),提供了正常響應(yīng)方式、異步響應(yīng)方式和異步平衡方式三種操作方式。本文中的HDLC即采用這種方式,正常響應(yīng)方式(NRM)適用于點(diǎn)?點(diǎn)和點(diǎn)?多點(diǎn)的不平衡鏈路結(jié)構(gòu),特別是點(diǎn)?多點(diǎn)的鏈路。這種方式中,整個(gè)鏈路的控制由主站負(fù)責(zé),主站主要工作包括初始化鏈路、控制數(shù)據(jù)流、恢復(fù)鏈路等。從站操作簡(jiǎn)單,只有在主站明確允許的情況下,它才可以作出響應(yīng)。HDLC處理模塊主要分為七個(gè)小模塊:發(fā)送數(shù)據(jù)幀緩存模塊、接收數(shù)據(jù)幀緩存模塊、時(shí)鐘生成接收模塊、CRC校驗(yàn)碼生成模塊、CRC碼檢驗(yàn)?zāi)K,發(fā)送模塊、接收模塊。其中發(fā)送模塊主要完成HDLC協(xié)議的發(fā)送處理、標(biāo)志字的生成及插入0;。接收模塊主要完成標(biāo)志字檢測(cè)及
11、刪除0;,HDLC協(xié)議的接收處理等工作。數(shù)據(jù)幀緩存模塊的功能與UART模式下相同。時(shí)鐘生成接收模塊則是負(fù)責(zé)產(chǎn)生每路的發(fā)送同步時(shí)鐘和接收外設(shè)所傳輸?shù)慕邮胀綍r(shí)鐘,該模塊利用FPGA自身的全局時(shí)鐘資源,并不占用邏輯資源。CRC校驗(yàn)碼的生成和檢驗(yàn)則是為了保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,提高線上資源的利用率。3.4 協(xié)議轉(zhuǎn)換控制模塊該模塊主要完成與上位機(jī)的通信,讀取上位機(jī)的控制信息,集中控制各通道RS 232/422/485協(xié)議的配置和同異步傳輸方式的配置,對(duì)數(shù)據(jù)的傳輸以及各通道相應(yīng)狀態(tài)信息的讀取進(jìn)行簡(jiǎn)單的控制,該模塊可以對(duì)各通道的傳輸協(xié)議以及方式進(jìn)行設(shè)置以期符合外接設(shè)備的通信要求。圖6是PCI9030寫入FP
12、GA的部分配置寄存器,其作用一是儲(chǔ)存記錄上位機(jī)控制界面所錄入的配置信息,二是FPGA通過(guò)對(duì)每路配置寄存器信息的讀取完成對(duì)各路的配置。圖6 部分配置寄存器表1是兩種寄存器部分標(biāo)志位的定義。4 實(shí)驗(yàn)結(jié)果與分析上位機(jī)控制界面如圖7所示,其功能是對(duì)每通道串口都可進(jìn)行通信方式(HDLC/UART)、通信協(xié)議(RS 232/422/485)、校驗(yàn)方式及波特率、停止位、數(shù)據(jù)位等進(jìn)行相應(yīng)的選擇及配置,波特率設(shè)置在當(dāng)通信方式為UART下可用;在通信方式為HDLC下,接收時(shí)通過(guò)同步時(shí)鐘接收數(shù)據(jù),發(fā)送時(shí)可設(shè)置波特率選擇所需要的同步時(shí)鐘,停止位、數(shù)據(jù)位均不可用。在所有通道配置完畢后,點(diǎn)擊配置按鈕,則將各通道配置信息傳
13、送至FPGA的協(xié)議轉(zhuǎn)換控制模塊完成配置,配置完成后,彈出配置完成對(duì)話框,點(diǎn)擊確定后即可進(jìn)行每路通道的接收發(fā)送顯示,接收發(fā)送效果如圖7所示。圖7 上位機(jī)串行通信效果圖5 結(jié) 語(yǔ)本文設(shè)計(jì)并實(shí)現(xiàn)了基于FPGA的多協(xié)議串行通信模塊,通過(guò)將三種通信協(xié)議集成于一塊板卡上,大大提高了通信模塊的高密度和集成度。FPGA通過(guò)接收上位機(jī)控制界面所設(shè)置的配置信息對(duì)各通道進(jìn)行配置,使應(yīng)用該模塊的通信板卡能良好的兼容三種通信協(xié)議及同異步通信方式,解決了接口板接口過(guò)多、體積過(guò)大的問(wèn)題。目前該板卡已在多套嵌入式系統(tǒng)中得到應(yīng)用,運(yùn)行良好,具有較好的安全性和可靠性。參考文獻(xiàn)【1】 ANSITIA. ANSITIA?232?F interface between data terminal equipment and data circuit?terminating equipment employing serial binary data interchange . . ANS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車銷售顧問(wèn)聘用合同
- 鐵路建設(shè)架管租賃合同
- 制服清洗質(zhì)量監(jiān)控
- 虛擬現(xiàn)實(shí)經(jīng)紀(jì)人聘用合同
- 能源科技廠房建設(shè)合同
- 電子行業(yè)產(chǎn)品合作開(kāi)發(fā)
- 儀器廠消防設(shè)施升級(jí)合同
- 藝術(shù)館室內(nèi)裝修施工合同
- 旅游團(tuán)家屬借宿承諾書
- 2024天津中考數(shù)學(xué)二輪重難題型專題訓(xùn)練 題型一 第12題二次函數(shù)的圖象與性質(zhì) (含答案)
- 《BIQS基礎(chǔ)培訓(xùn)》課件
- 種植檳榔合作合同范本
- DL-T1362-2014輸變電工程項(xiàng)目質(zhì)量管理規(guī)程
- 【淺析PLC在數(shù)控機(jī)床中的應(yīng)用5000字(論文)】
- 企業(yè)經(jīng)營(yíng)模擬實(shí)訓(xùn)智慧樹(shù)知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 家長(zhǎng)會(huì)課件:主題班會(huì)高二家長(zhǎng)會(huì)課件
- 幼兒園名師公開(kāi)課:大班數(shù)學(xué)《排一排》原版動(dòng)態(tài)課件
- 市政設(shè)施維護(hù)方案
- 過(guò)敏源管理與控制制度
- 建筑防水工程技術(shù)規(guī)程DBJ-T 15-19-2020
評(píng)論
0/150
提交評(píng)論