国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C54x系列DSP多目標板程序下載方案的實現(xiàn)

2011-04-23 10:13:04
電子科技 2011年7期
關(guān)鍵詞:格式文件通信協(xié)議單片機

張 華

(武漢理工大學(xué)信息工程學(xué)院,湖北武漢 430070)

Texas Instruments(TI)公司生產(chǎn)的 C54x系列Digital Signal Processor(DSP)以其低價且高效的特點得到了廣泛應(yīng)用。傳統(tǒng)的DSP程序開發(fā)流程是:使用仿真器對DSP目標板進行一對一程序調(diào)試,調(diào)試通過之后使用仿真器將自舉表下載到DSP外掛存儲器,使DSP脫機運行。在DSP多處理器協(xié)同工作的場合,如果使每塊DSP目標板分別通過一個仿真器連接電腦進行調(diào)試,就要添置與DSP目標板相同數(shù)目的電腦與仿真器,增加了開發(fā)成本。因此,低成本的DSP多目標板程序下載方案具有現(xiàn)實意義。

1 C54x系列DSP多目標板程序下載原理

多目標板程序下載方案利用了計算機資源豐富的USB口,在基于USB接口的單目標板程序下載方案基礎(chǔ)上實現(xiàn)。DSP多目標板程序下載方案如圖1所示。

圖1 DSP多目標板程序下載方案框圖

在圖1中,將需要同時調(diào)試的多塊DSP目標板通過DSP程序下載器連接起來,計算機再通過USB線連接各DSP程序下載器。加電初始化后,通過操作上位機的“下載軟件”,先給”DSP目標板1”下載;等其下載完畢,再給“DSP目標板2”下載;依次類推。所有DSP目標板程序下載完畢后,如果要單獨調(diào)試某一DSP目標板,再對其下載新的程序即可。

DSP程序下載器利用了C54x系列DSP具有的HPI Bootloaer功能接口進行設(shè)計[1],具有連接計算機與DSP目標板的功能,如圖2所示。

圖2 DSP程序下載器框圖

為簡化通信協(xié)議,讓DSP程序下載器中的單片機只實現(xiàn)數(shù)據(jù)轉(zhuǎn)換功能,而計算機完成DSP自舉表加載功能。為方便DSP目標板的調(diào)試,本方案讓“下載軟件”一步到位完成如下功能:目標板復(fù)位、.out文件轉(zhuǎn)化成.hex目標格式文件、將.hex目標格式文件轉(zhuǎn)換成DSP自舉表、通過下載器對DSP目標板進行自舉表加載。使用者只需在DSP編譯平臺Code Composer Studio(CCS)中編譯DSP源程序,并操作“下載軟件”即可,如圖3所示。

圖3 DSP單目標板程序下載流程

2 計算機與單片機UART通信協(xié)議

如圖2所示,DSP的HPI接口有數(shù)據(jù)端和控制端兩種,而UART通信一般是8位的。所以要約定計算機與程序下載器中單片機的UART通信協(xié)議,以區(qū)分傳輸中的UART信號是控制命令還是數(shù)據(jù)。簡單通信協(xié)議為:“下載軟件”與單片機初始化后,計算機傳輸?shù)腢ART信號,每3 Byte為一組;每一組第1 Byte代表控制命令,第2 Byte代表 HPI第1 Byte,第3 Byte代表HPI第2 Byte;單片機接收完3 Byte后,即對DSP進行一次HPI讀寫操作。

為防止計算機UART信號發(fā)送過快,而單片機接收不過來導(dǎo)致丟包現(xiàn)象,需要建立一種簡單的UART軟件握手協(xié)議[2]。計算機或單片機在發(fā)送完一幀UART數(shù)據(jù)后,都要在收到對方的UART信號后才發(fā)下一幀UART數(shù)據(jù)。對單片機來說,計算機發(fā)來的UART信號既是有效信號,也是確認信號;而對于計算機來說,只有計算機在進行“HPI讀取”操作時,單片機發(fā)來的UART信號才包含了有用信息,其他情況都僅當(dāng)做確認信號。

計算機與程序下載器中單片機的UART通信協(xié)議如圖4所示。

圖4中“HPIC”代表計算機發(fā)給單片機的“HPI控制信號”數(shù)據(jù);“HPID1”與“HPID2”分別代表計算機發(fā)給單片機的“HPI第一字節(jié)”數(shù)據(jù)與“HPI第二字節(jié)”數(shù)據(jù);而“ACK”代表單片機發(fā)給計算機的“確認”數(shù)據(jù)。

圖4 計算機與單片機的UART通信協(xié)議

3 “下載軟件”程序設(shè)計

3.1 轉(zhuǎn)化hex目標格式文件

CCS提供了一個名為“hex500”的軟件,配合一定的計算機CMD命令,就可以將.out文件轉(zhuǎn)化成.hex目標格式文件[3]。

關(guān)于.hex目標格式的確定,依據(jù)如下:

(1)hex500需要確切的輸入文件名才能正常運行,為了兼顧命名多樣化的.out文件與“下載軟件”人機界面簡潔的操作,“下載軟件”在找到所需的.out文件后,統(tǒng)一復(fù)制成“asm.out”文件,同時讓hex500只對“asm.out”文件進行操作。

(2)單片機大多是8位,為兼容C5402等8位HPI接口的DSP,自舉表采用8位數(shù)據(jù)長度。

(3)目前單片機對DSP進行HPI BootLoader的成熟方案[4]皆生成 Intel MCS -86 目標格式文件[5],為便于程序的快速移植,采用Intel MCS-86目標格式。

