999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種可在線更新程序的DSP自舉模塊※

2014-08-12 08:46:10朱磊郭力董毅王慧俊
單片機與嵌入式系統應用 2014年8期
關鍵詞:單片機程序

朱磊,郭力,董毅,王慧俊

(西安工程大學 電子信息學院,西安 710048)

一種可在線更新程序的DSP自舉模塊※

朱磊,郭力,董毅,王慧俊

(西安工程大學 電子信息學院,西安 710048)

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

DSP自舉;LabVIEW;GUI;USB;C8051F340

引 言

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

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

1 方案設計

DSP開發軟件CCS編譯生成的.out文件不能直接用來自舉,需要將其進行一系列繁瑣的格式轉換得到合適的格式并移植到DSP的外部存儲器進行自舉[7]。為解決該問題,本模塊通過基于LabVIEW的GUI軟件完成上述轉換并控制代碼移植到外部存儲器。DSP自舉模塊框圖如圖1所示。

圖1 DSP自舉模塊系統框圖

GUI軟件首先將.out文件轉換為.hex格式,并將得到的.hex文件轉換為方便DSP自舉的.dat格式。之后,GUI通過USB將數據傳送給C8051F340單片機完成DSP程序更新。C8051F340是一款可提供USB功能并具有較大FLASH存儲空間的混合信號微控制器。本模塊使用其片上FLASH作為DSP的外部存儲器,可省去外擴存儲設備,節約成本,簡化電路。自舉開始時,單片機將FLASH中的代碼數據通過標準串行自舉方式傳送給DSP,控制DSP的自舉。標準串行自舉與其他自舉模式相比,占用DSP硬件資源少,電路簡單。通過本模塊,開發者可在PC機上實現一鍵完成DSP代碼更新。

2 硬件設計

圖2 自舉模塊主要硬件連接關系圖

3 軟件設計

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

3.1 基于LabVIEW的GUI程序設計

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

圖3 基于LabVIEW的GUI前面板

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

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

圖4 LabVIEW調用USB主機API框圖

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

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

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

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

-boot //生成加載表

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

-e_c_int00 //程序入口地址

-memwidth 16 //標系統的存儲器為16位

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

-bootorg SERIAL //串行裝載

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

圖5 LabVIEW轉換DSP程序代碼格式的框圖

3.2 C8051F340程序設計

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

3.2.1 初始化程序

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

3.2.2 自舉函數

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

圖6 單片機標準串行自舉時序圖

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字節(一個數據塊大小)。因GUI軟件每次發送512字節,FLASH中每512字節為一頁,故下位機中每讀取512字節后寫入FLASH。

如下代碼中,BytesRead為已讀取數據的大小,當C8051F340通過USB接收了一頁FLASH可容納最大數據512字節(Block_PR_Page為每頁FLASH可容納最多數據塊= 512/64)或者GUI軟件發送的最后一組數據,寫入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++;

}

為測試該模塊的可行性,以TMS320VC54x目標板為基礎進行驗證。具體方法略——編者注。

結 語

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

[1] 楊萍,張玉杰,楊良煜,等. 基于DSP的新型智能超聲波相關流量計[J]. 計算機測量與控制,2006,14(9).

[2] 劉煒,龍憲惠. TMS320VC5402在汽車防撞警示雷達中的應用[J]. 電子技術應用,2001,27(9).

[3] 陳紅梅,陳健.TMS320VC5402的Flash并行Bootloader技術[J].單片機與嵌入式系統應用,2003(11).

[4] 徐書杰,劉宏立.TMS320VC5416 DSP并行自舉方案的設計與實現[J].計算機工程與科學,2009,31(8).

[5] 鄒翼,曾文海,陳續喜. 基于TMS320VC5402 DSP的HPI方式自舉的設計與實現[J]. 計算機系統應用,2009(3).

[6] 李輝.C8051F023通過HPI對TMS320C5402自舉的實現[J]. 無線電工程,2005,35(3).

[7] 朱磊,劉東. C8051F340與LabVIEW基于API的USB通信[J]. 單片機與嵌入式系統應用,2007(1).

