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

TMS320F2833x系列DSP網絡加載方法研究

2019-09-27 09:32:50陶春榮游新望
雷達與對抗 2019年3期
關鍵詞:程序功能

陶春榮,游新望,秦 雅

(中國船舶重工集團公司第七二四研究所,南京 211153)

0 引 言

TMS320F2833x(以下簡稱F2833x)是德州儀器公司(TI)推出的支持高性能集成外設的32位微控制器,廣泛應用于實時控制領域。該系列芯片一般通過JTAG接口進行軟件程序的加載,能夠滿足調試需求,但在進行現場軟件的升級時可能存在現場環境惡劣難以到達、結構件拆卸困難等問題。所以,研究基于遠程控制的DSP芯片網絡加載方法可提高程序更改升級的便利性和靈活性,具有重要的實用和推廣價值。

F2833x系列DSP集成了大量的外設供控制使用,具有改進的哈佛結構,還兼有RISC處理器的代碼密度和DSP的執行速度,其最高主頻可達150 MHz,內部集成了一個單精度浮點單元,并配置了一定容量的閃存(FLASH),可用于DSP程序的存儲及執行。該系列芯片支持軟件引導模式,通過引腳配置可以實現SCI、SPI、CAN、I2C、McBSP、XINTF和并行I/O等加載方式。

本文設計了一種基于TM4C129x系列ARM芯片的網絡加載方法。通過SCI-A口將TM4C129x芯片與F2833x連接,采用了SCI-A的引導模式,并結合F2833x的Bootloader實現其網絡在線燒寫和加載,進行了具體的硬件設計、TM4C129X軟件設計、二次引導程序設計及上位機程序設計,實現了F2833x芯片程序的網絡加載升級功能。

1 F2833x系列引導流程介紹

F2833x系列DSP內部都固化了ROM存儲器。ROM資源里包含了Bootloader程序。Bootloader程序在系統通電后能自動將存放在外部載體的用戶代碼引導到FLASH存儲器的任何空間或片內SARAM中。對于F2833x系列DSP來說,當上電復位后,芯片自動運行引導加載程序。該程序將判斷GPIO84~87引腳的電平狀態,根據引腳電平狀態選擇相對應的引導方式,然后引導加載程序將外部的程序加載到芯片內部的SARAM中,最后根據引導加載程序指定的程序入口地址在片內SARAM中運行相應的程序,完成芯片的引導啟動。

F2833x上電后,首先處于復位狀態,當復位引腳置高時器件退出復位狀態,器件從復位向量(0x3FFFC0)處開始運行。該處存放著BootROM的初始引導程序InitBoot程序的入口地址。InitBoot程序是由廠家固化到BootROM中的。此時,程序跳轉到0x3FFC00處運行InitBoot程序。該程序首先讀取安全保護模塊的密碼,然后初始化例程調用模式選擇功能函數(SelectBootMode)。該函數根據GPIO引腳84~87的狀態確定DSP的引導方式,引導方式與控制引腳間的關系見表1。上電復位后,默認使能這4個GPIO引腳內的上拉功能。此時,必須設定好相應控制引腳的電平狀態,在引導加載程序中將會對相應的引腳電平進行采樣,之后決定進入何種引導方式。SCI、SPI、并行引導等幾個啟動模式還需要進一步調用Bootloader搬移程序。一旦完成SelectBootMode將會把入口地址返回給初始化引導程序(InitBoot),然后初始化引導程序調用恢復CPU寄存器的退出例程(ExitBoot)并退出到由引導模式確定的程序入口地址,從而完成硬件引導進入用戶程序引導并開始運行用戶程序。

表1 引導模式與控制引腳的關系

2 F2833x網絡加載實施方案

從F2833x引導模式可以看出,由于該芯片本身不具備網絡引導的功能,所以要完成程序的網絡燒寫及加載需要具備下面兩個條件:

(1) 需要有一塊具備網絡接口和SCI、I2C、CAN等數字接口的MCU來實現網絡通信,以及對F2833x的引腳控制和數據加載工作。

(2) 需要制作專用的二次引導程序,以此來實現F2833x與MCU的數字通信,以及對其內部的FLASH進行燒寫的工作。

只有具備了上述兩個條件才能實現F2833x的網絡燒寫、加載功能。因此,本方案采用了TI公司的TM4C129x芯片作為網絡加載的主控MCU。該芯片采用的是ARM-M0結構,具備以太網、USB、CAN、I2C、SCI的豐富的電路接口功能,同時在該芯片上可以運行TI公司專用的實時操作系統。該芯片功能強大到完全可以滿足與上位機的以太網通信,以及對F2833x的引腳控制和數據交互功能,從而實現F2833x的網絡燒寫、加載功能。在本方案中F2833x采用的是SCI-A引導模式。這種異步串口引導模式具有實現簡單、穩定可靠的特點。

