www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于NiosII的HDLC協(xié)議控制系統(tǒng)的實(shí)現(xiàn)

摘要:NiosII系統(tǒng)是Altera公司的SoPC解決方案,HDLC協(xié)議是通信領(lǐng)域中面向比特的高級數(shù)據(jù)鏈路控制規(guī)程。介紹了基于NiosII軟核的HDLC通信協(xié)議的實(shí)現(xiàn)方法,并在協(xié)議實(shí)現(xiàn)的基礎(chǔ)上,完成了對無人值守基站系統(tǒng)的監(jiān)控與管理?;径说墓δ苡苫贜iosII軟核的SoPC完成,PC機(jī)作為監(jiān)控中心完成對基站的遠(yuǎn)程監(jiān)控與管理。本系統(tǒng)在保證雙方可靠通信的前提下,最終實(shí)現(xiàn)PC主控機(jī)與基站之間實(shí)時(shí)、可靠的信息交互與監(jiān)控管理功能。
關(guān)鍵詞: 可編程片上系統(tǒng);NiosII軟核;高級數(shù)據(jù)鏈路控制;基站系統(tǒng);循環(huán)冗余碼校驗(yàn)

引言

HDLC(High-level Data Link Control)協(xié)議是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一,是面向比特的高級數(shù)據(jù)鏈路控制規(guī)程,具有強(qiáng)大的差錯檢測功能和同步傳輸特點(diǎn),保證數(shù)據(jù)的可靠傳輸[3]。市場上很多專用的HDLC芯片因追求功能的完備,而使芯片的控制變得復(fù)雜。實(shí)際上對某些特殊的場合,可選擇HDLC協(xié)議中最符合系統(tǒng)要求的部分功能,設(shè)計(jì)一種功能相對簡單、使用靈活的控制器。

NiosII系統(tǒng)是Altera公司的SoPC解決方案,它是一個運(yùn)行在FPGA上的32位RSIC處理器。Altera公司對于NiosII的開發(fā)提供了強(qiáng)大的設(shè)計(jì)開發(fā)平臺QuartusII、SOPC Builder以及NiosII IDE[2] [4]。這樣,硬件電路與外設(shè)的連接,NiosII軟核的配置,C語言編寫與調(diào)試可有機(jī)地結(jié)合起來,大大提高了系統(tǒng)設(shè)計(jì)的效率,便于系統(tǒng)的更新與升級。

本設(shè)計(jì)即是采用Altera公司的CYCLONEII芯片EP2C35-672 FPGA實(shí)現(xiàn)基于NiosII的HDLC協(xié)議控制系統(tǒng)。在完成通信協(xié)議、保證可靠通信的前提下,最終實(shí)現(xiàn)主控機(jī)與基站終端之間實(shí)時(shí)、可靠的信息交互與監(jiān)控管理功能[1]

HDLC協(xié)議說明[3]

HDLC協(xié)議具有以下特點(diǎn):數(shù)據(jù)報(bào)文可透明傳輸;全雙工通訊;采用窗口機(jī)制和捎帶應(yīng)答;采用幀校驗(yàn)序列,并對信息幀進(jìn)行順序編號,防止漏收或重收,傳輸可靠性高;傳輸控制功能和處理功能分離,應(yīng)用非常靈活。HDLC執(zhí)行數(shù)據(jù)傳輸控制功能,一般分為3個階段:數(shù)據(jù)鏈路建立階段、信息幀傳送階段、數(shù)據(jù)鏈路釋放階段。

HDLC協(xié)議以幀為基本信息單位傳輸數(shù)據(jù),無論是傳輸數(shù)據(jù)信息或是控制信息,每個幀都采用統(tǒng)一的幀格式,如圖1所示:

圖1  HDLC幀格式

 1. 標(biāo)志字段(F)

HDLC協(xié)議規(guī)定,所有信息的傳輸必須以一個標(biāo)志字開始,且以同一個標(biāo)志字結(jié)束,這個標(biāo)志字就是01111110。接收方可以通過搜索01111110來判斷幀的開始和結(jié)束,以此建立幀同步。