朱磊(副教授),研究方向為嵌入式系統。

DSP Bootloader Module with Online Program※

Zhu Lei, Guo Li, Dong Yi, Wang Huijun

(School of Electronics and Information, Xi’an Polytechnic University, Xi'an 710048, China)

This paper presents a convenient online-update-program DSP bootloader module for DSP to overcome the inconvenience in updating program codes, which is ubiquitous in existing DSP bootloader module. This module consists of a Graphical User Interface (GUI) software based on LabVIEW and a C8051F340 MCU. DSP application codes are transferred into needed format by GUI and sent to the C8051F340 by using USB. The C8051F340 stores DSP application codes in its on-chip FLASH and controls DSP to finish booting by using standard serial boot mode. The advantage of the design proposal is that it is convenient and fast for DSP to update and boot using online programing. The experimental results show this module is feasible and reliable.

DSP bootloader;LabVIEW;GUI;USB;C8051F340

陜西省教育廳自然科學項目(12JK0547);西安工程大學博士科研啟動基金項目(BS1205);西安市科技局技術轉移促進工程項目(CXY1349(2))。

TP311/368

A

2014-02-15)

猜你喜歡
單片機程序
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 在线视频亚洲色图| 国产一级二级三级毛片| 久久9966精品国产免费| 久久精品亚洲专区| 999在线免费视频| 国产精女同一区二区三区久| 色老头综合网| 国产午夜一级毛片| 视频二区中文无码| 黄色网站在线观看无码| 91精品啪在线观看国产60岁 | 中文字幕亚洲专区第19页| 欧美影院久久| 亚洲人成色77777在线观看| 国产AV无码专区亚洲A∨毛片| 国产一级α片| 久久亚洲精少妇毛片午夜无码| 欧美日韩精品在线播放| 国产91小视频在线观看| 精品人妻无码区在线视频| 亚洲欧美色中文字幕| 婷婷六月在线| 精品国产Av电影无码久久久| 浮力影院国产第一页| 亚洲天堂网在线视频| 亚洲AⅤ波多系列中文字幕| 人妻丰满熟妇啪啪| 亚洲精品成人7777在线观看| 91精品国产自产91精品资源| 亚洲色欲色欲www在线观看| 亚洲综合在线网| a毛片免费观看| 亚洲最大福利网站| 五月婷婷欧美| 最新日韩AV网址在线观看| 欧美中文字幕在线视频| 欧美不卡二区| 色香蕉网站| 激情六月丁香婷婷| 久久久久亚洲av成人网人人软件 | 白丝美女办公室高潮喷水视频| 国产成人精品免费视频大全五级 | 黄色网址手机国内免费在线观看| 久久久久人妻一区精品色奶水| 亚洲男人在线天堂| 毛片免费网址| 日韩免费成人| 亚洲制服丝袜第一页| 成人中文字幕在线| 在线不卡免费视频| 国产精品手机在线播放| 国产不卡一级毛片视频| 欧美成人精品欧美一级乱黄| 久久九九热视频| 精品91自产拍在线| 国产成人综合亚洲欧洲色就色| 国产一级一级毛片永久| 好吊妞欧美视频免费| 日韩av在线直播| 亚洲免费毛片| 色窝窝免费一区二区三区| 91免费国产高清观看| 精品国产中文一级毛片在线看| 伊人网址在线| 在线观看免费人成视频色快速| 99re热精品视频中文字幕不卡| 久久国产精品夜色| 久久男人视频| 精品久久香蕉国产线看观看gif| 日本三级黄在线观看| 中文字幕日韩丝袜一区| 国产一区二区丝袜高跟鞋| 日韩人妻精品一区| 精品国产一区91在线| 精品国产美女福到在线不卡f| 亚洲 欧美 偷自乱 图片| 欧美国产日本高清不卡| 青草视频网站在线观看| 最新国产麻豆aⅴ精品无| 色久综合在线| 国产成人成人一区二区| 日韩福利在线观看|