一種多通道分組定時器的實現(xiàn)方法
【專利摘要】本發(fā)明涉及網(wǎng)絡(luò)通訊定時領(lǐng)域,具體涉及一種多通道分組定時器的實現(xiàn)方法。所述定時器包括讀寫控制模塊、存儲模塊、定時判斷模塊和累加模塊;其實現(xiàn)包含將定時計數(shù)數(shù)據(jù)與定時配置數(shù)據(jù)作比較的步驟;如所述定時計數(shù)數(shù)據(jù)未達到所述定時配置數(shù)據(jù)時,將所述定時計數(shù)數(shù)據(jù)加一后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟;如所述定時計數(shù)數(shù)據(jù)達到所述定時配置數(shù)據(jù)時,所述定時判斷模塊輸出定時信號,同時累加模塊將所述定時計數(shù)數(shù)據(jù)清零后重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟;本發(fā)明定時由讀寫控制模塊對存儲模塊的周期讀寫實現(xiàn),不需要計數(shù)器,每組定時器的定時到達時間一致,定時到達判斷簡單、實用。
【專利說明】一種多通道分組定時器的實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通訊定時領(lǐng)域,具體涉及一種多通道分組定時器的實現(xiàn)方法。
【背景技術(shù)】
[0002]在通訊領(lǐng)域,經(jīng)常需要大量定時器完成多信道超時告警。比如對多通道接收報文進行超時統(tǒng)計,如果報文在指定的定時周期內(nèi)沒有收到,就要發(fā)出接收超時告警;針對同一通道接收超時可能有幾種,如超時3.3ms,發(fā)出告警1,超時10ms,發(fā)出告警2,超時100ms,發(fā)出告警3等,不同級別超時告警輸出不同的告警脈沖,并進行對應(yīng)級別的告警處理。通信系統(tǒng)中有時需要定時的通道數(shù)達數(shù)百個,定時周期級別大多只有幾種。如果用計數(shù)器方法來實現(xiàn)多通道多周期定時器,需要消耗大量的邏輯資源。
【發(fā)明內(nèi)容】
[0003]為解決以上問題,采用較少的資源同時為幾百上千個通道提供多層次報警,本發(fā)明提供一種多通道分組定時器的實現(xiàn)方法,所述定時器包括讀寫控制模塊、存儲模塊、定時判斷模塊和累加模塊,其中,所述讀寫控制模塊與所述存儲模塊連接,所述存儲模塊與所述定時判斷模塊連接,所述定時判斷模塊與所述累加模塊連接,所述累加模塊與所述讀寫控制模塊連接,所述定時判斷模塊還包括定時輸出端口。
[0004]所述讀寫控制模塊用于控制所述存儲模塊定時計數(shù)數(shù)據(jù)的讀寫;所述存儲模塊用于儲存定時計數(shù)數(shù)據(jù);所述定時判斷模塊用于存儲定時配置數(shù)據(jù),并判斷定時計數(shù)數(shù)據(jù)是否到達定時配置數(shù)據(jù),定時配置數(shù)據(jù)所述定時判斷輸出端口用于在定時計數(shù)數(shù)據(jù)達到定時配置數(shù)據(jù)時輸出定時信號;所述累加模塊用于將定時計數(shù)數(shù)據(jù)加一或清零。
[0005]其特征在于,所述定時器實現(xiàn)方法包含如下工作步驟:
包含由讀寫控制模塊控制讀取存儲模塊內(nèi)存儲的定時計數(shù)數(shù)據(jù)與所述定時判斷模塊中定時配置數(shù)據(jù)作比較的步驟。
[0006]包含如所述定時計數(shù)數(shù)據(jù)未達到所述定時配置數(shù)據(jù)時,所述累加模塊將所述定時計數(shù)數(shù)據(jù)加一后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟。
[0007]包含如所述定時計數(shù)數(shù)據(jù)達到所述定時配置數(shù)據(jù)時,所述定時判斷模塊輸出定時信號,同時累加模塊將所述定時計數(shù)數(shù)據(jù)清零后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟。
[0008]進一步的,所述存儲模塊中的定時計數(shù)數(shù)據(jù)均與所述定時判斷模塊中的同一定時配置數(shù)據(jù)做比較。
[0009]進一步的,所述存儲模塊包含一個以上的寄存器,每個寄存器為一個定時通道,每個定時通道內(nèi)存儲有相應(yīng)通道的定時計數(shù)數(shù)據(jù);讀寫控制模塊對存儲模塊中包含的一個以上的定時通道從第I定時通道到第η定時通道依次讀寫一次,并循環(huán)進行,即定時開始后,讀寫控制模塊先對第I定時通道中的定時計數(shù)數(shù)據(jù)進行第一次讀寫,然后對第2定時通道中的定時計數(shù)數(shù)據(jù)進行第一次讀寫,一直到對第η定時通道進行第一次讀寫后,重新對第I定時通道進行第二次讀寫,依次循環(huán)進行。
[0010]在某些實施例中,所述存儲模塊包含1024個寄存器,每個寄存器為一個定時通道,每個定時通道內(nèi)存儲有相應(yīng)通道的定時計數(shù)數(shù)據(jù);讀寫模塊對每個存儲模塊中均包含的1024個定時通道依次進行讀寫一次,并循環(huán)進行。
[0011]進一步的,所述定時器包括一個以上的存儲模塊,所述存儲模塊均包含相同數(shù)量的寄存器,每個存儲模塊各自對應(yīng)一個定時判斷模塊和一個累加模塊,不同存儲模塊各自對應(yīng)的定時判斷模塊中存儲的定時配置數(shù)據(jù)不同;讀寫控制模塊同時對一個以上包含相同定時通道數(shù)量的存儲模塊進行讀取,并將讀取出的數(shù)據(jù)與各存儲模塊對應(yīng)的定時判斷模塊存儲的定時配置數(shù)據(jù)進行比較。
[0012]在某些實施例中所述定時器包括五個包含相同寄存器數(shù)量的存儲模塊,每個存儲模塊對應(yīng)一個定時判斷模塊和一個累加模塊。讀寫模塊同時對五個包含相同寄存器數(shù)量的存儲模塊進行讀取,并將讀取出的數(shù)據(jù)與各個存儲模塊對應(yīng)的定時判斷模塊存儲的定時配置數(shù)據(jù)進行比較。
[0013]進一步的,不同存儲模塊中對應(yīng)的定時通道同時為同一通信信道提供不同級別定時。
[0014]進一步的,所述定時計數(shù)數(shù)據(jù)初始值為零。
[0015]定時開始后,讀寫控制模塊同時從各個存儲模塊中的第一定時通道開始讀取其中的定時計數(shù)數(shù)據(jù),并將讀出的定時計數(shù)數(shù)據(jù)與各個存儲模塊對應(yīng)的定時判斷模塊中的定時配置數(shù)據(jù)進行比較,如果未達到定時配置數(shù)據(jù),則由各個存儲模塊各自對應(yīng)的累加模塊對定時計數(shù)數(shù)據(jù)進行加一處理,然后通過讀寫控制模塊寫回各個存儲模塊的第一定時通道取代原定時計數(shù)數(shù)據(jù)。隨后讀寫控制模塊對各個存儲模塊中第二定時通道至第η (η > I)定時通道中的定時計數(shù)數(shù)據(jù)依次進行一次讀取比較,完成后從第一定時通道重新開始循環(huán)讀取。
[0016]讀寫控制模塊從第一定時通道到第η (η ^ I)定時通道依次讀取完一次為一個定時步長,讀寫控制模塊對一個定時通道讀寫一次包括讀、改、寫三個步驟,共需要三個時鐘周期,因此一個定時步長=讀寫控制模塊的時鐘周期*3*存儲模塊包含的定時通道數(shù)η。
[0017]各個存儲模塊具有相同數(shù)量的定時通道,因此具有相同的定時步長,根據(jù)需要在定時判斷模塊設(shè)定不同的定時配置數(shù)據(jù),定時判斷模塊中存儲的定時配置數(shù)據(jù)=所需定時時間/定時步長。
[0018]存儲模塊中各通道存儲的定時計數(shù)數(shù)據(jù)達到相應(yīng)定時判斷模塊中的定時配置數(shù)據(jù)時,相應(yīng)定時判斷模塊對相應(yīng)通道輸出定時信號,同時相應(yīng)累加模塊將該通道的定時計數(shù)數(shù)據(jù)歸零,該存儲模塊中相應(yīng)定時通道定時重新開始。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明適用于通信領(lǐng)域定時通道多且同一通道具有不同定時時間需求的情況,采用具有相同通道數(shù)的幾組存儲器作為定時器,每個存儲器中的各個通道具用相同的定時時間,不同存儲器具有各自不同的定時時間,定時由讀寫控制模塊對存儲模塊的周期讀寫實現(xiàn),不需要計數(shù)器,每組定時器的定時到達時間一致,定時到達判斷簡單、實用。
[0020]【專利附圖】
【附圖說明】:
圖1為本發(fā)明流程圖; 圖2為本發(fā)明實施例的原理框圖。
【具體實施方式】
[0021]下面結(jié)合實施例及【具體實施方式】對本發(fā)明作進一步的詳細描述。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本
【發(fā)明內(nèi)容】
所實現(xiàn)的技術(shù)均屬于本發(fā)明的范圍。
實施例1
如圖1、2所示,本實施例所述多通道分組定時器采用型號為5CEFA4F23C8N的FPGA,包括讀寫控制模塊(由FPGA邏輯控制實現(xiàn))、存儲模塊(由FPGA中RAM塊實現(xiàn))、定時判斷模塊(由FPGA邏輯控制實現(xiàn))和累加模塊(由FPGA邏輯控制實現(xiàn)),其中,所述讀寫控制模塊與所述存儲模塊連接,所述存儲模塊與所述定時判斷模塊連接,所述定時判斷模塊與所述累加模塊連接,所述累加模塊與所述讀寫控制模塊連接,所述定時判斷模塊還包括定時輸出端□。
[0022]所述讀寫控制模塊用于控制所述存儲模塊定時計數(shù)數(shù)據(jù)的讀寫;所述存儲模塊用于儲存定時計數(shù)數(shù)據(jù);所述定時判斷模塊用于存儲定時配置數(shù)據(jù),并判斷定時計數(shù)數(shù)據(jù)是否到達定時配置數(shù)據(jù),所述定時判斷輸出端口用于在定時計數(shù)數(shù)據(jù)達到定時配置數(shù)據(jù)時輸出定時信號;所述累加模塊用于將定時計數(shù)數(shù)據(jù)加一或清零。
[0023]本實施例中包括五個存儲模塊,每個存儲模塊中包含有1024個寄存器,每個寄存器為一個定時通道,存放對應(yīng)通道的定時計數(shù)數(shù)據(jù),定時計數(shù)數(shù)據(jù)的初始值為O ;每個存儲模塊各自對應(yīng)一個定時判斷模塊和一個累加模塊;第一存儲模塊連接第一定時判斷模塊,第一定時判斷模塊連接第一累加模塊;第二存儲模塊連接第二定時判斷模塊,第二定時判斷模塊連接第二累加模塊;第三存儲模塊連接第三定時判斷模塊,第三定時判斷模塊連接第三累加模塊;第四存儲模塊連接第四定時判斷模塊,第四定時判斷模塊連接第四累加模塊;第五存儲模塊連接第五定時判斷模塊,第五定時判斷模塊連接第五累加模塊。
[0024]第一定時判斷模塊、第二定時判斷模塊、第三定時判斷模塊、第四定時判斷模塊、第五定時判斷模塊中存儲的定時配置數(shù)據(jù)各不相同。
[0025]本實施例中多通道分組定時器的實現(xiàn)方法,含如下工作步驟:
包含由讀寫控制模塊控制讀取存儲模塊內(nèi)存儲的定時計數(shù)數(shù)據(jù)與所述定時判斷模塊中同一定時配置數(shù)據(jù)作比較的步驟。
[0026]包含如所述定時計數(shù)數(shù)據(jù)未達到所述定時配置數(shù)據(jù)時,所述累加模塊將所述定時計數(shù)數(shù)據(jù)加一后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟。
[0027]包含如所述定時計數(shù)數(shù)據(jù)達到所述定時配置數(shù)據(jù)時,所述定時判斷模塊輸出定時信號,同時累加模塊將所述定時計數(shù)數(shù)據(jù)清零后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟。
[0028]所述存儲模塊中的定時計數(shù)數(shù)據(jù)均與所述定時判斷模塊中的同一定時配置數(shù)據(jù)做比較。
[0029]進一步的,讀寫控制模塊對每個存儲模塊中均包含的1024個定時通道從第一定時通道到第1024定時通道依次進行讀取,對1024個定時通道依次讀取完成一次為一個定時步長,隨后從第一定時通道重新開始循環(huán)讀??;所述定時步長=讀寫控制模塊的時鐘周期*3*存儲模塊包含的定時通道數(shù)。
[0030]進一步的,讀寫控制模塊同時對五個存儲模塊中的定時計數(shù)數(shù)據(jù)進行讀取,并將讀取出的數(shù)據(jù)與各個存儲模塊對應(yīng)的定時判斷模塊存儲的定時配置數(shù)據(jù)作比較。
[0031]定時開始后,讀寫控制模塊同時從五個存儲模塊中的第一定時通道開始讀取其中的定時計數(shù)數(shù)據(jù),并將讀出的定時計數(shù)數(shù)據(jù)與各個存儲模塊對應(yīng)的定時判斷模塊中的定時配置數(shù)據(jù)進行比較,如果未達到定時配置數(shù)據(jù),則由各個存儲模塊各自對應(yīng)的累加模塊進行加一處理,然后通過讀寫控制模塊寫回各個存儲模塊的第一定時通道取代原定時計數(shù)數(shù)據(jù)。隨后讀寫控制模塊對五個存儲模塊中第二定時通道至第1024定時通道中的定時計數(shù)數(shù)據(jù)依次進行一次讀寫比較,完成后從第一定時通道重新開始循環(huán)讀取。
[0032]讀寫控制模塊從第一定時通道到第1024定時通道依次讀取完一次為一個定時步長,讀寫控制模塊對單定時通道一次讀、改、寫需要三個時鐘周期,因此一個定時步長=讀寫控制模塊的時鐘周期*3*存儲模塊包含的定時通道數(shù),本實施例采用時鐘100MHZ,每個存儲模塊擁有1024個定時通道,則定時步長=0.00000001*3*1024=0.03072ms。
[0033]進一步的,各個定時判斷模塊中存儲的定時配置數(shù)據(jù)為所需定時時間與定時步長的比值。
[0034]第一存儲模塊欲實現(xiàn)3.3ms的定時,則第一定時判斷模塊中存儲的定時配置數(shù)據(jù)=3.3ms/0.03072ms ^ 107,轉(zhuǎn)換為二進制為 1101011。
[0035]第二存儲模塊欲實現(xiàn)1ms的定時,第二定時判斷模塊中存儲的定時配置數(shù)據(jù)=1000ms/0.03072ms ^ 268,轉(zhuǎn)換為二進制為 100001100
第三存儲模塊欲實現(xiàn)10ms的定時,第三定時判斷模塊中存儲的定時配置數(shù)據(jù)=1000ms/0.03072ms ^ 2688,轉(zhuǎn)換為二進制為 101010000000。
[0036]第四存儲模塊欲實現(xiàn)100ms的定時,第四定時判斷模塊中存儲的定時配置數(shù)據(jù)=1000ms/0.03072ms ^ 26881,轉(zhuǎn)換為二進制為 110100100000001。
[0037]第五存儲模塊欲實現(xiàn)60000ms的定時,第五定時判斷模塊中存儲的定時配置數(shù)據(jù)=60000ms/0.03072ms ^ 1953125,轉(zhuǎn)換為二進制為 111011100110101100101。
[0038]當?shù)谝淮鎯δK中各通道存儲的定時計數(shù)數(shù)據(jù)達到107時,則第一定時判斷模塊對相應(yīng)通道輸出定時信號,同時第一累加模塊將相應(yīng)通道的定時計數(shù)數(shù)據(jù)歸零,第一存儲模塊中相應(yīng)通道定時重新開始。
[0039]當?shù)诙鎯δK中各通道存儲的定時計數(shù)數(shù)據(jù)達到268時,則第二定時判斷模塊對相應(yīng)通道輸出定時信號,同時第二累加模塊將相應(yīng)通道的定時計數(shù)數(shù)據(jù)歸零,第二存儲模塊中相應(yīng)通道定時重新開始。
[0040]當?shù)谌鎯δK中各通道存儲的定時計數(shù)數(shù)據(jù)達到2688時,則第二定時判斷模塊對相應(yīng)通道輸出定時信號,同時第三累加模塊將相應(yīng)通道的定時計數(shù)數(shù)據(jù)歸零,第三存儲模塊中相應(yīng)通道定時重新開始。
[0041]當?shù)谒拇鎯δK中各通道存儲的定時計數(shù)數(shù)據(jù)達到26881時,則第四定時判斷模塊對相應(yīng)通道輸出定時信號,同時第四累加模塊將相應(yīng)通道的定時計數(shù)數(shù)據(jù)歸零,第四存儲模塊中相應(yīng)通道定時重新開始。
[0042]當?shù)谖宕鎯δK中各通道存儲的定時計數(shù)數(shù)據(jù)達到1953125時,則第五定時判斷模塊對相應(yīng)通道輸出定時信號,同時第五累加模塊將相應(yīng)通道的定時計數(shù)數(shù)據(jù)歸零,第五存儲模塊中相應(yīng)通道定時重新開始。
[0043]五個存儲模塊中的對應(yīng)的定時通道為同一通信信道提供定時。即,第一存儲模塊中的第n(l SnS 1024)定時通道、第二存儲模塊中的第η (I < η < 1024)定時通道、第三存儲模塊中的第η (I1024)定時通道、第四存儲模塊中的第η (I1024)定時通道、第五存儲模塊中的第η(1彡η彡1024)定時通道分別同時為同一通信信道提供3.3ms、10 ms> 100 ms、1000ms、60000ms的定時,其中第一存儲模塊為各個通信信道每3.3ms發(fā)出一次定時信號,第二存儲模塊為各個信道每1ms發(fā)出一次定時信號,第三存儲模塊為各個信道每10ms發(fā)出一次定時信號,第四存儲模塊為各個通信信道每100ms發(fā)出一次定時信號,第五存儲模塊為各個通信信道每60000ms發(fā)出一次定時信號。
[0044]本實施例提供的分組定時器實現(xiàn)方法可實現(xiàn)同時為1024個通信信道進行定時控制,每個信道可設(shè)置5個不同級別的(時間不同的)定時。
[0045]實施例2
某些實施例中定時器包含3個存儲模塊,每個存儲模塊中包含512個寄存器,每個寄存器為一個定時通道。可實現(xiàn)同時為512個通信信道進行定時控制,每個通道可設(shè)置3個不同級別的(時間不同的)定時,定時步長=讀寫控制模塊的時鐘周期*3*512。
[0046]實施例3
某些實施例定時器中包含10個存儲模塊,每個存儲模塊中包含256個寄存器,每個寄存器為一個定時通道,可實現(xiàn)同時對256個通信信道進行定時控制,每個通信信道可設(shè)置10個不同級別的(時間不同的)定時,定時步長=讀寫控制模塊的時鐘周期*3*256。
【權(quán)利要求】
1.一種多通道分組定時器的實現(xiàn)方法,所述定時器包括讀寫控制模塊、用于儲存定時計數(shù)數(shù)據(jù)的存儲模塊、用于存儲定時配置數(shù)據(jù)并判斷定時計數(shù)數(shù)據(jù)是否到達定時配置數(shù)據(jù)的定時判斷模塊和用于將定時計數(shù)數(shù)據(jù)加一或清零的累加模塊,所述讀寫控制模塊與所述存儲模塊連接,所述存儲模塊與所述定時判斷模塊連接,所述定時判斷模塊與所述累加模塊連接,所述累加模塊與所述讀寫控制模塊連接,所述定時判斷模塊還包括定時輸出端口,其特征在于,包含如下工作步驟: 包含由讀寫控制模塊控制讀取存儲模塊內(nèi)存儲的定時計數(shù)數(shù)據(jù)與所述定時判斷模塊中的定時配置數(shù)據(jù)作比較的步驟; 包含如所述定時計數(shù)數(shù)據(jù)未達到所述定時配置數(shù)據(jù)時,所述累加模塊將所述定時計數(shù)數(shù)據(jù)加一后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟; 包含如所述定時計數(shù)數(shù)據(jù)達到所述定時配置數(shù)據(jù)時,所述定時判斷模塊輸出定時信號,同時累加模塊將所述定時計數(shù)數(shù)據(jù)清零后由讀寫控制模塊重新寫入存儲模塊并替換原定時計數(shù)數(shù)據(jù)的步驟。
2.根據(jù)權(quán)利要求1所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,所述存儲模塊中的定時計數(shù)數(shù)據(jù)均與所述定時判斷模塊中的同一定時配置數(shù)據(jù)做比較。
3.根據(jù)權(quán)利要求2所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,讀寫控制模塊對存儲模塊中包含的一個以上的定時通道從第I定時通道到第η定時通道依次讀寫一次,并循環(huán)進行。
4.根據(jù)權(quán)利要求3所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,讀寫控制模塊對每個存儲模塊均包含的1024個定時通道從第I定時通道到第1024定時通道依次讀寫一次,并循環(huán)進行。
5.根據(jù)權(quán)利要求4或3所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,讀寫控制模塊同時對一個以上包含相同定時通道數(shù)量的存儲模塊進行讀取,并將讀取出的數(shù)據(jù)與各存儲模塊對應(yīng)的定時判斷模塊存儲的定時配置數(shù)據(jù)進行比較。
6.根據(jù)權(quán)利要求5所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,讀寫模塊同時對五個包含相同寄存器數(shù)量的存儲模塊進行讀取,并將讀取出的數(shù)據(jù)與各個存儲模塊對應(yīng)的定時判斷模塊存儲的定時配置數(shù)據(jù)進行比較。
7.根據(jù)權(quán)利要求6所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,讀寫控制模塊對存儲模塊中所有定時通道依次讀寫一次為一個定時步長,所述定時步長=讀寫控制模塊的時鐘周期*3*定時通道數(shù)。
8.根據(jù)權(quán)利要求7所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,各定時判斷模塊中存儲的定時配置數(shù)據(jù)為所需定時時間與定時步長的比值。
9.根據(jù)權(quán)利要求8所述的一種多通道分組定時器的實現(xiàn)方法,其特征在于,不同存儲模塊中對應(yīng)的定時通道同時為同一通信信道提供不同級別的定時。
【文檔編號】H04J3/06GK104168078SQ201410445023
【公開日】2014年11月26日 申請日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】胡強, 劉雁行, 許 鵬 申請人:成都朗銳芯科技發(fā)展有限公司