2. 地址字段(A)

地址字段表示鏈路上站的地址。地址字段為8位,也可用8的倍數(shù)進(jìn)行擴(kuò)展,用于標(biāo)識接收該幀的站地址。

3. 控制字段(C)

控制字段為8位,用來表示幀類型、幀編號以及命令、響應(yīng)等。由圖1知,由于C字段的構(gòu)成不同,可以把HDLC幀分為三種類型:信息(I)幀、監(jiān)控(S)幀、無編號(U)幀。在控制字段中,第1位是“0”的為I幀,第1、2位是“10”的為S幀,第1、2位是“11”的為U幀。

4. 信息字段(I)

信息字段內(nèi)包含了用戶的數(shù)據(jù)信息和來自上層的各種控制信息。在I幀和某些U幀中,具有該字段。HDLC幀的信息長度是可變的,其長度由收發(fā)站緩沖器的大小和線路的差錯情況決定,但必須是8bit的整數(shù)倍。它可傳送標(biāo)志字以外的任意二進(jìn)制信息。

5.幀校驗(yàn)序列字段(FCS)

幀校驗(yàn)序列用于對幀進(jìn)行CRC循環(huán)冗余校驗(yàn)。在HDLC協(xié)議中采用16位循環(huán)冗余校驗(yàn)碼進(jìn)行差錯控制,其校驗(yàn)范圍從地址字段的第1比特到信息字段的最后1比特的序列,并且規(guī)定為了透明傳輸而插入的“0”不在校驗(yàn)范圍內(nèi)。它的生成多項(xiàng)式為g(x)=X16+X12+X5+1。

系統(tǒng)簡介

    基站系統(tǒng)往往被安置在比較分散、環(huán)境比較惡劣且無人值守的地方,因此它運(yùn)行的可靠性就顯得尤為重要。SOPC的諸多特點(diǎn)滿足了此類系統(tǒng)的要求?;诖硕ㄎ唬撓到y(tǒng)選用pc機(jī)作為監(jiān)控中心,SOPC片上系統(tǒng)作基站端,它們之間采用HDLC協(xié)議來實(shí)現(xiàn)可靠通信。監(jiān)控中心完成建立和斷開鏈路的功能,SOPC基站系統(tǒng)除了接收、執(zhí)行監(jiān)控中心發(fā)來的命令外,還要完成現(xiàn)場數(shù)據(jù)的采集控制,并將數(shù)據(jù)上傳至監(jiān)控中心。

對于通信雙方,數(shù)據(jù)都有發(fā)送與接收兩個傳輸方向,即上行數(shù)據(jù)流和下行數(shù)據(jù)流。發(fā)送數(shù)據(jù)時(shí),按照HDLC協(xié)議,先將數(shù)據(jù)封裝成幀,即加上幀頭、地址字段、控制字段、信息字段、CRC校驗(yàn)段、幀尾,當(dāng)緩沖區(qū)有空間時(shí),將成幀數(shù)據(jù)送交緩沖區(qū)待發(fā)送,數(shù)據(jù)幀再經(jīng)UART送到對方的RS-232接口,數(shù)據(jù)進(jìn)入收方的緩沖區(qū),收方則執(zhí)行與發(fā)送相反的操作,即從緩沖區(qū)讀出數(shù)據(jù)、對其解幀、CRC校驗(yàn)判斷、解碼,并按照所提取的信息執(zhí)行相應(yīng)操作。完整的系統(tǒng)總框圖如圖2所示:

圖2  系統(tǒng)框圖

 

四 基于NiosIISOPC功能設(shè)計(jì)

分為硬件設(shè)計(jì)與軟件設(shè)計(jì),分別在QuartusII、SOPC Builder和NiosII IDE中完成。

硬件設(shè)計(jì)               

