基于FPGA的多通道HDLC收發(fā)電路設計
HDLC(High Level Date Link Control)協(xié)議是通信領(lǐng)域中應用最廣泛的協(xié)議之一,它是面向比特的高級數據鏈路控制規程,具有差錯檢測功能強大、高效和同步傳輸的特點(diǎn)。目前市場(chǎng)上有很多專(zhuān)用的HDLC芯片,但這些芯片大多控制復雜,通道數目有限;另一方面,專(zhuān)用芯片的使用會(huì )有效增大PCB板面積,不利于設備的小型化,而且帶來(lái)高成本等問(wèn)題。
FPGA能對任意數據寬度的信號進(jìn)行處理,內部的功能模塊可以并行處理。因此,采用FPGA技術(shù)設計HDLC協(xié)議控制器可以均衡整個(gè)系統的負荷,實(shí)現多通道的高性能HDLC協(xié)議控制器,保證通信的可靠性。同時(shí)它還具有設計開(kāi)發(fā)周期短、設計制造成本低、可實(shí)時(shí)在線(xiàn)檢驗等優(yōu)點(diǎn),因此被廣泛用于特殊芯片設計中。本設計中采用Altera公司的EP2C70F672C8芯片來(lái)實(shí)現HDLC協(xié)議控制器。
1 HDLC協(xié)議簡(jiǎn)介
在HDLC通信方式中,所有信息都是以幀的形式傳送,HDLC幀格式,如表1所示。
(1)標志字。
皿LC協(xié)議規定,所有信息傳輸必須以―個(gè)標志字開(kāi)始,且以同一個(gè)標志字結束,這個(gè)標志字是01111110。開(kāi)始標志到結束標志之間構成―個(gè)完整的信息單位,稱(chēng)為一幀。接收方可以通過(guò)搜索01111110來(lái)探知幀的開(kāi)始和結束,以此建立幀同步。在幀與幀之間的空載期,可連續發(fā)送標志字來(lái)做填充。
(2)信息段及“0”比特插入技術(shù)。
HDLC幀的信息長(cháng)度是可變的,可傳送標志字以外的任意二進(jìn)制信息。為了確保標志字是獨一無(wú)二的,發(fā)送方在發(fā)送信息時(shí)采用“0”比特插入技術(shù),即發(fā)送方在發(fā)送除標志字符外的所有信息時(shí)(包括校驗位),只要遇到連續的5個(gè)“1”,就自動(dòng)插入一個(gè)“0”;反之,接收方在接收數據時(shí),只要遇到連續的5個(gè)“1”,就自動(dòng)將其后的“0”刪掉?!?”比特插入和刪除技術(shù)也使得’HDLC具有良好的傳輸透明性,任何比特代碼都可傳輸。
(3)地址段及控制段。
地址字段為8位,也可以8的倍數進(jìn)行擴展,用于標識接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來(lái)表示命令和響應的類(lèi)別和功能。
(4)幀校驗。
HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進(jìn)行差錯控制,其生成多項式為x16+x12+x5+1,差錯校驗指對整個(gè)幀的內容作CRC循環(huán)冗余校驗,即對在糾錯范圍內的錯碼進(jìn)行糾正,對在校錯范圍內的錯碼進(jìn)行校驗,但不能糾正。標志位和按透明規則插入的所有“0”不在校驗的范圍內。
評論