基于A(yíng)RM7的軌道檢測儀的嵌入式系統設計
S3C44B0的中斷控制器是可以將某個(gè)中斷設定為FIQ或IRQ類(lèi)型送至ARM核的。ARM核只有FIQ和IRQ這兩個(gè)中斷信號線(xiàn),因此處理器需要中斷控制器的協(xié)作才能確定某個(gè)中斷來(lái)自哪個(gè)中斷源,S3C44B0提供了兩種解決方式:VECTORED INTERRUPT MODE和NON-VECTORED INTERRUPT MODE。VECTORED INTERRUPT MODE可以像CISC處理器那樣不同的中斷執行不同的中斷處理程序,其實(shí)現原理是當中斷到來(lái)時(shí)由硬件邏輯根據具體中斷源產(chǎn)生一個(gè)與之相應的跳轉指令放到總線(xiàn)上,ARM核取得該條指令后便立即跳轉到相應的處理程序[1]。這樣可以提高中斷響應速度和簡(jiǎn)化程序設計,但是這種模式只支持IRQ類(lèi)型的中斷;NON-VECTORED INTERRUPT MODE則像其他ARM處理器一樣,由中斷服務(wù)程序去訪(fǎng)問(wèn)中斷控制器的I_ISPR寄存器來(lái)確定中斷源。
本文引用地址:http://dyxdggzs.com/article/272613.htm設計中將光電編碼器的中斷類(lèi)型設為FIQ類(lèi)型,并使用NON-VECTORED方式,其他中斷設為IRQ類(lèi)型,使用VECTORED方式。中斷向量表由兩部分組成,前部分為ARM核的異常跳轉指令,后部分供S3C44B0的VECTORED中斷方式使用。中斷服務(wù)程序可由匯編或者C語(yǔ)言編寫(xiě),對于FIQ和IRQ類(lèi)型的C語(yǔ)言函數需要加上__irq宏,編譯器才能生成正確的返回指令。
4.2 軟件的整體設計
由于沒(méi)有操作系統,啟動(dòng)代碼和應用程序是融為一體的,啟動(dòng)代碼由匯編語(yǔ)言編寫(xiě),除前面的中斷向量表以外,還負責硬件初始化,將自己從ROM拷貝到SDRAM,初始化各個(gè)模式下的堆棧等,完成了上述工作之后程序才能跳入由C語(yǔ)言編寫(xiě)的函數之中去。
數據采集之外的工作對實(shí)時(shí)性要求很低,除了鍵盤(pán)掃描和RTC使用低優(yōu)先級的中斷之外,其他部分都包含在主程序循環(huán)里。特別需要注意的是,由于中斷向量表存放在Flash中,在向Flash寫(xiě)數據的時(shí)候必須關(guān)閉所有中斷,所以需要保存的數據應先放到SDRAM中去,待一次測量完成之后再寫(xiě)至Flash。
USB控制器CH375的制造商提供了U盤(pán)讀寫(xiě)的庫文件,只需要外部定義讀寫(xiě)CH375硬件的函數和將中斷服務(wù)程序配置到相應的中斷,就可以實(shí)現對U盤(pán)FAT文件系統的操作。
4.3 編譯與調試
設計采用的軟件開(kāi)發(fā)環(huán)境是ARM公司的ADS1.2,編譯C語(yǔ)言程序時(shí)可能會(huì )產(chǎn)生用于Semihost通信的代碼,其中包含軟中斷SWI指令,但設計中并未包含SWI異常處理的程序,編譯器也沒(méi)有相應的編譯選項去掉Semihost功能,一旦遇到SWI指令便會(huì )進(jìn)入軟中斷異常。因此可以反匯編機器碼,找到對應的函數將其重定義即可。
5 結束語(yǔ)
嵌入式系統的特點(diǎn)就在于其應用的針對性很強,設計充分的利用了ARM7處理器的性能和資源,根據特定應用目標構建整個(gè)軟硬件平臺,實(shí)現了高性能、低功耗的目標。該系統已成功的用于軌道檢測儀樣機,對其他基于A(yíng)RM處理器的嵌入式系統的開(kāi)發(fā)設計具有很好的參考意義。
本文作者創(chuàng )新點(diǎn):傳統的測試儀器多以單片機為核心,但是單片機速度較慢,資源較少,在許多應用環(huán)境中必須對其進(jìn)行擴展,因此不利于降低系統功耗和提高集成度。將ARM7處理器應用到軌道檢測儀的設計是新的信息處理技術(shù)與傳統應用的一次創(chuàng )新結合,ARM7嵌入式平臺在提升系統性能和集成度的同時(shí)也改變了以往的系統設計方法,尤其是ARM處理器特有的中斷機制可以使實(shí)時(shí)數據的采集和處理實(shí)現起來(lái)更加方便和可靠。此外,高效率的供電系統也是本文的亮點(diǎn)。
參考文獻
[1] S3C44B0X Datasheet [Z]. Samsung. Co. Ltd. , 2003.
[2] 張俊濤,王長(cháng)安. 12bA/D轉換器MAX197及其應用[J]. 現代電子技術(shù) , 2004,(19) .
[3] 李新龍, 翟宏范, 狄國偉, 王鑫. USB芯片CH375在電能測量?jì)x系統中的應用[J]. 微計算機信息 , 2006,(26).
[4] 杜春雷. ARM體系結構與編程 [M]. 北京: 清華大學(xué)出版社, 2003.
[5] 季振華. 基于A(yíng)RM7TDMI內核的S3C44B0異常處理分析[J]. 微計算機信息 , 2006,(05).
負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理 網(wǎng)線(xiàn)測試儀相關(guān)文章:網(wǎng)線(xiàn)測試儀原理 傾角傳感器相關(guān)文章:傾角傳感器原理
評論