摘要:文中針對工業控制器的發展需求,主要面向工業控制領域構建和開發基于瑞薩單片機和μC/OS-II操作系統的嵌入式控制器。在分析瑞薩單片機的基礎上,自主開發以瑞薩公司的SH7137芯片為核心的嵌入式控制器硬件平臺。本嵌入式控制器采用核心板+底板的方式設計,硬件設計上以SH7137微處理器作為控制器的核心,并設計了電源電路、RS232、RS485串行接口和JTAG接口電路、人機界面電路以及輸入輸出模塊。
關鍵詞:嵌入式;控制器;瑞薩;嵌入式操作系統;μC/OS-II
現今,工業控制設備主要分為兩種:工業控制機和可編程控制器(PLC)。工業控制機是由通用的微機推廣應用而發展起來的。目前,可編程控制器正朝著兩個方向發展。一是朝著小型、簡易、價格低廉的方向發展,主要用于單機控制和規模比較小的自動化生產線控制。二是朝著大型、高速、多功能和多層分布式全自動化方向發展。近幾年來,不論是工業控制機技術還是可編程控制器技術向嵌入式領域滲透的步伐逐漸加大,嵌入式的工業控制器以極小的體積、極低的功耗散熱和軟硬件的可裁剪性,而受到用戶的歡迎,因而具有巨大的應用潛力。
1 嵌入式控制器硬件設計
本論文所做的基于瑞薩SH7137的嵌入式控制器的設計,采用了核心模板(System On Module)+底板的設計方式。在設計上考慮在工業控制器的設計中既要保留傳統的控制器特點,又要在設計中有所開發自身控制器的特色,為此,我們在設計中采用了核心板模塊化的設計思想,底板多功能集成。而且核心模塊接口定義統一,可以根據控制MCU的功能做出不同的核心模塊,例如8位核心模塊、16位控制模塊、32位控制模塊。本控制器采用瑞薩公司生產的32位單位機,基于SH2核的SH7137單片機作為核心控制芯片,實現32位控制模塊。核心模塊是整個控制器的核心部分,由以單片機SH7137核心,加上RTC實時電路、PC電路和JTAG調試電路構成一個小系統,通過總線擴展、IO外接等功能模塊構成了以單片機為基礎的復雜工業控制系統的核心模塊。核心模塊的組成框圖如圖1所示。
嵌入式控制器的底板主要集成了人機界面控制(HMI)、通訊模塊、外部總線接口以及輸入輸出(I/O)模塊。底板主要實現的功能是根據核心模塊處理好的信號通過底板的輸出模塊或者人機界面的顯示屏輸出,或者根據外部輸入信號通過底板的輸入模塊或者人機界面的按鍵輸入到核心模塊進行運算然后輸出。底板的組成框圖如圖2所示。
2 μC/OS-II的移植
移植就是使一個實時內核能在某個微處理器或微控制器上運行。為了便于內核的移植,μC/OS-II的大部分代碼用C語言編寫。移植工作主要集中在os_cpu.h,os_cpu_C.C、os_cpu_a.asm三個文件上。os_cpu.h主要涉及到與編譯器相關的數據類型的定義、堆棧類型定義、兩個宏定義和幾個函數說明。os_cpu_C.C包含與移植有關的10個C函數,除第一個任務堆棧初始化函數外的9個函數,需要聲明,由系統函數調用,方便用戶可以在操作系統中加入自己需要的功能。os_cpu_a.asm包含與移植有關的4個匯編語言函數:OSStartHighRdy()、OSCtxSw ()、OSIntCtxSw ()、STickISR ()。
控制器采用瑞薩單片機SH7137,具有SH2的內核,支持集成開發環境HEW,可以生成重入代碼,有足夠的寄存器來關、開中斷,指令可以對堆棧進行操作,因此,μC/OS-II可以移植到SH7137控制器上。
3 系統程序設計
實現了嵌入式控制器系統的硬件設計和μC/OS-II操作系統的移植,但這只是個嵌入式控制器的系統平臺。在實際應用中還必須對相應外圍功能模塊的操作達到控制目的。針對外圍功能模塊編寫一個接口函數,就可以在編寫應用軟件時調用這些函數來傳遞數據,另外,能夠針對具體應用編寫并調試一些具體有相對獨立性的、通用性的函數,將大大簡化編程結構,并使程序模塊化,形成一個統一的接口的函數庫。如圖3所示。
在整個嵌入式控制器的設計上,硬件設計,為整個控制器最底層,其中包括SOM核心板、底板以及輸入輸入的IO模塊,操作系統的處于控制器的第二層,負責與處理底層硬件的接口,同時為處理上層應用程序提供接口,本控制器移植的是開源的嵌入式操作系統:μC/OS-II。本系統的第三層為應用開發層,主要是實現針對用戶所要求處理問題的應用程序,這一層主要面向用戶,其中應用開層包含了一個函數驅動庫,這是這個模塊函數接口,為二次開發人員提供的,方便其調用系統的模塊函數接口,同時也方便用戶調用,便于開發,減少用戶利用本控制器開發產品的周期。
硬件驅動庫主要集成了人機界面的控制、RS232串口通信訊模塊、RS485通信模塊、CAN接口通信模塊以及IO輸入輸出等模塊的數據處理。硬件驅動庫具有統一的數據定義和統一的函數接口。
4 結束語
本文基于SH7137嵌人式控制器采用核心板+底板的開發模式,實現功能模塊化、可配置化的功能,具有通用性、可編程、良好的人機界面等特點。整個控制系統可以根據使用的場合和對象進行模塊配置,為其帶來靈活多變、成本低廉等優勢。