TWI821998B - 離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法 - Google Patents

離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法 Download PDF

Info

Publication number
TWI821998B
TWI821998B TW111114776A TW111114776A TWI821998B TW I821998 B TWI821998 B TW I821998B TW 111114776 A TW111114776 A TW 111114776A TW 111114776 A TW111114776 A TW 111114776A TW I821998 B TWI821998 B TW I821998B
Authority
TW
Taiwan
Prior art keywords
interrupt
program
product
software
chip
Prior art date
Application number
TW111114776A
Other languages
English (en)
Other versions
TW202303392A (zh
Inventor
林祐任
林建璋
朱家葦
蔡騰緯
董豐瑄
Original Assignee
台達電子工業股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 台達電子工業股份有限公司 filed Critical 台達電子工業股份有限公司
Publication of TW202303392A publication Critical patent/TW202303392A/zh
Application granted granted Critical
Publication of TWI821998B publication Critical patent/TWI821998B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本發明提供一種離線式軟體在環模擬的開發系統及一種離線式軟體在環模擬方法。通用韌體架構經編譯後產生晶片控制程式。通用韌體架構包含應用層與硬體抽象層。應用層具有設定標頭檔與產品程式。周邊模組所需的處理程式於編譯時被加入至硬體抽象層。晶片控制程式被提供至控制器晶片或電路模擬軟體執行來透過控制周邊模組來控制產品相關電路。

Description

離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法
本發明係與軟體在環模擬有關,特別有關於一種離線式軟體在環模擬的開發系統及一種離線式軟體在環模擬方法。
一般電路設備包含控制器晶片與產品相關電路。
控制器晶片可透過執行韌體來控制產品相關電路,藉以實現電路自動控制。
於韌體的開發過程中,多是採用軟體在環模擬(software-in-the-loop simulation)方法來產生相容於特定控制器晶片的韌體。
前述的軟體在環模擬方法可分為即時式軟體在環模擬(real-time software-in-the-loop simulation)方法與離線式軟體在環模擬(offline software-in-the-loop simulation)方法。
一般的即時式軟體在環模擬方法是透過高速通訊介面及/或特定硬體來將開發系統直接連接電路設備,來直接量測周邊模組的訊號。由於需要高速通訊介面及/或特定硬體,即時式軟體在環模擬方法具有較高的硬體成本。
請參閱圖1,圖1為現有的離線式軟體在環模擬方法的示意圖。
於現有的離線式軟體在環模擬方法中,開發者必須先實現模型在環(model-in-the-loop,MIL)模擬方法來生成控制器模型。
控制器模型是用來自動產生控制對象(如特定廠牌/型號的控制器晶片)可執行的控制器程式碼。
開發者可將所產生的控制器程式碼提供給控制對象執行,並透過觀察運行結果來驗證程式邏輯是否正確,藉以實現離線式軟體在環模擬方法。
於現有的離線式軟體在環模擬方法中,開發者所使用的電路模擬軟體必須支援目前使用的控制器晶片的類型,其控制器模型所產生的控制器程式碼才能正確相容於此類型的控制器晶片,進而正確進行模擬。
更進一步地,對於不同廠牌/型號的控制器晶片,電路模擬軟體必須分別提供不同的控制器模型來執行前述自動程式碼生成。
上述情況使得電路模擬軟體僅能支援有限的控制器晶片廠牌/型號,一旦遇到不支援的控制器晶片廠牌/型號,電路模擬軟體就無法自動產生相容於此控制器晶片的控制器程式碼。
是以,現有軟體在環模擬方法存在上述問題,而亟待更有效的方案被提出。
本發明之主要目的,係在於提供一種離線式軟體在環模擬的開發系統與一種離線式軟體在環模擬方法,可透過通用韌體架構的硬體抽象層來使產品程式相容於指定的控制器晶片或電路模擬軟體,且不需變更產品程式。
於一實施例中,一種離線式軟體在環模擬的開發系統,包含一資料庫及一通用韌體架構。該通用韌體架構包含一應用層及一硬體抽象層。該資料庫包含至少一晶片周邊函式庫,各該晶片周邊函式庫包含至少一處理程式。該通用韌體架構於被編譯後產生一晶片控制程式。該應用層包含一產品程式與一設定標頭檔,該產品程式記錄有用來控制一產品相關電路的程式碼,該設定標頭檔用來連結一周邊模組所需的該處理程式。該硬體抽象層包含該處理程式,其中該應用層依據特定的一實體控制器晶片或一電路模擬軟體所要控制的該周邊模組而於編譯中從該資料庫中將對應的該處理程式加入至該硬體抽象層。該晶片控制程式用來被提供至該實體控制器晶片或該電路模擬軟體中執行,並透過控制該周邊模組來控制該產品相關電路。
於一實施例中,一種離線式軟體在環模擬方法,包含:a)取得一產品程式與一設定標頭檔,其中該產品程式記錄有用來控制一產品相關電路的程式碼,該設定標頭檔用來連結一周邊模組所需的一處理程式,該處理程式用來於一實體控制器晶片或一電路模擬軟體中控制該周邊模組;b)執行一編譯器來編譯該產品程式及該設定標頭檔來產生一晶片控制程式;及,c)於該實體控制器晶片或該電路模擬軟體中執行該晶片控制程式來透過控制該周邊模組來控制該產品相關電路;其中,該步驟b)包含:b1)基於該設定標頭檔從一資料庫搜尋該處理程式,並將該處理程式加入至一硬體抽象層;b2)編譯一應用層及該硬體抽 象層來產生該晶片控制程式,其中該應用層包含該產品程式與該設定標頭檔;及,b3)提供該晶片控制程式至該實體控制器晶片或該電路模擬軟體中。
本發明可快速將產品程式轉用於不同類型的控制器晶片或電路模擬軟體,而可有效縮短韌體開發時程。
1:資料庫
2:程式碼
3:編譯後產物
10:通用韌體架構
100:應用層
101:硬體抽象層
11:晶片控制程式
20:設定標頭檔
21:產品程式
22:周邊初始化程式
23:非搶占式調度器
30:晶片周邊函式庫
300:處理程式
301:處理程式
31:實體控制器晶片
32:實體周邊模組
33、330-333:實體產品相關電路
34:虛擬控制器晶片
35:動態連結函式庫
36、360-362:虛擬周邊模組
37、370-373:虛擬產品相關電路
41:電力監控
42:風扇轉速控制
43:LED控制
44:外部過電流保護
45:數位閉迴路控制
pwm1-pwm5、v1-v5、i1-i5、tacho1-tacho2、led1-led2、duty1-duty2:訊號
S10-S12:模擬步驟
S20-S22:編譯步驟
S30-S33:產品模式模擬步驟
S40-S41:產品模式設定步驟
S50-S53:虛擬模式模擬步驟
S60-S61:虛擬模式設定步驟
S70-S72:非搶占式調度步驟
S80-S82:中斷/非中斷處理步驟
S90-S97:非搶占式中斷/非中斷處理步驟
圖1為現有的離線式軟體在環模擬方法的示意圖。
圖2為本發明的一實施例的離線式軟體在環模擬方法的示意圖。
圖3A為本發明的一實施例的開發系統的編譯架構圖。
圖3B為本發明的一實施例的開發系統的產品模式的執行架構圖。
圖3C為本發明的一實施例的開發系統的虛擬模式的執行架構圖。
圖4A為本發明的一實施例的離線式軟體在環模擬方法的流程圖。
圖4B為本發明的一實施例的編譯的流程圖。
圖5為本發明的一實施例的產品模式的編譯架構圖。
圖6為本發明的一實施例的產品模式的執行架構圖。
圖7為本發明的一實施例的產品模式的流程圖。
圖8為本發明的一實施例的虛擬模式的編譯架構圖。
圖9為本發明的一實施例的虛擬模式的執行架構圖。
圖10為本發明的一實施例的虛擬模式的流程圖。
圖11為本發明的一實施例的硬體抽象層的架構圖。
圖12為本發明的一實施例的通用韌體架構的資料連結示意圖。
圖13為本發明的一實施例的設定標頭檔的部分示意圖。
圖14為本發明的一實施例的控制器晶片的處理程式的示意圖。
圖15為本發明的一實施例的電路模體軟體的處理程式的部分示意圖。
圖16為本發明的一實施例的非搶占式調度的流程圖。
圖17為本發明的一實施例的中斷/非中斷程式處理的流程圖。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
請參閱圖2、圖3A、圖3B與圖3C。圖2為本發明的一實施例的離線式軟體在環模擬方法的示意圖。圖3A為本發明的一實施例的開發系統的編譯架構圖。圖3B為本發明的一實施例的開發系統的產品模式的執行架構圖。圖3C為本發明的一實施例的開發系統的虛擬模式的執行架構圖。
本發明提出一種離線式軟體在環模擬的開發系統與一種離線式軟體在環模擬方法,僅需簡單設定,即可將產品程式快速轉用至指定的控制對象,並產生相容於指定的控制對象的韌體(如後述之晶片控制程式),而可提供極佳的產品程式移植能力。
前述的控制對象可例如為不同種類/型號的控制器晶片或用來模擬不同控制器晶片的電路模擬軟體。
於本發明中,開發系統可例如為個人電腦、筆記型電腦、平板電腦等通用電腦系統,並可包含儲存器(如暫存器、快取記憶體、快閃記憶體、磁碟硬碟、固態硬碟、RAM、ROM、EEPROM等)、輸入裝置(如鍵盤、滑鼠、觸控板等)、輸出裝置(如顯示器、喇叭等)、通訊介面(如USB介面、Wi-Fi介面、 藍芽介面、序列通訊介面等)、電性連接上述裝置的處理器(如CPU、GPU、ALU等)及/或其他電腦裝置。
前述儲存器可用來儲存本發明之資料庫1、通用韌體架構(Common Firmware Architecture,CFA)10、開發軟體、電路模擬軟體及/或其他程式/軟體。
處理器可用來執行儲存器所儲存的程式/軟體,對儲存器進行資料讀寫,並可透過輸入裝置與輸出裝置來與開發者進行互動。
本發明的開發系統可包含以程式碼2構成的一種通用韌體架構10,並提供了產品模式(Product Mode)與虛擬模式(Virtual Mode)。於產品模式下(即圖3B所示的實際世界),控制對象可為實體控制器晶片31。於虛擬模式下(即圖3C所示的電路模擬軟體),控制對象可為電路模擬軟體的虛擬控制器晶片34。
開發系統的資料庫1中可包含一或多個晶片周邊函式庫30。各晶片周邊函式庫30是對應一種控制器晶片,如實體控制器晶片31或虛擬控制器晶片34。
並且,各晶片周邊函式庫30可包含一或多個處理程式(圖3A以多個300-301處理程式為例)。各晶片周邊函式庫30的多個處理程式300-301是分別用來控制所對應的控制器晶片的多個周邊模組,如實體控制器晶片31的實體周邊模組32,或者虛擬控制器晶片34的虛擬周邊模組36。
開發系統的通用韌體架構10為程式碼2的架構,並且開發系統包括了編譯器(compiler),通用韌體架構10於被編譯器進行編譯(compiling)後產生晶片控制程式11(即,為通用韌體架構10的編譯後產物3)。晶片控制程式11即可用來控制前述的周邊模組執行產品程式21所指定功能。
通用韌體架構10可包含應用層(Application Layer)100與硬體抽象層(Hardware Abstraction Layer,HAL)101。
應用層100包含產品程式21與其設定標頭檔(head file)20。
產品程式21記錄有用來控制產品相關電路的程式碼。設定標頭檔20用來連結所指定的控制器晶片的周邊模組(如實體控制器晶片31的實體周邊模組32或虛擬控制器晶片34的虛擬周邊模組36)所需的處理程式301。
具體而言,開發者可針對要實現的控制功能撰寫產品程式21。前述產品程式21可呼叫產品相關子程式,且不需考慮所要執行的控制對象(如實體控制器晶片31或虛擬控制器晶片34)的類型。
接著,當決定執行產品程式21的控制對象後,開發者可修改產品程式21的設定標頭檔20來透過設定標頭檔20連結用來控制周邊模組的處理程式301。
更進一步地,開發者可依據產品程式21所使用的控制功能,選擇對應的周邊模組,並於設定標頭檔20中設定此周邊模組所需的處理程式301。
前述處理程式301是相容於指定的控制器晶片的周邊模組(如實體控制器晶片31的實體周邊模組32或虛擬控制器晶片34的虛擬周邊模組36),並可作為產品程式21控制周邊模組的媒介。
以控制風扇轉速功能為例,產品程式21必須透過控制器晶片的PWM模組(周邊模組)來向風扇裝置(產品相關電路)發出風扇轉速控制訊號(PWM訊號)。
以控制LED功能為例,產品程式21必須透過控制器晶片的GPIO模組(周邊模組)來向LED裝置(產品相關電路)發出I/O控制訊號。
於本發明中,開發系統可使用編譯器對通用韌體架構10的程式碼2進行編譯,以獲得晶片控制程式11。
具體而言,編譯器可基於設定標頭檔20從資料庫1中搜尋目前的控制器晶片所對應的晶片周邊函式庫30,從所找到的晶片周邊函式庫30的多個處理程式300-301中取出設定標頭檔20所指定的處理程式301,並將處理程式301加入至硬體抽象層101。
接著,編譯器可對通用韌體架構10的所有程式碼2執行編譯與連結,來產生晶片控制程式11。
於本發明中,所產生的晶片控制程式11被提供至實際世界的實體控制器晶片31(產品模式)或電路模擬軟體(虛擬模式)。
於產品模式下,開發者可透過通訊介面將開發系統連接至實體控制器晶片31,並透過實體控制器晶片31所對應的開發軟體與通訊介面來將晶片控制程式11燒錄至實體控制器晶片31。
當實體控制器晶片31執行晶片控制程式11時,晶片控制程式11的產品程式21可透過處理程式301來控制實體控制器晶片31的實體周邊模組32。透過控制實體周邊模組32,產品程式21可間接控制連接至實體周邊模組32的實體產品相關電路33。
於一實施例中,各實體周邊模組32分別具有專屬的一或多個訊號接腳(pin),並可透過這些接腳連接對應的實體產品相關電路33。
於一實施例中,實體產品相關電路33可例如為風扇裝置、電源裝置、照明裝置,但不加以限定。
於虛擬模式下,晶片控制程式11是被包含於動態連結函式庫(Dynamic-Link Library,DLL)35中,開發者將動態連接函式庫35更新至電路模擬軟體。
接著,電路模擬軟體的虛擬控制器晶片34可執行動態連結函式庫35。於執行動態連結函式庫35時,晶片控制程式11的產品程式21可透過處理程式301來控制虛擬控制器晶片34的虛擬周邊模組36。透過控制虛擬周邊模組36,產品程式21可間接控制連結至虛擬周邊模組36的虛擬產品相關電路37。
藉此,開發者可透過觀察晶片控制程式11的執行結果(如實體產品相關電路33/虛擬產品相關電路37的反應或回傳訊號,或實體周邊模組32/虛擬周邊模組36所收發的訊號),來驗證產品程式21所定義的電路控制流程(程式邏輯),並可快速診斷產品程式21是否存在瑕疵或錯誤。
本發明的通用韌體架構10可提供極佳的可移植性。
具體而言,當更換不同類型的控制器晶片(包含實體控制器晶片31與虛擬控制器晶片34)時,本發明僅需針對新的控制器晶片來擴充晶片周邊函式庫30,並修改設定標頭檔20來連結相容的晶片周邊函式庫30的處理程式301,即可對新的控制器晶片中執行離線式軟體在環模擬,而不需要重新撰寫產品程式21。
此外,本發明由於不需依賴模型在環所建構的控制模型,具有較佳的設計變更的版本管控能力。
具體而言,一般在電路設備開發過程中需要對產品程式21進行頻繁修改及反覆測試,而會產生大量版本的產品程式21。
相關技術中採用的離線式軟體在環方法是透過控制模型來自動生成程式碼,而不易進行版本管理。
本發明由於不需要透過控制模型來自動生成程式碼,各版本的產品程式21都是文本格式,而方便版本管理。
請進一步參閱圖3A、圖3B、圖3C、圖4A及圖4B。圖4A為本發明的一實施例的離線式軟體在環模擬方法的流程圖。圖4B為本發明的一實施例的編譯的流程圖。
本發明各實施例的離線式軟體在環模擬方法可透過本發明各實施例的開發系統來加以實現。
本實施例的離線式軟體在環模擬方法主要包含步驟S10-S12。
於步驟S10中,開發系統取得產品程式21與設定標頭檔20,並基於設定標頭檔20設定運行模式。
於一實施例中,開發者可於設定標頭檔20中設定運行模式為產品模式或虛擬模式。
於步驟S11中,開發系統透過執行編譯器來編譯通用韌體架構10中的產品程式21及設定標頭檔20,以產生晶片控制程式11。
於一實施例中,於產品模式下,前述編譯器可實體由控制器晶片31所對應的開發軟體所提供。
於一實施例中,於虛擬模式下,前述編譯器可由電路模擬軟體所提供。
請參閱圖4B,於一實施例中,前述執行編譯器的步驟可包含步驟S20-S22。
於步驟S20中,於生成可執行檔案前(Pre-build)的階段,開發系統基於設定標頭檔20從資料庫1搜尋所連結的處理程式301,並將處理程式301加入至硬體抽象層101。
於步驟S21中,於生成可執行檔案(Build)的階段,開發系統通過編譯器來編譯與連結通用韌體架構10的應用層100及硬體抽象層101,以產生可執行的晶片控制程式11。
於步驟S22中,於生成可執行檔案後(Post-build)的階段,開發系統提供晶片控制程式11至實體控制器晶片31或電路模擬軟體。
舉例來說,於產品模式下,開發系統可植入晶片控制程式11至實體控制器晶片31。
於另一例子中,於虛擬模式下,開發系統可匯入具有晶片控制程式11的動態連結函式庫35至電路模擬軟體的虛擬控制器晶片34。
復請參閱圖4A,於步驟S12中,實體控制器晶片31或電路模擬軟體的虛擬控制器晶片34執行晶片控制程式11來透過控制周邊模組來控制產品相關電路。
請進一步參閱圖5、圖6及圖7,用來說明本發明的產品模式。圖5為本發明的一實施例的產品模式的編譯架構圖。圖6為本發明的一實施例的產品模式的執行架構圖。圖7為本發明的一實施例的產品模式的流程圖。
為了使開發系統執行產品模式,開發者可於設定標頭檔20中將運行模式設定為產品模式,選擇實體控制器晶片31,並選擇產品程式21所需要的實體周邊模組32。
於一實施例中,應用層100可包含一或多個周邊初始化程式22,各周邊初始化程式22是用來於執行時初始化對應的處理程式301。
並且,於編譯處理中,編譯器會將各周邊初始化程式22連結至對應的實體周邊模組32的處理程式301。
本發明透過周邊初始化程式22的配置,可針對產品需求來設定實體周邊模組32的使用方式。
於一實施例中,開發者可於設定標頭檔20連結處理程式301所對應的周邊初始化程式22,藉以使周邊初始化程式22於編譯時會被加入至應用層100。
於一實施例中,開發系統更包含用來執行編譯的開發軟體。前述開發軟體是對應目前採用的實體控制器晶片31,例如為實體控制器晶片31的供應商所提供的開發工具。
於一實施例中,開發系統可連接實體控制器晶片31,燒錄晶片控制程式11至實體控制器晶片31,並啟動實體控制器晶片31中的晶片控制程式11,來使實體控制器晶片31透過控制實體周邊模組32來控制實體產品相關電路33。
請參閱圖6,於圖6的例子中,產品程式21可提供多種控制功能(例如為子控制程式),分別為電力監控41、風扇轉速控制42、LED控制43、外部過電流保護44及數位閉迴路控制45。
於執行時,設定標頭檔20可提供參數值給產品程式21與周邊初始化程式22。
多個周邊初始化程式22可分別用來對多個處理程式301進行初始化。
產品程式21的上述多個控制功能可分別透過多個處理程式301來控制對應的多個實體周邊模組32,藉以透過分別控制多個實體周邊模組32來控制多個實體產品相關電路330-333。
舉例來說,數位閉迴路控制45可透過對應的處理程式301控制對應的實體周邊模組32(例如為脈衝寬度調變模組)發出脈衝寬度調變控制訊號pwm1、pwm2至實體產品相關電路330(例如為電壓/電流控制電路),來使實體產品相關電路330對實體產品相關電路331發出電壓訊號v1與電流訊號i1。
接著,實體產品相關電路331調整電壓訊號v1與電流訊號i1的大小並產生電壓訊號v2與電流訊號i2,並將電壓訊號v2與電流訊號i2傳送至另一實體周邊模組32(例如為類比/數位轉換模組),以使數位閉迴路控制45根據電壓訊號v2與電流訊號i2的數位值來決定下一次的脈衝寬度調變控制訊號pwm1、pwm2。
藉此,外部過電流保護44可監控電流訊號i2的數位值來判斷是否觸發過電流保護。
於另一例子中,風扇轉速控制42可透過對應的處理程式301控制對應的實體周邊模組32(例如為脈衝寬度調變模組)發出脈衝寬度調變控制訊號pwm3至實體產品相關電路332(例如為風扇控制電路),來使實體產品相關電路332基於脈衝寬度調變控制訊號pwm3調整風扇轉速,並將調整結果(轉速訊號tacho1)傳送至另一實體周邊模組32(例如為轉速訊號接收模組),以使風扇轉 速控制42可透過對應的另一處理程式301取得調整結果,以供進行轉速回授控制。
於另一例子中,LED控制43可透過對應的處理程式301控制對應的實體周邊模組32(例如為LED控制模組與類比/數位轉換模組)發出數位LED控制訊號led1至實體產品相關電路333(例如為LED電路),來使實體產品相關電路333基於數位LED控制訊號led1調整LED亮度。
請參閱圖7,本實施例的離線式軟體在環模擬方法於產品模式下可執行步驟S30-S33。
於步驟S30中,開發系統取得設定標頭檔20。前述設定標頭檔20已由開發者完成設定。
具體而言,開發者可執行以下步驟S40-S41來設定前述之設定標頭檔20。
於步驟S40中,開發者於設定標頭檔20中選擇所要使用的實體控制器晶片31及產品程式21所需要的實體周邊模組32。
於步驟S41中,開發者於設定標頭檔20中設定運行模式為產品模式。
於步驟S31中,開發者於實體控制器晶片31所對應的開發軟體中執行編譯器,來對通用韌體架構10的程式碼2進行編譯來獲得晶片控制程式11。前述編譯器可例如為執行前述步驟S20-S22之內容,於此不再贅述。
於一實施例中,於獲得晶片控制程式11後,開發系統透過開發軟體與通訊介面將所產生的晶片控制程式11燒錄至實體控制器晶片31。
於步驟S32中,開發系統啟動已燒錄至該實體控制器晶片31的該晶片控制程式11。
於步驟S33中,實體控制器晶片31透過執行晶片控制程式11來控制實體周邊模組32來控制實體產品相關電路33。
藉此,本發明可使產品程式22能夠控制實體控制器晶片31的實體周邊模組32,進而控制實體產品相關電路33。
請進一步參閱圖8、圖9及圖10,用來說明本發明的虛擬模式。圖8為本發明的一實施例的虛擬模式的編譯架構圖。圖9為本發明的一實施例的虛擬模式的執行架構圖。圖10為本發明的一實施例的虛擬模式的流程圖。
為了使開發系統執行虛擬模式,開發者可於設定標頭檔20中將運行模式設定為虛擬模式,選擇電路模擬軟體,選擇所要模擬的虛擬控制器晶片35,並選擇產品程式21所需要的虛擬周邊模組36。
於一實施例中,開發系統可包含電路模擬軟體。電路模擬軟體用來模擬虛擬控制器晶片35、虛擬控制器晶片35的一或多個虛擬周邊模組36及虛擬產品相關電路37。
於一實施例中,通用韌體架構10的應用層100可包含非搶占式調度器(Non-Preemptive Scheduler NPS)23,非搶占式調度器23是於編譯中被加入至應用層100。
於一實施例中,電路模擬軟體可於執行時啟動晶片控制程式11來觸發非搶占式調度器23,來以軟體方式模擬硬體的中斷/非中斷行為。
本發明的虛擬模式主要是透過純軟體來對產品程式21的控制功能進行測試與驗證,藉以驗證產品程式21是否有設計瑕疵。
值得一提的是,於虛擬模式下,由於沒有連接實體控制器晶片31,不會發生由硬體造成的中斷事件,這會導致模擬不夠逼真。
為解決虛擬模式下的硬體中斷處理問題,本實施例的通用韌體架構10進一步包含非搶占式調度器23。非搶占式調度器23是用來模擬程式中斷。
於一實施例中,非搶占式調度器23是一個軟體排程管理器、只有在執行虛擬模式時才會被啟動。非搶占式調度器23可定時透過動態程式連結庫(Dynamic-Link Library,DLL)35去調用撰寫在控制器晶片的晶片裡的軟體函式(中斷服務程式與非中斷服務程式),藉此解決電路模擬軟體無法模擬實體控制器晶片的中斷處理行為的問題。前述動態程式連結庫35即是透過對通用韌體架構10的程式碼2進行編譯所獲得,並包含晶片控制程式11。
於一實施例中,電路模擬軟體可於執行時設定非搶占式調度器23的參數,並透過非搶占式調度器23執行中斷/非中斷程式處理。
於一實施例中,電路模擬軟體可包含週期性中斷服務程式、非週期性中斷服務程式及非中斷服務程式。非搶占式調度器23用來執行前述週期性中斷服務程式、非週期性中斷服務程式及非中斷服務程式,來模擬週期性中斷、非週期性中斷及非中斷。
於一實施例中,電路模擬軟體可於每次所設定的基準頻率發生時,透過非搶占式調度器23來控制虛擬周邊模組36,以控制虛擬產品相關電路37。
請參閱圖9,於圖9的例子中,產品程式21可提供多種控制功能(例如為子控制程式),分別為電力監控41、風扇轉速控制42、LED控制43、外部過電流保護44及數位閉迴路控制45。多種控制功能是透過非搶占式調度器23觸發執行。
於執行時,設定標頭檔20可提供參數值給產品程式21與周邊初始化程式22。
多個周邊初始化程式22可分別用來對多個處理程式301進行初始化。
產品程式21的上述多個控制功能可分別透過多個處理程式301來控制對應的多個虛擬周邊模組36,藉以透過分別控制多個虛擬周邊模組36來控制多個虛擬產品相關電路37。
舉例來說,數位閉迴路控制45可透過對應的處理程式301控制對應的虛擬周邊模組360(例如為虛擬輸入/輸出訊號模組)發出調整控制訊號至虛擬周邊模組361(例如為虛擬PWM模組),並控制虛擬周邊模組361發出脈衝寬度調變控制訊號pwm4、pwm5至虛擬產品相關電路370(例如為虛擬電壓/電流控制電路),來使虛擬產品相關電路370對虛擬產品相關電路371發出電壓訊號v3與電流訊號i3。
接著,虛擬產品相關電路371調整電壓訊號v3與電流訊號i3的倍率大小並產生電壓訊號v4與電流訊號i4,並傳送電壓訊號v4與電流訊號i4至另一虛擬周邊模組362(例如為虛擬類比/數位轉換模組)。
接著,虛擬周邊模組362將調整結果轉換為數位電壓訊號v5與數位電流訊號i5(數位調整結果),並將數位電壓訊號v5與數位電流訊號i5傳送至虛擬周邊模組360。
數位閉迴路控制45根據數位電壓訊號v5與數位電流訊號i5決定新的控制訊號duty 1。外部過電流保護44可透過對應的另一處理程式301監控虛擬周邊模組360所取得的數位值,來決定是否觸發過電流保護。
於另一例子中,風扇轉速控制42可透過對應的處理程式301控制對應的虛擬周邊模組360發出調整控制訊號duty2至虛擬產品相關電路372(例如為虛擬風扇控制電路),來使虛擬產品相關電路372基於調整控制訊號duty2模擬調整風扇轉速,並虛擬將調整結果(轉速訊號tacho2)傳送至虛擬周邊模組360,以使風扇轉速控制42可透過對應的處理程式301取得調整結果,以供進行轉速回授控制。
於另一例子中,LED控制43可透過對應的處理程式301控制對應的虛擬周邊模組360發出數位LED控制訊號led2至虛擬產品相關電路373(例如為虛擬LED電路),來使虛擬產品相關電路373基於數位LED控制訊號led2模擬調整LED亮度。
請參閱圖10,本實施例的離線式軟體在環模擬方法於虛擬模式下可執行步驟S50-S53。
於步驟S50中,開發系統取得設定標頭檔20。前述設定標頭檔20已由開發者完成設定。
具體而言,開發者可執行以下步驟S60-S61來設定前述之設定標頭檔20。
於步驟S60中,開發者於設定標頭檔20中選擇所要使用的電路模擬軟體。
於一實施例中,開發者可進一步選擇電路模擬軟體中的虛擬控制器晶片35及所需要的虛擬周邊模組36。
於步驟S61中,開發者於設定標頭檔20中設定運行模式為虛擬模式。
於步驟S51中,開發系統使用編譯器對電路模擬軟體所提供的環境進行編譯,獲得晶片控制程式11。前述編譯器可例如為執行前述步驟S20-S22之內容,於此不再贅述。
於一實施例中,非搶占式調度器23於編譯時被加入至應用層100。
接著,開發系統可將具有晶片控制程式11的動態連結函式庫35更新至電路模擬軟體提供的虛擬控制器晶片35。
於步驟S52中,開發系統啟動已更新至電路模擬軟體提供的虛擬控制器晶片35的動態連結函式庫35中的晶片控制程式11,以觸發非搶占式調度器23。
於步驟S53中,於電路模擬軟體中,非搶占式調度器23觸發產品程式21。產品程式21透過晶片控制程式11來控制虛擬周邊模組36來控制虛擬產品相關電路37。
藉此,本發明可實現產品程式21於電路模擬軟體的軟體在環模擬。
請進一步參閱圖11至圖15。圖11為本發明的一實施例的硬體抽象層的架構圖。圖12為本發明的一實施例的通用韌體架構的資料連結示意圖。圖13為本發明的一實施例的設定標頭檔的部分示意圖。圖14為本發明的一實施例的控制器晶片的處理程式的示意圖。圖15為本發明的一實施例的電路模體軟體的處理程式的部分示意圖。
於一實施例中,如圖11所示,硬體抽象層101可包含多個標頭檔。各標頭檔分別用來設定並連結對應周邊模組的處理程式。
於一實施例中,如圖12所示,於應用層100中,產品程式可透過指令#include“cfa_hal.h”來包含硬體抽象層標頭檔cfa_hal.h。
於應用層的cfa_hal.h中,產品程式可透過指令#include“cfa_hal_config.h”來包含設定標頭檔cfa_hal_config.h。設定標頭檔cfa_hal_config.h可提供執行參數至產品程式。
並且,以設定ADC(類比/數位轉換器)為例,產品程式可與硬體抽象層的ADC處理程式cfa_adc_28035.c建立資料流,並透過ADC處理程式cfa_adc_28035.c與周邊模組(如ADC模組)建立資料流。
此外,ADC處理程式cfa_adc_28035.c可透過指令#include“cfa_hal.h”來包含硬體抽象層標頭檔cfa_hal.h。
於硬體抽象層的硬體抽象層標頭檔cfa_hal.h中,ADC處理程式cfa_adc_28035.c可透過指令#include“cfa_adc.h”來包含ADC標頭檔cfa_adc.h。
於硬體抽象層的ADC標頭檔cfa_adc.h中,ADC處理程式cfa_adc_28035.c可透過指令#include“cfa_adc_28035.h”來包控制器晶片標頭檔cfa_adc_28035.h。
藉此,產品程式可透過控制器晶片(如TI TMS320F28035控制晶片)來控制周邊模組(ADC模組)。
於一實施例中,如圖13所示,開發者可在設定標頭檔cfa_hal_config.h設定參數。
前述參數內容可包含:目前運作模式,產品模式或虛擬模式;產品模式下的實體控制晶片的製造商、型號及所使用的編譯器;虛擬模式下的電路模擬軟體及所使用的編譯器,但不加以限定。
舉例來說,參數可設定為:產品模式;實體控制器晶片為控制晶片TI TMS320F28035;編譯器為C2000。
於另一例子中,參數可設定為:虛擬模式;電路模擬軟體為SIMULINK的S-function;編譯器為MinGW-w64。
舉例來說,如圖14所示,在產品模式下,設定標頭檔可連結處理程式cfa_adc_28035.c來使晶片控制程式相容於目前的實體控制器晶片。
於另一例子中,如圖15所示,在虛擬模式下,設定標頭檔可連結處理程式cfa_adc_simulink.c來使晶片控制程式相容於目前的電路模擬軟體。
請參閱圖2至圖16。圖16為本發明的一實施例的非搶占式調度的流程圖。
本實施例的離線式軟體在環模擬方法於執行晶片控制程式時,可同時執行步驟S70-S72,來提供中斷/非中斷程式處理功能。
於步驟S70中,開發系統設定非搶占式調度器23的參數。
於一實施例中,當存在多個週期性中斷服務程式,且多個週期性中斷服務程式分別具有不同的週期性中斷頻率時,開發系統可基於多個週期性中斷頻率決定基準頻率,如最小值、最大值或平均值。
於一實施例中,開發系統是於多個週期性中斷頻率中選擇最高頻率,作為基準頻率。
舉例來說,若多個週期性中斷頻率為5K Hz、200KHz與1KHz,非搶占式調度器23可選擇200KHz作為觸發頻率。
接著,開發系統可基於基準頻率對用於非中斷服務程式的非中斷計數器設定非中斷觸發週期。
此外,開發系統可基於基準頻率對用於非週期性中斷服務程式的非週期性中斷計數器設定非週期性中斷觸發週期。
舉例來說,若基準頻率為100KHz,非中斷頻率希望設定為50KHz,非週期性中斷服務頻率希望設定為10KHz,則非中斷觸發週期可設定為2(即每兩次基準頻率發生,則執行一次非中斷),非週期性中斷觸發週期可設定為10(即每十次基準頻率發生,則執行一次非週期性中斷)。
於步驟S71中,開發系統透過非搶占式調度器23執行中斷/非中斷程式處理。
於一實施例中,中斷/非中斷程式處理包含執行週期性中斷服務程式、非週期性中斷服務程式及非中斷服務程式。
具體而言,程式執行具有三種中斷機制,非中斷服務程式(例如為輪循,polling)、週期性中斷服務程式(periodic ISR)與非週期性中斷服務程式(non-periodic ISR)。
於產品模式中,實體控制器晶片31可執行前述中斷處理。
於虛擬模式中,本發明是透過非搶占式調度器23模擬執行前述中斷處理。
於步驟S71可包含步驟S80-S82,來對上述三種中斷機制進行處理。
於步驟S80中,開發系統執行非中斷服務程式來處理非中斷事件。
於步驟S81中,開發系統執行週期性中斷服務程式來處理週期性中斷事件。
於步驟S82中,開發系統執行非週期性中斷服務程式來處理非週期性中斷事件。
於步驟S72中,開發系統判斷是否結束中斷/非中斷程式處理。
若結束執行,則結束方法。
若不需結束執行,則再次執行步驟S71來基於基準頻率繼續重複執行中斷/非中斷程式處理。
藉此,本發明透過輪循方式來偵測非中斷事件與非週期性中斷事件,可於純軟體環境下有效模擬硬體中斷。
請參閱圖2至圖17。圖17為本發明的一實施例的中斷/非中斷程式處理的流程圖。
於本實施例中,非搶占式調度器23是以基準頻率重複執行圖16所示的步驟S71(即,中斷/非中斷程式處理)。與圖16的實施例相比,本實施例的中斷/非中斷程式處理可包含以下步驟S90-S97。
於步驟S90中,非搶占式調度器23控制非中斷計數器及非週期性中斷計數器計次,如遞增1或遞減1。
於步驟S91中,非搶占式調度器23處理符合基準頻率的週期性中斷事件。
於步驟S91後,非搶占式調度器23可再次執行中斷/非中斷程式處理。
於步驟S92中,非搶占式調度器23判斷非中斷計數器的值是否滿足非中斷觸發週期。
若滿足,則非搶占式調度器23執行步驟S93;若不滿足則結束。
於步驟S93中,非搶占式調度器23處理非中斷事件。
於步驟S94中,非搶占式調度器23重設該非中斷計數器,以重新計時下次處理非中斷事件的等待時間。
於步驟S94後,非搶占式調度器23可再次執行中斷/非中斷處理。
於步驟S95中,非搶占式調度器23判斷於非週期性中斷計數器的值是否滿足所設定的非週期性中斷觸發週期。
若滿足,則非搶占式調度器23執行步驟S96;若不滿足則結束。
於步驟S96中,非搶占式調度器23處理非週期性中斷事件。
於步驟S97中非搶占式調度器23重設非中斷計數器,以重新計時下次處理非週期性中斷事件的等待時間。
於步驟S97後,非搶占式調度器23可再次執行中斷/非中斷處理。
藉此,本發明可模擬硬體中斷,來獲得更精準的模擬結果。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之申請專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
10:通用韌體架構
100:應用層
11:晶片控制程式
20:設定標頭檔
21:產品程式
101:硬體抽象層
30:晶片周邊函式庫
300、301:處理程式

