www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]AT91RM9200平臺(tái)的輔助時(shí)鐘研究

引 言
    在VxWorlks中,定時(shí)器機(jī)制的實(shí)現(xiàn)是建立在時(shí)鐘基礎(chǔ)之上的??筛鶕?jù)不同的要求選用不同的定時(shí)機(jī)制,如taskDelay()、WatchDog、輔助時(shí)鐘。前兩種定時(shí)都是基于系統(tǒng)時(shí)鐘的。
    taskDelay()是最簡單的延時(shí)方法。它的單位是tick,所以其延時(shí)精度并不高,但對于延時(shí)10 ms以上的系統(tǒng)足夠了。利用taskDelay(),可以將調(diào)用的任務(wù)從就緒態(tài)轉(zhuǎn)到睡眠態(tài),但是不能用于中斷服務(wù)程序中。另外,可以通過調(diào)用taskDelay(0),將CPU交給系統(tǒng)中其他相同優(yōu)先級(jí)的任務(wù)。
    看門狗定時(shí)器作為系統(tǒng)時(shí)鐘中斷服務(wù)程序的一部分來維護(hù)。因此,與看門狗定時(shí)器相聯(lián)系的函數(shù)運(yùn)行在系統(tǒng)時(shí)鐘中斷級(jí),延時(shí)單位為tick。如果應(yīng)用程序需要多個(gè)看門狗函數(shù),則可使用wdCreate()為每個(gè)需求產(chǎn)生獨(dú)立的看門狗ID,因?yàn)閷τ诮o定的看門狗ID,只有最近的wdStart()有效。利用看門狗定時(shí)器,調(diào)用的任務(wù)不會(huì)被阻塞,因?yàn)閣dStart()調(diào)用是立即返回的。但它也一般只適用于延時(shí)10ms以上的系統(tǒng)。
    如果在實(shí)際時(shí)需要更高精度的定時(shí)(如1 ms),那么采用輔助時(shí)鐘就是非常可取的一種方法。一般在VxWorks系統(tǒng)的BSP中,都沒有配置輔助時(shí)鐘,本文詳細(xì)介紹輔助時(shí)鐘的配置及使用方法,以便在實(shí)際中靈活運(yùn)用。


1 AT91RM9200工業(yè)平臺(tái)的時(shí)鐘和定時(shí)器
    本文的研究是基于AT91RM9200工業(yè)平臺(tái)的,因此首先需要對此平臺(tái)下的時(shí)鐘及定時(shí)器進(jìn)行介紹。
    AT91RM9200提供了2個(gè)3通道16位定時(shí)器/計(jì)數(shù)器(TC)。3個(gè)通道雖然獨(dú)立,但操作相同,每個(gè)通道均為用戶可配置,包括3個(gè)外部時(shí)鐘輸入(XC0、XCl或XC2),5個(gè)內(nèi)部時(shí)鐘輸入(TIMER_CLOCKl、TIMER_CLOCK2、TIMER CLOCK3、TIMER_CL0CK4、TIMER_CLOCK5),以及2個(gè)可由用戶配置的多功能輸入/輸出信號(hào)。另外,每個(gè)通道可工作在兩種不同模式下,即捕獲模式和波形模式。其中,捕獲模式提供信號(hào)測量,波形模式用來產(chǎn)生波形,可由TC通道模式寄存器的WAVE位編程設(shè)定。定時(shí)器/計(jì)數(shù)器框圖如圖1所示。

    其中,如果選擇通道信號(hào)時(shí),XCO、XCl、XC2表示3個(gè)外部時(shí)鐘輸入;TIOA、TIOB表示作用于每個(gè)通道的2個(gè)多功能輸入/輸出信號(hào);INT表示中斷信號(hào)輸出;SYNC表示同步輸入信號(hào)。如果選擇塊信號(hào)時(shí),TCLKO、TCLKl、TCLK2表示3個(gè)外部時(shí)鐘輸入;TIOAO~TIOA2,表示通道0~2的TIOA信號(hào),TIOB0~TIOB2表示通道0~2的TI0B信號(hào)。
    其中,5個(gè)內(nèi)部時(shí)鐘輸入與主時(shí)鐘(MCK)、慢速時(shí)鐘(SLCK)及主時(shí)鐘分頻后時(shí)鐘相關(guān),如表1所列。

2 在VxWorks中輔助時(shí)鐘的配置
   
在VxWorks操作系統(tǒng)中如果要使用輔助時(shí)鐘,必須經(jīng)過一定的配置才能使用。首先,需要在Vxworks組件或config.h中進(jìn)行定義:
    #define INCLUDE_AUX_CLK
    如果不定義,那么輔助時(shí)鐘是無法使用的。另外,在sysLib.C的sysHwlnit2函數(shù)中需要進(jìn)行輔助時(shí)鐘的初始化,即中斷連接配置:
