ARM是采用ARM公司技術(shù)知識產(chǎn)權(IP)核的微處理器。其中ARM7是低功耗的32位核,具有小體積、低功耗、低成本而高性能的特點(diǎn),在信息家電、工業(yè)控制和無(wú)線(xiàn)通信等領(lǐng)域得到了廣泛的應用。 IEC61131-3國際標準是國際標準化組織(國際電工技術(shù)委員會(huì ))為工業(yè)控制軟件編程制定的第一個(gè)國際標準。該標準針對工業(yè)控制系統所闡述的軟件設計概念、模型等,適應了當今世界軟件、工業(yè)控制系統的發(fā)展方向,是一種非常先進(jìn)的設計技術(shù)。 友好的交互界面、網(wǎng)絡(luò )互聯(lián)功能、智能化的軟件、實(shí)時(shí)數據處理已成為現代測控系統的共同需求,因此,毆計并實(shí)現基于A(yíng)RM微處理器和IEC 61131-3標準的嵌入式實(shí)時(shí)控制系統很有意義。 1 系統的設計與實(shí)現 1.1 系統的硬件基礎 控制系統是基于Atmel AT91M55800A微處理器進(jìn)行設計的。AT91M55800A是一款基于A(yíng)RM7TDMI核的16/32位微控制器。其處理器核為高性能的32位RISC體系結構;具有高密度的16位指令集和極低的功耗,片內集成了8 KB SRAM、向量中斷控制器VIC、先進(jìn)電源管理控制器APMC和完全可編程的外部總線(xiàn)接口EBI;具有3個(gè)USART、58個(gè)可編程I/O線(xiàn)、6通道1 6位定時(shí)器/計數器、8通道10位ADC和2路lO位DAC,為各種超低功耗應用提供了一種高度靈活且高性?xún)r(jià)比的解決方案。 圖1是控制系統的硬件結構框圖。硬件設計采用了結構化、模塊化的設計思想,易于裁剪。通信接口包括RS232串行通信接口、以太網(wǎng)接口和CAN總線(xiàn)接口。通過(guò)以太網(wǎng)口可以實(shí)現與工業(yè)以太網(wǎng)的互聯(lián)。結合ARM集成開(kāi)發(fā)環(huán)境ADSl.2和在線(xiàn)調試工具M(jìn)ulti-ICE,通過(guò)JTAG調試接口和處理器內嵌的Embedded ICE邏輯,可以對系統進(jìn)行實(shí)時(shí)仿真和跟蹤調試。 1.2 系統的軟件基礎 (1)μC/OS-II的移植 控制系統要完成的工作足很復雜的,要管理的外設也很多,程序也越來(lái)越龐大,因此移植嵌入式實(shí)時(shí)多任務(wù)操作系統是必然的選擇。對小型實(shí)時(shí)控制系統來(lái)說(shuō),源代碼公開(kāi)的、可固化可裁剪的,具有很好的可移植性、高穩定性和高可靠性,具有可剝奪型內核的搶占式實(shí)時(shí)多任務(wù)操作系統μC/OS-II是很好的選擇。代碼簡(jiǎn)潔的μC/OS-II已經(jīng)應用到智能儀表、信息家電、無(wú)線(xiàn)通信設備和工業(yè)機器人等嵌入式系統中。 μC/OS-II在A(yíng)T9lM5800A處理器上移植比較簡(jiǎn)單,只須修改3個(gè)與ARM體系結構相關(guān)的文件——OS——CPU.H、OS_CPU_A.S和(OS_CPU_C.C,代碼量大約是500行。具體的移植過(guò)程不再詳述,網(wǎng)上有很多移植成功的范例可以參考。 (2)IEC 61131-3標準軟件的應用 IEC 6113l-3標準是國際電工委員會(huì )(TEC)第一次為全世界工業(yè)控制制定的有關(guān)數字控制軟件技術(shù)的編程語(yǔ)言標準,包括編程和公共元素兩部分內容。公共元素描述了IEC61131-3五種編程語(yǔ)言(指令表、結構化文本、梯形圖、功能塊圖和SFC)、IEC軟件模型以及通信模型中用到的全部公共編程元素的變量和數據類(lèi)型;給出了如何命名這些軟件元素、聲明變量、變量及數據類(lèi)型的初始化等規則,是實(shí)現IEC61131-3編程系統不可缺少的有機組成部分。編程部分描述了兩個(gè)重要模型:IEC軟件模型和通信模型。這兩個(gè)模型構成了實(shí)現符合IEC61131-3國際標準的編程系統的概念基礎。 IEC61131-3標準還定義了一個(gè)標準功能和功能塊算法庫,而且用戶(hù)也可建立自己的算法庫。由于功能和功能算法庫都是用ANSI C語(yǔ)言編寫(xiě)的,所以用戶(hù)的控制算法程序具有很好的可移植性和可重用性。 IEC61131-3標準軟件在基于A(yíng)T9lM55800A的硬件平臺上的應用就是把IEC運行時(shí)系統作為μC/OS-II的一個(gè)任務(wù)運行,代碼如下: 2 串口通信程序設計 用戶(hù)在基于IEC6113l-3標準的編程系統中編寫(xiě)好的程序,經(jīng)過(guò)編澤和鏈接后所生成的目標代碼可以通過(guò)串口或以太網(wǎng)口下載到目標系統(即控制系統)中執行。編程系統與目標系統之間通信連接的選擇具有很大的靈活性,可以是RS232串口通信、以太網(wǎng)通信,或者是其他的通信方式。以下是基于A(yíng)T9lM55800A的RS232串口通信程序設計的代碼。 在內存中開(kāi)辟數據接收/發(fā)送緩沖區: 最后編寫(xiě)IEC運行時(shí)系統內核與用戶(hù)程序之間的接口界面通信程序: 有了以上代碼,嵌入式控制系統就可接收從上位機下載的用戶(hù)IEC程序,同時(shí)上位機可對控制系統中的實(shí)時(shí)數據進(jìn)行采集和監控。這些實(shí)時(shí)數據還可發(fā)布到工業(yè)以太網(wǎng)中實(shí)現信息共享。 結語(yǔ) 本文介紹了基于A(yíng)RM和IEC6l131-3標準的嵌入式實(shí)時(shí)測控系統的設計與實(shí)現方法。該系統具有很好的開(kāi)放性、可裁剪性和升級性。設計了RS232通信接口、以太網(wǎng)接口和CAN總線(xiàn)接口,可滿(mǎn)足現代工業(yè)控制的現場(chǎng)對網(wǎng)絡(luò )化的需求。軟件編程采用了IEC6113l-3國際標準,使得開(kāi)發(fā)出來(lái)的用戶(hù)程序具有很好的可移植性和可重用性。 |