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

51單片機與DSP主從機系統及其HPI程序加載

2013-08-26 02:46:30代傳波朱國華王益元
艦船科學技術 2013年9期
關鍵詞:單片機程序

代傳波,廖 武,羅 鵬,朱國華,王益元

(1.武漢第二船舶設計研究所,湖北 武漢 430064;2.清華大學工程物理系,北京 100084)

0 引言

在我國傳統船用自動化儀表設計領域中51系列單片機被廣泛應用,設計出了很多優秀的產品[1]。但隨著技術迅速發展,儀表系統需要處理的數據量越來越大,傳統8位單片機難以勝任,對它們進行數字化升級,成了當務之急。引入新型的DSP(數字信號處理器)作為從機進行數據處理,保留傳統MCU(單片機)作為主機進行邏輯控制是一種很好的解決方案。

TI公司的 DSP芯片 TMS320VC5402(下文以DSP代稱)是目前國內最流行的數字信號處理芯片之一,WINBOND公司的51系列單片機 W77E58(下文以MCU代稱)也是國內常用的微控制器之一,本文以它們為實例來對上述主從機結構設計方式進行介紹。文中采用的DSP程序編譯軟件為CCS2.0,MCU程序編譯軟件為Keil uVision3。

由于C5402芯片內沒有Flash和EPROM等可編程程序存儲器,在實際設計中DSP的程序只能保存在外部存儲介質中。DSP復位后必須先把程序代碼從外部存儲介質搬運到內部高速RAM之后才能運行,這個代碼搬運過程叫做Bootload(加載或引導)[2]。DSP程序加載方式有多種,本方案選擇HPI加載方式,原因如下:

1)HPI接口是主從機結構必備接口。由于系統采用主從機結構方式,無論選擇何種加載方式,其HPI通信模塊的軟、硬件設計都必不可少。

2)HPI加載方式可精簡外部設備。W77E58內置32K字節Flash程序存儲器,其空間足夠容納DSP和MCU程序內容。將DSP數據處理程序存放其中,可避免DSP周邊引入擴展Flash或EPROM等器件,有利于降低成本、提高系統可靠性。

1 主從機結構的HPI口硬件連接及其軟件接口

MCU與DSP主從機系統硬件連接方式如圖1所示。

圖1 MCU與DSP主從機HPI口硬件連接Fig.1 Hardware conection of HPI port between DSP slave and MCU master

在這種結構下,MCU作為主機可以通過HPI接口訪問DSP片上RAM所有地址空間,通過HPI口讀寫可以完成大批量數據交換。主從機通信應答采用相互中斷方式實現:DSP通過寫HPIC寄存器使得/HINT引腳置低,該信號接入MCU的/INT0引腳中斷通知MCU;MCU也可以通過寫HPIC寄存器來使得DSP進入HPI中斷以控制DSP。

MCU地址和DSP HPI相關寄存器對應關系如表1所示。

表1 MCU地址和DSP HPI相關寄存器對應關系列表Tab.1 List of MCU address and DSP HPI registers maping

在MCU程序中編寫讀寫函數,以通過HPI進行DSP和MCU通信[3],如表2所示。

表2 MCU與DSP HPI通信讀寫函數列表Tab.2 List of HPI read/write fuctions between MCU and DSP

2 DSP HPI程序加載流程

按圖1所示硬件連接,DSP復位后MP/MC引腳采樣為“0”表示DSP設置為微計算機模式,DSP片內固化的bootloader程序開始執行,其流程如圖2所示[4]。

圖2 DSP bootloader程序流程 (HPI部分)Fig.2 Flowt chart of boot loader(part of HPI)

DSP復位時/HINT引腳發出的下降沿脈沖接入/INT2引腳,/INT2中斷被接收,使得bootloader識別出 DSP的加載方式為 HPI程序加載。其后bootloader進入循環,DSP不斷查詢其內存0x007f地址內容 (在此期間MCU通過HPI把DSP程序代碼搬入DSP內存,代碼搬運完畢之后MCU改寫DSP內存0x007f地址內容)。當bootloader發現0x007f地址內容不為0,則把此內容作為DSP程序運行的入口地址,跳轉到該入口地址開始運行DSP程序。