(4)為精簡“下載軟件”的人機交互界面,自舉表起始地址統(tǒng)一設(shè)為0x80,這一點在配置DSP工程的cmd文件中需要注意。

確定了目標格式之后,在“下載軟件”源程序中,采用如下代碼完成.out文件向.hex目標格式文件的轉(zhuǎn)化:system("hex500 asm.out-i-o asm.hex-e 0x80-romwidth 16")。

3.2 讀取hex目標格式文件并下載到DSP

Intel MCS-86目標格式[6]如圖5所示。

對比圖5,進行如下方式組織DSP自舉表:

(1)按字節(jié)讀取.hex目標格式文件,然后進行判斷,如果是代表十六進制數(shù)字的字符,則裝載進字符緩存,其他的不裝載。

(2)將字符緩存中的ASCII碼轉(zhuǎn)化成8位BCD碼,然后將8位BCD碼兩兩組合成整型數(shù)據(jù),放進數(shù)據(jù)緩存。

(3)讀取數(shù)據(jù)緩存中第一字并判斷,如果為0則退出,否則作為數(shù)據(jù)長度;接下來的第二個字是自舉表寫入DSP的首地址;再接下來就是要寫入DSP相應(yīng)地址的數(shù)據(jù),省略了地址信息,默認是在首地址基礎(chǔ)上依次加1。

(4)最后將 0x0080寫入 DSP的 0x007f單元,DSP處理器收到此信號即開始脫機運行。

圖5 Intel MCS-86目標格式

4 “下載軟件”人機界面

運行名為“UART DSP ISP”的“下載軟件”,在“Comm Num”編輯框中輸入相應(yīng)的串口號,再點擊“Comm Connect”按鈕以連接計算機與DSP目標板,如圖6所示。單擊“Select”按鍵,出現(xiàn)“打開”對話框,操作者只要選擇經(jīng)過CCS編譯生成的.out文件即可,如圖7所示。

點擊“Load”下載程序到DSP目標板。此DSP程序下載器會在下載程序前給DSP目標板一個復(fù)位信號,因此不需要再手動復(fù)位DSP處理器。

若要觀察DSP處理器RAM中的數(shù)據(jù),可在操作界面“Start Address”文字下面的編輯框內(nèi)輸入十六進制的起始地址,“End Address”文字下面的編輯框內(nèi)輸入十六進制的終止地址,再點擊“HPI Read”按鍵即可,相應(yīng)的數(shù)據(jù)將會在“Receive”列表框內(nèi)顯示。若要清除“Receive”列表框內(nèi)的數(shù)據(jù),只要單擊“Clear Edit Box”即可,如圖8所示。

在“Start Address”文字下面的編輯框內(nèi)輸入十六進制的起始地址,在“Send”編輯框中輸入十六進制的數(shù)據(jù),點擊“HPI write”按鍵,即可將“Send”編輯框中的數(shù)據(jù)寫進DSP,起始地址為“Start Address”文字下面編輯框中的數(shù)據(jù),如圖9所示。

5 結(jié)束語

DSP多目標板程序下載方案已應(yīng)用于某數(shù)碼鋼琴集體課組網(wǎng)的項目,節(jié)省了仿真器與電腦的使用,將開發(fā)成本降低了一半多。此方案也可以用于DSP單目標板程序下載,或者移植到采用單片機Bootloader方案的DSP板中去,為DSP初學(xué)者降低學(xué)習(xí)投資。

[1] 劉曉杰,顧海軍,趙曉暉.基于 DSP主機接口的程序自舉設(shè)計與實現(xiàn)[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2007(1):6-11.

[2] 趙忠彪,張元敏,高榮.握手式通信協(xié)議在遠程抄表系統(tǒng)中的應(yīng)用[J].繼電器,2008(4):76-78.

[3] 陶銳,周學(xué)軍.數(shù)字信號處理器(DSP)自舉加載技術(shù)的應(yīng)用[J].電子測量技術(shù),2006(6):67-69.

[4] 曾浩,劉玲,曹海林.54xDSP的HPI自舉新方法[J].實驗室研究與探索,2007(1):68-70.

[5] 鄒翼,曾文海,陳續(xù)喜.基于TMS320VC5402 DSP的HPI方式自舉的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2009,18(3):152-155.

[6] 劉益成.TMS320C54x DSP應(yīng)用程序設(shè)計與開發(fā)[M].北京:北京航空航天大學(xué)出版社,2002.

猜你喜歡
格式文件通信協(xié)議單片機
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
使用“格式文件”將徠卡儀器數(shù)據(jù)導(dǎo)出成cass 格式的方法
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計
編寫徠卡TS02型全站儀格式文件的方法探索
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計與實現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
回歸基礎(chǔ) 到底什么是RAW格式文件?
基于Office Open XML格式文件的電子取證方法研究
神农架林区| 太白县| 叶城县| 鄄城县| 南雄市| 庄河市| 辽阳县| 龙江县| 南京市| 汉阴县| 五河县| 贺州市| 奇台县| 汪清县| 荆门市| 聂荣县| 南郑县| 滦南县| 苍南县| 赣州市| 星子县| 乾安县| 两当县| 西安市| 襄城县| 南陵县| 同心县| 斗六市| 儋州市| 沁源县| 连江县| 波密县| 溧水县| 建始县| 龙川县| 忻城县| 宜兰市| 伊吾县| 永胜县| 从化市| 江永县|