日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 電源漫談

當(dāng)嵌入式系統(tǒng)在運(yùn)行時,去處理一些內(nèi)部數(shù)據(jù)是比較難的,一旦使用Debug工具調(diào)試斷點(diǎn),則整個系統(tǒng)便會停下來,而無法監(jiān)測到運(yùn)行中的真實(shí)情況,本文介紹一種簡單的數(shù)據(jù)可視化工具Data Visualizer的使用,如圖1所示,類似于MCC工具,可以從MPLAB XIDE的Plugins中去在線安裝此插件,此處不做詳述。安裝好的視圖如圖2所示。

1 數(shù)據(jù)可視化工具的作用

圖2 安裝好之后的Data Visualizer


.嵌入式系統(tǒng)的創(chuàng)建

在使用Data Visualizer之前,我們先通過MCC建立一個工程,通過PWM1產(chǎn)生器信號PG1H信號,觸發(fā)ADC的專用通道AN0,ADC AN0中斷中得到AN0Demo板上的采樣值,同時在Timer1的中斷中去采用UART外設(shè)把數(shù)據(jù)發(fā)送到Data Visualizer的界面中去顯示。除此之外,我們也驗(yàn)證一下使用Data Visualizer的基本串口終端的功能。

圖3 數(shù)據(jù)顯示實(shí)驗(yàn)平臺


本文實(shí)驗(yàn)均基于dsPIC33CK256MP506 Digital Power PIM 板,MA330048,如圖3所示。

圖4 主時鐘的配置參數(shù)


主時鐘的配置參數(shù)如圖4所示,采用內(nèi)部FRC振蕩器,通過PLL適當(dāng)配置可以達(dá)到100MHz的指令時鐘頻率,這里系統(tǒng)時鐘FOSC200M.

圖5 輔助時鐘的配置參數(shù)


輔助時鐘同樣采用內(nèi)部FRC振蕩器,通過APLL的適當(dāng)配置達(dá)到500M的時鐘輸出,作為PWM模塊的輸入時鐘。此時我們注意FVCO/4為400M, 會用它作為ADC的輸入時鐘,將ADC內(nèi)核時鐘配置為66.5MHz,以滿足小于70MHz的要求。

圖6 Timer1的配置參數(shù)


將定時器Timer1配置為2mS的周期,我們每一次中斷都會去將數(shù)據(jù)送到Data Visualizer界面。

圖7 UART的配置參數(shù)


UART1的波特率設(shè)為230400,并且重定位PrintfUART以便在代碼中使用Printf函數(shù)打印變量輸出。

圖8 pin腳基于Demo板設(shè)置


通過參考硬件Demo板的UART端口連接,在MCC中設(shè)置相應(yīng)的端口,并使能UART的起始狀態(tài)為高。此處AN0為我們監(jiān)控的采樣數(shù)據(jù)通道,對應(yīng)板上的P2可調(diào)電阻電壓輸入。

圖9 全局中斷和ADCTimer中斷的使能


由于我們需要在AN0中斷中得到ADC AN0500kHz頻率的周期采樣值,因此使能AN0的中斷,并設(shè)定高優(yōu)先級,Timer1中斷設(shè)置為低優(yōu)先級,且使能中斷。


由于篇幅和主題的關(guān)系,我們這里對PWM模塊和ADC模塊的配置不做詳細(xì)介紹,后續(xù)會專門通過相應(yīng)的篇幅去介紹。

圖10 ADC中斷信號和PWM之間的關(guān)系


10中,我們測量得到的在500kHzPWMCH1)開關(guān)頻率下,每周期都觸發(fā)ADC AN0進(jìn)入AN0中斷,進(jìn)行RB12翻轉(zhuǎn)(CH2),而CH4AN0的電壓值1.66V,此時dsPIC33CK的供電為板上的LDO輸出3.3V.

圖11 Timer1中斷的翻轉(zhuǎn)信號


在圖11中,我們測量得到Timer1中斷的翻轉(zhuǎn)信號RB11(CH3),每次中斷都會翻轉(zhuǎn),所以其翻轉(zhuǎn)周期和Timer1設(shè)定的周期2ms相同。


.Timer 1中斷中進(jìn)行串口終端數(shù)據(jù)的發(fā)送

12 Timer1中斷中將數(shù)據(jù)發(fā)送到Data Visualizer終端

圖13 串口參數(shù)設(shè)置窗口


燒錄程序后,當(dāng)接上Demo板串口數(shù)據(jù)線,拔掉編程接口線并將編程器PICkit4移除板子連接避免相互影響,由于板上自帶USB轉(zhuǎn)串口接口器件,因此會自動識別串口號為COM10,設(shè)定Baud Rate230400MCC配置保持一致,并檢查其它默認(rèn)配置和MCC串口配置一致,否則打印出來的可能是無意義的亂碼。

圖14 串口數(shù)據(jù)發(fā)送到終端