3 DSP HPI程序加載代碼的獲取

在MCU與DSP構成的主從機系統HPI加載過程中,最關鍵的操作為獲取DSP HPI程序加載代碼,下面用一個簡單例子詳細介紹HPI加載方式代碼的獲取步驟。

3.1 DSP程序編寫及COFF格式文件生成

在CCS2.0中用C語言編寫一段簡單的DSP程序,該程序的功能是在DSP的XF引腳上產生一個固定頻率的脈沖信號,其源程序sample.c內容如下:

3.2 從COFF文件中提取HEX數據文件

COFF文件 (即*.out文件)不是存儲器映像文件,不能直接載入DSP內存。從外部加載DSP程序時,需利用TI公司提供的工具coff_both.exe從COFF文件提取HEX文件 (即*.out.c文件)以用于加載。HEX文件中以數據形式列出了COFF文件中各section(段)在DSP內存中的“段目的地址”、“段長度”和“段代碼”等信息[5]。

提取 HEX文件的具體方法為,將 coff_both.exe與sample.out文件放于同一目錄,在DOS模式下輸入如下命令:

3.3 將HEX數據文件轉化為MCU中的代碼數組

根據*.out.c文件列出的section信息,把其“段代碼”定義成長度為“段長度”的uint型數組,其“段目的地址”則是MCU準備將該數組通過HPI寫到DSP內存中的目的地址 (見表2)。

按照上述方法把*.out.c文件中的每個section均定義為1個數組,并保存在MCU程序源文件中等待HPI寫入加載。修改后的HEX文件 sample_mcu.out.c內容如下:

4 單片機HPI程序加載流程

按圖1所示硬件連接。DSP復位時/HINT發出下降沿脈沖接入MCU的/INT0引腳,/INT0中斷被接收。MCU在中斷處理程序中對DSP進行HPI程序加載,其流程如圖3所示。

MCU首先通過寫DSP控制寄存器初始化DSP的HPI口,然后清“0”DSP整個片上內存,接著把提取到的DSP程序各段代碼數組通過HPI寫操作搬運到DSP內存對應位置,最后在DSP內存0x007f寫入DSP程序入口地址,加載過程完畢。

在MCU程序中用于HPI程序加載的C語言函數源代碼如下:

圖3 MCU HPI程序加載流程Fig.3 Flow chart of MCU HPI bootload

5 結語

使用51單片機和DSP組成的主從機系統及其HPI程序加載方式的解決方案,既實現了傳統儀表的數字化升級又充分利用了原有設計資源,其硬件結構精簡、軟件設計靈活?;诒局鲝臋C系統設計已在筆者研制的船用蒸汽發生器泄漏率監測儀(N16監測儀)中得到應用,經過3年的工程應用證明該系統工作穩定、運行可靠。

在第3節“DSP HPI程序加載代碼的獲取”中提到的操作較繁雜,需要在DOS界面調用多個軟件工具完成,實際工作中應考慮簡化。對此,在coff_both.exe的基礎上[6]編制了windows環境運行的代碼提取程序 BootLoaderCode.exe。一方面,它擴展了section“段長度”限制,避免了代碼提取過程中section被拆分的現象 (擴展后的段長為65536字節,DSP程序段長度基本不會超過該值)。另一方面,通過它提取出的*.out.c文件被直接編排為MCU中的代碼數組格式,避免了手動拷貝代碼操作。

使用BootLoaderCode.exe提取代碼,將3.2和3.3節兩步合并為一步完成,可簡化繁瑣的人工操作,避免錯誤引入,能顯著提高工作效率。

[1]李朝青.單片機原理及接口技術(簡明修訂版)[M].北京:北京航空航天大學出版社,2002.LI Cao-qing.Theory and interface technology of single-chip microcomputer(concise emend version)[M].Beijing:Beihang University Press,2002.

