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

?

一種利用HPI接口實(shí)現(xiàn)DSP應(yīng)用程序遠(yuǎn)程更新的方法

2015-09-25 03:06:04李晶呂肖晗
關(guān)鍵詞:存儲器字節(jié)寄存器

李晶,呂肖晗

(1.孝感供電公司客戶服務(wù)中心計(jì)量室,孝感432000;2.襄陽海特測控技術(shù)有限公司)

引 言

隨著智能電網(wǎng)的建設(shè)、實(shí)施和物聯(lián)網(wǎng)的普及應(yīng)用,越來越多的終端設(shè)備通過網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)采集,這些數(shù)據(jù)終端數(shù)量眾多,分布范圍廣。當(dāng)這些終端設(shè)備中的MCU應(yīng)用軟件發(fā)現(xiàn)BUG,或需要對MCU應(yīng)用軟件進(jìn)行升級則是一件非常麻煩、艱巨的任務(wù)。如果能夠通過網(wǎng)絡(luò)或串行接口實(shí)現(xiàn)MCU應(yīng)用程序的遠(yuǎn)程下載,將會帶來方便。本文介紹一種DSP應(yīng)用程序的遠(yuǎn)程下載技術(shù)。

1 TMS320VC5402及其HPI接口簡介

TMS320VC5402是TI公司為實(shí)現(xiàn)低功耗、高性能實(shí)時(shí)信號處理的定點(diǎn)16位DSP,它采用改進(jìn)型哈佛結(jié)構(gòu),具有很高的運(yùn)行速度,非常適合在信號處理方面的應(yīng)用,如濾波、頻譜分析等場合。其突出的優(yōu)點(diǎn)已經(jīng)使它在通信、語音、儀器儀表、電力測控終端等領(lǐng)域得到廣泛應(yīng)用。

TMS320VC5402的應(yīng)用程序在其內(nèi)部的RAM中運(yùn)行,因此,在上電時(shí)需要利用HPI接口將程序傳送到內(nèi)部RAM中,TMS320VC5402的HPI是增強(qiáng)型8位主機(jī)接口。HPI即主機(jī)接口,它實(shí)際上是一個(gè)8位的并行接口,可以和任何一個(gè)外部的8位并行接口連接,在大多數(shù)情況下這個(gè)外部的8位并行口可以是其他MCU的8位I/O口。對于TMS320VC5402來說,這個(gè)MCU就是“主機(jī)”,以下簡稱為主MCU。當(dāng)TMS320VC5402與主機(jī)傳送數(shù)據(jù)時(shí),HPI能自動將傳送來的8位數(shù)據(jù)組合成為16位數(shù)據(jù),并傳送到TMS320VC5402內(nèi)部指定地址的RAM單元中,代碼傳送完畢后,主MCU再傳送DSP應(yīng)用程序的入口地址。傳送結(jié)束后TMS320VC5402即可從指定的地址開始執(zhí)行應(yīng)用程序。

2 HPI與主機(jī)接口的技術(shù)實(shí)現(xiàn)

主MCU和TMS320C5416的連接示意如圖1所示,圖中8位數(shù)據(jù)線用來實(shí)現(xiàn)DSP與主機(jī)之間的數(shù)據(jù)傳輸,控制信號線用來指定進(jìn)行的操作。

HPI包含3個(gè)內(nèi)部寄存器,分別為:HPIC、HPIA、HPID。HPIC是一個(gè)16位的內(nèi)部控制寄存器,HPIA是16位的地址寄存器,HPID是數(shù)據(jù)寄存器。由于HPI接口的數(shù)據(jù)線是8位的,故主MCU在讀寫HPI寄存器時(shí),每次必須按2個(gè)字節(jié)操作,字節(jié)的高低順序由HPIC設(shè)定。而主MCU要寫HPIC時(shí),第1個(gè)字節(jié)和第2個(gè)字節(jié)的內(nèi)容必須是相同值,專用的HBIL引腳信號用來確定傳輸?shù)氖堑?字節(jié)還是第2字節(jié)。HPIC的BOB位決定是第1個(gè)字節(jié)還是第2個(gè)字節(jié)放置在高8位。HCNTL0/1用來說明哪個(gè)HPI的內(nèi)部寄存器被主機(jī)訪問。具體說明如表1所列。

