專利名稱:處理數據上報中斷控制方法及裝置的制作方法
技術領域:
本發明涉及通信領域,尤其涉及一種處理上報數據中斷控制方法及裝置。
背景技術:
第三代(3G)移動通信的目標是能夠使人們在任何種情況下,都可以暢通地通信, 支持從話音到分組數據、圖像到多媒體業務的能力,這就要求更高的數據速率、更寬的數據帶寬、更高的頻譜利用率、更好的服務質量、更低的功耗以及更低的系統成本。WCMDA是3G 的主流標準之一,RAKE接收機作為WCDMA的關鍵技術之一,它是抵抗多徑干擾、改善通信質量的重要技術手段。圖1給出了 WCDMA RAKE接收機中上行控制信道(CCH,ControlChannel)符號級處理流程,這里的控制信道包括專用物理控制信道(DPCCH,Dedicated Physical Control Channel),增強型專用物理控制信道(E-DPCCH,Enhanced Dedicated Physical Control Channel)和高速專用物理信道(HS-DPCCH,High Speed Dedicated Physical Control Channel)三種信道。上行專用控制信道符號級處理過程較為復雜,涉及的功能較多,主要包括信道估計、CCH信道補償和最大比合并(MRC,Maximum Ratio Combing)、信干比(SIR, Signal to Interference Ratio)估計、頻偏估計、傳輸格式組合指示(TFCI,Transport Format Combination Indicator)譯碼,DPCCH符號檢測、閉環分集和上下行功率控制等。 這里需要說明的是,圖中各個模塊的連接不代表執行的順序,這里僅表明符號級處理包含的內容,不代表數據流。每種功能硬件運算的結果,都要上報給軟件做后續處理,并將最終結果上報給高層。將多種控制信道符號級處理的結果正確地上報給軟件,是個關鍵。這里的正確上報,需要遵循兩點,一是上報完整性,即不能丟包或數據錯誤;二是及時性,對于處理實時性比較強的數據,上報太慢可能會影響軟件的后續處理。傳統的數據上報,通過向軟件發送中斷請求,軟件讀取上報數據的方式,在多用戶不同用戶延時環境下,會出現多個用戶的不同類型數據同時上報的情況,有可能會造成總線沖突,數據丟失的后果。而上行專用物理控制信道的符號級處理,直接影響無線信道傳輸符號的頻率、相位和幅度偏移補償,影響系統的功率控制,影響數據信道的解調,甚至影響整個網絡的通信質量和容量,在整個通信系統中所起的作用不言而喻。
發明內容
本發明的主要目的是提供一種處理數據上報中斷控制方法及裝置,旨在有效及時地處理數據上報。本發明提供了一種處理數據上報中斷控制方法,包括以下步驟當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;
當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。優選地,上述根據中斷請求,讀取狀態寄存器中事件FIFO的狀態的步驟之后還包括當狀態寄存器中事件FIFO的狀態為異常狀態,則先進行異常處理,再獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。優選地,上述異常處理具體包括當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO中的事件全部讀出,并清除所述事件FIFO的上溢出異常標識位;當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。優選地,上述根據中斷請求,讀取狀態寄存器中事件FIFO的狀態具體為根據中斷請求,判斷同時上報數據的中斷源是否為多個,是則根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;否則直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。優選地,上述獲取事件FIFO的信息,并根據獲取信息讀取待上報的數據具體為獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據所述地址讀取待上報數據。本發明還提供了一種處理數據上報中斷控制裝置,包括檢測模塊,用于當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;狀態讀取模塊,用于根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;處理模塊,用于當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件 FIFO的信息,并根據獲取信息讀取待上報的數據。優選地,上述處理模塊還用于當狀態寄存器中事件FIFO的狀態為異常狀態,則先進行異常處理,再獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。優選地,上述異常處理具體包括當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO中的數據全部讀出,并清除所述事件FIFO的上溢出異常標識位;當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。優選地,上述狀態讀取模塊具體用于根據中斷請求,判斷同時上報數據的中斷源是否為多個,是則根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;否則直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。
優選地,上述處理模塊具體用于獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據所述地址讀取待上報數據。本發明使得處理器可以有效及時地讀取控制信道符號級處理待上報數據,且可以兼容軟件讀取數據過于頻繁或者長期忙狀態的異常情況,對于同時多個數據源的上報,通過設置優先等級,使得及時性較強的數據優先上報,避免了總線沖突、數據丟失的風險。
圖1是現有相關技術中WCDMA上行專用物理控制信道的處理流程示意圖;圖2是本發明處理數據上報中斷控制方法一實施例的流程示意圖;圖3是本發明處理數據上報中斷控制方法一實施例中讀取狀態寄存器中事件 FIFO的狀態的流程示意圖;圖4是本發明處理數據上報中斷控制裝置一實施例的結構示意圖;圖5是本發明處理數據上報中斷控制裝置一實施例中狀態寄存器的結構示意圖。本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施例方式以下結合說明書附圖及具體實施例進一步說明本發明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。圖2是本發明處理數據上報中斷控制方法一實施例的流程示意圖。本實施例處理數據上報中斷控制方法,包括以下步驟步驟S10、當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;狀態寄存器將會為每一類數據上報的數據源分配一個事件FIFO,用于存放事件。 因此,當檢測到數據上報時,則根據該上報數據的類型在相應的事件FIFO中寫入事件,并發送中斷請求。步驟S11、根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;當檢測到有中斷請求時,則讀取狀態寄存器中事件FIFO的狀態。該狀態寄存器可以為64比特,每個比特對應著不同事件FIFO的狀態標識位。則通過讀取狀態寄存器即可獲取其中所有事件FIFO的狀態信息。此處中斷請求可以僅為一個,也可以同時為多個。參照圖3,步驟Sll具體包括步驟S111、根據中斷請求,判斷同時上報數據的中斷源是否為多個;是則執行步驟Sl 12,否則執行步驟Sl 13 ;步驟S112、根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;由于多個數據源可能同時上報數據,因此為避免沖突,將對數據源預先設置優先等級。即對不同的數據源分配不同的優先等級,例如優先等級用1至5表示,數字越小,優先等級越高。因此,當出現多個用戶不同類型的數據同時上報時,可以根據預置優先等級由高至低依次讀取狀態寄存器中事件FIFO的狀態。步驟S113、直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。
當只有一個數據源上報數據時,則無須判斷優先級別,而是直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。步驟S12、判斷狀態寄存器中事件FIFO的狀態是否為正常狀態,是則執行步驟 S14 ;否則執行步驟S13 ;判斷步驟Sll中讀取的狀態寄存器中事件FIFO的狀態是否為正常狀態,以便進行相應地處理。步驟S13、進行異常處理,再執行步驟S14 ;當判斷狀態寄存器中事件FIFO的狀態為異常狀態時,先對其進行異常處理。該異常狀態可包括半空、半滿、上溢出及下溢出等等。針對異常狀態進行的異常處理具體包括(1)當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO寫入的事件數目超過預置值時,該事件FIFO的狀態信號將會被拉高,表示其為半滿狀態。該預置值可以根據不同的功能或FIFO的深度自行設置。例如,當前事件FIFO的深度為100,則可以設置預置值為90。即當狀態寄存器中事件 FIFO寫入的事件超過90時,則為半滿狀態,表示數據讀取的速度較慢,無法及時地讀取該事件FIFO里的事件信息,因此為了保證數據讀取的及時性,則必須加快數據讀取速度。(2)當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO寫入的事件數目小于預置值時,該事件FIFO的狀態信號將會被拉高,表示其為半空狀態。該預置值可以根據不同的功能或FIFO的深度自行設置。例如,當前事件FIFO的深度為100,則可以設置預置值為10。即當狀態寄存器中事件 FIFO寫入的事件數目小于10時,則為半空狀態,表示數據讀取的速度較快,可能會漏讀數據。因此為了保證數據讀取的完整性,則必須減慢數據讀取速度。(3)當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO 中的事件全部讀出,并清除所述事件FIFO的上溢出異常標識位;當數據讀取速度太慢而造成狀態寄存器中事件FIFO中的事件被寫滿時,會顯示上溢出狀態,此時為了數據不丟失,則將事件FIFO中的事件全部讀出,并清除該事件FIFO 的上溢出異常標識位。(4)當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。當數據讀取速度太快而早場狀態寄存器中事件FIFO中的事件被讀空時,會顯示下溢出狀態時,此時則可以將事件FIFO的下溢出異常標識位清除。步驟S14、獲取事件FIFO的信息,并根據獲取信息讀取待上報的數據。步驟S14具體為獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據所述地址讀取待上報數據。該事件FIFO的基本信息可以包括用戶的ID、用戶定時等信息,根據該基本信息, 即可獲取上報數據存儲的地址,再根據該存儲地址就可讀取待上報數據。本發明使得處理器可以有效及時地讀取控制信道符號級處理待上報數據,且可以兼容軟件讀取數據過于頻繁或者長期忙狀態的異常情況,對于同時多個數據源的上報,通過設置優先等級,使得及時性較強的數據優先上報,避免了總線沖突、數據丟失的風險。
圖4是本發明處理數據上報中斷控制裝置一實施例的結構示意圖。本實施例處理數據上報中斷控制裝置,包括檢測模塊10,用于當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;狀態讀取模塊11,用于根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;處理模塊12,用于當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件 FIFO的信息,并根據獲取信息讀取待上報的數據。參照圖5,為狀態寄存器的結構示意圖。該狀態寄存器將會為每一類數據上報的數據源分配一個事件FIFO,用于存放事件。而且,每個事件FIFO可以包括五種狀態,例如事件FIF00中的NEPO (非空,即正常狀態)、HWMO (半空)、LWMO (半滿)、UNFO (下溢出)、 0VF0 (上溢出)。因此,當檢測到數據上報時,檢測模塊10則根據該上報數據的類型在相應的事件FIFO中寫入事件,并向狀態讀取模塊11發送中斷請求。狀態讀取模塊11則根據中斷請求,讀取狀態寄存器中事件FIFO的狀態。該狀態寄存器最多可以為64比特,每個比特位對應著不同事件FIFO的狀態標識位。則通過讀取狀態寄存器即可獲取其中所有事件 FIFO的狀態信息。此處中斷請求可以僅為一個,也可以同時為多個。上述狀態讀取模塊11具體用于根據中斷請求,判斷同時上報數據的中斷源是否為多個,是則根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;否則直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。由于多個數據源可能同時上報數據,因此為避免沖突,將對數據源預先設置優先等級。即對不同的數據源分配不同的優先等級,例如優先等級用1至5表示,數字越小,優先等級越高。因此,當出現多個用戶不同類型的數據同時上報時,可以根據預置優先等級由高至低依次讀取狀態寄存器中事件FIFO的狀態。當只有一個數據源上報數據時,則無須判斷優先級別,而是直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。上述處理模塊12還用于當狀態寄存器中事件FIFO的狀態為異常狀態,則先進行異常處理,再獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據存儲地址讀取待上報數據。該異常處理具體包括當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO中的數據全部讀出,并清除所述事件FIFO的上溢出異常標識位;當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。本發明使得處理器可以有效及時地讀取控制信道符號級處理待上報數據,且可以兼容軟件讀取數據過于頻繁或者長期忙狀態的異常情況,對于同時多個數據源的上報,通過設置優先等級,使得及時性較強的數據優先上報,避免了總線沖突、數據丟失的風險。以上所述僅為本發明的優選實施例,并非因此限制其專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。
權利要求
1.一種處理數據上報中斷控制方法,其特征在于,包括以下步驟當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。
2.根據權利要求1所述的方法,其特征在于,所述根據中斷請求,讀取狀態寄存器中事件FIFO的狀態的步驟之后還包括當狀態寄存器中事件FIFO的狀態為異常狀態,則先進行異常處理,再獲取所述事件 FIFO的信息,并根據獲取信息讀取待上報的數據。
3.根據權利要求2所述的方法,其特征在于,所述異常處理具體包括當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO中的事件全部讀出,并清除所述事件FIFO的上溢出異常標識位;當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。
4.根據權利要求2所述的方法,其特征在于,所述根據中斷請求,讀取狀態寄存器中事件FIFO的狀態具體為根據中斷請求,判斷同時上報數據的中斷源是否為多個,是則根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;否則直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。
5.根據權利要求1至4中任一項所述的方法,其特征在于,所述獲取事件FIFO的信息, 并根據獲取信息讀取待上報的數據具體為獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據所述地址讀取待上報數據。
6.一種處理數據上報中斷控制裝置,其特征在于,包括檢測模塊,用于當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件, 并發送中斷請求;狀態讀取模塊,用于根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;處理模塊,用于當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。
7.根據權利要求6所述的裝置,其特征在于,所述處理模塊還用于當狀態寄存器中事件FIFO的狀態為異常狀態,則先進行異常處理,再獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。
8.根據權利要求7所述的裝置,其特征在于,所述異常處理具體包括當狀態寄存器中事件FIFO的狀態為半滿狀態時,加快數據讀取速度;當狀態寄存器中事件FIFO的狀態為半空狀態時,減慢數據讀取速度;當狀態寄存器中事件FIFO的狀態為上溢出狀態時,將上溢出狀態的事件FIFO中的數據全部讀出,并清除所述事件FIFO的上溢出異常標識位;當狀態寄存器中事件FIFO的狀態為下溢出狀態時,清除所述事件FIFO的下溢出異常標識位。
9.根據權利要求7所述的裝置,其特征在于,所述狀態讀取模塊具體用于根據中斷請求,判斷同時上報數據的中斷源是否為多個,是則根據預置優先等級依次讀取狀態寄存器中事件FIFO的狀態;否則直接讀取狀態寄存器中上報數據的中斷源對應的事件FIFO的狀態。
10.根據權利要求6至9中任一項所述的裝置,其特征在于,所述處理模塊具體用于 獲取事件FIFO的基本信息,先根據所述事件FIFO的基本信息獲取上報數據存儲的地址,再根據所述地址讀取待上報數據。
全文摘要
本發明涉及一種處理數據上報中斷控制方法及裝置,該中斷控制方法包括當檢測到數據上報時,在狀態寄存器中相應的事件FIFO中寫入事件,并發送中斷請求;根據中斷請求,讀取狀態寄存器中事件FIFO的狀態;當狀態寄存器中事件FIFO的狀態為正常狀態,則獲取所述事件FIFO的信息,并根據獲取信息讀取待上報的數據。本發明使得處理器可以有效及時地讀取控制信道符號級處理待上報數據,且可以兼容軟件讀取數據過于頻繁或者長期忙狀態的異常情況,對于同時多個數據源的上報,通過設置優先等級,使得及時性較強的數據優先上報,避免了總線沖突、數據丟失的風險。
文檔編號G06F13/24GK102591821SQ20111000580
公開日2012年7月18日 申請日期2011年1月12日 優先權日2011年1月12日
發明者張明 申請人:中興通訊股份有限公司