專利名稱:一種實時時鐘自鎖的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式信息技術(shù)領(lǐng)域,尤其是實時時鐘系統(tǒng)。
背景技術(shù):
在當(dāng)今的數(shù)字化時代,移動電子設(shè)備已經(jīng)滲入到日常生活的方方面面,而專用集成電路(ASIC)無疑是這些移動電子設(shè)備的核心。在許多移動電子設(shè)備尤其是手持設(shè)備中都要求支持實時時鐘RTC (Real Time Clock)。實時時鐘是一種高密度集成的專用時鐘集成電路或?qū)S眉呻娐纺K,適用于所有需要準(zhǔn)確計時及需要微功耗的場合,例如手機(jī)、數(shù)碼相機(jī)、電腦、電視機(jī)、高精度時鐘、可編程時間控制器等等。實時時鐘RTC的基本功能是提供時、分、秒、日歷、定時等時間信息。移動電子設(shè)備對微功耗提出了很高的要求,并且由于RTC的特殊功能,要求其在系統(tǒng)掉電后或電源切換時能用備用電池供電,以保證系統(tǒng)時鐘不丟失,這一要求的實現(xiàn)方法就是RTC自鎖技術(shù)。在有些應(yīng)用中,時鐘和日期信息在系統(tǒng)掉電后將會丟失,而在大多數(shù)應(yīng)用中要求系統(tǒng)在主電源斷電時仍可以保持時鐘和日期信息有效。為了保持時鐘振蕩器持續(xù)運(yùn)轉(zhuǎn),可以采用主/輔電源結(jié)構(gòu)或大電容配合主電源為時鐘電路供電,這樣RTC內(nèi)部還必須提供兩組電源的切換電路。此外RTC設(shè)計還應(yīng)該注重低功耗要求,以使其在電池供電時有盡可能低的功耗。電源切換控制電路通常由主電源供電,需要時可以切換到電池供電,并將RTC置為低功耗模式,電池供電時可以禁止微處理器與RTC之間的通信,這就是RTC的自鎖,從而使電池電流降至最小,同時避免數(shù)據(jù)被破壞。傳統(tǒng)的RTC通常提供并口或串口與單片機(jī)進(jìn)行通信,單片機(jī)可以很方便地對其進(jìn)行讀寫控制。對于提供并行數(shù)據(jù)的RTC,可以直接連接到單片機(jī)的數(shù)據(jù)總線上,也可以用單片機(jī)的I/O端口 ;對于提供串行接口的RTC,一般是用單片機(jī)的I/O 口線模擬串行口,實現(xiàn)對RTC的讀寫操作。隨著集成電路邁入SOC階段,時鐘在整個片上系統(tǒng)中的作用就更為重要了,對于RTC這種對數(shù)據(jù)傳輸速率要求不是很高的模塊,將其連接在系統(tǒng)的APB總線上即可滿足其要求,同時可以降低系統(tǒng)的功耗,這就要求RTC模塊具有標(biāo)準(zhǔn)的APB接口。隨著集成電路的深亞微米制造工藝以及設(shè)計技術(shù)的迅速發(fā)展,芯片設(shè)計的復(fù)雜性迅速增加,而市場競爭的壓力迫使設(shè)計者應(yīng)該最大限度地縮短設(shè)計周期。如何利用前人的成功設(shè)計經(jīng)驗和設(shè)計資料十分必要,這就要求設(shè)計者能夠重復(fù)使用已經(jīng)設(shè)計并經(jīng)過驗證的知識產(chǎn)權(quán)模塊IPdntellectual Property).由于IP核已經(jīng)進(jìn)行了驗證,設(shè)計者可以專注于整個系統(tǒng)的設(shè)計,為了提高設(shè)計速度,充分利用現(xiàn)有資源,降低成本,縮短產(chǎn)品上市時間, 必須提供一種通用的解決方法。
發(fā)明內(nèi)容
本發(fā)明解決的問題本發(fā)明的目的在于解決RTC的自鎖以保證系統(tǒng)時間在斷電或切換電源時的正確性,提供一種系統(tǒng)性能高,性能穩(wěn)定,功耗地的RTC的自鎖方法。通過這種方法可以方便地實現(xiàn)RTC的相關(guān)功能,提高RTC的整體性能。并且在IP模塊復(fù)用的專用集成電路設(shè)計中提供一種通用的解決方法,縮短產(chǎn)品研制時間,同時降低設(shè)計成本。本發(fā)明的解決方案本發(fā)明提出了一種RTC自鎖的實現(xiàn)方法,該方法具有方便靈活的特點(diǎn),可以方便地實現(xiàn)RTC的加鎖與解鎖。本發(fā)明提出的一種RTC自鎖的實現(xiàn)方法,將實現(xiàn)過程分為三部分初始化部分,移位部分,檢測部分。初始化部分在系統(tǒng)復(fù)位后將解鎖密碼加載到RTC解鎖線性移位寄存器R中,完成系統(tǒng)的初始化,也為下面的步驟奠定基礎(chǔ),如圖1所示。初始化部分在解鎖信號到來時將解鎖密碼加載到RTC解鎖線性移位寄存器中,在加鎖信號到來時將加鎖密碼加載到RTC解鎖線性移位寄存器中,如圖2、圖3所示。根據(jù)實際需要,加鎖和解鎖密碼長度可選擇,即圖1、 2、3中的線性移位寄存器的長度η可選。移位部分在既無加鎖信號又無解鎖信號到來時將RTC解鎖線性移位寄存器線性移位,把加載到RTC解鎖線性移位寄存器中的密碼通過最低位寄存器移出,并將最高位填 0,如圖4所示。該RTC自鎖實現(xiàn)方法中包括實時自鎖狀態(tài)輸出信號,以指示當(dāng)前進(jìn)行的加鎖過程或者解鎖過程有沒有完成。其實現(xiàn)方法是在RTC自鎖電路中加入一個RTC解鎖狀態(tài)線性移位寄存器SR,在系統(tǒng)復(fù)位后將RTC解鎖狀態(tài)線性移位寄存器置為全0。在解鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器的最高位置1,其余位置0,如圖5所示。在加鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器的最高位置0,其余位置1,如圖6所示。在既無加鎖信號又無解鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器線性移位,并將該線性移位寄存器中的值通過最低位移出,最高位保持不變,如圖7所示。檢測部分包括一個和RTC解鎖線性移位寄存器等長的檢測線性移位寄存器CR。該寄存器接收由RTC解鎖線性移位寄存器最低位移出的數(shù)據(jù)并通過最高位輸入,然后依次向最低位移動,如圖8所示。檢測部分的檢測線性移位寄存器具有檢測接收到的RTC解鎖線性移位寄存器的數(shù)據(jù)是加鎖密碼還是解鎖密碼的功能,當(dāng)檢測到接收到的密碼是解鎖密碼的時候?qū)⑨尫判盘柪?,?dāng)檢測到接收到的密碼是加鎖密碼的時候則將斷言信號拉高。即
isoIation_assert=(CRn==lock_keyn)&&( CRn-l==lock_keyn_l)&&( CRn_2==lock_
keyn-2) &&......&& (CRl==lock_keyl);
isoIat ion_release=(CRn==unlock_keyn) &&( CRn-l==unlock_keyn_l)&&(
CRn-2==unlock_keyn-2)&&......&& (CRl==unlock_keyl);
檢測部分根據(jù)釋放信號和斷言信號來決定RTC自鎖是否執(zhí)行,當(dāng)釋放信號為高時則 RTC自鎖信號拉低,解除RTC自鎖,當(dāng)斷言信號為高時則RTC自鎖信號拉高,執(zhí)行RTC自鎖。 從而完成RTC的自鎖或解鎖。RTC自鎖系統(tǒng)的整體硬件結(jié)構(gòu)如圖9所示。上述技術(shù)方案的工作原理如下
1.通過密碼匹配的方式實現(xiàn)加鎖和解鎖,避免由于干擾信號造成系統(tǒng)錯誤的加鎖或解鎖。本設(shè)計通過檢測η位密碼是否匹配來完成RTC的加鎖和解鎖,只有在η位密碼完全匹配的時候才執(zhí)行加鎖或解鎖操作。在實際的SOC系統(tǒng)中存在各種噪音,這些噪音可能導(dǎo)致某些信號發(fā)生反轉(zhuǎn),如果不使用η位密碼匹配的方式而只使用一根信號線或者一位密碼來控制加鎖和解鎖操作,則可能因為噪音的影響而錯誤地執(zhí)行,從而引起系統(tǒng)錯誤。本設(shè)計采用匹配η位密碼的方式來判斷是否執(zhí)行加鎖或解鎖操作,在η位密碼都匹配正確的情況下才會執(zhí)行加鎖或解鎖操作,而由于噪音信號導(dǎo)致η位密碼都恰好正確的概率相當(dāng)?shù)停砸话悴粫驗樵肼晫?dǎo)致系統(tǒng)錯誤的操作,從而提高了系統(tǒng)的抗干擾能力,增強(qiáng)了系統(tǒng)的穩(wěn)定性。2. RTC自鎖對所有除檢測線性移位寄存器輸入信號外的信號進(jìn)行隔離,以保證系統(tǒng)在需要解鎖時可以通過這個信號進(jìn)行解鎖。而其它信號的隔離則保證系統(tǒng)時鐘的正確性及滿足低功耗的要求。RTC域采用獨(dú)立的電源供電,保證在系統(tǒng)斷電后仍可以正常地工作, 另外RTC模塊有許多和外部模塊交互的信號,由于這些信號的存在會導(dǎo)致RTC額外的功耗或者引入噪聲信號,將這些信號在不使用時進(jìn)行隔離會提高RTC的穩(wěn)定性,降低RTC的功耗,提高系統(tǒng)性能。當(dāng)需要對RTC進(jìn)行操作時可以通過線性移位寄存器輸入信號進(jìn)行解鎖, 因為這個信號是不被隔離的,所以可以對RTC進(jìn)行操作。在通過這個信號解鎖成功后可以進(jìn)行后續(xù)的操作,操作完成后可以再次將RTC加鎖。這種合理的工作流程可以顯著提高RTC 的整體性能,提高穩(wěn)定性,降低功耗。3.通過一根信號線串行輸入密碼的方式進(jìn)行加鎖和解鎖,在保證加鎖、解鎖功能可正常及可靠實現(xiàn)的基礎(chǔ)上,將不能隔離的信號線數(shù)量減至最低,提高了隔離度,從而降低了功耗,延長了 RTC獨(dú)立電源的使用壽命,也可以增強(qiáng)對噪音的抵抗能力,提高系統(tǒng)的穩(wěn)定性。另外,只使用一根信號線進(jìn)行加鎖解鎖操作也降低了硬件資源的開銷,可以提高產(chǎn)品的整體競爭力。4.密碼長度可配置,提高了系統(tǒng)的靈活性。本實現(xiàn)方法中的η位密碼可以根據(jù)實際需要來選擇。如果系統(tǒng)的工作環(huán)境較好,則存在的噪音會相對較少,于是可以相應(yīng)選擇較短的密碼長度,而如果系統(tǒng)的工作環(huán)境較差,噪音較多,則可以相應(yīng)增加密碼的長度,從而在較差的環(huán)境下保持相同的可靠性。這對在工作環(huán)境較差的應(yīng)用中具有重要意義,例如汽車電子,宇航電子等。5.本實現(xiàn)方法中包含實時自鎖狀態(tài)輸出信號,以指示當(dāng)前進(jìn)行的加鎖過程或者解鎖過程有沒有完成,系統(tǒng)可以實時監(jiān)測加鎖或解鎖的進(jìn)程,以便進(jìn)行后續(xù)操作。這個狀態(tài)指示信號增強(qiáng)了 RTC模塊的控制能力,提高了 RTC的性能。6.在密碼長度可選的情況下,較短密碼使用的R、SR可以和較長密碼使用的R、SR 的低位復(fù)用,以充分利用資源。本發(fā)明在完成上述發(fā)明目的外還具有以下有益效果
1、通過密碼正配方式,避免了干擾信號造成的錯誤加鎖或解鎖,增強(qiáng)了系統(tǒng)的穩(wěn)定性。2、檢測線性移位寄存器除了輸入信號外,對其他信號進(jìn)行了隔離,保證了時鐘的正確性和低功耗。3、工作流程合理,在解鎖成功后,進(jìn)行后續(xù)操作,后續(xù)操作完成后再次將RTC加鎖,這種合理的流程顯著地提高了 RTC的整體性能。4、對IP模塊進(jìn)行了復(fù)用,縮短了開發(fā)時間,提高了適應(yīng)性能。
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖1為RTC解鎖線性移位寄存器R初始化配置圖; 圖2為RTC解鎖信號到來時RTC解鎖線性移位寄存器R配置圖; 圖3為RTC加鎖信號到來時RTC解鎖線性移位寄存器R配置圖; 圖4為既無加鎖信號又無解鎖信號時RTC解鎖線性移位寄存器R移位示意圖; 圖5為RTC解鎖信號到來時RTC解鎖狀態(tài)線性移位寄存器SR配置圖; 圖6為RTC加鎖信號到來時RTC解鎖狀態(tài)線性移位寄存器SR配置圖; 圖7為既無加鎖信號又無解鎖信號時RTC解鎖狀態(tài)線性移位寄存器SR移位示意圖; 圖8為檢測線性移位寄存器CR工作示意圖,該寄存器接收由RTC解鎖線性移位寄存器最低位移出的數(shù)據(jù)并通過最高位輸入,然后依次向最低位移動。圖9為RTC自鎖系統(tǒng)的整體硬件結(jié)構(gòu)示意圖。
具體實施例方式下面以對本設(shè)計的RTL代碼進(jìn)行注釋的方式來對具體實施方式
作進(jìn)一步詳細(xì)描述。假設(shè)加鎖、解鎖密碼長度可選為5或10。always (posedge elk or negedge in—resetn) begin
if(!in_resetn)//初始化部分在系統(tǒng)復(fù)位信號到來時將
begin//解鎖密碼加載到RTC解鎖線性移位寄
RlO <= unlock_keylO; //存器中。R9 <= unlock_key9; R8 <= unlock_key8;
R7 <= unlock_key7 R6 <= unlock_key6; R5 <= unlock_key5; R4 <= unlock_key4; R3 <= unlock_key3; R2 <= unlock_key2 Rl <= unlock_keyl;
end
else if (switch_lock_length==l,bO)// 此時用戶選擇 5bit 密碼模式。begin
if(in_rtc_domain_unlock)//在解鎖信號到來時將解鎖密碼加
begin//載到RTC解鎖線性移位寄存器中。R5 <= unlock_key5; R4 <= unlock_key4;
R3 <= unlock_key3; R2 <= unlock_ley2; Rl <= unlock_keyl; endelse if(in_rtc_domain_lock)//在加鎖信號到來時將加鎖密碼
begin//加載到RTC解鎖線性移位寄存
R5 <= lock_key5;//器中。R4 <= lock_key4; R3 <= lock_key3;
R2 <= lock_key2; Rl <= lock_keyl; end
elseIl在既無加鎖信號也無解鎖信號
beginIl到來時將RTC解鎖線性移位寄
R5 <= 1,b0 ;//存器線性移位,把加載到RTC解
R4 <= R5;//鎖線性移位寄存器中的密碼通過
R3 <= R4;//最低位寄存器移出,并將最高位
R2 <= R3;//填 0。Rl <= R2; end
end
else//switch_lock_length=l,此時為 IObit 密碼模式
begin
if(in_rtc_domain_unlock)//在解鎖信號到來時將解鎖密碼加
begin//載到RTC解鎖線性移位寄存器中。RlO <= unlock_keylO; R9 <= unlock_key9;
R8 <= unlock_key8; R7 <= unlock_ley7; R6 <= unlock_key6; R5 <= unlock_key5; R4 <= unlock_key4; R3 <= unlock_key3; R2 <= unlock_ley2; Rl <= unlock_keyl;
end
else if(in_rtc_domain_lock)//在加鎖信號到來時將加鎖密碼
begin//加載到RTC解鎖線性移位寄存
RlO <= lock_keyl0;//器中。R9 <= lock_key9; R8 <= lock_key8;
R7 <= lock_ley7; R6 <= lock_key6;R5 <= lock_key5; R4 <= lock_key4; R3 <= lock_key3; R2 <= lock_ley2; Rl <= lock_keyl;
end
elseIl在既無加鎖信號也無解鎖信號
beginIl到來時將RTC解鎖線性移位寄
RlO <= 1,b0 ;Il存器線性移位,把加載到RTC解
R9 <= R10;//鎖線性移位寄存器中的密碼通過
R8 <= R9;//最低位寄存器移出,并將最高位
R7 <= R8;//填 0。R6 <= R7 ; R5 <= R6;
R4 <= R5; R3 <= R4; R2 <= R3; Rl <= R2;
end end end
alwaysi (posedge elk)
beginIl檢測部分接收移位部分最低位移出
CR5_5 <= Rl;//的數(shù)據(jù)并通過最高位輸入,這里檢測
CR4_5 <= unlock5_5;//的是 5bit 密碼的情況。CR3_5 <= unlock4_5; CR2_5 <= unlock3_5; CR1_5 <= unlock2_5;
end
alwaysi (posedge elk)
begin//這里檢測的是IObit密碼的情況。CR10_10 <= Rl; CR9_10 <= unlockl0_10; CR8_10 <= unlock9_10; CR7_10 <= unlock8_10; CR6_10 <= unlock7_10; CR5_10 <= unlock6_10; CR4_10 <= unlock5_10; CR3_10 <= unlock4_10;CR2_10 <= unlock3_10; CR1_10 <= unlock2_10;
end
assign isolation_release_5 = ((CR5_5==unlock_key5)&&// 解鎖信號通過判
(CR4_5==unlock_key4) &&// 斷接收的是否為 (CR3_5==unlock_key3) &&// 解鎖密碼來斷言。(CR2_5==unlock_key2) &&// 這里為 5bit 密碼
(CRl_5==unlock_keyl)) ; // 的情況。
assign isolation_assert_5= ((CR5_5==lock_key5) && //加鎖信號通過判
(CR4_5==lock_key4)&& //斷接收的是否為 (CR3_5==lock_key3)&& // 加鎖密碼來斷言。(CR2_5==lock_key2)&& //這里為 5bit 密碼
(CRl_5==lock_keyl)) ; // 的情況。
assign isolation_release_10= ((CR10_10==unlock_keyl0) &&//這里是 IObit 密
(CR9_10==unlock_key9) && // 碼的情況。(CR8_10==unlock_key8)&&
(CR7_10==unlock_key7)&& (CR6_10==unlock_key6) && (CR5_10==unlock_key5)&& (CR4_10==unlock_key4)&& (CR3_10==unlock_key3)&& (CR2_10==unlock_key2)&& (CRl_10==unlock_keyl));
assign isolation_assert_10= ((CR10_10==lock_keyl0) && 丨丨加鎖信號通過判
(CR9_10==lock_key9)&& //斷接收的是否為 (CR8_10==lock_key8)&& // 加鎖密碼來斷言。(CR7_10==lock_key7)&& //這里為 IObit 密碼
(CR6_10==lock_key6)&& //的情況。(CR5_10==lock_key5)&&
(CR4_10==lock_key4)&& (CR3_10==lock_key3)&& (CR2_10==lock_key2)&& (CRl_10==lock_keyl));
alwaysi(posedge elk)//最終的加鎖信號產(chǎn)生部分,
begin//switch_lock_length=0 時是選擇 5
if (switch_lock_length==0)//bit 密碼的情況,switch_lock_length=l
begin//時是選擇IObit密碼的情況。
if (isolation_release_5)//這里是 5bit 密碼的情況 rtc_domain_isolate <=l,b0; //如果檢測到解鎖密碼則將加鎖
else if(isolation_assert_5)//信號拉低,如果檢測到加鎖信
rtc_domain_isolate <=l,bl; //號則將加鎖信號拉高。end else
begin
if (isolation_release_10)// 這里是 IObit 密碼的情況。rtc_domain_isolate <= 1,b0; else if(isolation_assert_10)
rtc_domain_isolate <=1' bl;
end
end
assign out_rtc_domain_isolate = rtc_domian_isolate; Il信號out_rtc_domain_isolate即為最終的加鎖信號。H如果isolation_release為1則執(zhí)行解鎖操作。Il如果isolation_assert為1則執(zhí)行加鎖操作。
alwaysi(posedge elk or negedge in_resetn) begin
if (! in_resetn)//復(fù)位信號到來時將RTC解鎖狀態(tài)
begin//線性移位寄存器置為全0。SRlO <= l,b0; SR9 <= 1,b0 ;
SR8 <= 1,b0 ; SR7 <= l,b0; SR6 <= 1,b0 ; SR5 <= l,b0; SR4 <= 1,b0 ; SR3 <= l,b0; SR2 <= l,b0; SRl <= l,b0; SRO <= 1,b0 ; end
else if (switch_lock_length==l' bO)// 此時選擇 5bit 密碼格式。begin
if (in_rtc_domain_unlock)//在解鎖信號到來時將RTC解鎖
begin//狀態(tài)線性移位寄存器的最高位
SR5 <= l,bl;//置 1,其余位置 0。
SR4<= 1,b0 ; SR3 <=l,bO; SR2 <=l,bO; SRl <=l,bO; SRO <=1,bO ;
end
else if(in_rtc_domain_lock)//在加鎖信號到來時將RTC解鎖
begin//狀態(tài)線性移位寄存器的最高位
SR5 <=l,b0; //置 0,其余位置 1。SR4<= l,bl; SR3 <=l,bl; SR2 <=l,bl; SRl <=l,bl; SRO <=l,bl;
end
elseIl在既無加鎖信號又無解鎖信號
beginIl到來時將RTC解鎖狀態(tài)線性
SR5 <=SR5; //移位寄存器線性移位,并將該
SR4 <=SR5; //線性移位寄存器中的值通過最
SR3 <=SR4; //低位移出,最高位保持不變。SR2<= SR3 ; SRl <=SR2; SRO <=SRl;
end
end
else//此時選擇IObit密碼格式。begin
if (in_rtc_domain_unlock)//在解鎖信號到來時將RTC解鎖
begin//狀態(tài)線性移位寄存器的最高位
SRlO <=l,bl; //置 1,其余位置 0。SR9<= 1,bO ; SR8 <=1,bO ; SR7 <=l,b0; SR6 <=1,bO ; SR5 <=l,b0; SR4 <=1,bO ; SR3 <=l,b0; SR2 <=l,b0; SRl <=l,b0;SRO <= 1,b0 ; end
else if(in_rtc_domain_lock)//在加鎖信號到來時將RTC解鎖
begin//狀態(tài)線性移位寄存器的最高位
SRlO <= l,b0;//置 0,其余位置 1。SR9 <= l,bl; SR8 <= l,bl; SR7 <= l,bl; SR6 <= l,bl; SR5 <= l,bl; SR4 <= l,bl; SR3 <= l,bl; SR2 <= l,bl; SRl <= l,bl; SRO <= l,bl;
end else begin
SRlO <= SRlO;//在既無加鎖信號又無解鎖信號
SR9 <= SRlO ;//到來時將RTC解鎖狀態(tài)線性
SR8 <= SR9;//移位寄存器線性移位,并將該
SR7 <= SR8;//線性移位寄存器中的值通過最
SR6 <= SR7;//低位移出,最高位保持不變。SR5 <= SR6 ; SR4 <= SR5; SR3 <= SR4; SR2 <= SR3; SRl <= SR2; SRO <= SRl;
end end
end
assign lock_state = SRO;//lock_state 信號即為解鎖狀態(tài)信號。
權(quán)利要求
1.一種實時時鐘自鎖的實現(xiàn)方法,實現(xiàn)過程分為三部分初始化部分,移位部分,檢測部分,初始化部分在系統(tǒng)復(fù)位后將解鎖密碼加載到RTC解鎖線性移位寄存器中,在解鎖信號到來時將解鎖密碼加載到RTC解鎖線性移位寄存器中,在加鎖信號到來時將加鎖密碼加載到RTC解鎖線性移位寄存器中,其密碼長度可選,其特征是移位部分在既無加鎖信號又無解鎖信號到來時將RTC解鎖線性移位寄存器線性移位,把加載到RTC解鎖線性移位寄存器中的密碼通過最低位寄存器移出,并將最高位填0 ;在RTC自鎖電路中加入一個RTC解鎖狀態(tài)線性移位寄存器,其長度比RTC解鎖線性移位寄存器大1,在系統(tǒng)復(fù)位后將RTC解鎖狀態(tài)線性移位寄存器置為全0 ;在解鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器的最高位置1,其余位置0 ;在加鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器的最高位置0,其余位置1 ;在既無加鎖信號又無解鎖信號到來時將RTC解鎖狀態(tài)線性移位寄存器線性移位,并將該線性移位寄存器中的值通過最低位移出,最高位保持不變;檢測部分包括一個和RTC解鎖線性移位寄存器等長的檢測線性移位寄存器;該寄存器接收由RTC解鎖線性移位寄存器最低位移出的數(shù)據(jù)并通過最高位輸入,然后依次向最低位移動。
2.根據(jù)權(quán)利要求1所述的實時時鐘自鎖的實現(xiàn)方法,其特征是檢測部分的檢測線性移位寄存器具有檢測接收到的RTC解鎖線性移位寄存器的數(shù)據(jù)是加鎖密碼還是解鎖密碼的功能,當(dāng)檢測到接收到的密碼是解鎖密碼的時候?qū)⑨尫判盘柪撸?dāng)檢測到接收到的密碼是加鎖密碼的時候則將斷言信號拉高。
3.根據(jù)權(quán)利要求2所述的實時時鐘自鎖的實現(xiàn)方法,其特征是檢測部分根據(jù)釋放信號和斷言信號來決定RTC自鎖是否執(zhí)行,當(dāng)釋放信號為高時則RTC自鎖信號拉低,解除RTC 自鎖,當(dāng)斷言信號為高時則RTC自鎖信號拉高,執(zhí)行RTC自鎖,從而完成RTC的自鎖或解鎖。
全文摘要
本發(fā)明涉及嵌入式信息技術(shù)領(lǐng)域,現(xiàn)有技術(shù)的實時時鐘自鎖方法功耗不夠低,系統(tǒng)抗干擾信號能力低,系統(tǒng)的穩(wěn)定性不高,方法的適應(yīng)性差,為此,本發(fā)明提供了一種新的實時時鐘自鎖方法的技術(shù)方案,包括在RTC自鎖電路中加入了一個解鎖狀態(tài)線性移位寄存器,和解鎖線性移位寄存器等長的檢測線性移位寄存器和與其相適應(yīng)的一套操作程序,技術(shù)方案達(dá)到了發(fā)明目的具有以下有益效果,系統(tǒng)穩(wěn)定性高,保證了時鐘正確性和低功耗,并對IP模塊進(jìn)行了復(fù)用,縮短了開發(fā)時間,提高了適應(yīng)性能。
文檔編號G06F1/14GK102508514SQ201110330888
公開日2012年6月20日 申請日期2011年10月27日 優(yōu)先權(quán)日2011年10月27日
發(fā)明者劉新寧, 李倩, 王鎮(zhèn), 申云飛, 黃丹丹 申請人:無錫東集電子有限責(zé)任公司