當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM7的軌道檢測儀的嵌入式系統(tǒng)設(shè)計

摘要:描述了一種以軌道檢測儀的為應(yīng)用目標(biāo)的ARM7嵌入式系統(tǒng)的設(shè)計過程。以ARM7TDMI核的嵌入式處理器S3C44B0為中心,采用了CH375、MAX197等高性能外圍電路構(gòu)建了系統(tǒng)的硬件平臺,運用ARM特有的中斷處理機(jī)制實現(xiàn)了數(shù)據(jù)采集、數(shù)據(jù)處理和人機(jī)互交對軟件的實時性要求,該設(shè)計已成功的用于軌道檢測儀樣機(jī)。
關(guān)鍵詞:ARM7;S3C44B0;快速中斷;軌道檢測儀

1 引言

對鐵路軌道進(jìn)行靜態(tài)幾何參數(shù)的檢測是鐵路部門的一項常規(guī)工作,使用便攜式軌道檢測儀能大幅降低檢測人員的工作量。這種智能測量技術(shù)不僅可以提高測量的精度和可信度,還能提供現(xiàn)場的和后續(xù)的軌道數(shù)據(jù)分析,極大的提高了軌道檢測工作的質(zhì)量和效率。便攜式軌道測試儀對嵌入式計算機(jī)系統(tǒng)的功能和性能提出了許多新的需求:高實時性、高運算性能、高集成度、低功耗、低成本。傳統(tǒng)單片機(jī)系統(tǒng)雖然能完成一般的控制任務(wù),但其運算能力太低,不足以滿足現(xiàn)場數(shù)據(jù)處理的要求,由基于SoC思想設(shè)計的ARM系列微處理器構(gòu)成的嵌入式系統(tǒng)便能良好的滿足上述要求。ARM核以高性能低功耗著稱,再配以IC制造廠商提供的大量片上外設(shè),使得ARM系列處理器擁有非常優(yōu)良的嵌入式應(yīng)用性能。本設(shè)計中采用了三星公司制造的ARM7TDMI核處理器S3C44B0完成控制和運算工作,12位高性能AD轉(zhuǎn)換器MAX197完成傳感器信號的轉(zhuǎn)換,USB主控制器CH375完成數(shù)據(jù)到U盤的轉(zhuǎn)存,系統(tǒng)也包含了液晶屏、鍵盤、微型打印機(jī)等其他必要的外設(shè)。

2 系統(tǒng)設(shè)計要求

2.1 測量原理

軌道檢測儀的測量原理如圖1所示,傳感器由一個裝有滾輪的機(jī)械支架固定,操作人員在軌道上推行該檢測儀。位移傳感器測量軌道AB之間的間距d,傾角傳感器測量軌道平面與水平面的傾角θ,光電編碼器被連接到一個滾輪上用于記錄當(dāng)前的里程L。軌道檢測儀可以設(shè)置采樣間隔,范圍0.5m-1m。當(dāng)里程達(dá)到采樣間隔時,將當(dāng)前里程L、軌距d、超高h和三角坑t作為一條記錄保存起來。

機(jī)械支架在推行過程中會產(chǎn)生頻率較軌道傾角變化頻率高很多的振動,因此需要對傾角信號進(jìn)行濾波處理才能減小測量誤差。

圖1軌道測量原理圖

Fig. 1 Principle of track measure

2.2 性能需求

       軌道檢測儀的工作流程如下:使用AD轉(zhuǎn)換器以33Hz的采樣頻率對位移和傾角傳感器的信號進(jìn)行采樣,然后對前80個傾角采樣值進(jìn)行一次濾波運算,當(dāng)里程每增加5cm時,將當(dāng)前的軌距和超高保存至隊列,當(dāng)里程達(dá)到采樣間隔時,則根據(jù)隊列里的數(shù)據(jù)算出三角坑,然后與軌距和超高作為最終數(shù)據(jù)一并保存起來。因此系統(tǒng)需要一個定時器,并且能在30ms內(nèi)完成一次濾波運算。位移傳感器量程為5cm,轉(zhuǎn)換關(guān)系為1V/1cm,傾角傳感器量程為±10º,轉(zhuǎn)換關(guān)系為1V/1º,軌距、超高和三角坑的顯示分辨率要求達(dá)到0.1mm。因此AD轉(zhuǎn)換器需要擁有12位的精度。此外還需要實現(xiàn)U盤存儲、現(xiàn)場打印、時鐘、液晶顯示、鍵盤輸入等功能。

3 硬件設(shè)計

3.1 硬件整體設(shè)計

ARM7系列的處理器的型號較多,設(shè)計使用了較為常見的三星公司生產(chǎn)的S3C44B0,它包含了一個運算能力強(qiáng)大的ARM7TDMI核和大量實用的外設(shè)[1]。根據(jù)應(yīng)用的實際需要,為S3C44B0配置了1M×16Bit的Nor Flash SST39VF1601和4Banks×1M×16Bit的SDRAM HY57V641620。

