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

當前位置:首頁 > 電源 > 數字電源
[導讀]針對現有DSP自舉模塊普遍存在程序代碼更新不便的缺陷,提出了一種可便捷高效地在線更新用戶應用程序代碼的DSP自舉模塊。該模塊由基于LabVIEW的圖形用戶界面(GUI)軟件與C805

針對現有DSP自舉模塊普遍存在程序代碼更新不便的缺陷,提出了一種可便捷高效地在線更新用戶應用程序代碼的DSP自舉模塊。該模塊由基于LabVIEW的圖形用戶界面(GUI)軟件與C8051F340單片機構成。GUI軟件完成DSP應用程序代碼的格式轉換,并通過驅動USB將轉換完成的程序代碼傳送給C8051F340。C8051F340通過其片上USB外設接收DSP程序代碼并存儲于片上FLASH中,同時借助標準串行總線控制DSP完成應用程序代碼的自舉操作。該模塊采用在線方式,可一鍵實現DSP應用程序代碼的更新升級與自舉操作。

TMS320VC54x系列DSP作為一種低功耗高速處理器在消費電子、通信等領域應用廣泛[1-2]。通常為實現DSP程序代碼的高速運行,一般需要將DSP的應用程序代碼存儲于DSP片內RAM中運行,但TMS320VC54x處理器是RAM型器件,掉電后DSP不能保存任何用戶應用程序代碼。因此,基于該型DSP的電子系統(tǒng)通常需要設計自舉模塊。所謂“自舉”是指:DSP芯片內的程序引導裝載器(Bootloader)自動地將DSP應用程序代碼從DSP外部非掉電易失存儲器加載到片內RAM中,脫離仿真器模式獨立運行的過程。

TMS320VC54x系列DSP有兩類自舉方式:基于靜態(tài)存儲器(如:EEPROM、FLASH)的自舉方式和基于處理器的自舉方式?;陟o態(tài)存儲器的DSP自舉方式[3-4]使用外擴的靜態(tài)存儲器存儲DSP程序代碼,由于該方式無需外加控制器干預,因此具有電路簡單等優(yōu)點?;谔幚砥鞯腄SP自舉方式[5-6],利用單片機存儲DSP程序代碼并控制DSP完成自舉,具有可有效控制DSP自舉時機,可靈活選擇自舉通信接口等優(yōu)勢。然而,無論哪類自舉方式,要更新DSP應用程序代碼都需要先將DSP開發(fā)軟件CCS編譯產生的.out程序代碼文件通過一系列的格式轉換,生成DSP自舉所需的程序代碼格式,并將得到的代碼移植到DSP應用系統(tǒng)片外擴展的靜態(tài)存儲器或單片機中存儲。顯然,傳統(tǒng)DSP自舉模塊的上述程序代碼更新操作非常麻煩。為此本文提出一種便捷高效的DSP自舉模塊。借助該模塊,用戶無需熟悉DSP自舉設計過程,便可一鍵實現DSP程序代碼的更新升級與自舉操作。

1 方案設計

DSP開發(fā)軟件CCS編譯生成的.out文件不能直接用來自舉,需要將其進行一系列繁瑣的格式轉換得到合適的格式并移植到DSP的外部存儲器進行自舉[7]。為解決該問題,本模塊通過基于LabVIEW的GUI軟件完成上述轉換并控制代碼移植到外部存儲器。如圖1所示。GUI軟件首先將.out文件轉換為.hex格式,并將得到的.hex文件轉換為方便DSP自舉的.dat格式。之后GUI通過USB將數據傳送給C8051F340單片機完成DSP程序更新。C8051F340是一款可提供USB功能并具有較大FLASH存儲空間的混合信號微控制器。本模塊使用其片上FLASH作為DSP的外部存儲器,可省去外擴存儲設備,節(jié)約成本,簡化電路。自舉開始時,單片機將FLASH中的代碼數據通過標準串行自舉方式傳送給DSP,控制DSP的自舉。標準串行自舉與其他自舉模式相比,占用DSP硬件資源少、電路簡單。通過本模塊,開發(fā)者可在PC機上實現一鍵完成DSP代碼更新。

 

 

