嵌入式整流模塊控制器設計

2020-12-05 電子產品世界

基於AVR+μC/OS-II的嵌入式整流模塊控制器設計

Design of Embedded Rectifier Module Controller Based on AVR + μC/OS-II

張嶼  毛徵  劉瑞東

北京工業大學電子信息與控制工程學院  

北京動力源科技股份有限公司

摘要:針對通信電源產品中嵌入式控制系統設計的兼容性與擴展性問題,本文介紹了採用AVR單片機+μC/OS-II嵌入式實時作業系統作為軟硬體開發平臺的嵌入式整流模塊控制器的統一化設計方法。

關鍵詞:AVR單片機;μC/OS-II;嵌入式控制器

引言

  雖然目前通信電源產品中嵌入式控制系統的研發技術比較成熟,但是同一系列(如DUM系列)不同功率型號的產品具有不同的性能參數,以致控制系統採用不同的控制方法;同時,在以往的產品研發過程中,不同的嵌入式系統工程師具有不同的軟硬體設計思想,帶來了晶片應用、電路體系、軟體結構的差異。這兩方面問題造成產品的統一管理、統一維護與升級困難,成本提高。

  針對上述嵌入式控制系統兼容性和擴展性考慮不周的問題,結合8位AVR單片機的資源優勢以及原始碼開放的μC/OS-II實時作業系統內核的強健性和移植性,本文提出了嵌入式控制系統中基於AVR+μC/OS-II的整流模塊控制器設計方法。利用AVR資源豐富、運行速度快、編程靈活、調試方便的特點來滿足該控制器的功能與可靠性要求。採用C語言和彙編語言相結合的方法,將μC/OS-II實時作業系統移植入AVR,在保證系統性能的同時,將軟體開發統一化、規範化,縮短了產品研發周期,易於產品維護升級,降低了成本。

1.組成及工作原理

  DUM系列通信電源的嵌入式控制系統由主控制器、整流模塊控制器(簡稱「模塊控制器」)等組成。主控制器是中央處理子系統。模塊控制器是聯結主控制器與整流模塊(簡稱「模塊」)之間的數據通信、信號採集與指令控制的子系統,其功能由硬體和軟體兩部分協調完成。硬體上不同功率型號通信電源產品的模塊控制器架構完全一致;軟體上使用μC/OS-II完成數據處理及任務調度。具體的工作原理是:AVR依次採集並轉換模塊的狀態信號,檢測在位和模塊告警信號,以此構造狀態幀,通過RS485串行總線發送到主控制器,同時接收並解析主控制器發來的模塊調壓、限流和開關機控制信號幀,最後向模塊發送和執行這些控制信號。下面結合圖1,具體說明主控部分的特點,其餘部分詳見文獻[1]。

  主控部分MCU晶片採用ATMEL公司的ATmega16L。它具有如下特點[2]:

  (1) 豐富片內資源:片內配置16KB Flash ROM、512B EEPROM、1KB RAM,8通道10-bit ADC,16-bit Counter/Timer(可作PWM通道),有USART、SPI等接口。為μC/OS-II提供充足的程序空間;豐富的片內外設減少了AVR外圍電路,使控制器組態簡單,穩定可靠。

  (2) 高速、低輻射、低功耗:採用8-bit增強的RISC結構和Harvard結構,具有1MIPS/MHz性能,晶振頻率低(最大工作頻率為8MHz)。

  (3) 強大的C語言支持能力:結合1KB片內RAM、硬體乘法器,以及優秀的C編譯器,有助於生成快速、高效代碼。為μC/OS-II的運行提供充足的堆棧空間,程序可讀性和兼容性得到保證。

  (4) 支持JTAG在線下載調試,從而縮短開發周期,降低產品成本。

2.軟體設計

  模塊控制器的軟體設計步驟為:第一,將所實現的功能劃分成若干用戶任務;第二,以μC/OS-II為作業系統,將它移植入ATmega16L並進行配置;第三,編寫用戶任務和中斷程序;第四,在系統上編譯、調試程序。

2.1 μC/OS-II的移植和配置

  μC/OS-II是一個實時性強的作業系統內核,其軟硬體體系結構如圖2所示。應用程式處於頂層,每個任務都可以獨佔處理器,因此設計成無限循環。μC/OS-II處理器無關代碼提供作業系統服務,應用程式可以使用這些服務函數進行創建和刪除任務、任務間通信以及內存管理等操作。μC/OS-II的大部分代碼使用C語言編寫,與處理器相關的實時操作使用彙編語言編寫。用戶可將μC/OS-II內核裁減為滿足功能的最小系統。

  將μC/OS-II移植入AVR,需要修改OS_CPU.H、OS_CPU_C.C和OS_CPU_A.S這三個與MCU相關的文件,並根據控制器功能需求配置μC/OS-II,即修改OS_CFG.H文件[3]。

