基於多協議可配置的片上通信系統及通信設備的製作方法
2024-04-12 21:43:05
1.本發明涉及通信信息處理技術領域,尤其涉及基於多協議可配置的片上通信系統及通信設備。
背景技術:
2.通信處理器因通用性強、數據量大、複雜度高、並行度高、實時性強等特點,不斷向吞吐率更高、頻率更快、支持協議更寬泛方面發展。隨著通信領域逐步向融合性、兼容性和經濟高效性方面發展,降低通信設備中有線和無線接入的成本逐漸被納入了設計重點。同時,隨著通信處理器對高帶寬、高性能需求的不斷提高,通信系統對其嵌入式處理器提出了更高要求,如何提高處理器的數據處理能力,減輕處理器負擔成為通信處理器考慮的主要因素。
3.目前全球應用最廣泛的powerquicc(quad integrated communications controller,四路集成通信控制器)通信處理器,採用混合架構,將強大的處理器核心與獨立的片上通信引擎相結合,其提供集成的多協議處理和互通技術,速度高達1.2gbps,有助於解放powerpc核心,提高通信數據處理效率。但國內對於powerquicc處理器中quicc engine技術的研究尚存在較大空缺,因此,如何研製集成通信控制器的國產替代產品已成亟待解決的技術問題。
技術實現要素:
4.本發明旨在立足於研製集成通信控制器,提出基於多協議且可配置的通信引擎的技術方案,該引擎作為集成通信控制器內部可支持多種通信協議,實現各通信協議的數據處理和傳輸,有利於解放中央處理器的負載,從而提高通信數據處理效率。
5.主要通過以下技術方案實現上述發明目的:第一方面,基於多協議可配置的片上通信系統,包括:risc核、通信控制器、通信模塊以及存儲器模塊;所述risc核通過ahb總線與所述通信控制器實現數據傳輸,用於根據目標應用程式的需求發送相應的通信數據處理指令給所述通信控制器,所述目標應用程式的需求包括目標通信協議;所述通信控制器根據所述通信數據處理指令將通信協議配置為所述目標通信協議,並將配置參數發送給所述通信模塊;所述通信模塊用於根據所述配置參數將物理層發送的待處理數據以所述目標通信協議的幀格式傳輸至對端設備;所述存儲器用於存儲所述通信數據處理指令和所述待處理數據。
6.第二方面,通信設備,包括如上所述的基於多協議可配置的片上通信系統。
7.相較於現有技術的有益效果:本發明主要應用於集成通信控制器,通過基於多協議且可配置的通信引擎設計,
可根據目標應用程式的需求將通信控制器的通信協議配置為滿足該需求對應的目標通信協議,通信模塊根據配置參數將物理層的待處理數據以目標通信協議的幀格式傳輸至對端設備,可為集成通信控制器提供多種通信協議的支持,實現各通信協議的數據處理和傳輸,在實現高帶寬互連的同時不佔用cpu(central processing unit / processor,中央處理器)資源,有利於解放cpu的負載,使得集成通信控制器總體性能得到提升,有利於降低功耗,提高通信數據處理效率。
附圖說明
8.圖1示出了本發明中基於多協議可配置的片上通信系統的結構示意圖;圖2示出了本發明中risc核的結構示意圖;圖3示出了本發明中ucc控制器的結構示意圖;圖4示出了本發明中ucc發送器重配置的流程示意圖;圖5示出了本發明中ucc接收器重配置的流程示意圖;圖6示出了本發明中ucc協議切換的流程示意圖;圖7示出了本發明中hdlc通信模塊的結構示意圖;圖8示出了本發明中hdlc幀結構的示意圖。
具體實施方式
9.為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
10.基於多協議可配置的片上通信系統,所述系統包括risc核、通信控制器、通信模塊以及存儲器模塊;所述risc核通過ahb總線與所述通信控制器實現數據傳輸,用於根據目標應用程式的需求發送相應的通信數據處理指令給所述通信控制器,所述目標應用程式的需求包括目標通信協議;所述通信控制器根據所述通信數據處理指令將通信協議配置為所述目標通信協議,並將配置參數發送給所述通信模塊;所述通信模塊用於根據所述配置參數將物理層發送的待處理數據以所述目標通信協議的幀格式傳輸至對端設備;所述存儲器用於存儲所述通信數據處理指令和所述待處理數據。
11.需要說明的是,本發明以高級數據鏈路控制器(high 1evel data link control,hdlc)為例進行說明。如圖1所示,所述片上通信系統包括:risc(reduced instruction set computer,精簡指令集)核:負責片上通信系統內部通信控制器的配置、通信數據的處理,中斷響應等操作,通過ahb(advanced high performance bus,高級高性能總線)-lite總線與sram(static random-access memory,靜態隨機存取存儲器)、hdlc通信模塊、uart(universal asynchronous receiver/transmitter,通用異步收發傳輸器)串口、gpio(general-purpose input/output,通用輸入輸出)埠等多種接口實現數據傳輸。如圖2所示,risc核包括muram(muiti-user random access memory,多用戶隨機存取存儲器)、iram(instruction random access memory,指
令隨機存取存儲器)和rom(read-only memory,只讀存儲器),muram用於存儲risc機參數,所述rom與所述risc核直接連接,用於存儲代碼映像,通過指令ram(random-access memory,隨機存取存儲器)可有選擇地用於運行附加代碼;所述iram用於提供所述rom中代碼的修復錯誤,主要通過iram圖像的軟體下載來增強集成通信控制器的功能。
12.所述ahb-lite:在所述系統內以高速ahb總線為核心,採用全連接多主多從的ahb總線矩陣,通過ahb接口的寄存器組實現功能到寄存器的映射,完成外圍通信控制器的數據傳遞及參數配置等功能。
13.ucc(unified communications controllers,統一通信控制器)控制器:實現所述片上通信系統中通信協議的配置,根據目標應用程式的需要將所述片上通信系統配置為特定的通信模式,支持快速協議和慢速協議兩種工作模式。本發明設計了四個ucc控制器,通過將ucc配置為不同的協議模式,使所述系統可以同時實現不同的協議,為高效實現各種協議提供了一個出色的平臺。同時對多種快速或慢速協議採用通用的控制器可以增強所述系統的功能和性能。例如,ucc將fifo(first input first output,先入先出隊列)的大小作為用戶參數,允許在初始化時對其fifo的大小進行編程,這項操作可以為慢速和快速協議優化內存空間分配,支持的線路速度範圍從1kbps到1gbps不等。優選地,每個所述ucc均設置一個parameter ram,用以存儲所述配置參數。根據目標通信協議的不同,parameter ram存儲的配置參數也有不同的定義。ucc結構圖如圖3所示,其中ucc的內部時鐘rclk、tclk可以編程為使用外部或內部源,內部時鐘來自其中的波特率發生器,時鐘頻率高達通信引擎時鐘頻率的一半。
14.所述ucc包括初始化配置模塊、中斷控制器和cimr。
15.ucc初始化序列主要涉及3個寄存器:guemr(general ucc extended mode register,通用ucc擴展模式寄存器)、gumr(general ucc mode registers,通用ucc模式寄存器)以及gumr_l(general ucc mode register low order,低速通用ucc模式寄存器)。其中guemr是在ucc配置為目標通信協議之前,將其配置為快速或慢速協議模式,是ucc初始化序列中編程的第一個寄存器。
16.同時ucc基本模式由四個主要欄位配置:utmode/urmode、mode、ttx、trx,因為快速協議和慢速協議有不同的存儲器映射,所以通過guemr指定快速或慢速通信模式後,再通過相應快速或慢速gumr寄存器將ucc配置為目標通信協議:所述guemr根據所述通信數據處理指令將ucc協議模式配置為快速或慢速協議模式;若配置為快速模式,則所述gumr用於將ucc通信協議配置為所述目標協議模式,否則,所述gumr_l用於將ucc通信協議配置為所述目標協議模式。
17.對於ucc的初始化配置見下表1所示:
表1所述初始化配置模塊進行ucc初始化配置流程如下:配置si(serial interface,串行接口),設置i/o埠配置寄存器,配置i/o引腳,並將i/o引腳連接到ucc;初始化所述系統的復用邏輯;設置guemr[utmode]和guemr[urmode]寄存器;消除所述guemr當前事件;配置所述gumr寄存器,使能所述guemr寄存器的中斷信號;向所述中斷控制器寫入cimr(系統中斷屏蔽寄存器)使能中斷;完成特定快速或慢速協議模式的所述ucc通信協議的初始化序列配置。
[0018]
優選地,所述ucc包括第一重配置模塊和第二重配置模塊;因為ucc參數不能動態更改,所以必須確保在重新配置 ucc之前正確關閉當前使用的緩衝區,並且後續數據將根據新的配置要求進出新緩衝區,因此,下面介紹ucc重配置的流程如下:如圖4所示,所述第一重配置模塊用於ucc發送器重配置:當根據所述通信數據處理指令需重配置ucc時,判斷所述ucc的發送器當前是否在發送數據,若是,則通過stop transmit命令終止當前發送數據的事件;否則,執行init tx parameters命令;清除所述gumr_l當前事件;根據所述通信數據處理指令修改所述ucc的發送參數,所述發送參數包括所述目標通信協議;設置所述gumr_l。
[0019]
如圖5所示,所述第二重配置模塊用於ucc接收器重配置:當根據所述通信數據處理指令需重配置ucc時,清除所述gumr_l當前事件,使所述ucc的接收器被禁用並處於復位狀態;修改所述ucc的接收參數,通過init rx parameters 命令切換所述目標通信協議或將接收參數恢復到初始狀態;所述接收參數包括所述目標通信協議;設置所述gumr_l。
[0020]
優選地,所述ucc包括協議切換模塊;如圖6所示,協議切換模塊用於ucc協議切換的過程如下:清除所述gumr_l當前事件;接收所述ucc的發送器和接收器發出的pushsched
命令;通過所述gumr對所述目標通信協議進行切換;發出init tx and rx parameters命令初始化tx和rx參數,所述tx參數為所述通信模塊的發送器的參數,所述rx參數為所述通信模塊的接收器的參數;設置所述gumr_l;啟用ucc。
[0021]
優選地,所述系統還包括gpio模塊,採用8組gpio埠(pa~ph)進行板級通信,不同通信協議模式下均採用統一的輸出埠,更能滿足通用性需求。
[0022]
hdlc通信模塊:用於將物理層的待處理數據以hdlc(目標通信協議)的幀格式無差錯的傳輸至網絡層,負責hdlc幀格式數據的接收和發送。本發明採用同步傳輸模式下的hdlc控制器設計,即以幀為單位進行數據傳輸,在通信時使用同步時鐘對本端和對端設備的通信進行幀同步。設計時採用自頂向下的方法實現,首先根據系統功能設計頂層模塊,再對頂層模塊進行細化,劃分各個子模塊的功能並完成設計。如圖7所示,所述hdlc通信模塊包括ahb總線接口、接收單元、發送單元和寄存器單元。
[0023]
hdlc_tx作為發送單元,用於根據所述配置參數對所述待處理數據進行目標幀格式的包裝和發送,所述目標幀格式為所述目標通信協議對應的幀格式;hdlc_reg_interface作為所述寄存器單元,用於通過所述ahb總線接口接收所述配置參數以及所述待處理數據,並將所述配置參數和所述待處理數據發送給所述發送單元;優選地,hdlc_tx的發送流程如下:所述hdlc_tx包括txcntrl、bfifo、tx_frm以及tx_bd;所述tx_bd包括tx_buff和txbd,所述tx_buff接收所述寄存器單元發送的所述配置參數和所述待處理數據,所述txbd用於對所述tx_buff發送的所述待處理數據進行標誌欄位生成、串行轉換以及零插入處理,得到第四數據;所述txcntrl將所述第四數據發送至所述bfifo進行緩存;所述tx_frm包括tx_crc以及outfifo,所述tx_crc對所述bfifo發送的所述第四數據進行crc校驗得到第五數據,所述outfifo子單元將所述tx_crc發送的所述第五數據以比特流的形式通過所述gpio模塊發送至所述對端設備。可以理解的是,因系統時鐘與發送時鐘不同,需要在tx_frm中做跨時鐘域同步。
[0024]
hdlc_rx作為接收單元,用於通過所述gpio模塊接收所述對端設備發送的第一數據,所述第一數據的幀格式為所述目標幀格式。ahb總線接口:ahbtohdlc負責將ahb總線接口轉換成對hdlc寄存器、hdlc parameter ram 、txbds、rxbds、tx data buffer和rx data buffer可識別的數據及地址信息。優選地,hdlc_rx的接收流程如下:所述hdlc_rx包括rx_bd以及rx_byte;所述rx_byte用於按照比特的形式接收所述第一數據,按照位刪除原則對所述第一數據進行零刪除處理得到第二數據,按照字節的形式將所述第二數據發送給所述rx_bd;所述rx_bd包括rxbd、rx_buff和crc,所述rxbd按照逐字節的形式接收所述第二數據,並檢測所述第二數據的地址是否匹配,若是,則將所述第二數據發送給所述crc,所述crc對所述第二數據進行crc(cyclic redundancy check,循環冗餘校驗)校驗得到第三數據,將所述第三數據發送給所述rx_buff。
[0025]
優選地,所述hdlc通信模塊還包括時鐘同步單元,所述時鐘同步單元通過識別目標幀的標誌欄位來實現對所述對端設備的幀同步,所述目標幀是所述待處理數據或所述第一數據以所述目標通信協議進行傳輸的數據幀。接收到的所述第一數據首先按照位刪除原則進行零刪除處理,再對所述第一數據執行crc反向檢查,判斷數據是否有效,若無效則丟棄並重傳該幀的第一數據。
[0026]
sig_gen模塊模仿risc核,產生需要發送的數據和相應指令。
[0027]
優選地,hdlc作為數據鏈路層協議是面向位的鏈路控制規程,其採用固定的幀結構傳輸數據,hdlc幀結構如圖8所示。所述hdlc通信模塊還包括幀格式單元,所述幀格式單元將hdlc通信協議中每個幀的幀頭、幀尾均採用標誌欄位0x7e(01111110)作為幀的起始、終止及幀同步的標誌。為了保證標誌碼的唯一性,併兼顧幀內數據的透明性,所述hdlc通信模塊還零插入單元,用於對所述目標幀的非預設標誌欄位進行零插入處理,採用零插入/刪除過程(位填充)來確保定界符標誌的位模式不會出現在標誌之間的欄位中,確保數據的透明傳輸。設計中通過移位寄存器實現零插入單元,該單元位於crc校驗子單元之後,檢測除標誌欄位外的所有欄位,當發現有連續的5個1時,在其後插入一位0,然後繼續發送後續的比特流。在接收端,當接收到標誌欄位後開始檢測數據欄位,每檢測到連續5個1時,若其後出現一位0,則自動刪除它,以恢復原來的比特流。
[0028]
優選地,對於hdlc設計中的幀校驗部分,採用循環冗餘校驗crc實現差錯控制,除了標誌欄位和自動插入的0位外,所有的信息都要參加 crc 計算,crc校驗子單元在發送數據時利用「模2除法」及餘數的原理對每一幀加入冗餘的校驗位,實現錯誤監測。本發明的crc校驗子單元使用 crc-ccitt 算法(17位校驗序列)的生成多項式來校驗除標記欄位外的幀欄位,校驗序列為1_1000_0000_0010_0001,通過「模2除法」的移位和異或操作產生16bit的冗餘校驗結果,並附加在數據欄位後,通過發送端進行傳輸。接收端對收到的數據進行刪零處理後再次依據crc-ccitt算法進行crc校驗,若餘數為0則說明數據正確傳輸;若餘數不為0,則說明數據再傳輸過程中發生了某些位的突變,或傳輸過程中存在數據丟失,即數據通訊出現錯誤,會反饋到發送端等待重傳。
[0029]
優選地,所述目標通信協議包括hdlc、uart、atm(asynchronous transfer mode,異步傳輸模式)、ethernet、transparent以及async hdlc中的至少兩個。
[0030]
sram(static random-access memory,靜態隨機存取存儲器):作為指令(通信數據處理指令)和數據(待處理數據)的內存,為所述系統內部risc核和其他通信控制器開闢內存空間。
[0031]
優選地,所述系統還包括tdm(time-division multiplexed,時分復用技術)模塊:時分復用模塊負責將不同的信號按照時隙分配信息相互交織在不同的時間段內,沿著同一個信道傳輸,從而實現在同一信道上傳輸多路信號的功能,提高了數據傳輸效率和通道利用率。
[0032]
優選地,所述系統還包括uart模塊;支持以uart的幀格式接收和發送數據,可用於板級通信。
[0033]
相較於現有技術的有益效果:主要應用於集成通信控制器,通過基於多協議且可配置的通信引擎設計,可根據目標應用程式的需求將通信控制器的通信協議配置為滿足該需求對應的目標通信協議,通信模塊根據配置參數將物理層的待處理數據以目標通信協議的幀格式傳輸至對端設備,可為集成通信控制器提供多種通信協議的支持,實現各通信協議的數據處理和傳輸,實現了多種通信協議的切換和重配置功能,在實現高帶寬互連的同時不佔用cpu資源,有利於解放cpu的負載,使得集成通信控制器總體性能得到提升,有利於降低功耗,提高通信數據處理
效率;本發明以hdlc為代表,實現了可配置片上通信系統中hdlc通信模塊的設計,將hdlc與可配置片上通信系統相結合,解決了多路信號的hdlc對處理器資源的佔用率高的技術問題。
[0034]
實施例二通信設備,包括如上所述的基於多協議可配置的片上通信系統。由於上述實施例中已經對基於多協議可配置的片上通信系統的具體實施方式進行了詳細的說明,故在此不再贅述。
[0035]
以上對本發明實施例進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。