2 硬件設計

本模塊使用C8051F340的片上FLASH作為DSP的外部存儲器。C8051F340通過標準串行接口與DSP通信,通過USB與處理代碼格式轉換的GUI軟件通信。如圖2所示,虛線框1為3線制的標準串行總線,負責數據的傳輸。虛線框2為復位與握手信號。DSP的bootloader通過拉低XF引腳通知單片機DSP已準備好接收數據;而單片機通過P1.3引腳拉低ˉRS來復位DSP。C8051F340與PC機通過USB連接。如圖2所示,VBUS為USB電纜VBUS引線的感應輸入端,當該引腳出現5V高電平信號時,表示該設備已經和主機連接好。D+、D-為USB的差分信號線,D+信號線接1.5k的上拉電阻R1使USB設備工作于高速。電容C1、C3為15pF的濾波電容。為了消除差模干擾,兩信號線連接大小為33pF的電容C2。REGIN為C8051F340片內電壓調節(jié)器的輸入端。VDD為C8051F340片內電壓調節(jié)的3.3V輸出端。通過將REGIN和VDD短接,C8051F340被配置為USB固件自供電,片內穩(wěn)壓器禁止的工作模式。另外C8051F340電路模塊中,通過C2調試接口(包括C2CK時鐘信號和C2D雙向數據信號)連接JTAG對單片機程序進行燒寫和調試。

 

 

3 軟件設計

本系統(tǒng)主要通過GUI軟件完成DSP用戶應用代碼的格式轉換和調用USB主機API控制USB傳輸數據;通過C8051F340程序調用USB器件API接收數據存入片內FLASH中并通過標準串行通信控制DSP的自舉。下面分別介紹各軟件設計的功能和具體流程。

3.1 基于LabVIEW的GUI程序設計

LabVIEW開發(fā)的程序一般由一個或多個VI組成,所有VI都可分為前面板和框圖兩部分。前面板是VI的交互界面,用戶輸入數據通過前面板傳遞給框圖,計算和分析結果在前面板上以不同方式顯示出來。圖3為本模塊的GUI前面板。如圖所示前面板分為“輸入配置區(qū)”和“狀態(tài)顯示區(qū)”。通過在前面板的“輸入配置區(qū)”設置文件路徑進行DSP代碼文件的二次更新。“狀態(tài)顯示區(qū)”可實時顯示USB連接狀況、文件轉換信息、自舉代碼文件內容等詳細信息。

 

 

框圖是圖形化的程序代碼,主要完成兩個任務:調用USB主機的API函數控制USB數據傳輸和控制代碼文件格式轉換。

借助Silicon Laboratories公司為USB驅動程序開發(fā)提供的USBXpress,可以簡便的實現在PC機上通過GUI軟件與作為USB器件的C8051F340單片機的USB通信。USBXpress提供了10個USB主機API函數,通過LabVIEW中的CLF(調用庫函數節(jié)點)調用USBXpress提供的USB主機API函數,便可訪問USB底層硬件。圖4為本設計LabVIEW上位機程序調用API的框圖。圖中VI作用分別是獲取USB器件編號、獲取USB器件序列碼、設置USB讀寫延時、打開USB器件、向USB器件寫數據塊、關閉USB器件。

在成功調用SI_Open()函數打開USB器件,并通過“file path control.vi”控件獲取待轉換文件的具體路徑后,GUI軟件對定位的代碼文件開始進行轉換。如圖5框圖程序所示:首先通過“Exec.vi”(“執(zhí)行系統(tǒng)命令”VI)調用CCS軟件環(huán)境提供的DOS批處理文件Hex500.exe軟件(與自舉文件位于同一個目錄)將.out文件轉換為.hex文件。Hex500.exe在DOS環(huán)境下運行需要輸入大量轉換配置文件,因此GUI需同時調用用來集中描述文件轉換所需參數信息的.cmd文件。.cmd文件內容及注釋如下:

bootloader.out //待轉化的程序文件