2.2 任務功能

  將控制器的功能劃分成5個用戶任務,指定任務優先級,優先級的制定原則是任務的重要性和實時性。μC/OS-II最多支持64個優先級,每個任務賦予1個優先級,其中用戶優先級為4~OS_LOWEST_PRIO-3。本控制器的用戶優先級選擇範圍是4~8。各用戶任務分別為:

  (1) 創建用戶任務的任務AppTaskStart():初始化作業系統時鐘節拍、初始化硬體、創建用戶任務。這是開啟多任務調度OSStart()之後第一個被執行的任務,優先級為4。

  (2) 產生PWM波的任務SetPWMOutTask():產生PWM調壓、限流波輸出值,優先級為5。

  (3) 處理模塊在位和告警信號的任務GetWarnStatusTask():採集模塊的在位信號和告警信號,優先級為6。

  (4) 模塊狀態採集的任務RctMeasureTask():片內ADC採集並量化模塊電流狀態信號,優先級為7。

  (5) 處理模塊開關機的任務PowProcessTask():解析並向模塊執行主控制器發來的開關機信令,優先級為8。

  這裡以創建用戶任務的任務為例,介紹用戶任務程序編寫方法。其主要代碼如下:

static void AppTaskStart(void *pdata)

{

(void)pdata;        // 防止編譯器告警

OSTickISR_Init();   // 初始化作業系統時鐘節拍

AppIOInit();         // 硬體初始化

AppTaskCreate();       // 創建用戶任務

while (1)           // 任務體(無限循環體)

{

OSTimeDly(10);    // 本任務延時100ms,同時讓下一個最高優先級的就緒態任務執行

}

}

2.3 中斷程序

  時鐘節拍中斷:作業系統通過時鐘節拍來實現計時以及延時操作,AVR工作頻率為8MHz,取一個時鐘節拍為10ms。必須創建一個用戶任務並開啟多任務調度OSStart()之後才能開啟時鐘節拍中斷,否則系統可能崩潰。

  USART接收完成中斷:接收並解析主控制器發來的命令數據幀。USART發送完成中斷:構造模塊狀態信息幀,發送到主控制器。這2個中斷通過全局變量與用戶任務通信。

2.4 兼容與擴展

  如果本控制器的某個功能需要改進,則直接修改相應的任務函數即可;如果要為本控制器添加新功能,則直接創建新任務,賦予優先級,在新任務函數中加入新功能的原始碼即可。這就為系統軟體的維護與升級提供了方便快捷的途徑。

  本控制器採用統一的數據結構,採用統一的適用於不同型號模塊的控制處理過程。另外,按照通信協議,本控制器向主控制器發送請求模塊配置幀,然後接收主控制器發回的配置信息來配置被控模塊參數。

3.結論

  本文結合AVR單片機和μC/OS-II實時作業系統的優點,設計出基於AVR+μC/OS-II的嵌入式模塊控制器,它具有軟硬體設計的兼容性強和易於擴展等突出特點,為DUM系列不同功率型號通信電源產品的開發、維護和升級節省了時間和費用。自2005年6月至今試用於DUM48-15B、25D、30D等通信電源產品中,其性能穩定,採樣精度高,告警、控制準確度100%,通信誤碼率低,取得了很好的應用效果。

參考文獻:

[1] 張嶼, 毛徵, 劉瑞東. 基於AVR單片機的整流模塊控制器設計與實現. 中國電子學會第十一屆青年學術年會論文集, 2005.

[2] Atmel Corporation. ATmega16(L) Datasheet.

[3] Jean J. Labrosse 著, 邵貝貝 等 譯. 嵌入式實時作業系統μC/OS-II (第2版). 北京: 北京航空航天大學出版社, 2003.
 

張嶼:碩士,研究方向為嵌入式系統。