(1) 硬件設(shè)計(jì)結(jié)構(gòu)

    硬件設(shè)計(jì)結(jié)構(gòu)包括RS-232接口、PIO接口、顯示模塊和自定義CRC校驗(yàn)指令,這些部分都是用NiosII軟核來配置的。NiosII作為系統(tǒng)的流程控制中心,其作用是不言而喻的,通過采用SOPC Builder對NiosII進(jìn)行定制,極大的減少了系統(tǒng)的使用資源。整個系統(tǒng)硬件設(shè)計(jì)框圖如圖3所示:

圖3  NiosII硬件原理圖

 

2NiosII軟核配置

利用QuartusII軟件中的SOPC Builder,添加處理器、總線、片內(nèi)ROM、PIO、UART、NiosII其它外設(shè)及接口。系統(tǒng)的頂層模塊由NiosII軟核處理器標(biāo)準(zhǔn)版和系統(tǒng)時(shí)鐘組成,系統(tǒng)時(shí)鐘通過鎖相環(huán)PLL再分配給各外設(shè)及SDRAM。

3)自定義CRC校驗(yàn)指令

    可編程軟核處理器最大的特點(diǎn)是靈活到可以方便的增加指令,這樣可以把系統(tǒng)中用軟件處理耗時(shí)多的關(guān)鍵算法用硬件邏輯電路來實(shí)現(xiàn)。自定義指令其實(shí)就是用戶讓NiosII軟核完成的一個功能,這個功能由采用HDL語言描述的電路模塊來實(shí)現(xiàn),該模塊被連接到NiosII軟核的算術(shù)邏輯部件上。

CRC校驗(yàn)的一般算法需要大量的邏輯與循環(huán)運(yùn)算,如果用軟件來實(shí)現(xiàn)則要占用很多個時(shí)鐘周期,使系統(tǒng)的效率降低,而用硬件完成則僅需要幾個時(shí)鐘周期。NiosII正好提供了用戶自定義指令的功能,因此給NiosII添加自定義CRC校驗(yàn)指令來完成該部分功能,大大提高了系統(tǒng)的效率。

2  NiosII應(yīng)用軟件設(shè)計(jì)

NiosII應(yīng)用軟件用C語言實(shí)現(xiàn),完成了HDLC協(xié)議和對基站系統(tǒng)的控制兩個任務(wù)。首先完成HDLC協(xié)議中所要求的解幀校驗(yàn)處理、數(shù)據(jù)重新打包轉(zhuǎn)發(fā)、錯誤處理等操作,確保通訊的暢通與可靠?;径嗽诮邮盏奖O(jiān)控中心的命令后,在應(yīng)用軟件的控制下,驅(qū)動設(shè)備執(zhí)行相應(yīng)操作,主要是對溫度、濕度、電壓、煙感度等參數(shù)的讀取及環(huán)境參數(shù)的調(diào)整,執(zhí)行完畢后將結(jié)果反饋回監(jiān)控中心?;诖怂枷?,NiosII軟件分為HDLC協(xié)議實(shí)現(xiàn)部分和命令執(zhí)行部分。

(1) 協(xié)議實(shí)現(xiàn)部分

a、接收數(shù)據(jù)

首先,建立鏈路完成對幀序列、各種外設(shè)參量、標(biāo)志位等變量的初始化。函數(shù)void DeFrame( )用于每收到一幀后的解幀處理,即包括幀長度的判斷、CRC 校驗(yàn)、幀類型辨認(rèn)、幀序號的對照。CRC校驗(yàn)碼的運(yùn)算由函數(shù)ALT_CI_CRC_CCITT( )完成,具體操作是調(diào)用配置的自定義CRC校驗(yàn)指令,賦數(shù)據(jù)值,然后通過硬件運(yùn)算返回計(jì)算的CRC碼,再和數(shù)據(jù)幀中的校驗(yàn)碼對比,相同則是正確信息,不等則判為錯誤信息。

b、發(fā)送數(shù)據(jù)