-o bootloader.hex //輸出文件名

-map bootloader.map //生成存儲器映像文件

-boot //生成加載表

-I //輸出文件為Intel Hex文件格式

-e _c_int00 //程序入口地址

-memwidth 16 //標系統(tǒng)的存儲器為16位

-romwidth 16 //存儲器芯片的位寬為16位

-bootorg SERIAL //行裝載

 

 

之后通過“Exec.vi”函數調用hex-to-dat.exe軟件將.hex格式轉換為.dat格式。最終在文件格式轉換完畢之后提取代碼并轉換為數組,在循環(huán)中調用SI_Open()函數以每次512字節(jié)的速度將數據寫入USB器件,直到所有文件傳輸完畢,關閉USB。

 

 

3.2 C8051F340程序設計

C8051F340通過USB從GUI軟件接收DSP程序代碼并存儲到片內FLASH中,之后通過標準串行接口將代碼傳送給DSP進行自舉。C8051F340程序主要包括初始化函數、自舉函數、USB驅動函數、擦寫FLASH函數幾個部分。圖6為C8051F340程序的流程圖。

3.2.1 初始化程序

程序初始化部分主要包括USB設備初始化和C8051F340單片機初始化。USB初始化通過調用USBXpress提供的10個USB器件API函數實現,包括調用USB_Clock_Start()函數初始化USB總線時鐘、調用USB_Init()函數使能USB總線、調用USB_Init_Enable()函數使能API中斷;C8051F340單片機初始化中將單片機時鐘設為48MHZ以滿足USB全速工作方式的需要、配置單片機輸出端口為推挽輸出、開啟外部中斷0并通過配置寄存器“IT01CF=0x07”將P0.7配置為INT0的中斷觸發(fā)端口引腳,監(jiān)視DSP所給自舉信號。

 

[!--empirenews.page--]

 

3.2.2 自舉函數

DSP啟動速度比C8051F340快,因此自舉之前需先復位DSP并初始化SPI接口,等待DSP的XF引腳觸發(fā)INT0中斷后啟動自舉操作。本程序使用16位標準串行方式對DSP自舉。通信時序如圖7所示,BFSR0脈沖之后可傳輸一個16位的數據,傳輸的每個16位數據之間需至少保證40個DSP時鐘周期的延時時間。且單片機時鐘頻率(BCLKR0)不可超過DSP時鐘頻率的1/2。標準串行自舉代碼如下所示,程序中將BFSR0拉高后,傳輸一個字節(jié)的數據,并通過調用延時函數Delaynum(20)延時20微秒來滿足傳輸兩數據間最小CPU時鐘間隔的要求,程序中w為當前傳輸的由四個ASCⅡ字符轉換而來的16位無符號整形變量。

 

 

BCLKR0=1;

Delaynum(20);

BCLKR0=0;

BFSR0=1;

Delaynum(20);

BCLKR0=1;

Delaynum(20);

BCLKR0=0;

Delaynum(20);

for(i=0;i<16;i++)

{

BDR0= (w & (0x8000 >> i)) > 0;

BCLKR0=1;

BFSR0=0;

Delaynum(20);

BCLKR0=0;

Delaynum(20);

}

3.2.3 USB驅動函數、FLASH讀寫函數

USB中斷函數通過調用Block_Read()函數接收來自GUI軟件的代碼數據,并存入TempStorage[]數組。ReadStageLength為每次所讀取的文件大小,最大為64字節(jié)(一個數據塊大小)。因GUI軟件每次發(fā)送512字節(jié),FLASH中每512字節(jié)為一頁,故下位機中每讀取512字節(jié)后寫入FLASH。如下代碼所示BytesRead為已讀取數據的大小,當C8051F340通過USB接收了一頁FLASH可容納最大數據512字節(jié)(Block_PR_Page為每頁FLASH可容納最多數據塊= 512/64)或者GUI軟件發(fā)送的最后一組數據,寫入FLASH。PageIndices[0]為下位機自舉的基指針,指向FLASH中0x2000開始的地址,其中0x2000~0x2200用來存放接收數據信息(大小、所含數據塊量);PageIndex為當前操作的Flash相對于基頁0x2000的偏移量,PageIndices[0]+PageIndex*0x200指向Flash當前操作地址,自舉程序代碼從0x2200地址處開始。