在上圖14中,選擇COM10右側(cè)的下拉選項中,選擇Send to Terminal,并且在右側(cè)窗口中,選擇正確的數(shù)據(jù)源COM10,設(shè)置為8bit ASCII碼,則可以觀察到如截圖中的期望的數(shù)據(jù)結(jié)果。


三.在Timer1中斷中發(fā)送數(shù)據(jù)流到Data Visualizer圖形顯示窗口

圖15 Timer 1中斷中進(jìn)行數(shù)據(jù)流發(fā)送設(shè)置

16 數(shù)據(jù)流封裝的幀格式解釋


大多數(shù)數(shù)據(jù)通信界面使用字節(jié)流去做數(shù)據(jù)傳輸,當(dāng)需要傳輸多個字節(jié)的數(shù)據(jù)時,需要對數(shù)據(jù)進(jìn)行一定的封裝,Data Visualizer得到原始數(shù)據(jù)后,進(jìn)行封裝為多個數(shù)據(jù)流,數(shù)據(jù)流的格式取決于用戶的定義。

17 Data Visualizer目前支持的變量數(shù)據(jù)類型


目前此數(shù)據(jù)顯示工具支持的數(shù)據(jù)類型如圖17所示,這里我們用到的是16位的無符號ADC數(shù)據(jù),表示單端無符號數(shù)據(jù)采樣值。

18 數(shù)據(jù)流的格式說明


在具體執(zhí)行數(shù)據(jù)發(fā)送時,最低位的字節(jié)先發(fā)送,高位的字節(jié)后發(fā)送,由一個起始字節(jié)和結(jié)尾字節(jié)組成一個封裝結(jié)構(gòu),采用這個封裝結(jié)構(gòu)去幫助解釋器同步數(shù)據(jù)流。起始字節(jié)可以是任意的字節(jié),結(jié)尾字節(jié)是起始字節(jié)的反碼字節(jié)。


燒錄代碼后,連接串口USB線,移除PICkit4和板子和電腦的連接,打開Data Visualizer界面。


19 將數(shù)據(jù)流發(fā)送到Data Visualizer并圖形顯示


如圖19選擇COM10 右側(cè)的New Variable Streamer選項,打開數(shù)據(jù)流結(jié)構(gòu)設(shè)置界面。

圖20 數(shù)據(jù)流格式設(shè)置要求

圖21 數(shù)據(jù)流設(shè)置界面


除了給數(shù)據(jù)流命名之外,由于起始字節(jié)為0x03,則需要設(shè)置幀格式為One’s Complement,并寫入起始幀字節(jié)數(shù)據(jù),界面自動得到結(jié)束幀字節(jié)為0xFC。

圖22 添加變量名稱及類型


這里我們只傳輸一個16位無符號數(shù)據(jù)即可,并選擇相應(yīng)的數(shù)據(jù)顯示軸格式。

圖23 Data Visualizer中的數(shù)據(jù)顯示


注意左側(cè)選擇正確的數(shù)據(jù)源,此處為COM10,下面數(shù)據(jù)終端中的原有數(shù)據(jù)可以清零,并且設(shè)置為斷開數(shù)據(jù)源。此時上面窗口顯示正確的數(shù)據(jù)圖形顯示,此處由于是數(shù)字電位器設(shè)定的ADC采樣電壓,因此有一些小的波動。

圖24 數(shù)據(jù)縱縱坐標(biāo)設(shè)置合適范圍


當(dāng)從曲線左側(cè)的設(shè)置按鈕中進(jìn)入,可以設(shè)置相應(yīng)的數(shù)據(jù)顯示范圍,如圖24所示。

圖25 調(diào)整數(shù)據(jù)范圍后的數(shù)據(jù)顯示


此時顯示的數(shù)據(jù)為2.03k,很接近實(shí)際的電壓1.65V對應(yīng)的ADC采樣值2048.

26 鼠標(biāo)滾輪調(diào)整橫坐標(biāo)范圍及精度


當(dāng)采用鼠標(biāo)滾輪調(diào)整橫坐標(biāo)時間單位時,可以看到右側(cè)的窗口的數(shù)據(jù)同時跟隨變化,實(shí)時顯示。


相關(guān)Printf的典型轉(zhuǎn)義字符及數(shù)據(jù)說明符順便列到下面,必要時供參考,注意在使用時 #include.


27 Printf函數(shù)轉(zhuǎn)義字符

28 Printf典型數(shù)據(jù)說明符


總結(jié),本文基于PWM觸發(fā)ADC采樣電壓為例,通過串口UART將數(shù)據(jù)在Timer1定時器中斷中發(fā)送到串口終端進(jìn)行數(shù)據(jù)顯示及圖形化數(shù)據(jù)顯示,方便在嵌入式系統(tǒng)中進(jìn)行系統(tǒng)數(shù)據(jù)的監(jiān)查。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