Claims (19)

  1. 一種離線式軟體在環模擬的開發系統,包括:一資料庫,包括至少一晶片周邊函式庫,各該晶片周邊函式庫包括至少一處理程式;一通用韌體架構,於被編譯後產生一晶片控制程式,該通用韌體架構包括:一應用層,包括一產品程式與一設定標頭檔,其中該產品程式記錄有用來控制一產品相關電路的程式碼,該設定標頭檔用來連結一周邊模組所需的該處理程式;及一硬體抽象層,包括該處理程式,其中該應用層依據特定的一實體控制器晶片或一電路模擬軟體所要控制的該周邊模組而於編譯中從該資料庫中將對應的該處理程式加入至該硬體抽象層;一儲存器,用來儲存該資料庫及該通用韌體架構;及一處理器,電性連接該儲存器,用來執行程式;其中,該晶片控制程式用來被提供至該實體控制器晶片或該電路模擬軟體中執行,並透過控制該周邊模組來控制該產品相關電路。
  2. 如請求項1所述之開發系統,更包括用來執行編譯的一開發軟體,該開發軟體對應至該實體控制器晶片;其中,該設定標頭檔中,運行模式被設定為一產品模式,該實體控制器晶片及所需要的一實體周邊模組被選擇;其中,該開發系統用來連接該實體控制器晶片,並透過啟動已燒錄至該實體控制器晶片的該晶片控制程式,來使該實體控制器晶片透過控制該實體周邊模組來控制一實體產品相關電路。
  3. 如請求項1所述之開發系統,更包括該電路模擬軟體,用來模擬一虛擬控制器晶片、該虛擬控制器晶片的一虛擬周邊模組及一虛擬產品相關電路;其中,該設定標頭檔中,運行模式被設定為一虛擬模式,該電路模擬軟體被選擇;其中,該應用層更包括一非搶占式調度器,該非搶占式調度器是於編譯中被加入至該應用層;其中,該電路模擬軟體用來於執行時啟動該晶片控制程式來觸發該非搶占式調度器;其中,該非搶占式調度器用來於執行時觸發該產品程式,透過該晶片控制程式來控制該虛擬周邊模組,以控制該虛擬產品相關電路。
  4. 如請求項3所述之開發系統,其中該電路模擬軟體用來於執行時設定該非搶占式調度器的參數,並透過該非搶占式調度器執行一中斷/非中斷程式處理。
  5. 如請求項4所述之開發系統,其中該電路模擬軟體更包括一週期性中斷服務程式、一非週期性中斷服務程式及一非中斷服務程式;其中,該非搶占式調度器用來執行該週期性中斷服務程式、該非週期性中斷服務程式及該非中斷服務程式。
  6. 如請求項4所述之開發系統,其中該非搶占式調度器用來於執行時基於多個週期性中斷頻率決定一基準頻率,基於該基準頻率對一非中斷計數器設定一非中斷觸發週期,並基於該基準頻率對一非週期性中斷計數器設定一非週期性中斷觸發週期。
  7. 如請求項4所述之開發系統,其中該非搶占式調度器用來於該多個週期性中斷頻率中選擇一最高頻率,作為一基準頻率,並以該基準頻率重複執行該中斷/非中斷程式處理。
  8. 如請求項7所述之開發系統,其中該非搶占式調度器包括一非中斷計數器及一非週期性中斷計數器;其中,該非搶占式調度器用來於每次執行該中斷/非中斷程式處理時控制該非中斷計數器及該非週期性中斷計數器計次,處理一週期性中斷事件,於該非中斷計數器的值滿足一非中斷觸發週期時處理一非中斷事件並重設該非中斷計數器,並於該非週期性中斷計數器的值滿足一非週期性中斷觸發週期時處理一非週期性中斷事件並重設該非中斷計數器。
  9. 如請求項1所述之開發系統,其中該應用層更包括一周邊初始化程式,於編譯時被加入至該應用層,並用來於執行時初始化該處理程式;其中,該設定標頭檔用來連結該處理程式所對應的該周邊初始化程式。
  10. 一種離線式軟體在環模擬方法,包括:a)取得一產品程式與一設定標頭檔,其中該產品程式記錄有用來控制一產品相關電路的程式碼,該設定標頭檔用來連結一周邊模組所需的一處理程式,該處理程式用來於一實體控制器晶片或一電路模擬軟體中控制該周邊模組;b)執行一編譯器來編譯該產品程式及該設定標頭檔來產生一晶片控制程式;及c)於該實體控制器晶片或該電路模擬軟體中執行該晶片控制程式來透過控制該周邊模組來控制該產品相關電路;其中,該步驟b)包括: b1)基於該設定標頭檔從一資料庫搜尋該處理程式,並將該處理程式加入至一硬體抽象層;b2)編譯一應用層及該硬體抽象層來產生該晶片控制程式,其中該應用層包括該產品程式與該設定標頭檔;及b3)提供該晶片控制程式至該實體控制器晶片或該電路模擬軟體中。
  11. 如請求項10所述之離線式軟體在環模擬方法,其中於該設定標頭檔中,運行模式被設定為一產品模式,該實體控制器晶片及所需要的一實體周邊模組被選擇;該步驟b)包括於該實體控制器晶片所對應的一開發軟體中執行該編譯器;其中該步驟c)包括:c1)啟動已燒錄至該實體控制器晶片的該晶片控制程式;及c2)由該實體控制器晶片執行該晶片控制程式來控制該實體周邊模組來控制一實體產品相關電路。
  12. 如請求項10所述之離線式軟體在環模擬方法,其中於該設定標頭檔中,運行模式被設定為一虛擬模式,該電路模擬軟體被選擇;該步驟b)更包括於該電路模擬軟體所提供的一環境中執行該編譯器;其中該步驟c)包括:c3)啟動已更新至該電路模擬軟體提供的一虛擬控制器晶片中的該晶片控制程式來觸發一非搶占式調度器;及c4)於該電路模擬軟體中,由該非搶占式調度器觸發該產品程式,以透過該晶片控制程式來控制一虛擬周邊模組來控制一虛擬產品相關電路。
  13. 如請求項12所述之離線式軟體在環模擬方法,其中該步驟c4)包括:c41)設定該非搶占式調度器的參數;及c42)透過該非搶占式調度器執行一中斷/非中斷程式處理。
  14. 如請求項13所述之離線式軟體在環模擬方法,其中該中斷/非中斷程式處理包括執行一週期性中斷服務程式、一非週期性中斷服務程式及一非中斷服務程式。
  15. 如請求項13所述之離線式軟體在環模擬方法,其中該步驟c41)包括:c411)基於多個週期性中斷頻率決定一基準頻率;c412)基於該基準頻率對一非中斷計數器設定一非中斷觸發週期;及c413)基於該基準頻率對一非週期性中斷計數器設定一非週期性中斷觸發週期。
  16. 如請求項15所述之離線式軟體在環模擬方法,其中該步驟c411)包括於該多個週期性中斷頻率中選擇一最高頻率,作為該基準頻率。
  17. 如請求項13所述之離線式軟體在環模擬方法,其中該步驟c42)包括以一基準頻率重複執行該中斷/非中斷程式處理。
  18. 如請求項17所述之離線式軟體在環模擬方法,其中該中斷/非中斷程式處理包括:d1)控制一非中斷計數器及一非週期性中斷計數器計次:d2)處理一週期性中斷事件; d3)於該非中斷計數器的值滿足一非中斷觸發週期時,處理一非中斷事件,並重設該非中斷計數器;及d4)於該非週期性中斷計數器的值滿足一非週期性中斷觸發週期時,處理一非週期性中斷事件,並重設該非中斷計數器。
  19. 如請求項18所述之離線式軟體在環模擬方法,其中該步驟d1)包括遞增或遞減該非中斷計數器的值及該非週期性中斷計數器的值。