(void)intConnect(AUX_TIMER_INT_VEC,sysAuxClkInt,O)
    輔助時(shí)鐘和系統(tǒng)時(shí)鐘的區(qū)別是:輔助時(shí)鐘必須由用戶提供ISR,但不允許在ISR中調(diào)用tickAnnounce(),否則會(huì)擾亂系統(tǒng)時(shí)鐘的機(jī)制。
    輔助時(shí)鐘的配置可以按照installDir/target/drv/tim—er/templateTimer.C中的函數(shù)模板來進(jìn)行修改,在本文中使用的驅(qū)動(dòng)程序是At91Rm9200timer.c,頭文件為At91Rm9200timer.h。在此文件中進(jìn)行的修改需要根據(jù)所依賴的具體芯片來進(jìn)行,即需要參考AT91RM9200芯片數(shù)據(jù)手冊。
    與輔助時(shí)鐘相關(guān)的函數(shù)有:sysAuxClkInt()、sysAux—ClkConnect()、sysAuxClkDisable()、sysAuxClkEnable()、sysAuxClkRateGet()和sysAuxClkRateSet()。其中,sysAuxClkRateGet()可以和sysAuxClkRateSet()視為一組。sysAuxClkRateGet()是通過sysAuxClkRateSet()函數(shù)設(shè)定的時(shí)鐘頻率進(jìn)行讀取的,而sysAuxClkRateSet()函數(shù)中時(shí)鐘頻率的設(shè)定則受AUX_CLK_RATE_MIN和AUX_CLK_RATE_MAX的限制。這個(gè)最大值和最小值需要進(jìn)行定義,定義的位置可能不同,有的放在eonfig.h中,有的放在bsp.h中,本文的最大值和最小值放在Inte—grator.h中定義。接下來需要重點(diǎn)討論的是sysAux-ClkInt()和sysAuxClkEnabel()這兩個(gè)函數(shù)。
    sysAuxClkInt()函數(shù)調(diào)用用戶定義的中斷處理函數(shù),而用戶調(diào)用的中斷處理函數(shù)是由sysAuxClkConnect()函數(shù)來連接的。在調(diào)用中斷處理函數(shù)之前,一定要先進(jìn)行清除中斷操作,如:
AMBA_TIMER_READ(AMBA_TIMER_T2SR(AMBA_TIMER_BASE),temp);
    不然,CPU將一直陷入中斷,不能做別的事情了。
    其他大量的工作都是放在sysAuxClkEnble()函數(shù)中進(jìn)行的。根據(jù)AT91RM9200的具體情況,選擇5個(gè)內(nèi)部時(shí)鐘的其中之一,在此選擇TIMER_CLOCK2;根據(jù)前面所提到的通道概念,選取第2個(gè)通道。必須和系統(tǒng)時(shí)鐘區(qū)分開,不能同時(shí)選擇一個(gè)內(nèi)部時(shí)鐘和同一個(gè)通道。
    首先,需要判斷電源管理對輔助時(shí)鐘是否進(jìn)行了配置,可以查看相關(guān)文件。如果沒有進(jìn)行配置,則需要如進(jìn)行如下配置:
    AT9l_SYS→PMC_PCER=l<<AT9lC_ID_TCl;
    其次,必須先對AIC編程,再配置TC。
    然后,需要對具體的寄存器進(jìn)行控制操作,首先需要選擇內(nèi)部時(shí)鐘,如圖2所示。

    對通道模式寄存器進(jìn)行控制:
    AMBA_TIMER_WRITE(AMBA_TIMER_T2MR(AMBA_TIMER_BASE),TIMER_CLOCK2| TC_CPCTRG);
    通過TCCLKS位選擇第2個(gè)內(nèi)部時(shí)鐘,并根據(jù)寫入RC寄存器的定時(shí)器值進(jìn)行RC比較觸發(fā)使能。同時(shí),需要對TC通道控制寄存器進(jìn)行控制,寫入計(jì)數(shù)器時(shí)鐘使能命令和軟件觸發(fā)命令,如:

AMBA_TIMER_WRITE(AMBA_TIMER_T2CR(AMBA_TIMER_BASE),TC_CLKEN);
AMBA_TIMER_WRITE(AMBA_TIMER_T2CR(AMBA_TIMER_BASE),TC_SWTRG);
    另外,由于采用RC寄存器觸發(fā)使能,因此還需要對TC中斷使能寄存器進(jìn)行控制,寫入RC比較中斷使能信號(hào),如:
AMBA_TIMER_WRITE(AMBA_TIMER_T2IER(AMBA_TIMER_BASE),TC_CPCS);

    最后,需要執(zhí)行中斷使能操作,如:
AMBA_TIMER_INT_ENABLE(AUX_TIMER_INT_LVL);
    一切配置好后,重新編譯bootroFll和VxWorks鏡像,啟動(dòng)VxWorks鏡像;然后編寫測試程序進(jìn)行測試,驗(yàn)證輔助時(shí)鐘是否配置成功。另外,可以通過邏輯分析儀查看輔助時(shí)鐘的中斷情況。輔助時(shí)鐘驅(qū)動(dòng)后,在應(yīng)用程序中可以用sysAuxClkRateSet()函數(shù)動(dòng)態(tài)設(shè)置系統(tǒng)輔助時(shí)鐘每秒的中斷數(shù);sysAuxClkConnect()函數(shù)為系統(tǒng)輔助時(shí)鐘中斷指定ISR,并且由sysAuxClkEnable()函數(shù)使能時(shí)鐘中斷,去調(diào)用指定的ISR。

結(jié) 語
    VxWorks提供系統(tǒng)輔助時(shí)鐘機(jī)制的主要目的,是使用戶在系統(tǒng)時(shí)鐘之外多一種定時(shí)資源選擇,并提供了管理手段。另外,VxWorks的某些輔助調(diào)試工具也可能要求使用系統(tǒng)輔助時(shí)鐘。
    輔助時(shí)鐘的使用是通過提高節(jié)拍率來實(shí)現(xiàn)的,而提高節(jié)拍率意味著時(shí)鐘中斷產(chǎn)生得更加頻繁,所以中斷處理程序也會(huì)更頻繁地執(zhí)行。如此一來會(huì)給整個(gè)系統(tǒng)帶來如下好處:
    ①更高的時(shí)鐘中斷解析度(resolution)可提高時(shí)間驅(qū)動(dòng)事件的解析度;
    ②提高了時(shí)間驅(qū)動(dòng)事件的準(zhǔn)確度(accuracy)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲(chǔ)及超融合市場研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機(jī) CAN

要問機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會(huì)》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