0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-30 11:00 ? 次閱讀

HDLC(High Level Date Link Control)協(xié)議是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一,它是面向比特的高級數(shù)據(jù)鏈路控制規(guī)程,具有差錯檢測功能強大、高效和同步傳輸?shù)奶攸c。目前市場上有很多專用的HDLC芯片,但這些芯片大多控制復(fù)雜,通道數(shù)目有限;另一方面,專用芯片的使用會有效增大PCB板面積,不利于設(shè)備的小型化,而且?guī)砀叱杀镜葐栴}。

FPGA能對任意數(shù)據(jù)寬度的信號進行處理,內(nèi)部的功能模塊可以并行處理。因此,采用FPGA技術(shù)設(shè)計HDLC協(xié)議控制器可以均衡整個系統(tǒng)的負荷,實現(xiàn)多通道的高性能HDLC協(xié)議控制器,保證通信的可靠性。同時它還具有設(shè)計開發(fā)周期短、設(shè)計制造成本低、可實時在線檢驗等優(yōu)點,因此被廣泛用于特殊芯片設(shè)計中。本設(shè)計中采用Altera公司的EP2C70F672C8芯片來實現(xiàn)HDLC協(xié)議控制器。

1 HDLC協(xié)議簡介

在HDLC通信方式中,所有信息都是以幀的形式傳送,HDLC幀格式,如表1所示。

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

(1)標志字。

皿LC協(xié)議規(guī)定,所有信息傳輸必須以—個標志字開始,且以同一個標志字結(jié)束,這個標志字是01111110。開始標志到結(jié)束標志之間構(gòu)成—個完整的信息單位,稱為一幀。接收方可以通過搜索01111110來探知幀的開始和結(jié)束,以此建立幀同步。在幀與幀之間的空載期,可連續(xù)發(fā)送標志字來做填充。

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

(2)信息段及“0”比特插入技術(shù)。

HDLC幀的信息長度是可變的,可傳送標志字以外的任意二進制信息。為了確保標志字是獨一無二的,發(fā)送方在發(fā)送信息時采用“0”比特插入技術(shù),即發(fā)送方在發(fā)送除標志字符外的所有信息時(包括校驗位),只要遇到連續(xù)的5個“1”,就自動插入一個“0”;反之,接收方在接收數(shù)據(jù)時,只要遇到連續(xù)的5個“1”,就自動將其后的“0”刪掉?!?”比特插入和刪除技術(shù)也使得’HDLC具有良好的傳輸透明性,任何比特代碼都可傳輸。

(3)地址段及控制段。

地址字段為8位,也可以8的倍數(shù)進行擴展,用于標識接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來表示命令和響應(yīng)的類別和功能。

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

(4)幀校驗。

HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進行差錯控制,其生成多項式為x16+x12+x5+1,差錯校驗指對整個幀的內(nèi)容作CRC循環(huán)冗余校驗,即對在糾錯范圍內(nèi)的錯碼進行糾正,對在校錯范圍內(nèi)的錯碼進行校驗,但不能糾正。標志位和按透明規(guī)則插入的所有“0”不在校驗的范圍內(nèi)。

2 HDLC協(xié)議的FPGA實現(xiàn)

某遙控遙測平臺為確保滿足高速通訊、多通道收發(fā)、功能易于擴展配置的任務(wù)要求,中心控制器采用了以高性能的ARM7為CPU數(shù)據(jù)處理核心、采用FPGA設(shè)計串行通信控制器來收發(fā)多通道HDLC數(shù)據(jù)的一體化設(shè)計。

FPGA按照HDLC協(xié)議規(guī)程,接收并存儲來自集成處理器等8個獨立通道的數(shù)字量。系統(tǒng)先將外部輸入的HDLC數(shù)據(jù)流由RS485電氣特性轉(zhuǎn)換為TTL電平,在此過程中用光耦進行隔離,以避免與外部設(shè)備之間的相互干擾,并且RS485芯片與光耦器件的相關(guān)電源使用由電氣供給的獨立5 V和5 V地。 HDLC協(xié)議總體結(jié)構(gòu)框圖,如圖2所示,每個控制模塊由時鐘控制、編碼/沖突檢測、發(fā)送和接收FIFO等功能模塊組成。在發(fā)送方向和接收方向,各有一個128 bit的FIFO,用于串行通道和CPU總線接口之間的數(shù)據(jù)緩沖。發(fā)送是接收的逆過程,這里以HDLC數(shù)據(jù)接收為例進行說明。