F2833x的SCI引導模式采用的是異步方式從SCI-A端口將代碼引導到F2833x中。這種方式使用的是8位的數據模式。F2833x通過SCI-A口同主機進行通信,其波特率自動檢測功能可以用來鎖定主機的通信速率。當完成通信速率鎖定后F2833x和主機開始進行數據傳輸。每接收到一幀主機傳來的8位數據,F2833x都會將此幀8位數據再返回給主機。通過這種方式,主機可以檢驗F2833x接收到的字符與發送的字符是否一致,從而保證通信數據的完整性。SCI-A的引導流程圖如圖1所示。

圖1 SCI-A引導流程圖

2.1 硬件設計

根據F2833x引導流程要實現該芯片引導模式的變化需要GPIO84~GPIO87,以及復位管腳這5根控制管腳的共同作用。本文采用的是SCI-A的引導模式。因此,主控的MCU不僅要控制這5根控制管腳,而且還需要異步串口與F2833x相連接從而完成對F2833x的數據流控制及傳輸。電路設計圖如圖2所示。

圖2 硬件電路示意圖

由于TM4C129x接口豐富,包含有多路物理GPIO端口和多路UART異步串行數據總線接口,其每個物理GPIO端口均可編程為輸入/輸出管腳。在本方案中采用TM4C129x芯片的GPIOA3~GPIOA7端口作為控制管腳與F2833x的5根控制管腳相連接,采用UART0接口與F2833x的SCI-A接口相連,以此來實現對DSP引導模式的控制及程序的加載。利用TM4C129x的以太網控制器實現與上位機的網絡通信,通過專用上位機軟件來實現對DSP的引導及程序加載。

2.2 軟件設計

2.2.1 TM4C129x軟件設計

TM4C129x主要完成從網絡接收上位機發來的網絡加載命令及需要加載的程序。為了確保加載程序在網絡傳輸中不發生丟幀等錯誤,TM4C129x與上位機采用的是可靠的TCP協議進行通信。接收到上位機的網絡加載命令后TM4C129x通過5根控制管腳控制F2833x進入到SCI-A引導模式,然后TM4C129x將二次引導程序通過SCI-A口加載到F2833x中。加載完畢后復位F2833x讓其運行加載好的二次引導程序。二次引導程序將與TM4C129x進行SCI-A串口的握手通信。握手成功后TM4C129x將上網機發來的需要加載的程序通過SCI-A串口傳輸到F2833x中。傳輸完成后F2833x的二次引導程序將進行對F2833x內部FLASH空間的擦除及重新燒寫接收到的加載程序工作。上述工作完成后,F2833x通過串口發送加載完成信號。這時,TM4C129x將控制管腳置為FLASH引導狀態,同時復位F2833x完成對其的網絡加載。

2.2.2 二次引導程序設計

從F2833x的引導方式可以知道,SCI-A引導模式只能實現從外部加載程序到F2833x內部并開始運行,并不能實現將程序燒寫到F2833x的FLASH內。若要實現在線的FLASH燒寫必須采用二次引導的模式,即編寫一段二次引導程序。該程序可以實現F2833x與TM4C129x的數據通信功能,同時能將接收到的加載數據按照F2833x的指定格式燒寫到其內部相應的FLASH空間中去。通過閱讀F2833x的數據手冊發現TI公司提供了在線燒寫F2833x內部FLASH的API函數。利用該函數可以實現在線燒寫F2833x程序的功能。二次引導程序首先初始化F2833x的時鐘,然后配置其SCI-A串口(實現與TM4C129x的通信),隨后等待TM4C129x的握手信號。收到握手信號后發送握手成功信號至TM4C129x,然后等待TM4C129x的燒寫命令。當接收到燒寫命令后F2833x將先接收需要燒寫的加載程序,而后調用燒寫FLASH的API函數擦除FLASH的相應區塊并完成最終的加載程序燒寫。具體的程序流程如圖3所示。

圖3 二次引導程序流程圖

二次引導程序在設計中有幾個需要特別注意的要點:

(1) 二次引導程序在配置編譯所需的CMD文件時需要將其工作模式配置成RAM工作模式,因為只有這樣專用的燒寫FLASH的API函數才能正常運行,否則會無法完成對FLASH的正常燒寫。

(2) 在需要燒寫的加載程序的CMD文件的地址空間分配應與二次引導程序設定的燒寫地址相匹配,否則會產生燒寫成功但無法正常實現FLASH引導的問題。

