• 
    

    
    

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

      一種星載計(jì)算機(jī)秒中斷間隔可控的校時(shí)方法

      2020-05-04 08:32:48
      中國空間科學(xué)技術(shù) 2020年2期
      關(guān)鍵詞:計(jì)時(shí)器初值寄存器

      北京空間飛行器總體設(shè)計(jì)部,北京 100094

      航天器一般都有自己的時(shí)間系統(tǒng),在實(shí)際應(yīng)用過程中,由于各種原因,航天器的時(shí)間往往需要進(jìn)行多次修正或周期性維護(hù),以達(dá)到使用精度要求。這就涉及校時(shí)操作[1]。航天器的時(shí)間一般由星載計(jì)算機(jī)維護(hù)[2-3]。傳統(tǒng)的校時(shí)操作一般由CPU軟件實(shí)現(xiàn),CPU軟件在每一次秒中斷中,對(duì)由軟件維護(hù)的秒部時(shí)間進(jìn)行加1操作。亞秒部時(shí)間由外部集成電路Intel 82C54芯片[4]維護(hù),計(jì)數(shù)初值由CPU軟件進(jìn)行配置。當(dāng)Intel 82C54芯片從計(jì)數(shù)初值倒計(jì)數(shù)到1時(shí),會(huì)產(chǎn)生一次秒中斷,驅(qū)動(dòng)CPU軟件執(zhí)行相應(yīng)的任務(wù)或進(jìn)行相應(yīng)的操作。目前星務(wù)軟件任務(wù)調(diào)度安排、時(shí)序規(guī)劃等均基于秒中斷運(yùn)行,且運(yùn)行需要一定的時(shí)間。因此相鄰兩次秒中斷的時(shí)間間隔不能太小,否則會(huì)影響CPU軟件的任務(wù)調(diào)度及正常運(yùn)行[5-10]。

      為了避免校時(shí)過程中秒中斷間隔過小或過大,軟件需要通過復(fù)雜的邏輯和算法多次操作外部計(jì)時(shí)器Intel 82C54芯片才能完成一次校時(shí),占用CPU機(jī)時(shí)較大。本文提出了一種基于FPGA的秒中斷間隔可控的校時(shí)方法。

      1 傳統(tǒng)星載計(jì)算機(jī)校時(shí)方法

      傳統(tǒng)星載計(jì)算機(jī)校時(shí)一般都會(huì)引起秒中斷間隔的變化,為了避免校時(shí)過程中秒中斷間隔過小或過大,軟件在每次校時(shí)前,需要根據(jù)校時(shí)的具體數(shù)值計(jì)算出下一秒Intel 82C54芯片需要計(jì)數(shù)的個(gè)數(shù),寫入Intel 82C54芯片的計(jì)數(shù)初值寄存器。Intel 82C54芯片采用倒計(jì)數(shù),當(dāng)從計(jì)數(shù)初值倒計(jì)數(shù)到1時(shí),會(huì)產(chǎn)生一次秒中斷,并自動(dòng)重新加載計(jì)數(shù)初值,繼續(xù)倒計(jì)數(shù)。軟件在需要校時(shí)時(shí),需要在秒中斷服務(wù)程序中,將計(jì)算好的計(jì)數(shù)初值寫入Intel 82C54芯片計(jì)數(shù)初值寄存器進(jìn)行更新,并在下次秒中斷中將計(jì)數(shù)初值恢復(fù),這樣一次校時(shí)操作才算完成。為了保證Intel 82C54芯片輸出的秒中斷間隔(計(jì)數(shù)初值范圍)在0.5~1.5 s的范圍內(nèi),CPU需要分4種情況計(jì)算計(jì)數(shù)初值。

      假定CPU收到的亞秒部校時(shí)值為t(0

      表1 CPU計(jì)算計(jì)數(shù)初值的4種情況Table 1 Four situations with CPU calculating the counter’s initial value

      在每次校時(shí)過程中,CPU軟件如果需要讀取時(shí)間碼,還需根據(jù)每種情況對(duì)Intel 82C54的計(jì)數(shù)值進(jìn)行時(shí)間換算,換算公式見表1中“亞秒部時(shí)間換算公式”一列(注:秒部不需要換算)。

      從表1中看出,每次校時(shí)時(shí),CPU軟件需根據(jù)亞秒部校時(shí)的具體數(shù)值,分為4種情況,根據(jù)4種計(jì)算公式進(jìn)行計(jì)數(shù)初值的計(jì)算,校時(shí)邏輯十分復(fù)雜,校時(shí)過程中每次讀取時(shí)間碼都要進(jìn)行時(shí)間換算,很容易出錯(cuò),且占用CPU機(jī)時(shí)較多,不利于軟件實(shí)現(xiàn)其他更加復(fù)雜的任務(wù)。隨著未來航天器智能處理的任務(wù)越來越多,CPU機(jī)時(shí)越來越緊張,因此需要將CPU從繁瑣的校時(shí)操作和時(shí)間維護(hù)操作中解放出來,使CPU專注于智能處理任務(wù)的實(shí)現(xiàn)。

      2 基于FPGA的秒中斷間隔可控校時(shí)方法

      針對(duì)CPU軟件校時(shí)邏輯復(fù)雜,容易出錯(cuò)的問題,已經(jīng)有學(xué)者專門針對(duì)軟件設(shè)計(jì)過程中遇到的時(shí)間獲取與時(shí)間維護(hù)沖突的問題進(jìn)行了機(jī)理分析,并提出了3種有效的解決辦法,保證了在各種復(fù)雜情況下星上時(shí)間獲取的正確性,但耗費(fèi)的CPU機(jī)時(shí)較多[11]。

      本文提出了一種基于FPGA的秒中斷間隔可控的校時(shí)方法,采用FPGA邏輯電路設(shè)計(jì)星時(shí)計(jì)時(shí)器,利用秒中斷間隔約束條件設(shè)計(jì)校時(shí)觸發(fā)條件,當(dāng)滿足校時(shí)觸發(fā)條件時(shí),F(xiàn)PGA邏輯電路自動(dòng)實(shí)現(xiàn)校時(shí)操作,很好地解決了校時(shí)過程中秒中斷間隔過小或過大的問題,極大地節(jié)約了CPU機(jī)時(shí)?;贔PGA的秒中斷間隔可控的校時(shí)方法原理框圖如圖1所示,主要由星時(shí)計(jì)時(shí)器、校時(shí)寄存器、加法器、時(shí)鐘生成器、校時(shí)觸發(fā)器和比較器組成。

      圖1 基于FPGA的秒中斷間隔可控的校時(shí)方法Fig.1 A time-calibration method with controllable second interrupt interval based on FPGA

      星時(shí)計(jì)時(shí)器用來記錄計(jì)時(shí)脈沖個(gè)數(shù),并產(chǎn)生秒中斷信號(hào)輸出。主要由一個(gè)記錄計(jì)時(shí)脈沖個(gè)數(shù)的計(jì)數(shù)器組成,通過對(duì)計(jì)時(shí)脈沖進(jìn)行計(jì)數(shù)獲得時(shí)間值。星時(shí)計(jì)時(shí)器分為秒部和亞秒部兩部分[12]。亞秒部每收到一個(gè)計(jì)時(shí)脈沖其計(jì)數(shù)值加1,當(dāng)亞秒部累計(jì)計(jì)數(shù)值達(dá)到規(guī)定的模值時(shí)向秒部進(jìn)位,表示累計(jì)計(jì)時(shí)達(dá)到1 s,并輸出秒中斷信號(hào)。秒部只有在收到亞秒部的進(jìn)位時(shí)才加1。

      校時(shí)寄存器用來轉(zhuǎn)換和保存CPU送來的校時(shí)數(shù)據(jù)。校時(shí)寄存器也分為秒部和亞秒部兩部分,主要功能是將CPU送來的校時(shí)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,并按照秒部校時(shí)值和亞秒部校時(shí)值兩部分保存。秒部校時(shí)值采用補(bǔ)碼格式的數(shù)據(jù)保存,以便于進(jìn)行撥快或撥慢操作。亞秒部校時(shí)值采用原碼格式的數(shù)據(jù)保存。

      加法器用來實(shí)現(xiàn)校時(shí)寄存器和計(jì)時(shí)器當(dāng)前值的秒部和亞秒部分別相加的功能。當(dāng)亞秒部相加的結(jié)果超過規(guī)定的模值時(shí),亞秒部會(huì)向秒部產(chǎn)生進(jìn)位。秒部相加是補(bǔ)碼格式的數(shù)據(jù)相加,秒部相加的結(jié)果還需要再加上亞秒部的進(jìn)位。

      時(shí)鐘生成器用來產(chǎn)生系統(tǒng)時(shí)鐘和計(jì)時(shí)脈沖。系統(tǒng)時(shí)鐘用來驅(qū)動(dòng)星時(shí)計(jì)時(shí)器、校時(shí)寄存器、加法器、比較器和校時(shí)觸發(fā)器在統(tǒng)一的時(shí)鐘下同步工作。計(jì)時(shí)脈沖由系統(tǒng)時(shí)鐘生成,其脈沖寬度為一個(gè)系統(tǒng)時(shí)鐘周期,其頻率不能大于系統(tǒng)時(shí)鐘頻率的一半。計(jì)時(shí)脈沖周期就是星時(shí)計(jì)時(shí)器亞秒部時(shí)間碼的最低分辨率,可根據(jù)時(shí)間分辨率要求選擇合適的計(jì)時(shí)脈沖周期。

      校時(shí)觸發(fā)器用來監(jiān)視CPU是否有校時(shí)操作以及星時(shí)校時(shí)是否完成。當(dāng)校時(shí)觸發(fā)器監(jiān)視到CPU對(duì)校時(shí)寄存器進(jìn)行了更新,則會(huì)認(rèn)為CPU進(jìn)行了校時(shí)操作,從而發(fā)出校時(shí)啟動(dòng)信號(hào),通知比較器需要進(jìn)行校時(shí)操作;當(dāng)校時(shí)觸發(fā)器收到比較器輸出的校時(shí)完成信號(hào)后,則會(huì)撤銷校時(shí)啟動(dòng)信號(hào),認(rèn)為本次校時(shí)操作已完成。

      比較器用來將加法器輸出的結(jié)果與給定的數(shù)值進(jìn)行比較,并配合校時(shí)觸發(fā)器完成校時(shí)過程。比較器在收到校時(shí)啟動(dòng)信號(hào)后,在每個(gè)系統(tǒng)時(shí)鐘周期都會(huì)判斷加法器輸出結(jié)果是否與給定數(shù)值(比較門限數(shù)值)滿足條件關(guān)系。如果滿足條件關(guān)系,則執(zhí)行校時(shí)過程,將校時(shí)結(jié)果更新到計(jì)時(shí)器,并發(fā)出校時(shí)完成信號(hào);如果不滿足,則繼續(xù)等待,等待時(shí)間不會(huì)超過1 s,直到條件關(guān)系滿足。

      通過修改比較器的比較門限數(shù)值,可以靈活地控制校時(shí)執(zhí)行時(shí)刻,進(jìn)而控制秒中斷輸出間隔。因此比較條件設(shè)置是本校時(shí)方案的關(guān)鍵。假定校時(shí)寄存器亞秒部校時(shí)值為x(0

      1)如果在任意一個(gè)系統(tǒng)時(shí)鐘內(nèi)比較器判斷滿足x+y<0.5 s×f條件,則比較器執(zhí)行校時(shí)操作,將星時(shí)計(jì)時(shí)器亞秒部y值更新為加法器輸出的x+y的計(jì)算結(jié)果值,將星時(shí)計(jì)時(shí)器秒部更新為加法器輸出的秒部相加的結(jié)果值。本次校時(shí)過程前后兩次秒中斷的間隔為1s-x/f,且可以證明該值在0.5~1 s之間。證明過程如下:

      ∵滿足條件x+y<0.5 s×f(x>0,y>0,f>0)

      又 ∵x>0,y>0,f>0

      2)如果不滿足前述第一個(gè)條件x+y<0.5 s×f,則判斷是否滿足第二個(gè)條件x+y>1.0 s×f,如果滿足則比較器也立即執(zhí)行校時(shí)操作,將星時(shí)計(jì)時(shí)器亞秒部y值更新為加法器輸出的(x+y-1.0 s×f)計(jì)算結(jié)果值(只保留去掉模值之后的值,此時(shí)亞秒部產(chǎn)生了進(jìn)位,但不產(chǎn)生秒中斷,秒中斷只有在自然計(jì)數(shù)到模值時(shí)才產(chǎn)生);將星時(shí)計(jì)時(shí)器秒部值更新為加法器輸出的兩個(gè)秒部和亞秒部進(jìn)位值的和。本次校時(shí)過程中前后兩次秒中斷間隔為2 s-x/f,且可以證明該值在1~1.5 s之間,證明過程同上。

      3)如果以上兩個(gè)條件均不滿足,則繼續(xù)等待至下一個(gè)系統(tǒng)時(shí)鐘周期,再次判斷以上兩個(gè)條件是否滿足,依此類推。隨著時(shí)間的延長,亞秒部計(jì)數(shù)值y會(huì)不斷增加,在1 s的時(shí)間內(nèi),總有一個(gè)時(shí)刻會(huì)使得第二個(gè)條件x+y>1.0 s×f滿足,至此校時(shí)完成。通過以上兩個(gè)比較條件的設(shè)置,可以很好地控制校時(shí)發(fā)生的時(shí)刻,無論亞秒部校時(shí)值是多少,都能使得校時(shí)過程中前后兩次秒中斷的間隔控制在0.5~1.5 s之間。

      3 應(yīng)用驗(yàn)證

      根據(jù)上述校時(shí)方案,下面以撥快8 s+120 ms為例,介紹一下校時(shí)過程。假定時(shí)鐘生成器產(chǎn)生的計(jì)時(shí)脈沖頻率為1 000 Hz,周期為1 ms,即星時(shí)計(jì)時(shí)器每計(jì)數(shù)1次代表1 ms時(shí)間,則校時(shí)具體過程如下:

      1)CPU將校時(shí)數(shù)據(jù)8 s+120 ms寫入校時(shí)寄存器。

      2)校時(shí)寄存器將數(shù)據(jù)格式轉(zhuǎn)換后分別保存在秒部和亞秒部校時(shí)值寄存器。其中秒部數(shù)值“8”采用補(bǔ)碼格式保存,即“0x00000008”。亞秒部數(shù)值“120”采用原碼格式保存,即“0x00000078”。

      3)校時(shí)觸發(fā)器監(jiān)視到CPU進(jìn)行了校時(shí)操作,發(fā)出校時(shí)啟動(dòng)信號(hào),通知比較器進(jìn)行校時(shí)。

      4)加法器將當(dāng)前星時(shí)計(jì)時(shí)器亞秒部計(jì)數(shù)值(假定當(dāng)前星時(shí)計(jì)時(shí)器亞秒部計(jì)數(shù)值為230)與校時(shí)寄存器亞秒部校時(shí)值120相加,結(jié)果為350;將當(dāng)前星時(shí)計(jì)時(shí)器秒部計(jì)數(shù)值(假定當(dāng)前星時(shí)計(jì)時(shí)器秒部的計(jì)數(shù)值為3 100)與校時(shí)寄存器秒部校時(shí)值8相加,結(jié)果為3 108。

      5)比較器在收到校時(shí)啟動(dòng)信號(hào)后,將加法器亞秒部輸出的結(jié)果與350進(jìn)行比較,判斷是否滿足第一個(gè)比較條件:x+y<0.5 s×f,即120+230 < 0.5×1 000,條件滿足,則比較器執(zhí)行校時(shí)操作,將計(jì)時(shí)器亞秒部計(jì)數(shù)值230更新為350,將計(jì)時(shí)器秒部值3 100更新為3 108。本次校時(shí)過程前后兩次秒中斷的間隔為1 s-120/1 000 Hz=0.88 s,該間隔在0.5~1 s之間,星時(shí)計(jì)時(shí)器以后會(huì)以3 108 s+350 ms為起點(diǎn)繼續(xù)對(duì)計(jì)時(shí)脈沖進(jìn)行計(jì)數(shù),至此校時(shí)完成。

      從上述校時(shí)過程看出,CPU軟件僅需將校時(shí)數(shù)值寫入FPGA中的校時(shí)寄存器即可,其余校時(shí)過程全部由FPGA完成,CPU軟件大大簡化。

      該校時(shí)方法經(jīng)過在某型高分辨率遙感衛(wèi)星星載計(jì)算機(jī)上實(shí)測驗(yàn)證,軟件校時(shí)所需的CPU機(jī)時(shí)相比原來縮短90%以上,有效緩解了CPU機(jī)時(shí)緊張的問題,使得復(fù)雜的自主任務(wù)規(guī)劃等算法能夠在有限性能的CPU上流暢運(yùn)行,提高了航天器智能化水平。本校時(shí)方法已獲得國家發(fā)明專利授權(quán)[13],相比類似專利[14],在解決秒中斷間隔突變問題上更具有優(yōu)勢。

      4 結(jié)束語

      本文提出的基于FPGA的秒中斷間隔可控的校時(shí)方法極大簡化了CPU軟件的校時(shí)操作,無需像原來一樣分4種情況多次操作Intel 82C54芯片才實(shí)現(xiàn)一次校時(shí),大大節(jié)約了CPU機(jī)時(shí)。采用本校時(shí)方法后,CPU只需向FPGA校時(shí)寄存器寫入一個(gè)校時(shí)值即可完成校時(shí)操作。本方法校時(shí)過程中星時(shí)秒部和亞秒部時(shí)間碼是同時(shí)更新的,CPU任何時(shí)刻讀取的時(shí)間碼都是有效的,可以直接使用,無需再進(jìn)行換算,進(jìn)一步減輕了CPU的負(fù)擔(dān)。本文提出的校時(shí)方法已在多臺(tái)星載計(jì)算機(jī)上應(yīng)用,取得了較好的應(yīng)用效果。

      猜你喜歡
      計(jì)時(shí)器初值寄存器
      松鼠的計(jì)時(shí)器
      具非定常數(shù)初值的全變差方程解的漸近性
      一種適用于平動(dòng)點(diǎn)周期軌道初值計(jì)算的簡化路徑搜索修正法
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      超高精度計(jì)時(shí)器——原子鐘
      三維擬線性波方程的小初值光滑解
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      抗繆勒氏管激素:卵巢功能的計(jì)時(shí)器!
      媽媽寶寶(2017年2期)2017-02-21 01:21:22
      豎向固定電火花打點(diǎn)計(jì)時(shí)器的技巧
      具有無窮大初值的二維奇異攝動(dòng)問題的漸近解
      江永县| 漾濞| 邢台县| 福建省| 舞阳县| 贵定县| 巫山县| 江达县| 忻州市| 公安县| 桑植县| 崇州市| 措美县| 肥城市| 清流县| 安达市| 依安县| 柳河县| 永和县| 关岭| 遵义县| 大悟县| 云和县| 桦甸市| 张家川| 三亚市| 海兴县| 蓝田县| 洛阳市| 连云港市| 迁安市| 蒲江县| 邵武市| 西宁市| 东海县| 丹凤县| 淮安市| 舞阳县| 来凤县| 阳原县| 卫辉市|