TW111114776A 2021-07-09 2022-04-19 離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法 TWI821998B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163220199P 2021-07-09 2021-07-09
US63/220,199 2021-07-09

Publications (2)

Publication Number Publication Date
TW202303392A TW202303392A (zh) 2023-01-16
TWI821998B true TWI821998B (zh) 2023-11-11

Family

ID=84842110

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111114776A TWI821998B (zh) 2021-07-09 2022-04-19 離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法

Country Status (2)

Country Link
CN (1) CN115599372A (zh)
TW (1) TWI821998B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201729096A (zh) * 2015-12-24 2017-08-16 英特爾公司 串列輸入輸出(i/o)功能測試器
US20190303759A1 (en) * 2018-03-27 2019-10-03 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments
TW202009696A (zh) * 2018-08-20 2020-03-01 廣達電腦股份有限公司 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201729096A (zh) * 2015-12-24 2017-08-16 英特爾公司 串列輸入輸出(i/o)功能測試器
US20190303759A1 (en) * 2018-03-27 2019-10-03 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments
TW202009696A (zh) * 2018-08-20 2020-03-01 廣達電腦股份有限公司 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Matthias et al., "Real-Time Simulation and Hardware-in-the-Loop Testbed for Distribution Synchrophasor Applications," Energies, 10 April 2018.^&rn^https://www.mdpi.com/1996-1073/11/4/876^&rn^
Matthias et al., "Real-Time Simulation and Hardware-in-the-Loop Testbed for Distribution Synchrophasor Applications," Energies, 10 April 2018.^&rn^https://www.mdpi.com/1996-1073/11/4/876^&rn^ *

