ARM嵌入式控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 1.1 系統(tǒng)的硬件基礎(chǔ) 控制系統(tǒng)是基于atmel at91m55800a微處理器進(jìn)行設(shè)計(jì)的。at91m55800a是一款基于arm7tdmi核的16/32位微控制器。其處理器核為高性能的32位risc體系結(jié)構(gòu);具有高密度的16位指令集和極低的功耗,片內(nèi)集成了8 kb sram、向量中斷控制器vic、先進(jìn)電源管理控制器apmc和完全可編程的外部總線接口ebi;具有3個(gè)usart、58個(gè)可編程i/o線、6通道1 6位定時(shí)器/計(jì)數(shù)器、8通道10位adc和2路lo位dac,為各種超低功耗應(yīng)用提供了一種高度靈活且高性價(jià)比的解決方案。 圖1是控制系統(tǒng)的硬件結(jié)構(gòu)框圖。硬件設(shè)計(jì)采用了結(jié)構(gòu)化、模塊化的設(shè)計(jì)思想,易于裁剪。通信接口包括rs232串行通信接口、以太網(wǎng)接口和can總線接口。通過以太網(wǎng)口可以實(shí)現(xiàn)與工業(yè)以太網(wǎng)的互聯(lián)。結(jié)合arm集成開發(fā)環(huán)境adsl.2和在線調(diào)試工具multi-ice,通過jtag調(diào)試接口和處理器內(nèi)嵌的embedded ice邏輯,可以對系統(tǒng)進(jìn)行實(shí)時(shí)仿真和跟蹤調(diào)試?! ?.2 系統(tǒng)的軟件基礎(chǔ) (1)μc/os-ii的移植 控制系統(tǒng)要完成的工作足很復(fù)雜的,要管理的外設(shè)也很多,程序也越來越龐大,因此移植嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)是必然的選擇。對小型實(shí)時(shí)控制系統(tǒng)來說,源代碼公開的、可固化可裁剪的,具有很好的可移植性、高穩(wěn)定性和高可靠性,具有可剝奪型內(nèi)核的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng)μc/os-ii是很好的選擇。代碼簡潔的μc/os-ii已經(jīng)應(yīng)用到智能儀表、信息家電、無線通信設(shè)備和工業(yè)機(jī)器等嵌入式系統(tǒng)中?! ˇ蘡/os-ii在at9lm5800a處理器上移植比較簡單,只須修改3個(gè)與arm體系結(jié)構(gòu)相關(guān)的文件——os——cpu.h、os_cpu_a.s和(os_cpu_c.c,代碼量大約是500行。具體的移植過程不再詳述,網(wǎng)上有很多移植成功的范例可以考?! ?2)iec 61131-3標(biāo)準(zhǔn)軟件的應(yīng)用 iec 6113l-3標(biāo)準(zhǔn)是國際電工委員會(tec)第一次為全世界工業(yè)控制制定的有關(guān)數(shù)字控制軟件技術(shù)的編程語言標(biāo)準(zhǔn),包括編程和公共元素兩部分內(nèi)容。公共元素描述了iec61131-3五種編程語言(指令表、結(jié)構(gòu)化文本、梯形圖、功能塊圖和sfc)、iec軟件模型以及通信模型中用到的全部公共編程元素的變量和數(shù)據(jù)類型;給出了如何命名些軟件元素、聲明變量、變量及數(shù)據(jù)類型的初始化等規(guī)則,是實(shí)現(xiàn)iec61131-3編程系統(tǒng)不可缺少的有機(jī)組成部分。編程部分描述了兩個(gè)重要模型:iec軟件模型和通信模型。這兩個(gè)模型構(gòu)成了實(shí)現(xiàn)符合iec61131-3國際標(biāo)準(zhǔn)的編程系統(tǒng)的概念基礎(chǔ)。 iec61131-3標(biāo)準(zhǔn)還定義了一個(gè)標(biāo)準(zhǔn)功能和功能塊算法庫,而且用戶也可建立自己的算法庫。由于功能和功能算法庫都是用ansi c語言編寫的,所以用戶的控制算法程序具有很好的可移植性和可重用性?! ec61131-3標(biāo)準(zhǔn)軟件在基于at9lm55800a的硬件平臺上的應(yīng)用就是把iec運(yùn)行時(shí)系統(tǒng)作為μc/os-ii的一個(gè)任務(wù)運(yùn)行,代碼如下: 2 串口通信程序設(shè)計(jì) 用戶在基于iec6113l-3標(biāo)準(zhǔn)的編程系統(tǒng)中編寫好的程序,經(jīng)過編澤和鏈接后所生成的目標(biāo)代碼可以通過串口或以太網(wǎng)口下載到目標(biāo)系統(tǒng)(即控制系統(tǒng))中執(zhí)行。編程系統(tǒng)與目標(biāo)系統(tǒng)之間通信連接的選擇具有很大的靈活性,可以是rs232串口通信、以太網(wǎng)通信,或者是其他的通信方式。以下是基于at9lm55800a的rs232串口通信程序設(shè)計(jì)的代碼?! ≡趦?nèi)存中開辟數(shù)據(jù)接收/發(fā)送緩沖區(qū): 最后編寫iec運(yùn)行時(shí)系統(tǒng)內(nèi)核與用戶程序之間的接口界面通信程序: 有了以上代碼,嵌入式控制系統(tǒng)就可接收從上位機(jī)下載的用戶iec程序,同時(shí)上位機(jī)可對控制系統(tǒng)中的實(shí)時(shí)數(shù)據(jù)進(jìn)行采集和監(jiān)控。這些實(shí)時(shí)數(shù)據(jù)還可發(fā)布到工業(yè)以太網(wǎng)中實(shí)現(xiàn)信息共享?! 〗Y(jié)語 本文介紹了基于arm和iec6l131-3標(biāo)準(zhǔn)的嵌入式實(shí)時(shí)測控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)具有很好的開放性、可裁剪性和升級性。設(shè)計(jì)了rs232通信接口、以太網(wǎng)接口和can總線接口,可滿足現(xiàn)代工業(yè)控制的現(xiàn)場對網(wǎng)絡(luò)化的需求。軟件編程采用了iec6113l-3國際標(biāo)準(zhǔn),使得開發(fā)出來的用戶程序具有很好的可移植性和可重用性 歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)()