FPGA串行通信控制器接收HDLC數(shù)據(jù)的原理為:首先,將接收到的數(shù)據(jù)幀的消息字段和附加的狀態(tài)字段移入,然后根據(jù)選定的尋址模式,對接收幀中的目的地址進行識別,確認數(shù)據(jù)幀的發(fā)送地址是否為本設(shè)備(站地址=77H),是本設(shè)備數(shù)據(jù)幀則進行接收數(shù)據(jù)并存儲在FIFO中,當(dāng)接收數(shù)據(jù)幀結(jié)束時,發(fā)出中斷信號給ARM系統(tǒng),請求接收HDLC數(shù)據(jù)。

目的地址不是本設(shè)備的數(shù)據(jù)幀將被拋棄,流程圖如圖3所示。

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

3 實驗結(jié)果和分析

首先,在FPGA中實現(xiàn)一對HDLC數(shù)據(jù)收發(fā)電路,并在對收發(fā)電路進行仿真和相關(guān)測試。通過在Matlab開發(fā)環(huán)境下,生成相關(guān)的數(shù)據(jù)文件作為HDLC的數(shù)據(jù)源,在ModelSim SE 6.1的測試文件中直接調(diào)用,最后對比仿真結(jié)果和Matlab生成的數(shù)據(jù)源,可以得到滿意的結(jié)果。仿真的測試代碼覆蓋率為100%,仿真結(jié)果和數(shù)據(jù)源完全吻合,可以認定電路的正確性及良好的可靠性。圖4,圖5分別為HDLC數(shù)據(jù)收發(fā)模塊在ModelSim SE 6.1中的仿真圖。

采用FPGA與P2C70F672C8芯片實現(xiàn)多通道HDLC收發(fā)電路設(shè)計

為合理利用FPGA內(nèi)部的邏輯資源,對設(shè)計進行一系列布局布線約束:(1)由前期的論證可知,設(shè)計的矛盾主要集中在資源的消耗上,所有模塊的優(yōu)化目標定位為“Area”,除FIFO外,其他模塊規(guī)劃在一起;(2)將FIFO劃分為獨立的模塊;(3)全局時鐘綁定在Global資源上,并/串、串/并模塊中的衍生時鐘,根據(jù)和全局時鐘的關(guān)系,設(shè)定為多周期路徑。

實際數(shù)據(jù)收發(fā)的穩(wěn)定性和可靠性,也跟單板、溫度等有關(guān)系。仿真完成后,在單板上進行飛線,對特定的收發(fā)電路進行電氣連接,進行回環(huán)測試法,即發(fā)送端輸出的數(shù)據(jù)由其接收端接收回來進行測試。在常溫下,經(jīng)過30小時的長時間運行測試后,接收和發(fā)送的數(shù)據(jù)做了對比,沒有發(fā)現(xiàn)丟數(shù)據(jù)包和錯數(shù)據(jù)包的情況。由測試結(jié)果可知,該HDLC收發(fā)電路的具有穩(wěn)定性和可靠性。高低溫實驗由于條件所限未進行,單板的溫度特性可由器件的溫度特性大概推知,這里不做討論。

4 結(jié)束語

