新聞中心

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

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

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

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

本文引用地址:http://2s4d.com/article/272613.htm

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

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

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

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

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

  4.3 編譯與調(diào)試

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

  5 結(jié)束語

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

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

  參考文獻(xiàn)

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

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

  [3] 李新龍, 翟宏范, 狄國偉, 王鑫. USB芯片CH375在電能測量儀系統(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)線測試儀相關(guān)文章:網(wǎng)線測試儀原理
傾角傳感器相關(guān)文章:傾角傳感器原理

上一頁 1 2 3 下一頁

關(guān)鍵詞: ARM7 S3C44B0

評論


相關(guān)推薦

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

關(guān)閉