BytesRead+= Block_Read((BYTE*)(&TempStorage[BlockIndex]),

ReadStageLength);

BlockIndex++;

if((BlockIndex==(Block_PR_Page))||(BytesRead==BytesToRead))

{

Page_Erase((BYTE*)(PageIndices[0]+PageIndex*0x200));

Page_Write((BYTE*)(PageIndices[0]+PageIndex*0x200));

PageIndex++;

}

4 實驗驗證

為測試該模塊的可行性,以TMS320VC54x目標板為基礎,設計了如下實驗進行驗證。

實驗第一步首先需要驗證GUI軟件控制代碼格式轉換,和移植的可行性。利用DSP開發(fā)軟件CCS編寫一段LCD顯示程序并編譯生成.out文件。通過JTAG仿真后,LCD上顯示“DSP自舉模塊液晶顯示自舉測試”等信息。之后去除JTAG進行自舉試驗。通過USB將PC機與C8051F340相連。待GUI軟件成功獲取USB器件編號并打開USB器件后,設置自舉文件路徑,點擊 “下載更新DSP自舉代碼”按鍵開始更新代碼。圖8、圖9為試驗結果。

圖8為GUI前面板的實驗數據。圖中兩個USB檢測燈在USB連接成功并被功打開時被點亮表明。狀態(tài)顯示區(qū)中的“文件轉換執(zhí)行信息”由GUI調用Hex500.exe軟件之后產生、“DSP自舉代碼文件路徑”為所轉換生成的.dat文件路徑,通過路徑轉換為字符串產生、“DSP自舉代碼文件內容”,由“讀取文本文件VI”讀取生成的.dat文件產生。實驗數據與設想的一致,表明該模塊已成功完成了程序代碼的格式轉換。最下方的燈被點亮并顯示“DSP自舉代碼下載更新完成”表示GUI軟件成功的通過USB將代碼數據更新給C8051F340,DSP自舉代碼更新完成。

 

 

圖9為GUI軟件控制DSP代碼文件格式轉換部分的框圖在高亮運行模式下截取的數據。探針[1]為轉換完成后所獲得.dat文件的路徑,探針[2]為所得到.dat文件的大小。表明上位機已成功完成代碼文件格式的轉換得到.dat格式文件

 

 

第二步需驗證C8051F340利用FLASH存儲DSP代碼并通過標準串行自舉控制DSP自舉的可行性。實驗第一步成功之后,將C8051F340與DSP通過標準串行總線,C8051F340自動控制DSP開始自舉。圖10為C8051F340在獲取GUI軟件傳送的更新代碼并成功通過標準串行自舉控制完成DSP自舉的實物照片。LCD顯示數據與通過JTAG仿真情況下完全一致,證明了該DSP自舉模塊的有效性,且該自舉模塊可實現一鍵更新DSP代碼文件,方便快速。

 

 

5 結語

本文提出了一種可在線更新程序的自舉模塊。該模塊在GUI軟件中將DSP程序代碼進行格式轉換并通過利用USB將代碼數據導入C8051F340單片機的片內FLASH中存儲。C8051F340通過標準串行總線控制DSP進行自舉。利用該模塊,用戶更新DSP程序代碼可完全在計算機上操作,無需了解自舉的具體細節(jié),實現一鍵更新代碼;同時該自舉模塊可在短短數秒內完成代碼更新,從而大大減輕了開發(fā)難度和縮短開發(fā)周期。另外,由于單片機FLASH存儲量為64kb,除去單片機的程序占用空間,從0x2200地址開始,共可存儲55.5kb左右的DSP程序代碼,滿足大多數中小DSP應用程序的自舉需求,因此該系統(tǒng)可廣泛用于程序代碼不超過55.5k字節(jié)的DSP系統(tǒng)中。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