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

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

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

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

圖2 安裝好之后的Data Visualizer


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

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


在圖11中,我們測(cè)量得到Timer1中斷的翻轉(zhuǎn)信號(hào)RB11(CH3),每次中斷都會(huì)翻轉(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)串口接口器件,因此會(huì)自動(dòng)識(shí)別串口號(hào)為COM10,設(shè)定Baud Rate230400MCC配置保持一致,并檢查其它默認(rèn)配置和MCC串口配置一致,否則打印出來(lái)的可能是無(wú)意義的亂碼。

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


在上圖14中,選擇COM10右側(cè)的下拉選項(xiàng)中,選擇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)需要傳輸多個(gè)字節(jié)的數(shù)據(jù)時(shí),需要對(duì)數(shù)據(jù)進(jìn)行一定的封裝,Data Visualizer得到原始數(shù)據(jù)后,進(jìn)行封裝為多個(gè)數(shù)據(jù)流,數(shù)據(jù)流的格式取決于用戶(hù)的定義。

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


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

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


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


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


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


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

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

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


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

圖22 添加變量名稱(chēng)及類(lèi)型


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

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


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

圖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í)顯示的數(shù)據(jù)為2.03k,很接近實(shí)際的電壓1.65V對(duì)應(yīng)的ADC采樣值2048.

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


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


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


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

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


總結(jié),本文基于PWM觸發(fā)ADC采樣電壓為例,通過(guò)串口UART將數(shù)據(jù)在Timer1定時(shí)器中斷中發(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)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