MAX197是一款單電源,多通道,多量程的1/2LSB精度12位的AD轉(zhuǎn)換器,采樣速率可達(dá)100ksps,完全滿足33Hz的采樣速率的要求。它雖為單5V供電,但具有±10 V、±5 V、10 V和5 V四個量程,同時集成了時鐘發(fā)生器和基準(zhǔn)電路,數(shù)據(jù)接口也可與通用控制器直接連接。MAX197以簡潔的電路提供了相當(dāng)高的性能,是嵌入式應(yīng)用的理想選擇[2]。

CH375是一個USB總線的通用接口芯片,支持主從兩種方式,主機(jī)方式支持常用的USB全速設(shè)備。它內(nèi)置了處理Mass-Storage海量存儲設(shè)備的專用通訊協(xié)議的固件,外部控制器可以直接以扇區(qū)為基本單位讀寫常用的USB存儲設(shè)備[3],提供了一個實用的嵌入式設(shè)備的U盤存儲方案。

圖2硬件結(jié)構(gòu)框圖

Fig. 2 Picture of hardware structure

系統(tǒng)的框圖如圖2所示。其中S3C44B0的IO引腳由3.3V的LVCMOS驅(qū)動,最高輸入電壓為4.6V[1],因此總線在掛接MAX197和液晶屏等5V邏輯電平的外設(shè)時應(yīng)該加上總線收發(fā)器以做隔離,此外部分用于輸入GPIO引腳也需要加上緩沖器。

3.2 高效率電源管理

       電源管理是電池供的電便攜式設(shè)備的關(guān)鍵部分,使用低功耗器件和提高電源管理效率是延長系統(tǒng)連續(xù)工作時間的兩個重要手段。設(shè)計中根據(jù)用電器的特征和成本上的考慮做出如圖3所示的供電方案。

圖3系統(tǒng)電源方案

Fig. 3 Scheme of power supply

DC-DC電源的效率雖高,但紋波系數(shù)較大,不適合模擬電路的供電;線性穩(wěn)壓器雖然穩(wěn)壓效果好,但是效率低,且只能降壓。AD轉(zhuǎn)換器工作電流很小且對電源穩(wěn)定性要求高,故直接使用線性穩(wěn)壓器給其供電,而數(shù)字部分都采用DC-DC電源,對于處理器所需的多電壓,也采用線性穩(wěn)壓器,由此帶來的功率損耗還可接受。傳感器所需的正負(fù)電壓需要通過DC-DC的升壓和反轉(zhuǎn)才能得到,為了消除其紋波的影響同時使用了線性穩(wěn)壓器。對于功率較大的液晶屏背光和打印機(jī)則使用單獨的DC-DC,并由處理器控制。同時DC-DC對負(fù)載大幅度波動的適應(yīng)不是很好,打印機(jī)的機(jī)頭產(chǎn)生的功耗是間歇性的,瞬時功率很高,因此DC-DC需要有足夠的功率裕度。

此電源方案在實踐中取得了良好的效果,系統(tǒng)在關(guān)閉背光和打印機(jī)的情況下,12V蓄電池的輸出電流小于120mA。

4軟件設(shè)計

4.1 實時數(shù)據(jù)采集

       由于數(shù)據(jù)采集對實時性的要求很高,所以軟件的設(shè)計沒有采用操作系統(tǒng),而是由多個中斷服務(wù)程序和主程序組成。設(shè)計一共用到4個外部中斷和3個內(nèi)部中斷,分別來自光電編碼器正反向轉(zhuǎn)動、MAX197、CH375、RTC和兩個定時器。其中比較重要的兩個中斷分別來自光電編碼器和產(chǎn)生采樣頻率的定時器,前者的特點是頻率較高,可達(dá)1KHz,且不能丟失,后者的特點是中斷服務(wù)程序的運行時間長,需要完成濾波運算,因此要求中斷是可嵌套的。ARM處理器在硬件上不直接支持中斷服務(wù)程序的嵌套運行[4],雖然可以通過軟件的方式實現(xiàn),但會增加額外的運行開銷。巧妙的利用ARM的特有的中斷機(jī)制就可以解決上述問題,ARM提供FIQ和IRQ兩類中斷,F(xiàn)IQ中斷到來時處理器將運行狀態(tài)轉(zhuǎn)到FIQ模式下,該模式下?lián)碛袑S玫募拇嫫饕詼p少壓棧帶來的時間的損耗,IRQ類似,但專用寄存器沒有FIQ多。因此,當(dāng)處理器在IRQ模式下運行中斷服務(wù)程序時,是可以立即響應(yīng)FIQ中斷的。將光電編碼器產(chǎn)生的中斷作為FIQ類型,其他中斷作為IRQ類型就可以使每個中斷得到及時的響應(yīng)[5]。

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

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

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

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

數(shù)據(jù)采集之外的工作對實時性要求很低,除了鍵盤掃描和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)的中斷,就可以實現(xiàn)對U盤FAT文件系統(tǒng)的操作。

4.3 編譯與調(diào)試

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

5 結(jié)束語

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

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

 

參考文獻(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ī)信息 , 2006,(26).

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

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