<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > HDLC的DSP與FPGA實(shí)現

HDLC的DSP與FPGA實(shí)現

作者:郭楓 北京遙測技術(shù)研究所衛星導航部 時(shí)間:2010-08-24 來(lái)源:電子產(chǎn)品世界 收藏

  FGPA數據接收模塊_Receiver

本文引用地址:http://dyxdggzs.com/article/112019.htm

  _Receiver模塊的主要功能是:接收數據和時(shí)鐘,并用時(shí)鐘采樣數據;在接收的數據流中檢測有無(wú)“7E”及本機地址標志,如果有則接收數據,當檢測到數據流中有“1F”信號,并后一個(gè)數據是“0”時(shí),對數據進(jìn)行“刪零”操作;對經(jīng)“刪零”后的數據寫(xiě)入收FIFO;收到尾“7E”后,置收標志位,向interface模塊發(fā)出rx_data_ready信號,當通過(guò)中斷接收到結束標志后,讀入數據,清標志位,檢查CRC校驗值是否正確。

  rxhdlc模塊由接收數據子模塊rx_data、標志檢測子模塊7e_detector、數據刪零子模塊zero_delete等組成。對比HDLC_receive模塊和HDLC_Send模塊,雖然兩者一些子模塊的功能是相逆的,但原理類(lèi)似,不再重復說(shuō)明。在HDLC_Receiver模塊中采用了FIFO來(lái)作為HDLC接收數據緩存器,因此內部收數據和讀數據通過(guò)各自的讀寫(xiě)口進(jìn)行。

  中的接收超時(shí)判斷功能

  當由于意外情況在總線(xiàn)上出現不完整數據時(shí),需對接收數據進(jìn)行超時(shí)判斷,已防止在收到幀頭“7E”后長(cháng)時(shí)間未收到后續數據或尾“7E”時(shí),死等數據,導致錯判,使用的策略是:當收到“7E”及本機地址后,啟動(dòng)計數器,計數時(shí)間長(cháng)于最長(cháng)幀一倍左右,如果從計時(shí)開(kāi)始到計時(shí)結束未收到“7E”則判超時(shí),重新接收數據;而如果在計時(shí)時(shí)間內收到“7E”則清零計數器,將數據存入收FIFO。

  軟件的內容主要包括send模塊和receive模塊和CRC校驗模塊。

  DSP功能

  DSP中的功能主要分為HDLC接收,HDLC發(fā)送。

  DSP中的HDLC接收

  DSP從接收到完成收標志后,接收數據,然后清FPGA標志位,將接收到的數據進(jìn)行CRC校驗后解幀,根據數據幀內容完成相關(guān)操作。

  DSP中的HDLC發(fā)送

  DSP將數據發(fā)送給FPGA,發(fā)送結束后,置FPGA發(fā)送完成標志位。DSP完成收數后還要進(jìn)行CRC校驗及解幀等操作,這就要根據具體的協(xié)議進(jìn)行。

  具體實(shí)現

  根據上述設計方法,已成功地實(shí)現了HDLC電路的設計。設計輸入在A(yíng)ltera公司的Quartus 8.0版本及CCS 3.0的軟件平臺上進(jìn)行。首先考慮擬設計的電路需要多少內部存儲器、工作速率多少、對外部處理器的接口有何要求等。根據這些考慮,以電路圖及DSP C語(yǔ)言結合的方法進(jìn)行設計輸入。對于時(shí)序電路,主要采用電路圖輸入的方法。

  FPGA芯片選用的是Altera公司的ACEX 1K系列。該系列是Altera公司面向通信和消費類(lèi)數字產(chǎn)品推出的低功耗、高密度的高性能FPGA集成電路,具有可與ASIC相比擬的價(jià)位。DSP使用TI公司TMS320C5416,該芯片集成度高,結構簡(jiǎn)單,體積小可靠性高,價(jià)格低,可以裝入各種儀器儀表及控制裝置中,易于產(chǎn)品化。設計出的具有HDLC功能的FPGA芯片已應用于導航設備樣機的有線(xiàn)通訊鏈路中,成功實(shí)現了雙向數據通信。

  結語(yǔ)

  基于軟件編程與FPGA來(lái)共同實(shí)現HDLC協(xié)議,方法靈活、速度快。適合于DSP+FPGA的數字硬件平臺的接口設計,實(shí)現后可靠有效。

  參考文獻:

  [1]張德民. 數據通信[M]. 北京:科學(xué)技術(shù)文獻出版社,1997

  [2]ISO/IEC 3309: Information technology-Telecommunications and information exchange between systems-High-level data link control (HDLC) procedures-Frame structure, P.4. Switzerland: International Electrotechnical Commission, Jun 2002

  [3]TMS320C5416 DSP design reference

  [4]Altera Corporation. MAX+plus II, Version 10.0, Sep 2000

  [5]Altera Corporation. ACEX 1K Programmable Logic Family Data Sheet, Altera Digital Library,Version 3,2001


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: HDLC DSP FPGA 201008

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>