為了提高數(shù)據(jù)采集系統(tǒng)的實(shí)時性與可靠性,采用μC/OS-II實(shí)時操作系統(tǒng)平臺,并在此平臺上開發(fā)了USB設(shè)備驅(qū)動程序、模擬量幅值與相位計算等程序。
μC/OS-II是一種可移植、可裁減、占先式的實(shí)時多任務(wù)操作系統(tǒng)。其絕大部分代碼是用ANSI C編寫的,只有小部分與硬件相關(guān)的代碼是用匯編語言編寫的,易于移植。μC/OS-II功能強(qiáng)大,支持56個用戶仟務(wù),支持信號量、消息郵箱、消息隊列等多種常用的進(jìn)程間通信機(jī)制,可剝奪實(shí)時內(nèi)核使得任務(wù)級系統(tǒng)響應(yīng)時間得到最優(yōu),而響應(yīng)時間是可知的,很適合于對實(shí)時性要求比較高的系統(tǒng)?,F(xiàn)已成功應(yīng)用到很多領(lǐng)域,其穩(wěn)定性與可靠性已經(jīng)得到檢驗。2000年7月,μC/OS-II通過非常嚴(yán)格的測試,取得了美國航空管理局(FAA)的認(rèn)證,說明它可用于與人性命攸關(guān)的安全重要系統(tǒng)。
TMS320LF2407滿足μC/OS-II移植的條件,TI公司提供的編譯器Code Composer也支持C語言和匯編語言開發(fā),本文在此平臺七進(jìn)行操作系統(tǒng)移植和軟件開發(fā)。μC/OS-II操作系統(tǒng)的組成義件分為3類:與處理器無關(guān)的代碼文件;與處理器有關(guān)的代碼文件,以及μC/OS-II與應(yīng)用相關(guān)的設(shè)置文件。當(dāng)然,移植工作完成后編寫應(yīng)用程序,還應(yīng)包括應(yīng)用文件。移植所需要做的工作僅僅是修改部分與處理器有關(guān)的文件。這類文件包括:OS_CPU.H、0S_CPU_A.ASM、OS_CPU_C.C三個文件。
在本應(yīng)用中,筆者建立了7個應(yīng)用任務(wù),優(yōu)先級分別為4、5、6、7、8、9、1O;同時為每個任務(wù)分配了一個消息郵箱,使用基于消息郵箱事件的通信機(jī)制進(jìn)行任務(wù)間通信與任務(wù)切換。整個軟件的基本結(jié)構(gòu)如圖2所示。
任務(wù)AD_Task():DSP(N0.1)采樣電壓、電流信號。分配郵箱:pAd_Mbox。
任務(wù)DFT_Task():DSP(No.1)進(jìn)行相量遞歸DFT計算。分配郵箱:pDFT_Mbox。
任務(wù)SPI_Task():DSP(No.1)通過SPI總線向DSP(No.2)發(fā)送相量數(shù)據(jù)和有功、無功信息。分配郵箱:pSPI_Mbox。
任務(wù)USB_Task():DSP(No.2)通過USB總線向上位機(jī)傳送相量數(shù)據(jù)和有功、無功信息。分配郵箱:pUSB_Mbox。
任務(wù)CAN_Task():DSP(No.2)通過CAN總線在工業(yè)以太網(wǎng)傳送相量數(shù)據(jù)和有功、無功信息。分配郵箱:pCAN_Mbox。
任務(wù)GPS_Task():DSP(No.2)配合GPS的秒脈沖實(shí)現(xiàn)高精度授時功能并啟動A/D轉(zhuǎn)換。分配郵箱:pGPS_Mbox。
任務(wù)LCD_Task():DSP(No.2)通過液晶模塊實(shí)時顯示信息。分配郵箱:pLCD_Mbox。
由上節(jié)對堆棧的分析可知,任務(wù)棧最少需要25個地址。筆者為每個任務(wù)分配了100個地址(200字節(jié))的任務(wù)??臻g。使用函數(shù)OSTaskCreate()創(chuàng)建各任務(wù)。該函數(shù)的第三個參數(shù)為棧頂?shù)刂罚疄镺STaskStkInit()所調(diào)用。要注意,2407A的堆棧是遞增的,故應(yīng)傳遞任務(wù)棧的最低地址;而又由于任務(wù)程序是采用C語言編寫的,編譯器對ARl的偏移范圍可能會超過任務(wù)棧棧頂。雖然在這種情況下ARl是可恢復(fù)的,但仍可能會影響最低地址之前的地址內(nèi)容。所以筆者建議對其進(jìn)行適當(dāng)后移。
幅值與相角計算程序得到采樣數(shù)據(jù)后,利用離散傅里葉算法(DFT),可分別計算出每路電壓、電流信號的幅值與相位,生成相量形式的電壓與電流數(shù)據(jù)。
結(jié)語
本文設(shè)計的PMU,硬件上采用了嵌入式微處理器DSP的雙CPU結(jié)構(gòu),軟件上采用μC/OS-II操作系統(tǒng)。通過μC/OS-II管理各個功能模塊之間的任務(wù)調(diào)度、中斷處理、信息的交互等操作,使整個系統(tǒng)具有高實(shí)時性、高可靠性、可熱插拔等特點(diǎn);同時也提高了軟件開發(fā)的效率,縮短了開發(fā)周期。同步相量測量單元的研制是一個復(fù)雜的課題,其實(shí)現(xiàn)還存在很多難點(diǎn)。本設(shè)計只涉及其中一部分,許多通信環(huán)節(jié)及同步相量的高級應(yīng)用問題還需在令后的工作中進(jìn)一步完善和提高。
責(zé)任編輯:lq6
-
電流
+關(guān)注
關(guān)注
40文章
6500瀏覽量
131110 -
電壓
+關(guān)注
關(guān)注
45文章
5425瀏覽量
115103 -
DFT
+關(guān)注
關(guān)注
2文章
224瀏覽量
22607
發(fā)布評論請先 登錄
相關(guān)推薦
評論