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