新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM7的軌道檢測(cè)儀的嵌入式系統(tǒng)設(shè)計(jì)

基于ARM7的軌道檢測(cè)儀的嵌入式系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2015-04-15 來(lái)源:網(wǎng)絡(luò) 收藏

  的中斷控制器是可以將某個(gè)中斷設(shè)定為FIQ或IRQ類型送至ARM核的。ARM核只有FIQ和IRQ這兩個(gè)中斷信號(hào)線,因此處理器需要中斷控制器的協(xié)作才能確定某個(gè)中斷來(lái)自哪個(gè)中斷源,提供了兩種解決方式:VECTORED INTERRUPT MODE和NON-VECTORED INTERRUPT MODE。VECTORED INTERRUPT MODE可以像CISC處理器那樣不同的中斷執(zhí)行不同的中斷處理程序,其實(shí)現(xiàn)原理是當(dāng)中斷到來(lái)時(shí)由硬件邏輯根據(jù)具體中斷源產(chǎn)生一個(gè)與之相應(yīng)的跳轉(zhuǎn)指令放到總線上,ARM核取得該條指令后便立即跳轉(zhuǎn)到相應(yīng)的處理程序[1]。這樣可以提高中斷響應(yīng)速度和簡(jiǎn)化程序設(shè)計(jì),但是這種模式只支持IRQ類型的中斷;NON-VECTORED INTERRUPT MODE則像其他ARM處理器一樣,由中斷服務(wù)程序去訪問中斷控制器的I_ISPR寄存器來(lái)確定中斷源。

本文引用地址:http://www.butianyuan.cn/article/272613.htm

  設(shè)計(jì)中將光電編碼器的中斷類型設(shè)為FIQ類型,并使用NON-VECTORED方式,其他中斷設(shè)為IRQ類型,使用VECTORED方式。中斷向量表由兩部分組成,前部分為ARM核的異常跳轉(zhuǎn)指令,后部分供的VECTORED中斷方式使用。中斷服務(wù)程序可由匯編或者C語(yǔ)言編寫,對(duì)于FIQ和IRQ類型的C語(yǔ)言函數(shù)需要加上__irq宏,編譯器才能生成正確的返回指令。

  4.2 軟件的整體設(shè)計(jì)

  由于沒有操作系統(tǒng),啟動(dòng)代碼和應(yīng)用程序是融為一體的,啟動(dòng)代碼由匯編語(yǔ)言編寫,除前面的中斷向量表以外,還負(fù)責(zé)硬件初始化,將自己從ROM拷貝到SDRAM,初始化各個(gè)模式下的堆棧等,完成了上述工作之后程序才能跳入由C語(yǔ)言編寫的函數(shù)之中去。

  數(shù)據(jù)采集之外的工作對(duì)實(shí)時(shí)性要求很低,除了鍵盤掃描和RTC使用低優(yōu)先級(jí)的中斷之外,其他部分都包含在主程序循環(huán)里。特別需要注意的是,由于中斷向量表存放在Flash中,在向Flash寫數(shù)據(jù)的時(shí)候必須關(guān)閉所有中斷,所以需要保存的數(shù)據(jù)應(yīng)先放到SDRAM中去,待一次測(cè)量完成之后再寫至Flash。

  USB控制器CH375的制造商提供了U盤讀寫的庫(kù)文件,只需要外部定義讀寫CH375硬件的函數(shù)和將中斷服務(wù)程序配置到相應(yīng)的中斷,就可以實(shí)現(xiàn)對(duì)U盤FAT文件系統(tǒng)的操作。

  4.3 編譯與調(diào)試

  設(shè)計(jì)采用的軟件開發(fā)環(huán)境是ARM公司的ADS1.2,編譯C語(yǔ)言程序時(shí)可能會(huì)產(chǎn)生用于Semihost通信的代碼,其中包含軟中斷SWI指令,但設(shè)計(jì)中并未包含SWI異常處理的程序,編譯器也沒有相應(yīng)的編譯選項(xiàng)去掉Semihost功能,一旦遇到SWI指令便會(huì)進(jìn)入軟中斷異常。因此可以反匯編機(jī)器碼,找到對(duì)應(yīng)的函數(shù)將其重定義即可。

  5 結(jié)束語(yǔ)

  嵌入式系統(tǒng)的特點(diǎn)就在于其應(yīng)用的針對(duì)性很強(qiáng),設(shè)計(jì)充分的利用了處理器的性能和資源,根據(jù)特定應(yīng)用目標(biāo)構(gòu)建整個(gè)軟硬件平臺(tái),實(shí)現(xiàn)了高性能、低功耗的目標(biāo)。該系統(tǒng)已成功的用于軌道檢測(cè)儀樣機(jī),對(duì)其他基于ARM處理器的嵌入式系統(tǒng)的開發(fā)設(shè)計(jì)具有很好的參考意義。

  本文作者創(chuàng)新點(diǎn):傳統(tǒng)的測(cè)試儀器多以單片機(jī)為核心,但是單片機(jī)速度較慢,資源較少,在許多應(yīng)用環(huán)境中必須對(duì)其進(jìn)行擴(kuò)展,因此不利于降低系統(tǒng)功耗和提高集成度。將處理器應(yīng)用到軌道檢測(cè)儀的設(shè)計(jì)是新的信息處理技術(shù)與傳統(tǒng)應(yīng)用的一次創(chuàng)新結(jié)合,嵌入式平臺(tái)在提升系統(tǒng)性能和集成度的同時(shí)也改變了以往的系統(tǒng)設(shè)計(jì)方法,尤其是ARM處理器特有的中斷機(jī)制可以使實(shí)時(shí)數(shù)據(jù)的采集和處理實(shí)現(xiàn)起來(lái)更加方便和可靠。此外,高效率的供電系統(tǒng)也是本文的亮點(diǎn)。

  參考文獻(xiàn)

  [1] S3C44B0X Datasheet [Z]. Samsung. Co. Ltd. , 2003.

  [2] 張俊濤,王長(zhǎng)安. 12bA/D轉(zhuǎn)換器MAX197及其應(yīng)用[J]. 現(xiàn)代電子技術(shù) , 2004,(19) .

  [3] 李新龍, 翟宏范, 狄國(guó)偉, 王鑫. USB芯片CH375在電能測(cè)量?jī)x系統(tǒng)中的應(yīng)用[J]. 微計(jì)算機(jī)信息 , 2006,(26).

  [4] 杜春雷. ARM體系結(jié)構(gòu)與編程 [M]. 北京: 清華大學(xué)出版社, 2003.

  [5] 季振華. 基于ARM7TDMI內(nèi)核的S3C44B0異常處理分析[J]. 微計(jì)算機(jī)信息 , 2006,(05).

負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
網(wǎng)線測(cè)試儀相關(guān)文章:網(wǎng)線測(cè)試儀原理
傾角傳感器相關(guān)文章:傾角傳感器原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: ARM7 S3C44B0

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