Also Published As

Publication number Publication date
CN115599372A (zh) 2023-01-13
TW202303392A (zh) 2023-01-16

Similar Documents

Publication Publication Date Title
US9785542B2 (en) Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing
JP5022262B2 (ja) デバッグ中にツールを使用可能な試験システム及び方法
CN110524543A (zh) 一种基于操控一体的工业机器人控制装置及系统
US9372770B2 (en) Hardware platform validation
JP2015060600A (ja) 仮想制御装置をリアルタイムテストするためのテスト装置
EP2816427B1 (en) Plc simulation system, plc simulator, recording medium, and simulation method
US20180018189A1 (en) Platform simulation for management controller development projects
Lacamera Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems
TWI821998B (zh) 離線式軟體在環模擬的開發系統及離線式軟體在環模擬方法
CN111830390B (zh) 一种测试方法及相关产品
JP2007011720A (ja) システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体
CN112463236A (zh) 一种单软多硬实现方法及终端
JP5521889B2 (ja) プログラム自動生成装置
US11947886B2 (en) Development system and method of offline software-in-the-loop simulation
Pont et al. Prototyping Time-triggered Embedded Systems using PC Hardware.
US20180357150A1 (en) System for development and emulation of embedded systems
JP2009104490A (ja) プログラムのテスト装置
CN111813702B (zh) 调试系统、调试方法、设备及计算机可读存储介质
JP2003122594A (ja) 半導体装置および評価装置
JP2012155519A (ja) シミュレーション装置、シミュレーション方法およびそのコンピュータ・プログラム
JP2012194632A (ja) デバッグ装置
JP2010244376A (ja) ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
TWI792515B (zh) 自動化作業系統兼容性認證方法與系統
JP2009230272A (ja) 試験システム及びバックアノテーション方法
TWI760691B (zh) 自動測試軟體相容性的方法、測試裝置與系統