表1 HCNTL信號功能

HDS1、HDS2是兩個(gè)數(shù)據(jù)選通信號,HAS是地址鎖存信號,HCS是HPI接口的選中信號,而HR/W是讀/寫控制信號。詳情及HPIC寄存器各位的用途請參考TMS320VC5402技術(shù)手冊,這里不再贅述。

主MCU通過HPIC、HPIA、HPID寄存器與TMS320VC5402進(jìn)行數(shù)據(jù)交換,數(shù)據(jù)交換的過程如下:

①初始化HPIC;

②把地址寫到HPIA中;

③通過HPID讀或?qū)憯?shù)據(jù)。

一艘情況下,對DSP的HPIC進(jìn)行初始化后,無須再對其進(jìn)行初始化,其余工作由主MCU完成。主MCU和TMS320VC5402的連接圖如圖1所示。

圖1 主MCU和TMS320VC5402的連接圖

用8051單片機(jī)作為主MCU實(shí)現(xiàn)DSP應(yīng)用程序遠(yuǎn)程下載的實(shí)現(xiàn)方案中,主MCU使用的是C8051F236,用C8051F236的P1口作為數(shù)據(jù)線與DSP的HPI接口連接,C8051F236的P2口分別作為HPI接口的控制信號線,P0.5連接到DSP的復(fù)位引腳。C8051F236的串行接口擴(kuò)展MAX485,以便通過RS485串行接口接收PC機(jī)傳送的DSP應(yīng)用程序,當(dāng)然也可以為主MCU擴(kuò)展網(wǎng)絡(luò)接口,通過網(wǎng)絡(luò)傳送DSP應(yīng)用程序。

擴(kuò)展的I2C總線接口EEPROM存儲器AT24C1024用于存放DSP應(yīng)用程序的HEX文件,AT24C1024的容量為256KB,對于一般應(yīng)用程序的HEX文件是夠用的。工作時(shí)PC機(jī)利用通信接口將DSP的應(yīng)用程序和程序的入口地址傳送給主MCU,并在EEPROM中存放。然后主MCU控制DSP復(fù)位,進(jìn)入引導(dǎo)工作方式,主MCU讀取存放在AT24C1024中的HEX文件,經(jīng)解析后產(chǎn)生機(jī)器碼,并逐字節(jié)通過HPI接口傳送給DSP,完成程序的更新。

TMS320VC5402在片上ROM中固化了引導(dǎo)程序,當(dāng)DSP工作在微計(jì)算機(jī)模式(MP/MC=0)下,上電復(fù)位后會自動執(zhí)行引導(dǎo)程序,引導(dǎo)程序會初始化數(shù)據(jù)存儲區(qū)的007EH和007FH兩個(gè)單元,使其初始值為0,然后檢測引導(dǎo)模式。首先檢測當(dāng)前是否是HPI引導(dǎo)模式,在確認(rèn)引導(dǎo)模式后,按照相應(yīng)的操作自動從HPI接口傳送用戶代碼到內(nèi)部程序存儲器。在完成用戶代碼引導(dǎo)后,主MCU執(zhí)行寫入口地址操作,即將應(yīng)用程序的入口地址寫入到007EH和007FH。如果TMS320VC5402檢測到007EH和007FH內(nèi)容的變化后,馬上從入口地址處開始運(yùn)行用戶程序,引導(dǎo)過程結(jié)束,DSP正常運(yùn)行應(yīng)用程序。

3 主MCU軟件設(shè)計(jì)

涉及HPI功能的主MCU軟件設(shè)計(jì)包括兩個(gè)方面:一是HPI接口的訪問;二是HEX文件的解析。

(1)HPI接口軟件設(shè)計(jì)

在對HPI接口訪問時(shí),一般首先要通過寫入控制字到HIPC寄存器中,以設(shè)置HPI的工作方式。但在大多數(shù)情況下,使用HPIC的默認(rèn)值即可,故不需要專門對HPIC進(jìn)行操作,程序中僅需對HPIA和HPID進(jìn)行操作。以下為對HPIA進(jìn)行寫操作的程序,將需要操作的存儲器的地址傳送到HPIA中。為簡單起見,程序已作了簡化處理:

