HDLC的DSP與FPGA實(shí)現(xiàn)
引言
本文引用地址:http://cafeforensic.com/article/112019.htmHDLC(高級(jí)數(shù)據(jù)鏈路控制)廣泛應(yīng)用于數(shù)據(jù)通信領(lǐng)域,是確保數(shù)據(jù)信息可靠互通的重要技術(shù)。實(shí)施HDLC的一般方法通常是采用ASIC器件或軟件編程等。
HDLC的ASIC芯片使用簡(jiǎn)易,功能針對(duì)性強(qiáng),性能可靠,適合應(yīng)用于特定用途的大批量產(chǎn)品中。但由于HDLC標(biāo)準(zhǔn)的文本較多,ASIC芯片出于專用性的目的難以通用于不同版本,缺乏應(yīng)用靈活性。有的芯片公司還有自己的標(biāo)準(zhǔn),對(duì)HDLC的CRC(循環(huán)冗余碼校驗(yàn))序列生成多項(xiàng)式等有不同的規(guī)定。專用于HDLC的ASIC芯片其片內(nèi)數(shù)據(jù)存儲(chǔ)器容量有限,通常只有不多字節(jié)的FIFO(先進(jìn)先出存儲(chǔ)器)可用。對(duì)于某些應(yīng)用來說,當(dāng)需要擴(kuò)大數(shù)據(jù)緩存的容量時(shí),只能對(duì)ASIC再外接存儲(chǔ)器或其他電路,ASIC的簡(jiǎn)單易用性就被抵銷掉了。 HDLC的軟件編程方法功能靈活,通過修改程序就可以適用于不同的HDLC應(yīng)用。但程序運(yùn)行占用處理器資源多,執(zhí)行速度慢,對(duì)信號(hào)的時(shí)延和同步性不易預(yù)測(cè)。純軟件HDLC一般只能用于個(gè)別路數(shù)的低速信號(hào)處理。
FPGA采用硬件技術(shù)處理信號(hào),又可以通過軟件反復(fù)編程使用,能夠兼顧速度和靈活性,并能并行處理多路信號(hào),實(shí)時(shí)性能能夠預(yù)測(cè)和仿真。
DSP采用軟件技術(shù)處理信號(hào),也可以反復(fù)編程使用。DSP、FPGA芯片雖成本略微高于ASIC芯片,但具有貨源暢通、可多次編程使用等優(yōu)點(diǎn)。在中小批量通信產(chǎn)品的設(shè)計(jì)生產(chǎn)中,用FPGA和DSP實(shí)現(xiàn)HDLC功能是一種值得采用的方法。
HDLC的幀結(jié)構(gòu)和CRC校驗(yàn)
為了使FPGA的設(shè)計(jì)能夠?qū)崿F(xiàn)HDLC的基本功能并能按照各項(xiàng)標(biāo)準(zhǔn)的規(guī)定靈活采用不同的CRC校驗(yàn)算法,首先看一下HDLC基本的幀結(jié)構(gòu)形式。
HDLC是面向比特的鏈路控制規(guī)程,其鏈路監(jiān)控功能通過一定的比特組合所表示的命令和響應(yīng)來實(shí)現(xiàn),這些監(jiān)控比特和信息比特一起以幀的形式傳送。以下是ISO/IEC 3309標(biāo)準(zhǔn)規(guī)定的HDLC的基本幀結(jié)構(gòu)。
其他的HDLC標(biāo)準(zhǔn)也有類似的幀結(jié)構(gòu)。每幀的起始和結(jié)束以"7E"(01111110)做標(biāo)志,兩個(gè)"7E"之間為數(shù)據(jù)段(含地址數(shù)據(jù)、控制數(shù)據(jù)、信息數(shù)據(jù))和幀校驗(yàn)序列。幀校驗(yàn)采用CRC算法,對(duì)除了插入的"零"以外的所有數(shù)據(jù)進(jìn)行校驗(yàn)。為了避免將數(shù)據(jù)中的"7E"誤為標(biāo)志,在發(fā)送端和接收端要相應(yīng)地對(duì)數(shù)據(jù)流和幀校驗(yàn)序列進(jìn)行"插零"及"刪零"操作。
評(píng)論