• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種帶有涓流充電的RTC驗證方法研究

      2022-04-19 05:57:04琳,郎
      微處理機 2022年2期
      關(guān)鍵詞:預(yù)置寄存器鬧鐘

      蘇 琳,郎 猛

      (中國電子科技集團公司第四十七研究所,沈陽 110000)

      1 引言

      隨著消費類電子產(chǎn)品和工業(yè)控制產(chǎn)品的應(yīng)用越來越廣,實時時鐘的需求也在不斷增加。在當前國際形勢下,研發(fā)一種能適應(yīng)嚴苛環(huán)境的高精度、高集成度時鐘模塊的需求日漸迫切[1]。在芯片設(shè)計過程中,邏輯功能驗證是其中一個重要環(huán)節(jié),作為芯片封裝后的一種檢驗手段,結(jié)合設(shè)計初期的邏輯仿真及后期的參數(shù)指標測試,可最大限度發(fā)現(xiàn)芯片邏輯上、工藝上的錯誤與缺陷,對減少流片次數(shù)、降低研制成本具有現(xiàn)實的經(jīng)濟意義。本研究中選用的時鐘模塊的計時范圍為100年,由于此功能的特殊性,在實際應(yīng)用中要完整驗證是不可能的,因此需要探尋一種適當可行的驗證方法,以提供一種合理、快速的驗證過程,為產(chǎn)品研發(fā)和生產(chǎn)提供測試手段[2]。

      2 功能特點

      研究中使用的時鐘模塊為筆者單位自行研制,具有高精度、斷電工作等特點,兼?zhèn)銻TC、日歷、鬧鐘報警、閏年補償、時間12/24小時格式切換、四個中斷輸出及可選擇頻率方波輸出等功能。為其設(shè)置114字節(jié)的靜態(tài)RAM存儲空間,并內(nèi)置鋰電池與頻率為32.768 kHz的柱形無源晶振,當電源掉電,電路將檢測到主電源故障,可自動切換到內(nèi)置備用電池供電。該模塊也支持Intel和Motorola兩鐘總線訪問模式,具有較高的集成度和環(huán)境適應(yīng)性[3]。

      模塊包含四個控制寄存器,依次編號為A、B、C、D??刂萍拇嫫鰽設(shè)置時間更新、振蕩器使能和方波/周期性頻率輸出速率;控制寄存器B為使能寄存器,主要包括周期性中斷使能、鬧鐘中斷使能、更新結(jié)束中斷使能、方波使能、夏令時使能;控制寄存器C為中斷標志寄存器,主要包括中斷請求標志、周期性中斷標志、鬧鐘中斷標志、更新結(jié)束中斷標志;控制寄存器D主要檢測電池電量情況,用以判斷RTC和RAM內(nèi)的數(shù)據(jù)是否可靠。

      3 功能驗證

      3.1 周期頻率驗證

      寄存器A的位定義如表1所示。其中DV2、DV1、DV0是振蕩器控制位,“010”是唯一開啟振蕩器并使能計時鏈的組合形式,寫入后500 ms開始數(shù)據(jù)更新。11x組合將打開振蕩器,并使計時鏈保持在復(fù)位狀態(tài),其他組合態(tài)將關(guān)閉振蕩器[4]。

      表1 控制寄存器A

      初次使用RTC涉及到振蕩器的打開操作,即設(shè)置DV2=0,DV1=1,DV0=0,其它流程默認振蕩器已開啟。

      周期性方波功能相當一種可選擇的頻率發(fā)生器。寄存器A的RS3、RS2、RS1、RS0稱為速率選擇器,對應(yīng)15種輸入,可選擇13種獨立輸出;選擇器為“0”時為禁止輸出。設(shè)置選擇器(RS3、RS2、RS1、RS0)為n,則分頻數(shù)F(n)在不同取值下的形式如下:

      當n=0, F(n)=None;

      當1≤n≤2, F(n)=2(9-n);

      當3≤n≤15,F(xiàn)(n)=2(16-n)。

      因為RTC模塊內(nèi)置晶振頻率為32.768 kHz,所以對RTC提供32768個脈沖即可模擬1 s周期的狀態(tài)。為了能精確驗證計數(shù)鏈,在設(shè)計驗證板卡時預(yù)留了程序脈沖接入端。

      使用周期性中斷會使驗證過程更高效便捷。如表2所示為寄存器B中的周期性中斷使能(PIE);如表3所示為寄存器C中的周期性中斷標志(PF)。兩者共同決定中斷是否發(fā)生。

      表2 控制寄存器B

      PF以寄存器A中RS3~RS0位指定的速率產(chǎn)生周期性置位。當PIE置1,將允許中斷;清0時,阻止中斷,PF=PIE=1,使得中斷請求標志IRQF置1,同時拉低IRQ并觸發(fā)中斷。PF位不可寫,可通過讀寄存器C或由RESET清除。

      開啟周期性中斷,記錄1 s期間(以32768個脈沖模擬)的中斷次數(shù),其數(shù)值應(yīng)與設(shè)定的分頻數(shù)一致,即選擇器(RS3、RS2、RS1、RS0)設(shè)定為n,分段函數(shù)F(n)的值等于中斷發(fā)生的次數(shù),15組均符合則視為驗證通過。

      各個部分可能涉及不同的控制寄存器,以及其它存儲單元,作為兼容設(shè)計,在具體場合下還需參考相應(yīng)部分的描述,流程內(nèi)則以標號形式引入,不做過多文字表述,有些只陳述方法。

      3.2 時鐘和中斷鏈驗證

      實時時鐘的驗證須結(jié)合更新結(jié)束中斷才更方便,因此,要用到寄存器B及寄存器C。

      寄存器B中的更新使能位(SET)面向用戶層,便于讀寫操作。清0時,更新傳輸功能保持正常;置1時,禁止任何更新傳輸。用戶程序可以對時鐘和日歷字節(jié)進行讀寫操作,而不會出現(xiàn)因時鐘跳變及進位引起的讀寫錯誤。更新結(jié)束中斷使能(UIE)為1,則允許對應(yīng)的更新結(jié)束中斷標志(UF)驅(qū)動產(chǎn)生IRQ信號,SET變高,將屏蔽UIE位。數(shù)據(jù)模式(DM)位表示時鐘和日歷信息格式,DM=1為二進制格式,為0則為BCD格式。24/12位決定小時字節(jié)的格式,1代表24小時制,0代表12小時制。夏令時設(shè)置位(DSE)置1時有效[5]。中斷請求標志(IRQF)位在PF=PIE=1、AF=AIE=1、UF=UIE=1任一條件成立情況下,則IRQF=1;全部條件均不成立,則IRQF=0。更新結(jié)束中斷標志(UF)為UF=UIE=1,使得IRQ信號變低并使IRQF置1,該位不可寫,可通過讀寄存器C或RESET變低清除。

      對RTC時鐘管腳每發(fā)32768個脈沖,應(yīng)產(chǎn)生一次秒計數(shù),并產(chǎn)生更新結(jié)束中斷,來檢查秒計數(shù)邏輯的正確性,從而在中斷處理程序中完成數(shù)據(jù)格式、范圍和計數(shù)功能驗證。分鐘驗證則“跳過”秒級計數(shù),即每次預(yù)置seconds=59;小時驗證則跳過秒和分計數(shù),即每次預(yù)置seconds=59,minutes=59。使得分鐘和小時的每次計數(shù)時間等于秒周期,并且每一時段都能遍歷到,既驗證了各段計數(shù)鏈,也驗證了中斷鏈。通過這種方式,將顯著提高驗證效率,且不損失邏輯的完備性。如圖1所示為完整的驗證流程圖。

      圖1 時鐘和中斷鏈驗證流程圖

      3.3 閏年、小時制與夏令時驗證

      閏年定義為普通年份數(shù)字可被4整除且不被100整除的、世紀年份數(shù)字可被400整除的。此處驗證閏年2月份是否為29天,即驗證從28天跳到29天的過程和29天跳到3月第1天的過程,亦即時間設(shè)置為閏年28日23:59:59跳一秒后驗證其是否為29日00:00:00,再設(shè)置為29日23:59:59跳一秒后驗證其是否為3月1日00:00:00。

      12小時制PM/AM轉(zhuǎn)換時刻為12:59:59到1:00:00,驗證方法同樣是檢驗該跳點變化時刻的時間和狀態(tài)指示變化是否符合規(guī)則[6]。

      寄存器的第0位是夏令時使能(DSE),可讀寫位,置1時產(chǎn)生兩次夏令時調(diào)整,即4月的第一個星期日,時間向前跳1小時,從1:59:59 AM變?yōu)?:00:00 AM。10月的最后一個星期日,時間向后退1小時,從1:59:59 AM變?yōu)?:00:00 AM。DSE清0,則表明為非夏令時狀態(tài)。時間可通過設(shè)置自動判斷4月的第一個星期日和10月最后一個星期日。

      3.4 日歷驗證方法

      日期驗證:以隨機數(shù)方式選取年份(00~99),時間預(yù)置到每天的最后一秒。1月份按31天進行遍歷,驗證日期計數(shù)器是否正常;2月至12月份只驗證月末日期自動調(diào)整功能是否正常。

      星期驗證:只要遍歷連續(xù)7天的結(jié)果,符合星期數(shù)從1到7的循環(huán)遞增規(guī)律即可。

      月份驗證:從1遍歷到12,月份驗證將時間預(yù)置到每個月的最后一秒時刻,年份按隨機數(shù)方式選取或取21。

      年份驗證:從0遍歷到99,年份驗證則將時間預(yù)置到每年的最后一秒時刻。

      預(yù)置1能跳過前端計數(shù),減少無端耗時;預(yù)置2能快速抵達跳點位置,以檢驗變化過程是否符合計數(shù)規(guī)則。二者皆為加速試驗進程。

      3.5 鬧鐘驗證

      RTC中鬧鐘具有中斷功能,驗證過程既需針對邏輯關(guān)系,也涉及到中斷鏈路。如圖2所示為鬧鐘驗證流程。

      圖2 鬧鐘驗證流程圖

      鬧鐘中斷使能(AIE)和鬧鐘中斷標志(AF)共同決定中斷的發(fā)生。AF=AIE=1成立是中斷的條件,此刻IRQF置1,IRQ信號變低。

      鬧鐘具有兩種形式[7]:一種是按設(shè)定時間發(fā)生的鬧鐘方式,每天發(fā)生一次,驗證方法是采用隨機數(shù)來設(shè)置實時時鐘。鬧鐘單元則設(shè)成實時時鐘的下一秒,以期最短時間內(nèi)發(fā)生并記錄鬧鐘中斷,此過程重復(fù)若干次,可在一定程度上印證鬧鐘功能的有效性,極限做法是驗證24小時任一秒時刻。

      另一種則是設(shè)置隨意碼發(fā)生的鬧鐘方式。以設(shè)定的結(jié)果整點(或整分或整秒)發(fā)生。

      為描述方便,設(shè)SEC、MIN、HOU為秒、分和時的鬧鐘單元。

      整點方式:HOU=11xxxxxxB;

      整分方式:HOU=MIN=11xxxxxxB;

      整秒方式:HOU=MIN=SEC=11xxxxxxB。

      以此類推,此處只給出隨意碼整秒方式流程。

      4 功能驗證與SPICE仿真

      針對初樣樣品,以80C51單片機為基礎(chǔ)設(shè)計一套驗證板并通過上述驗證方法基于C語言編寫驗證流程,實現(xiàn)樣品的自動檢測、自動判斷,為后續(xù)生產(chǎn)中的批量測試提供參考依據(jù)。所設(shè)計驗證板的電路原理如圖3所示。

      圖3 驗證板電路圖

      以上述驗證手段與流程為參照,編寫Verilog代碼,通過SPICE仿真軟件對芯片功能進行后仿真,分別對小時、分鐘、天、周、月、年、閏年、24/12小時制、夏令時、鬧鐘、中斷等功能進行驗證。此處選取計時和夏令時仿真為例。

      計時仿真:控制寄存器A中bit1位為24/12控制位,置1代表24小時模式,0代表12小時模式;bit2位為BCD和二進制切換位,置1為二進制格式,置2為BCD格式。在此采用24小時BCD格式的計時方式。為了得到更加全面的驗證,設(shè)置仿真開始時間為2021年12月31日,仿真結(jié)束時間為2022年1月1日。計時仿真結(jié)果如圖4、圖5所示。

      圖4 仿真開始時間

      圖5 仿真結(jié)束時間

      夏令時仿真:控制寄存器B的最低位DSE位可讀/寫位,置1時產(chǎn)生兩次夏令時調(diào)整。4月的第一個星期天,時間從1:59:59 AM調(diào)整到3:00:00 AM。10月的最后一個星期天,時間從1:59:59 AM變?yōu)?:00:00 AM。此處以4月份的夏令時為例,使能DSE,內(nèi)部邏輯會在午夜時判斷第一個星期天的條件,做出時間調(diào)整。夏令時仿真結(jié)果如圖6、圖7所示。

      圖6 夏令時調(diào)整前時間

      圖7 夏令時調(diào)整后時間

      5 結(jié)束語

      本驗證方法適用于多種同類型的時鐘模塊或芯片。隨著研究的深入,通過對相關(guān)兼容產(chǎn)品實驗,邏輯關(guān)聯(lián)及中斷應(yīng)答機制的確認都得到了實現(xiàn),同時也基本實現(xiàn)了時鐘模塊或芯片的全功能測試,為產(chǎn)品研制提供了有效的驗證手段。然而由于驗證項較多且具有時間接續(xù)性,會出現(xiàn)單片測試時間較長的情況,在大批量生產(chǎn)中建議抽取主要功能進行測試。

      猜你喜歡
      預(yù)置寄存器鬧鐘
      多彩創(chuàng)意鬧鐘
      基于排隊論的水下預(yù)置反艦導(dǎo)彈部署優(yōu)化
      Lite寄存器模型的設(shè)計與實現(xiàn)
      天然鬧鐘
      小鬧鐘的提醒
      能幫我設(shè)個鬧鐘不等四則
      用友U8軟件預(yù)置會計科目的維護
      電子測試(2018年22期)2018-12-19 05:12:56
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      混料設(shè)計在6061鋁合金激光焊預(yù)置Al-Si-Ni粉末中的應(yīng)用
      焊接(2016年8期)2016-02-27 13:05:12
      預(yù)置縫線減張縫合法預(yù)防低位直腸癌術(shù)后吻合口瘺效果觀察
      长岛县| 屯门区| 吉隆县| 兴安县| 南宁市| 洞口县| 赤城县| 石城县| 皮山县| 丰都县| 侯马市| 海城市| 钦州市| 手游| 营山县| 射洪县| 新源县| 伊宁县| 东明县| 上林县| 淮北市| 鹰潭市| 奉贤区| 千阳县| 罗定市| 洛隆县| 金坛市| 都兰县| 乡城县| 金川县| 惠安县| 彭水| 招远市| 德令哈市| 八宿县| 乌苏市| 团风县| 中卫市| 丹江口市| 南木林县| 湘西|