(3) 在二次引導程序中一定要注意對CSM區塊的檢查及保護。因為該區塊是F2833x的保護區塊,一旦被燒寫了數據便會造成F2833x內部FLASH的鎖死保護。如果不知道燒寫數據的內容,F2833x芯片將無法再次進行FLASH的燒寫,從而造成芯片的報廢。

(4) 二次引導程序是由TM4C129x通過F2833x的SCI-A引導模式加載到F2833x并運行的,因此這段程序是以SCI-A引導模式的數據格式存儲在TM4C129x內部的,而F2833x編譯完成的數據格式無法直接用在SCI-A引導模式上,需要利用TI公司提供的hex2000軟件將其轉換成標準SCI-A引導格式后才能使用。

2.2.3 上位機程序設計

上位機程序采用Visual C++編制而成的,主要是完成對TM4C129x的網絡地址掃描,與TM4C129x建立起TCP連接,發出相關的控制指令,控制TM4C129x對F2833x進行相關的操作(CSM保護塊檢查、FLASH區塊擦除等操作),將需要加載的程序通過TCP連接傳輸到TM4C129x上從而實現對F2833x的網絡加載和燒寫。該程序采用的是多進程的體系架構,由獨立的通信進程負責網絡數據的傳輸,從而避免了單一進程大數據量傳輸時界面會假死的現象。同時,為了保證傳輸數據的一致性,上位機程序與TM4C129x采用的是帶數據校驗的傳輸模式。傳輸的每幀數據均會回傳給上位機進行數據校驗,當出現數據不一致時將會給出報錯信息,進一步對傳輸的數據起到了保護作用。

3 結束語

通過上述方法可實現對F2833x的網絡加載和燒寫,只需要一臺上位機通過一根網線就可以實現對F2833x的程序更新。該方法已經在多型產品的伺服控制平臺上使用,應用穩定可靠、效果良好,進一步改善了調試環境并簡化了調試步驟,具有很好的實際應用和推廣價值。

猜你喜歡
程序功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
關于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 亚洲免费福利视频| 国产精品hd在线播放| 亚洲日本中文字幕天堂网| 97视频精品全国在线观看| 亚洲无码视频图片| 无码AV动漫| www.99精品视频在线播放| 久久性妇女精品免费| 国产免费一级精品视频| 91福利在线观看视频| 欧美高清国产| 国产成a人片在线播放| 黄色网页在线播放| 91精品亚洲| 激情网址在线观看| 久久人搡人人玩人妻精品| 国产成人精品一区二区三在线观看| 一级不卡毛片| 亚洲精品视频在线观看视频| 欧美一级夜夜爽www| 福利国产微拍广场一区视频在线| 亚洲天堂网2014| 狠狠色香婷婷久久亚洲精品| 制服丝袜国产精品| 无码在线激情片| 久热精品免费| 白丝美女办公室高潮喷水视频| 8090成人午夜精品| 久久99热66这里只有精品一| 亚洲第一视频网| 免费人成视网站在线不卡| 久久精品视频亚洲| 色婷婷成人| 亚洲一区二区约美女探花| 亚洲人成网站色7799在线播放| 色135综合网| 99热这里只有精品免费| 欧美黄网在线| 制服丝袜在线视频香蕉| 夜夜操狠狠操| 久久精品免费国产大片| 野花国产精品入口| 2020亚洲精品无码| 久久久久人妻精品一区三寸蜜桃| 1级黄色毛片| 视频二区欧美| 欧洲高清无码在线| 欧美亚洲中文精品三区| 久久美女精品国产精品亚洲| 国产91透明丝袜美腿在线| 视频一区视频二区中文精品| 亚洲Av激情网五月天| 国产91久久久久久| 欧美日韩专区| 制服丝袜亚洲| 熟女成人国产精品视频| 欧美日本激情| 国产在线精彩视频论坛| 久久久久久久久亚洲精品| 国产swag在线观看| 玩两个丰满老熟女久久网| 欧美亚洲欧美区| 玩两个丰满老熟女久久网| 国产一区二区在线视频观看| 伊人久久大香线蕉成人综合网| 激情五月婷婷综合网| 亚洲狠狠婷婷综合久久久久| 97精品国产高清久久久久蜜芽| 六月婷婷精品视频在线观看| 日韩黄色大片免费看| 国产va视频| 岛国精品一区免费视频在线观看 | 国产91蝌蚪窝| 九九香蕉视频| 在线精品视频成人网| 无码久看视频| 亚洲天堂视频在线播放| 不卡网亚洲无码| 99久久精品视香蕉蕉| 国产精品2| 久久综合五月| 亚洲手机在线|