將存儲器地址傳送到HPIA后即可傳送程序的機(jī)器碼,程序結(jié)構(gòu)與上述類似。需要注意的是,在通過HPID讀/寫DSP內(nèi)部的存儲器時(shí),被讀/寫存儲器單元的地址由HPIA指定,并且可以實(shí)現(xiàn)HCNTL0、HCNTL1設(shè)置為讀/寫HPID時(shí)HPIA的值自動加1,這樣就不需要每次讀/寫HPID之前先傳送地址到HPIA中,簡化了程序設(shè)計(jì)。

(2)DSP代碼下載程序設(shè)計(jì)

DSP應(yīng)用程序代碼通過串行接口傳送到主MCU并保存在EEPROM中后,主MCU即可在任何需要的時(shí)候?qū)⒋a下載到DSP中。一般來說傳送的DSP應(yīng)用程序是HEX文件。HEX文件是一個(gè)文本文件,它以記錄的方式存放應(yīng)用程序的機(jī)器碼及其地址。因此主MCU需要按記錄從EEPROM中讀取HEX文件,并對其進(jìn)行分析,得到應(yīng)用程序的機(jī)器碼和其地址,然后通過HPI接口程序傳送到DSP中。由于HEX文件中不包含應(yīng)用程序的入口地址,所以PC機(jī)軟件需要單獨(dú)將應(yīng)用程序的入口地址傳送給主MCU,為簡單起見,HEX文件記錄的結(jié)構(gòu)及其分析不再贅述,可參考其他相關(guān)資料。將代碼傳送到DSP的程序流程圖如圖2所示。

圖2 代碼傳送流程圖

在DSP應(yīng)用程序開發(fā)中,使用CCS編譯、鏈接后生成.out文件,此文件為COFF格式文件,不能直接用于主機(jī)引導(dǎo),需要利用其他的工具將其轉(zhuǎn)換成HEX文件,至于DSP應(yīng)用程序的入口地址可以從MAP文件中得到。

結(jié) 語

本文介紹了一種利用通信接口實(shí)現(xiàn)DSP應(yīng)用程序遠(yuǎn)程下載的方法,該方法簡單易行,已經(jīng)在我們所開發(fā)的項(xiàng)目中得到應(yīng)用。雖然文中介紹的是利用RS485接口實(shí)現(xiàn),事實(shí)上稍加改變,即可利用任意一種通信方式實(shí)現(xiàn),具有一定的實(shí)用價(jià)值。

[1] Texas Instruments Incorporated.TMS320C54x系列DSP的CPU與外設(shè)[M] .北京:清華大學(xué)出版社,2006.

[2] TI TMS320VC5402and TMS320UC5402Bootloader,2004.

[3] 邵新顏,蔡梅琳.在Bootloader中實(shí)現(xiàn)嵌入式系統(tǒng)自動升級[J] .單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(11):33-34.

[4] 陳紅梅,陳健.TMS320VC5402的Flash并行Bootloader技術(shù)[J] .單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(11):21-23.

[5] 向強(qiáng).MPC860T與DSP的HPI口通信設(shè)計(jì)[J] .單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(3):22-24.

猜你喜歡
存儲器字節(jié)寄存器
No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
靜態(tài)隨機(jī)存儲器在軌自檢算法
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
No.10 “字節(jié)跳動手機(jī)”要來了?
簡談MC7字節(jié)碼
分簇結(jié)構(gòu)向量寄存器分配策略研究*
存儲器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計(jì)
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
南部县| 宿松县| 独山县| 阜新| 扎囊县| 南漳县| 襄垣县| 兰考县| 清涧县| 禹城市| 甘洛县| 贵德县| 蕲春县| 噶尔县| 定西市| 镇沅| 乌审旗| 永定县| 郑州市| 洮南市| 左权县| 抚顺县| 四子王旗| 吴江市| 景谷| 苍山县| 乐平市| 石景山区| 甘洛县| 岳西县| 浪卡子县| 襄樊市| 文安县| 紫阳县| 长岭县| 大邑县| 商都县| 金门县| 宜宾市| 铜梁县| 阳朔县|