基于ARM7的軌道檢測(cè)儀的嵌入式系統(tǒng)設(shè)計(jì)
摘要:描述了一種以軌道檢測(cè)儀的為應(yīng)用目標(biāo)的ARM7嵌入式系統(tǒng)的設(shè)計(jì)過(guò)程荞篙。以ARM7TDMI核的嵌入式處理器S3C44B0為中心土砂,采用了CH375乏悄、MAX197等高性能外圍電路構(gòu)建了系統(tǒng)的硬件平臺(tái)龙亲,運(yùn)用ARM特有的中斷處理機(jī)制實(shí)現(xiàn)了數(shù)據(jù)采集陕凹、數(shù)據(jù)處理和人機(jī)互交對(duì)軟件的實(shí)時(shí)性要求,該設(shè)計(jì)已成功的用于軌道檢測(cè)儀樣機(jī)囚请。
1 引言
對(duì)鐵路軌道進(jìn)行靜態(tài)幾何參數(shù)的檢測(cè)是鐵路部門(mén)的一項(xiàng)常規(guī)工作疚傲,使用便攜式軌道檢測(cè)儀能大幅降低檢測(cè)人員的工作量。這種智能測(cè)量技術(shù)不僅可以提高測(cè)量的精度和可信度缚扩,還能提供現(xiàn)場(chǎng)的和后續(xù)的軌道數(shù)據(jù)分析痕豺,極大的提高了軌道檢測(cè)工作的質(zhì)量和效率。便攜式軌道測(cè)試儀對(duì)嵌入式計(jì)算機(jī)系統(tǒng)的功能和性能提出了許多新的需求:高實(shí)時(shí)性闪妓、高運(yùn)算性能努辛、高集成度、低功耗甚庇、低成本腿扑。傳統(tǒng)單片機(jī)系統(tǒng)雖然能完成一般的控制任務(wù),但其運(yùn)算能力太低葵嗦,不足以滿足現(xiàn)場(chǎng)數(shù)據(jù)處理的要求陆拐,由基于SoC思想設(shè)計(jì)的ARM系列微處理器構(gòu)成的嵌入式系統(tǒng)便能良好的滿足上述要求。ARM核以高性能低功耗著稱英品,再配以IC制造廠商提供的大量片上外設(shè)丛楚,使得ARM系列處理器擁有非常優(yōu)良的嵌入式應(yīng)用性能。本設(shè)計(jì)中采用了三星公司制造的ARM7TDMI核處理器S3C44B0完成控制和運(yùn)算工作憔辫,12位高性能AD轉(zhuǎn)換器MAX197完成傳感器信號(hào)的轉(zhuǎn)換趣些,USB主控制器CH375完成數(shù)據(jù)到U盤(pán)的轉(zhuǎn)存,系統(tǒng)也包含了液晶屏贰您、鍵盤(pán)坏平、微型打印機(jī)等其他必要的外設(shè)。
2 系統(tǒng)設(shè)計(jì)要求
2.1 測(cè)量原理
軌道檢測(cè)儀的測(cè)量原理如圖1所示锦亦,傳感器由一個(gè)裝有滾輪的機(jī)械支架固定舶替,操作人員在軌道上推行該檢測(cè)儀令境。位移傳感器測(cè)量軌道AB之間的間距d,傾角傳感器測(cè)量軌道平面與水平面的傾角θ坎穿,光電編碼器被連接到一個(gè)滾輪上用于記錄當(dāng)前的里程L展父。軌道檢測(cè)儀可以設(shè)置采樣間隔,范圍0.5m-1m玲昧。當(dāng)里程達(dá)到采樣間隔時(shí)栖茉,將當(dāng)前里程L、軌距d孵延、超高h(yuǎn)和三角坑t作為一條記錄保存起來(lái)狭缰。
機(jī)械支架在推行過(guò)程中會(huì)產(chǎn)生頻率較軌道傾角變化頻率高很多的振動(dòng),因此需要對(duì)傾角信號(hào)進(jìn)行濾波處理才能減小測(cè)量誤差茸例。
圖1軌道測(cè)量原理圖 Fig. 1 Principle of track measure
2.2 性能需求
軌道檢測(cè)儀的工作流程如下:使用AD轉(zhuǎn)換器以33Hz的采樣頻率對(duì)位移和傾角傳感器的信號(hào)進(jìn)行采樣罪靠,然后對(duì)前80個(gè)傾角采樣值進(jìn)行一次濾波運(yùn)算,當(dāng)里程每增加5cm時(shí)偷逆,將當(dāng)前的軌距和超高保存至隊(duì)列季糜,當(dāng)里程達(dá)到采樣間隔時(shí),則根據(jù)隊(duì)列里的數(shù)據(jù)算出三角坑卤索,然后與軌距和超高作為最終數(shù)據(jù)一并保存起來(lái)恰除。因此系統(tǒng)需要一個(gè)定時(shí)器,并且能在30ms內(nèi)完成一次濾波運(yùn)算斯泥。位移傳感器量程為5cm诵藐,轉(zhuǎn)換關(guān)系為1V/1cm,傾角傳感器量程為±10o啼阵,轉(zhuǎn)換關(guān)系為1V/1o册血,軌距、超高和三角坑的顯示分辨率要求達(dá)到0.1mm撤奸。因此AD轉(zhuǎn)換器需要擁有12位的精度吠昭。此外還需要實(shí)現(xiàn)U盤(pán)存儲(chǔ)、現(xiàn)場(chǎng)打印胧瓜、時(shí)鐘矢棚、液晶顯示、鍵盤(pán)輸入等功能贷痪。
3 硬件設(shè)計(jì)
3.1 硬件整體設(shè)計(jì)
ARM7系列的處理器的型號(hào)較多幻妓,設(shè)計(jì)使用了較為常見(jiàn)的三星公司生產(chǎn)的S3C44B0蹦误,它包含了一個(gè)運(yùn)算能力強(qiáng)大的ARM7TDMI核和大量實(shí)用的外設(shè)[1]劫拢。根據(jù)應(yīng)用的實(shí)際需要,為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四個(gè)量程,同時(shí)集成了時(shí)鐘發(fā)生器和基準(zhǔn)電路凌宫,數(shù)據(jù)接口也可與通用控制器直接連接炫咱。MAX197以簡(jiǎn)潔的電路提供了相當(dāng)高的性能,是嵌入式應(yīng)用的理想選擇[2]麻坯。
CH375是一個(gè)USB總線的通用接口芯片投圣,支持主從兩種方式,主機(jī)方式支持常用的USB全速設(shè)備毙帚。它內(nèi)置了處理Mass-Storage海量存儲(chǔ)設(shè)備的專用通訊協(xié)議的固件脓脸,外部控制器可以直接以扇區(qū)為基本單位讀寫(xiě)常用的USB存儲(chǔ)設(shè)備[3],提供了一個(gè)實(shí)用的嵌入式設(shè)備的U盤(pán)存儲(chǔ)方案熔布。
圖2硬件結(jié)構(gòu)框圖 Fig. 2 Picture of hardware structure
系統(tǒng)的框圖如圖2所示辐椎。其中S3C44B0的IO引腳由3.3V的LVCMOS驅(qū)動(dòng),最高輸入電壓為4.6V[1]其种,因此總線在掛接MAX197和液晶屏等5V邏輯電平的外設(shè)時(shí)應(yīng)該加上總線收發(fā)器以做隔離臼蔼,此外部分用于輸入GPIO引腳也需要加上緩沖器。
3.2 高效率電源管理
電源管理是電池供的電便攜式設(shè)備的關(guān)鍵部分藤树,使用低功耗器件和提高電源管理效率是延長(zhǎng)系統(tǒng)連續(xù)工作時(shí)間的兩個(gè)重要手段浴滴。設(shè)計(jì)中根據(jù)用電器的特征和成本上的考慮做出如圖3所示的供電方案。
圖3系統(tǒng)電源方案 Fig. 3 Scheme of power supply
DC-DC電源的效率雖高岁钓,但紋波系數(shù)較大升略,不適合模擬電路的供電;線性穩(wěn)壓器雖然穩(wěn)壓效果好屡限,但是效率低品嚣,且只能降壓。AD轉(zhuǎn)換器工作電流很小且對(duì)電源穩(wěn)定性要求高钧大,故直接使用線性穩(wěn)壓器給其供電翰撑,而數(shù)字部分都采用DC-DC電源,對(duì)于處理器所需的多電壓啊央,也采用線性穩(wěn)壓器眶诈,由此帶來(lái)的功率損耗還可接受。傳感器所需的正負(fù)電壓需要通過(guò)DC-DC的升壓和反轉(zhuǎn)才能得到瓜饥,為了消除其紋波的影響同時(shí)使用了線性穩(wěn)壓器逝撬。對(duì)于功率較大的液晶屏背光和打印機(jī)則使用單獨(dú)的DC-DC浴骂,并由處理器控制。同時(shí)DC-DC對(duì)負(fù)載大幅度波動(dòng)的適應(yīng)不是很好愚矗,打印機(jī)的機(jī)頭產(chǎn)生的功耗是間歇性的能航,瞬時(shí)功率很高,因此DC-DC需要有足夠的功率裕度椭药。
此電源方案在實(shí)踐中取得了良好的效果挚蟹,系統(tǒng)在關(guān)閉背光和打印機(jī)的情況下,12V蓄電池的輸出電流小于120mA蓬甩。
4軟件設(shè)計(jì)
4.1 實(shí)時(shí)數(shù)據(jù)采集
由于數(shù)據(jù)采集對(duì)實(shí)時(shí)性的要求很高县堰,所以軟件的設(shè)計(jì)沒(méi)有采用操作系統(tǒng),而是由多個(gè)中斷服務(wù)程序和主程序組成婆崔。設(shè)計(jì)一共用到4個(gè)外部中斷和3個(gè)內(nèi)部中斷茴支,分別來(lái)自光電編碼器正反向轉(zhuǎn)動(dòng)、MAX197十卖、CH375卓您、RTC和兩個(gè)定時(shí)器。其中比較重要的兩個(gè)中斷分別來(lái)自光電編碼器和產(chǎn)生采樣頻率的定時(shí)器俘伤,前者的特點(diǎn)是頻率較高浙炼,可達(dá)1KHz,且不能丟失唯袄,后者的特點(diǎn)是中斷服務(wù)程序的運(yùn)行時(shí)間長(zhǎng)弯屈,需要完成濾波運(yùn)算,因此要求中斷是可嵌套的恋拷。ARM處理器在硬件上不直接支持中斷服務(wù)程序的嵌套運(yùn)行[4]资厉,雖然可以通過(guò)軟件的方式實(shí)現(xiàn),但會(huì)增加額外的運(yùn)行開(kāi)銷蔬顾。巧妙的利用ARM的特有的中斷機(jī)制就可以解決上述問(wèn)題宴偿,ARM提供FIQ和IRQ兩類中斷,F(xiàn)IQ中斷到來(lái)時(shí)處理器將運(yùn)行狀態(tài)轉(zhuǎn)到FIQ模式下诀豁,該模式下?lián)碛袑S玫募拇嫫饕詼p少壓棧帶來(lái)的時(shí)間的損耗窄刘,IRQ類似,但專用寄存器沒(méi)有FIQ多舷胜。因此娩践,當(dāng)處理器在IRQ模式下運(yùn)行中斷服務(wù)程序時(shí),是可以立即響應(yīng)FIQ中斷的烹骨。將光電編碼器產(chǎn)生的中斷作為FIQ類型翻伺,其他中斷作為IRQ類型就可以使每個(gè)中斷得到及時(shí)的響應(yīng)[5]。
S3C44B0的中斷控制器是可以將某個(gè)中斷設(shè)定為FIQ或IRQ類型送至ARM核的。ARM核只有FIQ和IRQ這兩個(gè)中斷信號(hào)線姥憋,因此處理器需要中斷控制器的協(xié)作才能確定某個(gè)中斷來(lái)自哪個(gè)中斷源,S3C44B0提供了兩種解決方式: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ù)程序去訪問(wèn)中斷控制器的I_ISPR寄存器來(lái)確定中斷源阿切。
設(shè)計(jì)中將光電編碼器的中斷類型設(shè)為FIQ類型,并使用NON-VECTORED方式重抑,其他中斷設(shè)為IRQ類型擦蚣,使用VECTORED方式。中斷向量表由兩部分組成亿永,前部分為ARM核的異常跳轉(zhuǎn)指令掠廓,后部分供S3C44B0的VECTORED中斷方式使用。中斷服務(wù)程序可由匯編或者C語(yǔ)言編寫(xiě)甩恼,對(duì)于FIQ和IRQ類型的C語(yǔ)言函數(shù)需要加上__irq宏蟀瞧,編譯器才能生成正確的返回指令。
4.2 軟件的整體設(shè)計(jì)
由于沒(méi)有操作系統(tǒng)条摸,啟動(dòng)代碼和應(yīng)用程序是融為一體的悦污,啟動(dòng)代碼由匯編語(yǔ)言編寫(xiě),除前面的中斷向量表以外钉蒲,還負(fù)責(zé)硬件初始化切端,將自己從ROM拷貝到SDRAM,初始化各個(gè)模式下的堆棧等顷啼,完成了上述工作之后程序才能跳入由C語(yǔ)言編寫(xiě)的函數(shù)之中去帆赢。
數(shù)據(jù)采集之外的工作對(duì)實(shí)時(shí)性要求很低,除了鍵盤(pán)掃描和RTC使用低優(yōu)先級(jí)的中斷之外线梗,其他部分都包含在主程序循環(huán)里椰于。特別需要注意的是,由于中斷向量表存放在Flash中仪搔,在向Flash寫(xiě)數(shù)據(jù)的時(shí)候必須關(guān)閉所有中斷姻眼,所以需要保存的數(shù)據(jù)應(yīng)先放到SDRAM中去,待一次測(cè)量完成之后再寫(xiě)至Flash袄扛。
USB控制器CH375的制造商提供了U盤(pán)讀寫(xiě)的庫(kù)文件娄缴,只需要外部定義讀寫(xiě)CH375硬件的函數(shù)和將中斷服務(wù)程序配置到相應(yīng)的中斷,就可以實(shí)現(xiàn)對(duì)U盤(pán)FAT文件系統(tǒng)的操作桂付。
4.3 編譯與調(diào)試
設(shè)計(jì)采用的軟件開(kāi)發(fā)環(huán)境是ARM公司的ADS1.2摊梯,編譯C語(yǔ)言程序時(shí)可能會(huì)產(chǎn)生用于Semihost通信的代碼云盲,其中包含軟中斷SWI指令,但設(shè)計(jì)中并未包含SWI異常處理的程序杀乃,編譯器也沒(méi)有相應(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ì)充分的利用了ARM7處理器的性能和資源鞍后,根據(jù)特定應(yīng)用目標(biāo)構(gòu)建整個(gè)軟硬件平臺(tái)置塘,實(shí)現(xiàn)了高性能、低功耗的目標(biāo)伴澄。該系統(tǒng)已成功的用于軌道檢測(cè)儀樣機(jī)赋除,對(duì)其他基于ARM處理器的嵌入式系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)具有很好的參考意義。
本文作者創(chuàng)新點(diǎn):傳統(tǒng)的測(cè)試儀器多以單片機(jī)為核心非凌,但是單片機(jī)速度較慢贤重,資源較少,在許多應(yīng)用環(huán)境中必須對(duì)其進(jìn)行擴(kuò)展清焕,因此不利于降低系統(tǒng)功耗和提高集成度并蝗。將ARM7處理器應(yīng)用到軌道檢測(cè)儀的設(shè)計(jì)是新的信息處理技術(shù)與傳統(tǒng)應(yīng)用的一次創(chuàng)新結(jié)合,ARM7嵌入式平臺(tái)在提升系統(tǒng)性能和集成度的同時(shí)也改變了以往的系統(tǒng)設(shè)計(jì)方法秸妥,尤其是ARM處理器特有的中斷機(jī)制可以使實(shí)時(shí)數(shù)據(jù)的采集和處理實(shí)現(xiàn)起來(lái)更加方便和可靠滚停。此外,高效率的供電系統(tǒng)也是本文的亮點(diǎn)粥惧。
聲明:本網(wǎng)站所收集的部分公開(kāi)資料來(lái)源于互聯(lián)網(wǎng)键畴,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)突雪,也不構(gòu)成任何其他建議起惕。本站部分作品是由網(wǎng)友自主投稿和發(fā)布、編輯整理上傳掠北,對(duì)此類作品本站僅提供交流平臺(tái)牌骚,不為其版權(quán)負(fù)責(zé)。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻攘宝、圖片缘荧、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)第一時(shí)間告知下驴,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容蒿榄,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無(wú)反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力,智啟未來(lái)新篇章
- 定義制造業(yè)未來(lái)的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床能莫,助力制造升級(jí)技術(shù)專題
- 汽車輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動(dòng)機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題