針對某遙控遙測平臺的要求,文中提出了一種基于FPGA的多通道HDLC收發(fā)電路設(shè)計方案,并利用Altera公司的P2C70F672C8芯片來實現(xiàn)。目前,實現(xiàn)該電路的單板已經(jīng)完成調(diào)試,并成功地應(yīng)用于整機試驗。實踐表明,該電路實現(xiàn)簡單、可靠性高、使用靈活等優(yōu)點,具有一定的推廣價值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420889
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177074
收藏 人收藏

    評論

    相關(guān)推薦

    無線收發(fā)電路設(shè)計原理圖

    無線收發(fā)電路設(shè)計原理圖 采用nRF905無線接收芯片設(shè)計的原理圖
    發(fā)表于 06-30 22:21

    HDLC的DSP與FPGA實現(xiàn)

    反復(fù)編程使用。DSP、FPGA芯片雖成本略微高于ASIC芯片,但具有貨源暢通、可多次編程使用等優(yōu)點。在中小批量通信產(chǎn)品的設(shè)計生產(chǎn)中,用FPGA和DSP
    發(fā)表于 03-17 10:23

    采用控制芯片P89C61x2和接口芯片ISP1581實現(xiàn)USB接口電路設(shè)計

    主要芯片介紹本設(shè)計采用控制芯片P89C61x2和接口芯片ISP1581實現(xiàn)USB接口
    發(fā)表于 04-16 07:00

    采用FPGA實現(xiàn)發(fā)電位儀系統(tǒng)設(shè)計

    集成濾波算法模塊;數(shù)據(jù)采集采用高精度通道的模/數(shù)轉(zhuǎn)換芯片ADSl258將通過放大器放大后的誘發(fā)電位信號進行模/數(shù)轉(zhuǎn)換并輸入
    發(fā)表于 05-16 07:00

    怎么設(shè)計通道HDLC收發(fā)電路

    上有很多專用的HDLC芯片,但這些芯片大多控制復(fù)雜,通道數(shù)目有限;另一方面,專用芯片的使用會有效增大PCB板面積,不利于設(shè)備的小型化,而且?guī)?/div>
    發(fā)表于 08-13 08:23

    請問怎樣去設(shè)計通道HDLC收發(fā)電路?

    一種基于FPGA通道HDLC收發(fā)電路設(shè)計
    發(fā)表于 05-07 06:36

    基于FPGA通道HDLC通信系統(tǒng)設(shè)計與實現(xiàn)

    為了滿足某測控平臺的設(shè)計要求,設(shè)計并實現(xiàn)了基于FPGA的六通道HDLC并行通信系統(tǒng)。該系統(tǒng)以FPGA為核心,包括
    發(fā)表于 09-30 16:49 ?43次下載

    采用P89C61x2和ISP1581的USB接口電路的設(shè)計

    采用P89C61x2和ISP1581的USB接口電路的設(shè)計 摘 要:本文主要介紹了采用P89C61x2、ISP1581
    發(fā)表于 10-13 14:25 ?1002次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>P89C61x2</b>和ISP1581的USB接口<b class='flag-5'>電路</b>的設(shè)計

    基于FPGA通道HDLC收發(fā)電路設(shè)計

    基于FPGA通道HDLC收發(fā)電路設(shè)計 HDLC(High Level Date Link
    發(fā)表于 12-10 10:14 ?1683次閱讀

    基于DSP和FPGAHDLC協(xié)議通訊電路設(shè)計

    摘要:為了實現(xiàn)高速HDLC通訊協(xié)議,設(shè)計了DSP+FPGA結(jié)構(gòu)的485通訊接口,接口包括DSP、FPGA、485轉(zhuǎn)換等硬件電路,以及DSP與
    發(fā)表于 02-25 17:24 ?98次下載

    高速通道數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)核心提示:本設(shè)計采用DE2、THDB-ADA平臺進行開發(fā)。DE2平臺選用FPGA EP2C35F672。THDB-ADA是針對D
    發(fā)表于 11-27 10:36 ?4069次閱讀

    DSP和FPGAHDLC協(xié)議通訊電路設(shè)計

    DSP和FPGAHDLC協(xié)議通訊電路設(shè)計
    發(fā)表于 10-19 14:46 ?7次下載
    DSP和<b class='flag-5'>FPGA</b>的<b class='flag-5'>HDLC</b>協(xié)議通訊<b class='flag-5'>電路設(shè)計</b>

    三星ARM處理器S3C4510B的HDLC通道使用及編程

    收發(fā)方式下的工作過程 三星16/32位ARM處理器S3C4510B是目前在國內(nèi)應(yīng)用非常廣泛的一種性價比很高的ARM處理器,本文在介紹S3C4510B中HDLC
    發(fā)表于 04-05 11:44 ?1293次閱讀
    三星ARM處理器S3<b class='flag-5'>C</b>4510B的<b class='flag-5'>HDLC</b><b class='flag-5'>通道</b>使用及編程

    如何使用FPGA實現(xiàn)HDLC協(xié)議控制器

    ,解析模塊及其內(nèi)部的CRC碼生成,檢驗?zāi)K的方法。在FPGA內(nèi)部采用硬件描述語言(HDL)并行設(shè)計通道的高級數(shù)據(jù)鏈路控制(HDLC)協(xié)議控
    發(fā)表于 11-04 18:04 ?15次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>HDLC</b>協(xié)議控制器

    北京革新創(chuàng)展科技有限公司EP2C35-M672 FPGA板卡

    簡介:北京革新創(chuàng)展科技有限公司GX-SOPC-EP2C35-M672FPGA開發(fā)板采用IntelCycloneII系列芯片,外圍提供豐富的通訊接口、連接器、開關(guān)、按鍵、配置與調(diào)試接口、存儲、LED、顯示、加速度傳感器、溫度傳感器
    發(fā)表于 03-08 17:16 ?4次下載