• 
    

    
    

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

      基于RS485的數(shù)據(jù)通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)

      2013-06-23 09:42:22杜小丹劉永紅
      電子設(shè)計(jì)工程 2013年17期
      關(guān)鍵詞:高速數(shù)據(jù)數(shù)據(jù)通信時(shí)鐘

      鄢 濤,杜小丹,劉永紅,胡 慶

      (1.模式識別與智能信息處理四川省高校重點(diǎn)實(shí)驗(yàn)室 四川 成都 610106;

      2.成都大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610106;3.成都大學(xué) 電子信息工程學(xué)院,四川 成都 610106)

      RS485作為一種串行通信標(biāo)準(zhǔn),采用差分收發(fā)方式,實(shí)現(xiàn)通信系統(tǒng)的物理層連接,具有通信距離遠(yuǎn),傳輸速度快,抗噪聲干擾性好等優(yōu)點(diǎn)[1-4],已被廣泛應(yīng)用于各種領(lǐng)域。文中所介紹的通信系統(tǒng)能夠接收高低速串行數(shù)據(jù),針對高低速數(shù)據(jù)的不同速率和接收模式的要求,本文以RS485標(biāo)準(zhǔn)為物理層基礎(chǔ),在現(xiàn)場可編程門陣列(FPGA)平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了高低速串行數(shù)據(jù)的可靠接收。

      1 協(xié)議描述

      用特殊的標(biāo)志字來表示數(shù)據(jù)幀的起始位置,以便接收有效的數(shù)據(jù)信息,從而實(shí)現(xiàn)同步。標(biāo)志字選用16進(jìn)制數(shù)“FDB18540”,這種標(biāo)志字經(jīng)過大量測試表明它的獨(dú)立性很好,不會(huì)和數(shù)據(jù)內(nèi)容重復(fù),可以有效避免假同步現(xiàn)象。高速數(shù)據(jù)接收時(shí),在同步高速時(shí)鐘的上升沿時(shí),檢測高速數(shù)據(jù)的標(biāo)志字,當(dāng)檢測到標(biāo)志字時(shí),就意味著有效數(shù)據(jù)的到來,系統(tǒng)開始接收高速數(shù)據(jù)。

      1.1 高速數(shù)據(jù)通信協(xié)議

      1.2 低速數(shù)據(jù)通信協(xié)議

      本通信系統(tǒng)的高速接口包括時(shí)鐘和數(shù)據(jù)兩個(gè)接口,高速數(shù)據(jù)接收采用同步RS485通信協(xié)議,高速時(shí)鐘速率為3.6864 MHz,與數(shù)據(jù)發(fā)送時(shí)鐘同源,可以利用同步時(shí)鐘實(shí)現(xiàn)數(shù)據(jù)接收同步。高速數(shù)據(jù)具有特定的幀格式,每幀容量為2 kB,幀格式[5-6]如圖1所示。

      圖1 高速數(shù)據(jù)幀格式Fig.1 Frame format of high-speed data

      低速數(shù)據(jù)沒有同步時(shí)鐘控制,采用異步RS485通信協(xié)議,以字節(jié)作為通信協(xié)議的基本單元,每字節(jié)1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)截止位,波特率115.2 kbps。低速數(shù)據(jù)接收時(shí),利用FPGA的外部時(shí)鐘源作為檢測時(shí)鐘,時(shí)鐘頻率為36.864 MHz,每傳輸1bit數(shù)據(jù)占用320個(gè)時(shí)鐘周期。當(dāng)檢測到數(shù)據(jù)的下降沿時(shí),就開始對檢測時(shí)鐘計(jì)數(shù),實(shí)現(xiàn)低速數(shù)據(jù)的位同步,當(dāng)記到160個(gè)時(shí)鐘時(shí),對輸入數(shù)據(jù)進(jìn)行檢測,當(dāng)檢測到輸入的信號為低電平時(shí),以后每隔320個(gè)時(shí)鐘周期,進(jìn)行一位數(shù)據(jù)的接收,共接收8位,再隔320個(gè)時(shí)鐘周期后,檢測截止位是否為高電平,如果為高電平,則接收的8位數(shù)據(jù)為有效數(shù)據(jù),再進(jìn)行下一字節(jié)數(shù)據(jù)接收。否則,丟棄數(shù)據(jù),時(shí)鐘計(jì)數(shù)歸零,重新檢測數(shù)據(jù)??梢钥闯?,對低速數(shù)據(jù)接收的采樣點(diǎn)是每位數(shù)據(jù)的中間位置。信號在連續(xù)長“1”之間的短“0”很容易受到碼間干擾影響變短,但本文在中間位置進(jìn)行檢測,只要短“0”的長度在原始信號長度的一半以上就可以得到正確數(shù)據(jù)。數(shù)據(jù)接收同步示意圖如圖2所示,可以看出這一字節(jié)的起始位為0,截止位為1,通過檢測時(shí)鐘對數(shù)據(jù)采樣,數(shù)據(jù)被正確接收。這種通過檢測數(shù)據(jù)跳變沿作為數(shù)據(jù)起始的同步方法可以減少RS485通過雙絞線長距離傳輸時(shí)的碼間干擾。

      圖2 數(shù)據(jù)接收同步示意圖Fig.2 Schematic diagram of data receiving synchronously

      在數(shù)據(jù)進(jìn)入FPGA后,再對低速數(shù)據(jù)進(jìn)行打包,每包容量為512B,在包頭和包尾分別加入標(biāo)志字,再通過USB接口傳送到計(jì)算機(jī),通過對低速數(shù)據(jù)打包,可以有效地區(qū)分同時(shí)接收的高低速數(shù)據(jù),防止數(shù)據(jù)出現(xiàn)不連續(xù)情況。

      2 硬件設(shè)計(jì)

      硬件原理框圖如圖3所示。模式,輸入電壓范圍為-7~+12 V,輸出電壓高電平為最小為供電電壓減去0.4 V,低電平最大為0.4 V。它的典型接收連接模式如圖4所示。

      圖3 硬件原理框圖Fig.3 Functional block diagram of the hardware

      圖4 MAX3490典型接收連接模式Fig.4 Typical receiving connection mode of MAX3490

      FPGA選用XILINX公司的Spartan3系列的XC3S200芯片,它采用多電壓供電,其中內(nèi)核電壓為1.2 V,I/O口驅(qū)動(dòng)電壓為3.3 V,其他的輔助電壓為2.5 V。該芯片含有4320的邏輯資源、141個(gè)可用的I/O口。外部晶振源頻率為36.864 MHz,作為低速數(shù)據(jù)的檢測時(shí)鐘,利用FPGA內(nèi)部的倍頻模塊對它進(jìn)行倍頻后作為高速數(shù)據(jù)接收的外部時(shí)鐘。

      FPGA外部外加了一個(gè)容量為1 MB的SRAM作為外部緩存,它的作用主要是作為高速數(shù)據(jù)的實(shí)時(shí)緩存,彌補(bǔ)利用硬件邏輯無法提供大容量空間進(jìn)行高速數(shù)據(jù)的緩沖存儲(chǔ)的缺點(diǎn),可以保證高速數(shù)據(jù)在傳輸過程中不會(huì)在FPGA接收環(huán)節(jié)丟數(shù)。SRAM芯片選用CY7C1059DV33,它的深度為1M,寬度為8 Bit,容量為1 M×8 Bit,3個(gè)控制端控制SRAM的讀寫操作,支持異步通信。

      FPGA利用CY7C68013芯片通過USB接口與計(jì)算機(jī)進(jìn)行通信。CY7C68013屬于Cypress公司的FX2系列產(chǎn)品,是Cypress公司生產(chǎn)的第一款USB2.0芯片。 CY7C68013是一個(gè)帶增強(qiáng)型MCS51內(nèi)核和USB接口的單片機(jī),完全遵從USB2.O協(xié)議,可提供高達(dá)480Mbps的傳輸率;內(nèi)部集成PLL(鎖相環(huán)),最高可使5l內(nèi)核工作在48 MHz;對外提供兩個(gè)串口,可以方便地與外部通信;片內(nèi)擁有8KB的RAM,可完全滿足系統(tǒng)每次傳輸數(shù)據(jù)的需要,無需再外接RAM。

      3 邏輯設(shè)計(jì)

      RS485標(biāo)準(zhǔn)是基于差分傳輸?shù)腫7],它使用一對雙絞線作為傳輸介質(zhì),通過兩根線之間的差分電壓來表示相應(yīng)的邏輯狀態(tài)。數(shù)據(jù)信號進(jìn)入FPGA之前,必須經(jīng)過接口芯片進(jìn)行電壓轉(zhuǎn)換[8]。根據(jù)設(shè)計(jì)要求,高低速接口最高的輸出碼率為3.686 4 MHz,由于本通信系統(tǒng)只是接收數(shù)據(jù),所以工作在單工模式。因此,RS485接口芯片選用MAX3490,它采用3.3 V單電源供電,波特率最高可達(dá)10Mbps,可以支持全雙工工作

      RS485接收芯片將收到的差分信號解為串行信號,F(xiàn)PGA內(nèi)的程序?qū)Υ行盘栠M(jìn)行檢測處理,接收數(shù)據(jù)。FPGA內(nèi)部分別為高低速數(shù)據(jù)開辟了2k的FIFO作為緩存,為解決高速數(shù)據(jù)傳輸過程中可能由于FPGA內(nèi)部緩存不夠而導(dǎo)致丟數(shù)的問題,在FPGA外部加入1MB容量的SRAM作為外部緩存。低速數(shù)據(jù)接收采用一級緩存結(jié)構(gòu),高速數(shù)據(jù)接收采用采集三極緩存結(jié)構(gòu)。圖5為系統(tǒng)邏輯框圖。

      圖5 接收高低速數(shù)據(jù)邏輯結(jié)構(gòu)Fig.5 Data logical construction in receiving with high or low speed

      FPGA內(nèi)部模塊主要包括高速寫FIFO模塊[9]、低速寫FIFO模塊、SRAM控制模塊,讀FIFO模塊。高速寫FIFO模塊和低速寫FIFO模塊負(fù)責(zé)將接收到的數(shù)據(jù)暫時(shí)存入內(nèi)部FIFO中;SRAM控制模塊的功能主要是控制SRAM的讀出、寫入,將一級緩存FIFO中的數(shù)據(jù)寫入SRAM,將SRAM中的數(shù)據(jù)讀出寫入三級緩存FIFO中。讀FIFO模塊主要是根據(jù)計(jì)算機(jī)下發(fā)的命令,選擇讀取高速FIFO和低速FIFO中的數(shù)據(jù),并將數(shù)據(jù)送至數(shù)據(jù)總線。在設(shè)計(jì)FIFO過程中,讀FIFO的時(shí)鐘信號必須大于寫FIFO的時(shí)鐘信號,否則,將會(huì)導(dǎo)致FIFO溢出,接收數(shù)據(jù)丟失。本設(shè)計(jì)中讀FIFO時(shí)鐘頻率是寫FIFO時(shí)鐘頻率的二倍,讀FIFO的速度遠(yuǎn)大于寫FIFO速度。

      傳輸協(xié)議是基于XILINX公司的XILINX7.1開發(fā)環(huán)境利用超高速集成電路硬件描述語言(VHDL)設(shè)計(jì)。圖6為高速寫FIFO模塊,圖7為低速寫FIFO模塊流程圖。

      圖6 低速寫FIFO模塊流程圖Fig.6 Flow chart of writing module FIFO with low speed

      圖7 高速寫FIFO模塊流程圖Fig.7 Flow chart of writing module FIFO with high speed

      讀FIFO模塊共有3種讀取模式:單獨(dú)讀低速FIFO,單獨(dú)讀高速FIFO,同時(shí)讀高速FIFO和低速FIFO。讀FIFO模塊是通過FPGA內(nèi)部集成FIFO半滿信號觸發(fā)單片機(jī)進(jìn)行讀數(shù)的,單片機(jī)檢測到FIFO半滿信號后,單片機(jī)才開始從FIFO中讀取數(shù)據(jù),執(zhí)行每次讀操作,連續(xù)從FIFO中讀取512bit數(shù)據(jù),F(xiàn)IFO半滿信號是讀FIFO模塊通過比較FIFO讀寫地址的差值而對其賦值的,它的有效值為0。當(dāng)寫地址與讀地址之差大于515時(shí),F(xiàn)IFO半滿信號賦值為0,否則為1。利用FIFO半滿信號控制讀數(shù)過程,可以有效防止空讀和誤讀現(xiàn)象。

      SRAM控制模塊包括寫SRAM和讀SRAM兩部分,寫SRAM是由一級緩存FIFO的半滿信號觸發(fā)的,當(dāng)半滿信號有效時(shí),開始寫SRAM。讀SRAM是通過讀FIFO模塊傳遞過來的request信號來控制的,當(dāng)request信號有效時(shí),讀取SRAM中的數(shù)據(jù),然后將它寫入到三級FIFO,讀FIFO模塊從三級FIFO模塊中讀取數(shù)據(jù)。

      4 結(jié) 論

      基于現(xiàn)場可編程門器件(FPGA)FPGA設(shè)計(jì)的RS485數(shù)據(jù)通信協(xié)議,可以實(shí)現(xiàn)高速數(shù)據(jù)和低速數(shù)據(jù)接收,以及二者的同時(shí)接收。 采用專門的RS485接收芯片,在信號進(jìn)入了FPGA前,進(jìn)行電壓轉(zhuǎn)換。利用FPGA內(nèi)部資源構(gòu)建FIFO為數(shù)據(jù)接收提供緩存,并為了保證高速數(shù)據(jù)可靠接收,外部加入SRAM加大高速數(shù)據(jù)接收緩存。經(jīng)過實(shí)際測試,本設(shè)計(jì)穩(wěn)定可靠,能夠?qū)崿F(xiàn)采用RS485標(biāo)準(zhǔn)的數(shù)據(jù)通信。

      [1]JIA Hui-juan.Research on the Technology of RS485 over Ethernet,The International Conference on E-Product,EService and E-Entertainment (ICEEE2010)[C].Henan,China,2010:1-3.

      [2]耿立中,王鵬,馬騁,等.RS485高速數(shù)據(jù)傳輸協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J].清華大學(xué)學(xué)報(bào),2008,48(8):1311-1314.GENG Li-zhong,WANG Peng,MA Pin,et al.The design and implementation of transport protocol of high-speed data[J].Journal of Tsinghua University,2008,48(8):1311-1314.

      [3]NI Hai-yan,HU Chao,MA Chang-wang.Research on a 485-serial network architecture in intelligent uptown management[C]//Proc 2006 IEEE Conf on Mechatronics and Automation.Luoyang:IEEE Press,2006:400-405.

      [4]B&B Electronics Mfg.Co.Inc.THE RS-485 APPLICATION“CHEAT SHEET”[EB/OL].(2012-01-01)[2012-9-03].http://www.bb-elec.com/getattachment/7045d510-a095-4064-a739-518eea017363/RS-485-Quick-Guide-Just-the-Essentials-on-a-Single.aspx

      [5]李成鋼,申萍,聶曉波.基于FPGA的HDLC與RS485通信網(wǎng)關(guān)的設(shè)計(jì)[J].機(jī)車電傳動(dòng),2011,1(1):20-23.LI Cheng-gang,SHEN Ping,NIE Xiao-bo.The design of communication gateway between HDLC and RS485 based on FPGA[J].Electric Transmission in the Locomotive,2011,1(1):20-23.

      [6]陳金華.基于HDLC協(xié)議的RS485通信設(shè)備的研制[J].測控技術(shù),2010,29(6):98-101.CHEN Jin-hua.Research on RS485 communications equipment based on HDLC protocol[J].Measure and Control Technology,2010,29(6):98-101.

      [7]QIN Shi-hong.Design of the Multi-computer communication system based on RS485[C]//2011 International Conference on Electric Information and Control Engineering(ICEICE),2011:1318-1320.

      [8]GU Yong-hong,WEI Huang,YANG Qiao-li.Design and Implementation of a Multi-Channel HDLC Protocol Controller Based on FPGA[C]//2010 International Conference on Electrical Engineering and Automatic Control(ICEEAC2010),2010:266-269.

      [9]BIN Huang.Design of a multi-channel high speed FIFO applied to HDLC processor based on PCI bus[C]//IEEE 2002 International Conference on Communications,Circuits and Systems and West Sino Expositions,2002:1476-1480.

      猜你喜歡
      高速數(shù)據(jù)數(shù)據(jù)通信時(shí)鐘
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      基于快牙平臺(tái)實(shí)現(xiàn)全站儀與計(jì)算機(jī)的數(shù)據(jù)通信
      監(jiān)測系統(tǒng)接口數(shù)據(jù)通信方式
      基于AD9250的高速數(shù)據(jù)接口設(shè)計(jì)
      電子制作(2018年2期)2018-04-18 07:13:24
      有趣的時(shí)鐘
      時(shí)鐘會(huì)開“花”
      一種高效可靠的串行數(shù)據(jù)通信協(xié)議及處理算法
      PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:43:12
      基于AD7891的浮空器高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
      涟水县| 泰和县| 宜都市| 姚安县| 新竹市| 临城县| 荔浦县| 枝江市| 镇坪县| 庆阳市| 桦甸市| 高唐县| 阳西县| 馆陶县| 荥阳市| 基隆市| 绥中县| 莲花县| 孙吴县| 滦平县| 宜兰市| 麟游县| 中卫市| 西峡县| 防城港市| 荆州市| 上饶县| 桂平市| 松溪县| 阿荣旗| 手机| 外汇| 潮州市| 兴化市| 肃北| 北流市| 城固县| 河南省| 临湘市| 金坛市| 八宿县|