相關焦點

  • 嵌入式系統中USB主機控制器的設計
    本文將介紹在嵌入式系統中應用USB時其主機控制器的設計。嵌入式系統設計挑戰 在基於PC的系統中,USB操作一般需要三種部件,分別是通常作為PCI子系統的主機控制器、USB堆棧以及USB類驅動器。 主機控制器是集成主板晶片組的一部分,USB堆棧則包含主板晶片及通用主機控制器接口(UCHI)和開放主機控制器接口(OHCI)驅動程序以及USB驅動程序(usbd.sys),在PC上實現USB需要上述領域的專門技術。 在嵌入式USB系統中,其主要組成部分與PC系統類似,如嵌入式主機控制器晶片、帶OHCI堆棧的實時作業系統(RTOS)以及專用驅動程序。
  • 基於嵌入式WinCE的CAN總線控制器驅動設計
    嵌入式作業系統(:Real-time Embedded OperatingSystem,RTOs或EOs)作為一種實時的、支持嵌入式系統應用的作業系統軟體,成為嵌入式系統(包括硬、軟體系統)極為重要的組成部分,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器Browser等。
  • 分時控制電熱水器的嵌入式控制器設計
    2 系統功能設計          本款電熱水器智能控制器,主要具有以下獨特功能:①帶柔和背光的液晶實時顯示溫度和實時時鐘;②具有漏電、幹燒、過熱、傳感器失效等多重保護;③方便的按鍵操作:系統開啟鍵;功率選擇鍵;定時狀態鍵;分段定時設定或時鐘校準狀態切換鍵;調整溫度、時鐘、定時開關機時間的數值設定鍵;④運行狀態指示;⑤故障聲光報警與指示。
  • 嵌入式Win CE中CAN總線控制器的驅動設計與實現
    嵌入式Win CE中CAN總線控制器的驅動設計與實現 秩名 發表於 2012-05-17 10:18:10   0 引 言   近年來,由於消費電子、
  • 一種通用型三相無感無刷直流電機控制器設計
    針對該問題設計了一套通用型三相無感無刷電機控制器,通過設置驅動晶片FT300的電機驅動模式即可合理配置控制器參數,從而起到節能降耗的作用。實驗結果表明採用該控制器驅動電機,在設置最佳驅動模式的情況下能有效降低能耗。
  • 一種嵌入式Web伺服器的設計方案
    (2)系統的硬體設計方案LPC2132微控制器是所設計的嵌入式Web伺服器的核心,一方面LPC2132微控制器內部要實現TCP/IP協議棧,並驅動網絡接口控制器ENC28J60,經耦合隔離變壓器H1102
  • 10kW全橋移相ZVSPWM整流模塊的設計
    介紹了10kW全橋移相ZVSPWM直流整流模塊主電路和控制電路的設計,給出了主變壓器和諧振電感的參數計算若採用常規的10A或20A的開關整流模塊,一般需要20個或10個以上的模塊並聯,並聯數過多,對模塊之間的均流會帶來一定的影響,而且可靠性並不隨著模塊並聯數的增加而增加,一般並聯數最好在10個以下。目前,在電廠中大容量的直流充電電源採用相控電源的比較多,因此,很有必要開發針對電廠用戶的大容量開關整流充電電源。
  • 高頻開關電源系統中整流模塊的設計方案
    本文主要闡述的是智能高頻開關電源的整流模塊的設計方案。   1 系統總體結構介紹   智能高頻開關電源系統的總體結構主要由主監控單元、配電模塊、交流配電單元、整流模塊等組成, 系統總體的結構圖如圖1 所示。系統中的各個監控單元受主監控單元的管理和控制, 通過通信線將各個監控單元採集的信息送給主監控統一管理。
  • 高頻開關電源系統中整流模塊的功能設計
    本文主要闡述的是智能高頻開關電源的整流模塊的設計方案。1 系統總體結構介紹  智能高頻開關電源系統的總體結構主要由主監控單元、配電模塊、交流配電單元、整流模塊等組成, 系統總體的結構圖如圖1 所示。系統中的各個監控單元受主監控單元的管理和控制, 通過通信線將各個監控單元採集的信息送給主監控統一管理。
  • 嵌入式系統USB接口的虛擬示波器設計
    嵌入式系統的發展使得基於嵌入式微處理器和實時作業系統的嵌入式虛擬儀器能夠滿足惡劣工作環境下的便攜虛擬儀器的需要。同時,基於USB總線的儀器設備克服了現有PC總線虛擬儀器的不足,可滿足自動化工業測量的要求,特別適合現場信號的測試。
  • 電源模塊在嵌入式系統設計中如何選型?看完就學會了
    電源模塊在嵌入式系統設計中如何選型?看完就學會了 佚名 發表於 2017-12-19 07:41:00 電源模塊的出現,將嵌入式工程師從繁重的電源設計工作中解脫出來。但電源模塊的種類繁多,我們在日常電路設計中該如何考慮選型呢?
  • 基於TMS320F2812的逆變電源控制器設計
    整流部分採用了2組晶閘管整流模塊,分別為逆變器輸出的正脈衝和負脈衝供電。通過控制晶閘管的觸發角就能控制直流母線電壓。逆變電路是該系統的核心部分,輸出脈衝的頻率、佔空比、脈衝個數、死區時間、加工模式以及加工時間段都是通過逆變電路進行控制。
  • 雙電壓整流電路設計,IGBT模塊適用於整流電路嗎?
    雙電壓整流電路需要搭載兩個橋式電路嗎?  不用兩個整流橋。用一個即可,把2個18伏交流接到整流橋的交流輸入端,把變壓器抽頭0伏接地線(線路板的地線),整流橋直流輸出+ -端接電容器濾波,電容器2個串聯之後正極接整流橋正極+,電容器負極接整流橋負極-,2個串聯的電容器中間引出一根線接地線,也就是雙18伏交流的抽頭。這樣就可以在直流輸出端得到正負20伏的雙電源了。
  • 現場總線的開關量 I/O 模塊的總體方案設計
    符合開放的總線規約,如Modbus、Device Net、Profibus-DP、Ethernet/IP等,能直接接入相應的網絡,可與其他製造商提供的可編程控制器、上位機協同工作。可分散配置在現場,連接當地的輸入/輸出信號,可通過網絡連接到控制器,實現要求的控制。規約的開放性使它可連接到任何其他製造商符合規範的各種控制器。
  • 嵌入式智能化傳感器的設計
    摘 要: 給出了智能化傳感器嵌入式控制器的開發環境、典型嵌入式微控制器硬體結構和軟體結構及設計方法,同時對智能化傳感器的信號處理方法作了簡單介紹,最後提供了一些目前廣泛應用的嵌入式微控制器晶片。
  • 基於FPGA的永磁同步電機控制器設計
    摘要:提出一種基於FPGA的永磁同步電機控制器的設計方案,該設計可應用於具有高動態性能要求的永磁同步電機伺服控制系統。為提高伺服控制系統的實時性,簡化電路及節省成本,該系統設計採用Ahera公司生產的CycloneIII EP3C25Q240C8型FPGA器件實現電機控制器。嵌入NiosⅡCPU軟核配合片內硬體乘法器及可編程邏輯門陣列,實現軟硬體協同工作。通過QuartusⅡ軟體自帶的SignalTaplI嵌入式邏輯分析儀進行板上調試驗證,得到帶有死區輸出的PWM波形。
  • 變頻器的整流模塊、逆變模塊的故障
    1、整流模塊的故障該故障屬於變頻器內部故障。測試電路整流模塊的基本電路如圖 4-4 所示。其內部二極體是否損壞可用萬用表的電阻擋來測量。在測量變頻器內部的整流模塊時,沒有必要把模塊拆下後再進行測量,而可以直接在變頻器上進行測量。2、逆變模塊的故障該故障也屬於變頻器內部故障。電路逆變模塊的內部電路如圖4-5所示。
  • 如何為通信電源系統選擇整流模塊
    為每一個應用場合提供最優方案是必要的,但是為此從頭開始設計每一個系統卻是不可行的。可行的是使用標準組件來配置系統。整流模塊是電源系統的心臟,選的模塊不正確,很難提供最優的電源系統配置。本文研究了與模塊有關的許多因素以及模塊的運行環境,並從邏輯上提供選擇通信電源系統整流模塊的方法。本文涉及範圍僅限於單相200W~6kW的整流模塊。但許多思路可應用在其它電源上。2冷卻方式—風冷和自冷的選擇一個系統的冷卻方式對整流模塊的選擇有非常大的影響。
  • 數據監測模塊的實時性分析與設計
    (3) 顯示時間嵌入式觸控螢幕裝置是一種人機互動設備,將觸控螢幕安裝在LCD液晶屏上,配以相應的控制電路對觸控螢幕和LCD進行控制。用戶通過觸摸操作,就可以對相應的設備進行交互。觸控螢幕由觸摸檢測部件和觸控螢幕控制器組成。採集到的數據送回到觸控螢幕控制器的X與Y值僅是對當前觸摸點的電壓值的A/D轉換值,它不具有實用價值。
  • 步進電機控制器與伺服電機控制器有哪些不同?
    步進電機和伺服電機是工控領域應用最廣泛的兩類產品,而它們的核心分別是步進電機控制器與伺服電機控制器,本文將給大家講解這兩種器件不一樣的地方。二、組成也不一樣1、步進電機控制器的三大電路電機驅動電路:在H橋電路的基礎上設計步進電機驅動電路。採用分立元件MOS管搭建雙H橋驅動電路是成熟的電機控制方案,電路不複雜,根據MOS管的不同工作電流的上限甚至可以高達數十安培,是理想的步進電機驅動器方案。