Infineon 圖形化配置軟體Dave4使用-針對XMC系列(一)

1.   引言

隨著電子技術的快速發展,基於微控制器的電子產品以其體積小、功耗低、功能強大、成本低廉等優勢得到廣泛的應用。目前微控制器品牌種類繁多,但其開發方法大同小異,需要開發人員在使用之前首先熟悉其處理器架構、寄存器定義等。對於功能複雜、片上外設資源豐富的控制器來說這一工作非常的繁瑣艱巨,往往占用開發人員較長的時間,從而影響產品的開發周期。所以很多半導體廠商都推出了圖形化編程軟體,使用圖形化編程,快速完成控制器的資源分配和寄存器配置,上手簡單方便,從而極大的縮短項目的開發周期。能夠快速進入應用軟體設計, 縮短項目的開發周期。 

本文介紹的是基於XMC系列微控制器,如何使用Infineon推出的圖形化配置軟體DAVE4進行開發,以使用CCU8配置死區可控的互補pwm為例。


2.   Dave4概述
Dave4是Infineon推出的圖形化編程IDE,是一個基於Eclipse的免費的集成式開發環境,集成ARM GNU編譯器,它具備源代碼編譯和管理功能,包含免費編譯器、免費調試器和免費閃存加載器。
其最具特色的功能是圖形化配置工具,集成有多種可視化配置的外設及功能APP庫, 通過調用APP庫方式, 可方便地完成系統初始化或算法配置,可以針對自己的項目選擇所需要的外設和應用的DAVE Apps,進行可視化配置之後,即可自動生成配置代碼和功能函數。然後用戶即可集中精力開發自己的控制功能軟體,生成的代碼可以通過API的形式進行調用,並且提供有詳細的介紹文檔。

3.  XMC1000系列微控制器介紹
 XMC1000微控制器是英飛凌在工業自動化、數字電源轉換和電子控制領域開闢諸多全新應用。XMC1000採用ARM Cortex-M0處理器,具備針對目標應用精心定製的全面外設功能。目標應用包括:工業自動化領域的執行器、用於控制LED燈和多相電機的數字電源轉換,以及對割草機、鋸齒機或發電機等配備的小型內燃機進行電子控制。

本文使用的XMC1400其時鐘周期為48MHz,在XMC1400中,PWM定時器和AD轉換器等控制器外設的重要元件也能以倍頻運行,即96MHz。XMC1400微控制器系列產品具有四個CCU定時器模塊(兩個CCU4和兩個CCU8模塊),因而有多達16個獨立的定時器,可以用於實時產生PWM。而本文主要講的就是如何用Dave4的圖形化配置工具來快速配置PWM,包括配置過程和部分問題。

 
4.  Dave4 圖形化配置互補PWM

4.1  添加PWM_CCU8 App

1. 在APP Dependency Tree那選擇Add New App

2. 在彈出頁面的Search filter中輸入PWM,選擇PWM_CCU8模塊,然後單擊Add

3.成功後出現以下界面

4.2  配置PWM參數

1.在“General Settings”選項卡中,我們可以看到當前CCU8時間片的的時鐘頻率為主頻48MHz的倍頻96MHz,在此界面可以配置PWM模式、占空比、頻率等。我們選擇計數模式為邊沿對齊。“Start during initialization”複選框可以不選中。



2.在“External Event Settings"”選項卡中,可以為事件0選擇“外部啟動”,在“外部啟動”組中選擇同步啟動,可以將ccu8_global_start信號連接到相應的事件。可以設置觸發邊緣,選擇啟動定時器或清除並啟動定時器之間的功能控制項。此次我們用不到外部事件控制只做介紹。



3.在“Signal Settings”選項卡中,可以配置死區時間、PWM極性等,此處我們啟用並配置通道1信號所需的死區時間為3000ns。值得注意的是,在此App中無法配置死區預分頻值,在下文中會詳細介紹並講解如何解決。



4.在"Timer Event Settings"中,我們可以配置觸發中斷,此處我們不需要。

5.在“Pin Setting”中,使能通道1直接和反向輸出。另外可以配置引腳的模式,在XMC4000系列中,還可以配置驅動強度。


4.3  分配PWM輸出引腳

在配置完成後,我們可以直接右鍵點擊PWM_CCU8 APP選擇manual pin allocator選擇想要的引腳。

也可以點擊Pin Mapping界面,進行圖形化分配引腳

4.4  編譯下載
在完成配置工作後,點擊工具欄的Generate Code按鈕,DAVE軟體會自動根據APP的配置信息,生成相應的源碼庫,在Dave下的Generated文件夾下能夠看到這些源碼。在下載到控制器之後,就可以測量到一對互補帶死區的PWM了。

5.  PWM APP死區配置存在的問題

       在PWM的控制中,死區是一個比較重要的參數,但是在開發過程中,我發現PWM_CCU8 app中死區時間的配置是有點僵硬的,在pwm頻率較高的情況下,比如1MHz,一個周期只有1us,此時死區時間依舊可以設置為1us以上,並不衝突。
       因此在死區時間的控制上,還是推薦使用Infineon提供的對應庫函數,包括(XMC_CCU8_SLICE_SetDeadTimePrescaler();XMC_CCU8_SLICE_SetDeadTimeValue();XMC_CCU8_SLICE_ConfigureDeadTime();)
       另外也可以使用APP CCU8_SLICE_CONFIG來生成PWM,此app可以更為詳細的圖形化配置每個寄存器,在後續的文章中會介紹使用CCU8_SLICE_CONFIG來實現PWM,定時器等功能。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論