欧美日韩一区二区高清,久久视频这里只有精品,超黄网站在线观看,成人av影院在线观看

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://m.martymets.com/bbs/index.asp)
--  FPGA高級(jí)  (http://m.martymets.com/bbs/list.asp?boardid=26)
----  用FPGA+DSP實(shí)現(xiàn)HDLC(高級(jí)數(shù)據(jù)鏈路控制)功能  (http://m.martymets.com/bbs/dispbbs.asp?boardid=26&id=1530)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-20 8:54:09
--  用FPGA+DSP實(shí)現(xiàn)HDLC(高級(jí)數(shù)據(jù)鏈路控制)功能

引言

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è)和仿真。

圖片點(diǎn)擊可在新窗口打開查看

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)。

圖片點(diǎn)擊可在新窗口打開查看

其他的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)行"插零"及"刪零"操作。

用FPGA+DSP實(shí)現(xiàn)HDLC功能

對(duì)FPGA器件進(jìn)行功能設(shè)計(jì)一般采用的是"Top to Down"("從頂?shù)降?)的方法,亦即根據(jù)要求的功能先設(shè)計(jì)出頂層的原理框圖,該圖通常由若干個(gè)功能模塊組成。再把各個(gè)模塊細(xì)化為子模塊,對(duì)較復(fù)雜的設(shè)計(jì)還可把各子模塊分成一層層的下級(jí)子模塊,各層的功能可以用硬件描述語言或電路圖來實(shí)現(xiàn)。

圖片點(diǎn)擊可在新窗口打開查看

DSP的設(shè)計(jì)則是按軟件順序執(zhí)行的方法,主函數(shù)調(diào)用子函數(shù),還可以把子函數(shù)分成下級(jí)子函數(shù),目前的DSP設(shè)計(jì)軟件主要是用C語言來完成。

HDLC協(xié)議操作由FPGA、DSP共同完成:HDLC接收端:首先由FPGA來收數(shù)據(jù),之后判斷幀頭“7E”及本機(jī)地址,如果是發(fā)給本機(jī)的數(shù)據(jù),則對(duì)后續(xù)數(shù)據(jù)進(jìn)行判斷,如果有5個(gè)連“1”且后一位數(shù)據(jù)為“0”則將其后的一個(gè)“0”刪除,刪零后將數(shù)據(jù)存入FIFO中,收到幀尾“7E”時(shí)給出收結(jié)束標(biāo)志;然后由DSP讀收結(jié)束標(biāo)志,如果標(biāo)志為“1”讀空FIFO,清標(biāo)志位,將數(shù)據(jù)內(nèi)容進(jìn)行CRC校驗(yàn)。

HDLC發(fā)送端:首先由DSP將數(shù)據(jù)寫入FPGA的FIFO之后,DSP給出標(biāo)志;FPGA收到標(biāo)志后,先發(fā)送幀頭“7E” ,然后發(fā)送數(shù)據(jù),如果數(shù)據(jù)中有5個(gè)連“1”則在其后插入1個(gè)“0”,數(shù)據(jù)發(fā)送結(jié)束后發(fā)送幀尾“7E”。


主站蜘蛛池模板: 泰宁县| 凤翔县| 同江市| 岐山县| 高州市| 温宿县| 绿春县| 四川省| 饶平县| 嘉祥县| 临高县| 长海县| 金阳县| 景宁| 噶尔县| 漠河县| 辉县市| 赫章县| 眉山市| 永仁县| 拉孜县| 山阳县| 蚌埠市| 田阳县| 马尔康县| 巴林左旗| 新建县| 阜平县| 蓬安县| 定远县| 手机| 衡南县| 郓城县| 平山县| 枣庄市| 策勒县| 柏乡县| 江阴市| 扎兰屯市| 和林格尔县| 定西市|