一種嵌入式基帶系統(tǒng)定時(shí)器裝置的研究
2.3 軟件定時(shí)器的增加
操作系統(tǒng)定時(shí)器增加時(shí),根據(jù)新定時(shí)器的超時(shí)時(shí)間順序,插入到系統(tǒng)定時(shí)器列表中,同時(shí)保證系統(tǒng)定時(shí)器剩余超時(shí)時(shí)間的有序性。若新插入定時(shí)器剩余超時(shí)時(shí)間小于TL,即插入定時(shí)器為高精度定時(shí)器,需要按照下列流程處理:
①如果插入前定時(shí)器列表頭的定時(shí)器不是高精度定時(shí)器,則判斷當(dāng)前鏈表頭定時(shí)器的剩余超時(shí)時(shí)間t是否大于新插入定時(shí)器時(shí)間x。其中,t為主定時(shí)器剩余超時(shí)時(shí)間;x為新插入定時(shí)器剩余超時(shí)時(shí)間;m為當(dāng)前時(shí)刻,10是指TD—SCDMA的定時(shí)精度為10 ms。
②若xt,則將該定時(shí)器插入到定時(shí)器列表頭中,啟動(dòng)輔助定時(shí)器。
③若x≥t,則對(duì)新增定時(shí)器剩余超時(shí)時(shí)間按照公式x=x-t+10進(jìn)行修正,再根據(jù)修正的值的大小,將其插入到鏈表頭定時(shí)器后鏈表中,定時(shí)器增加流程1如圖4所示。本文引用地址:http://www.biyoush.com/article/148228.htm
如果插入前定時(shí)器列表頭的定時(shí)器是高精度定時(shí)器,定時(shí)器增加流程2如圖5所示。根據(jù)當(dāng)前輔定時(shí)器超時(shí)時(shí)間時(shí)刻t與新插入定時(shí)器x超時(shí)時(shí)間關(guān)系進(jìn)行處理,步驟如下:
①若xt,則調(diào)整輔定時(shí)器超時(shí)時(shí)間為x,同時(shí)修正鏈表中第二個(gè)元素剩余超時(shí)時(shí)間長(zhǎng)為y—x。其中,t為輔定時(shí)器超時(shí)時(shí)間時(shí)刻,x為新加入定時(shí)器剩余超時(shí)時(shí)間。
②若x≥t,修正新插入輔定時(shí)器超時(shí)時(shí)間為x=x-t,同時(shí)根據(jù)當(dāng)前x的值按超時(shí)順序?qū)⑵洳迦氲疥?duì)列中。
結(jié)語(yǔ)
在嵌入式系統(tǒng)的設(shè)計(jì)中,很多應(yīng)用中的時(shí)間特性都是很重要的參數(shù),尤其在TD—LTE/TD—SCDMA雙模基帶系統(tǒng)的開發(fā)中顯得尤為重要。在基帶操作系統(tǒng)中,一般維護(hù)的一個(gè)定時(shí)器列表無法滿足定時(shí)器需求。若設(shè)置定時(shí)器時(shí)間較短,則可能加重系統(tǒng)中斷服務(wù)程序的負(fù)荷,若設(shè)置時(shí)間片較長(zhǎng),則無法滿足協(xié)議時(shí)間的精度要求。故本優(yōu)化方案中,在高精度定時(shí)器達(dá)到超時(shí)時(shí)刻時(shí),才啟動(dòng)輔定時(shí)器,用輔定時(shí)器控制觸發(fā)高精度定時(shí)器的超時(shí)動(dòng)作,減少輔定時(shí)器的中斷次數(shù)。另外,也不需要?jiǎng)討B(tài)調(diào)整主定時(shí)器的時(shí)鐘設(shè)置,可以保證操作系統(tǒng)軟時(shí)鐘穩(wěn)定、準(zhǔn)確,能夠同時(shí)滿足多模終端對(duì)操作系統(tǒng)定時(shí)器的要求。
評(píng)論