[2]張雄偉.曹鐵勇DSP芯片的原理開發與應用(第二版)[M].北京:電子工業出版社,2000.ZHANG Xiong-wei,CAO Tie-yong.The designing principle and application of DSP(V2)[M].Beijing:Electronic Inderstry Press,2000.

[3]馬忠梅,等.單片機的c語言應用程序設計[M].北京:北京航空航天大學出版社,2000.MA Zhong-mei,et al.Design of C language application in single-chip microcomputer[M].Beijing:Beihang University Press,2000.

[4]PEREZ R D.TMS320VC5402及 TMS320VC5402程序加載[DB/CD].TI公司應用報告 SPRA618A,2002.PEREZR D.TMS320VC5402 and TMS320VC5402 Bootloader [DB/CD].TI Application Report SPRA618A,2002.

[5]TATER S.TMS320VC5402在 HPI模式下的程序加載[DB/CD].TI公司應用報告 SPRA382,2002.TATER S.Bootloading the TMS320VC5402 in HPI Mode[DB/CD].TI Application report SPRA382,2002.

[6]CHHABRA A,IYER R.從COFF文件中提取對等的Hex數值[DB/CD].TI公司應用報告 SPRA573,1999.CHHABRA A,IYER R.Extracting equivalent hex values from a COFF file[DB/CD].TI Application Report SPRA573,1999.

猜你喜歡
單片機程序
基于單片機的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
主站蜘蛛池模板: 亚洲第一天堂无码专区| 九九热精品在线视频| 99国产精品国产| 视频二区亚洲精品| 国内黄色精品| 亚洲综合九九| 精品夜恋影院亚洲欧洲| 久久这里只有精品免费| 日韩人妻少妇一区二区| 欧美一区精品| 日韩欧美中文在线| 一级毛片高清| 国产精品9| 亚洲一区二区三区麻豆| 欧美色伊人| 中国美女**毛片录像在线| 99久久亚洲精品影院| 久久婷婷五月综合97色| 日韩国产精品无码一区二区三区 | 精品一区二区三区水蜜桃| 性网站在线观看| hezyo加勒比一区二区三区| 国产白丝av| 国产91熟女高潮一区二区| 日韩 欧美 小说 综合网 另类| 91精品福利自产拍在线观看| 欧美日韩国产成人高清视频| 国产麻豆另类AV| 国产精品一老牛影视频| 亚洲精品在线观看91| 国产亚卅精品无码| 中文无码影院| 日韩a级毛片| 国产精品伦视频观看免费| 亚洲国产日韩一区| 国产杨幂丝袜av在线播放| 美女扒开下面流白浆在线试听| 国产熟女一级毛片| 午夜国产小视频| 国产香蕉一区二区在线网站| 无码精品国产VA在线观看DVD| 欧美国产日韩在线播放| 国产免费福利网站| 在线精品欧美日韩| 热热久久狠狠偷偷色男同| 奇米精品一区二区三区在线观看| 国产亚洲精品无码专| 国产国语一级毛片在线视频| 欧美色图久久| 97色婷婷成人综合在线观看| 亚洲毛片在线看| 青青青国产视频手机| 亚洲AV无码乱码在线观看裸奔 | 久久夜夜视频| 在线观看国产小视频| 这里只有精品在线播放| 国产午夜福利在线小视频| 91无码网站| 国产精品女同一区三区五区| 亚洲欧美不卡| 无码一区18禁| 国产精品一区二区在线播放| 亚洲日韩国产精品综合在线观看| 四虎亚洲精品| 精品一区二区三区视频免费观看| 国产丝袜91| 国产在线观看91精品亚瑟| 97精品国产高清久久久久蜜芽| 一本大道无码高清| 亚洲综合色婷婷| 国产成人一区二区| 九九热免费在线视频| 亚洲va欧美ⅴa国产va影院| 国产精品白浆在线播放| 成年人久久黄色网站| 亚洲AV一二三区无码AV蜜桃| 凹凸精品免费精品视频| 国产产在线精品亚洲aavv| 女人18一级毛片免费观看| 欧美精品1区2区| 精品国产成人av免费| 亚洲精品动漫在线观看|