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