定義變量volatile int edge_capture來進(jìn)行基站環(huán)境參數(shù)信息的捕捉,如溫度、濕度、電壓等。NiosII應(yīng)用軟件根據(jù)對環(huán)境參量的讀取和判斷,還要對異常狀況做特殊處理。比如,如果某參量出現(xiàn)超標(biāo)則必需立刻發(fā)送信息幀進(jìn)行告警,以使用戶進(jìn)行及時(shí)的調(diào)整。

具體發(fā)送時(shí),數(shù)據(jù)先裝幀再送入緩沖區(qū)等待。為了防止幀丟失造成通訊雙方處于僵滯的等待狀態(tài),引入計(jì)時(shí)器,即每發(fā)一次信息幀都要啟動計(jì)時(shí)器進(jìn)行計(jì)時(shí),若計(jì)時(shí)器溢出,重發(fā)上一幀并重新計(jì)時(shí)。以發(fā)送電壓值為例,對其具體過程進(jìn)行說明:

void InfoVoltageFrame( );                                    //裝電壓幀

void SendBuf(unsigned char Frame[],int SendDataLen);   //幀送緩沖區(qū)

void TimeDelay( );                                          //啟動計(jì)時(shí)器

若超時(shí),置超時(shí)標(biāo)志DelayFlag=1;

在此條件下,調(diào)用函數(shù)ReSendFrame( );              //重發(fā)上一幀

再次啟動計(jì)時(shí)器TimeDelay( );

cHDLC協(xié)議中滑動窗口的處理

只將滑動窗口協(xié)議中最關(guān)鍵的幀序號變化的具體代碼呈現(xiàn)出來:

……

If ((RvByte(2) And &HF)/2)=VR Then 'NS與VR作比較,相等則接收并發(fā)送確認(rèn)幀

VR = ((VR + 1) And & H7)

……

If (RvByte(2) And &HF) = 1 Then    '收到確認(rèn)S幀

SysTime.Enabled = False

      VS = ((VS + 1) And & H7)

……

(2)命令執(zhí)行軟件部分

這部分軟件主要是驅(qū)動設(shè)備執(zhí)行相應(yīng)命令。一方面,監(jiān)控中心啟動自動監(jiān)控功能, NiosII每隔5秒會接收到監(jiān)控中心發(fā)來的讀取參量信息命令,NiosII執(zhí)行命令并讀取外設(shè)參量送至發(fā)送緩存;另一方面,若環(huán)境參量發(fā)生變化,NiosII會對其進(jìn)行判斷,如果超標(biāo)則立即主動發(fā)告警信息幀給監(jiān)控中心。

五 結(jié)束語

本文提出了一種基于FPGA的HDLC協(xié)議控制系統(tǒng)設(shè)計(jì)方案,并利用Altera公司的CYCLONEII芯片EP2C35-672來實(shí)現(xiàn)。實(shí)踐表明,利用NiosII實(shí)現(xiàn)的HDLC協(xié)議控制系統(tǒng)操作簡單、使用靈活,能夠很好地應(yīng)用于各種小型通信設(shè)備。通過不同階段大量的測試,系統(tǒng)工作可靠、穩(wěn)定,完成了實(shí)時(shí)可靠的通訊與準(zhǔn)確的控制。

 

本文作者創(chuàng)新點(diǎn): 

1、 技術(shù)手段的創(chuàng)新:使用NiosII這種新型的SOPC技術(shù)實(shí)現(xiàn)了HDLC協(xié)議。

2、 應(yīng)用領(lǐng)域的創(chuàng)新:實(shí)現(xiàn)了對基站各種信息(如工作電壓、環(huán)境溫度、濕度、煙感度等)的實(shí)時(shí)監(jiān)控與可靠管理。

參考文獻(xiàn)

1羅朝霞,張高記  基于TMS320F2407A DSP的MODBUS通信協(xié)議的實(shí)現(xiàn) 微計(jì)算機(jī)信息2005 No.20 P.138-139,

2任愛鋒,初秀琴 等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì).西安電子科技大學(xué)出版社.2004

3謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)教程.人民郵電出版社.2002

4 Altera.NiosII Processor Reference Handbook.2006

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