• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CAN 總線(xiàn)的DSP28335 在線(xiàn)燒寫(xiě)方法研究

      2019-04-11 05:21:52周洋洋趙昶宇
      科技與創(chuàng)新 2019年6期
      關(guān)鍵詞:機(jī)端接收數(shù)據(jù)上位

      周洋洋,趙昶宇

      (1.海軍駐天津地區(qū)兵器設(shè)備軍事代表室,天津 300308;2.天津津航計(jì)算技術(shù)研究所,天津 300308)

      1 引言

      DSP28335 是用于實(shí)時(shí)信號(hào)處理的微處理器,具有浮點(diǎn)運(yùn)算功能,它接口豐富,控制精度高,且預(yù)算速度快,因此廣泛應(yīng)用于嵌入式系統(tǒng)的各個(gè)領(lǐng)域。通常將芯片的內(nèi)部存儲(chǔ)區(qū)分為引導(dǎo)程序區(qū)、運(yùn)行程序區(qū)和下載區(qū)3 個(gè)部分。芯片接收到下載命令后,進(jìn)入引導(dǎo)區(qū)運(yùn)行引導(dǎo)程序,在引導(dǎo)程序下將用戶(hù)應(yīng)用程序代碼內(nèi)容下載到下載區(qū),下載完畢并校驗(yàn)通過(guò)后再將下載區(qū)的內(nèi)容復(fù)制到運(yùn)行程序區(qū),運(yùn)行復(fù)位程序,完成Flash 的在線(xiàn)燒寫(xiě)。

      本文以DSP28335 為例,提出一種基于CAN 總線(xiàn)的DSP在線(xiàn)燒寫(xiě)的方法,避免了在升級(jí)程序時(shí)因拆卸控制器帶來(lái)的各種問(wèn)題,降低了設(shè)備的維護(hù)成本。

      2 FLASH 程序引導(dǎo)流程

      DSP28335 自帶FLASH 存儲(chǔ)器,在代碼運(yùn)行前,將代碼從FLASH 中拷貝到RAM 中運(yùn)行,能夠顯著提高程序的運(yùn)行效率。用戶(hù)編寫(xiě)的應(yīng)用程序固化到非易失性存儲(chǔ)器FLASH 中,系統(tǒng)每次上電復(fù)位后,便開(kāi)始運(yùn)行FLASH 程序引導(dǎo)流程,具體流程為:調(diào)用InitBoot 函數(shù)把器件初始化成C28X 工作模式;然后調(diào)用SelectBootMode 函數(shù),檢測(cè)相應(yīng)GPIO 引腳的電平狀態(tài),判斷為FLASH 引導(dǎo)模式;引導(dǎo)結(jié)束后PC 指針將跳轉(zhuǎn)至FLASH 中0x33FFF6 地址單元處,并執(zhí)行其中的代碼,用戶(hù)需要在該地址存放一條指令;最后執(zhí)行跳轉(zhuǎn)指令將會(huì)跳轉(zhuǎn)到C 環(huán)境初始化函數(shù)c_int00,只有當(dāng)c_int00 運(yùn)行后,才開(kāi)始執(zhí)行Main()函 數(shù)。

      3 在線(xiàn)燒寫(xiě)軟件設(shè)計(jì)

      DSP28335 的在線(xiàn)燒寫(xiě)軟件部分主要是由上位機(jī)端軟件和DSP 端軟件構(gòu)成。

      上位機(jī)端軟件主要完成讀取可執(zhí)行代碼文件,進(jìn)行格式轉(zhuǎn)換后將該文件通過(guò)CAN 總線(xiàn)發(fā)送給DSP 端,等待DSP端的響應(yīng)。

      DSP 端軟件主要完成和上位機(jī)端軟件的握手,接收上位機(jī)端軟件發(fā)送的可執(zhí)行代碼文件,并將該文件立即燒寫(xiě)到FLASH 中,完成燒寫(xiě)過(guò)程;此外DSP 端還需實(shí)現(xiàn)bootloader程序的功能。

      基于DSP28335開(kāi)發(fā)的應(yīng)用程序經(jīng)過(guò)CCS編譯生成的目標(biāo)文件類(lèi)型為.out 文件,而DSP28335 無(wú)法識(shí)別該文件類(lèi)型,需要通過(guò)hex2000.exe 工具將.out 文件轉(zhuǎn)換成DSP28335 可以識(shí)別的二進(jìn)制數(shù)據(jù)流文件。

      3.1 上位機(jī)端軟件設(shè)計(jì)

      上位機(jī)端軟件首先讀取.hex 文件,通過(guò)解析.hex 文件內(nèi)容,將其拆分為多條數(shù)據(jù)幀結(jié)構(gòu)。上位機(jī)端軟件與DSP 端軟件通過(guò)CAN 總線(xiàn)進(jìn)行通訊。

      上位機(jī)端軟件向DSP 端軟件發(fā)送的每幀數(shù)據(jù)都帶有校驗(yàn)和,當(dāng)DSP 端程序接收到該幀數(shù)據(jù)后,通過(guò)校驗(yàn)和對(duì)接收數(shù)據(jù)進(jìn)行確認(rèn)。確認(rèn)完畢后,DSP 端軟件將確認(rèn)幀發(fā)送給上位機(jī)端軟件,上位機(jī)端軟件收到DSP 端發(fā)送的確認(rèn)幀后,再向DSP 端軟件發(fā)送下一幀數(shù)據(jù);當(dāng)上位機(jī)軟件將全部數(shù)據(jù)發(fā)送完畢后,上位機(jī)端軟件向DSP 端軟件發(fā)送數(shù)據(jù)的總長(zhǎng)度,DSP 端軟件將該總長(zhǎng)度與接收到的數(shù)據(jù)長(zhǎng)度進(jìn)行比較,將比較結(jié)果發(fā)送給上位機(jī)端軟件,完成了整個(gè)數(shù)據(jù)的總校驗(yàn)。

      3.2 DSP 端軟件設(shè)計(jì)

      DSP 端軟件主要包括引導(dǎo)程序和用戶(hù)應(yīng)用程序,前者不僅用來(lái)和上位機(jī)軟件進(jìn)行CAN 總線(xiàn)通訊接收DSP 程序可執(zhí)行代碼文件,并將接收到的可執(zhí)行代碼文件燒寫(xiě)到FLASH中,而且會(huì)在系統(tǒng)上電復(fù)位后會(huì)判斷是執(zhí)行FLASH 燒寫(xiě)工作還是運(yùn)行用戶(hù)應(yīng)用程序工作;后者是用來(lái)和上位機(jī)軟件進(jìn)行CAN 總線(xiàn)通訊接收DSP 程序可執(zhí)行代碼文件,并將接收到的可執(zhí)行代碼文件燒寫(xiě)到FLASH 中。

      為保證接收數(shù)據(jù)的準(zhǔn)確性和完整性,DSP 端軟件在接收數(shù)據(jù)的過(guò)程中,不執(zhí)行對(duì)RAM 或FLASH 操作的相關(guān)代碼;同時(shí),關(guān)閉其他的外部中斷,僅響應(yīng)CAN 總線(xiàn)接收中斷,保證了數(shù)據(jù)接收的實(shí)時(shí)性。此外,DSP 端軟件將接收到的數(shù)據(jù)存儲(chǔ)在外擴(kuò)的FLASH 中,等接收完全部數(shù)據(jù)后,再進(jìn)行程序的燒寫(xiě),防止在接收數(shù)據(jù)過(guò)程中出現(xiàn)意外而導(dǎo)致系統(tǒng)程序不能正常工作。

      FLASH 的燒寫(xiě)工作也是DSP 端軟件需要實(shí)現(xiàn)的重要功能。在擦除或讀寫(xiě)FLASH 之前,必須先執(zhí)行相應(yīng)的命令字序列,即在指定的FLASH 地址處寫(xiě)入指定的指令代碼。

      向FLASH 的指定地址中寫(xiě)入數(shù)據(jù),需要四個(gè)總線(xiàn)周期。前兩個(gè)是解鎖周期,第三個(gè)是建立編程命令,最后一個(gè)周期完成向編程地址中寫(xiě)入編程數(shù)據(jù)。待寫(xiě)入的數(shù)據(jù)為.Hex 文件內(nèi)容。

      引導(dǎo)程序框圖和應(yīng)用程序框圖的處理流程如圖1 所示。

      圖1 引導(dǎo)程序框圖和應(yīng)用程序框圖示意流程圖

      4 DSP28335 在線(xiàn)燒寫(xiě)的步驟

      DSP28335 在線(xiàn)燒寫(xiě)分為以下4 個(gè)步驟:①利用CCS 開(kāi)發(fā)工具,將要升級(jí)的應(yīng)用程序編譯生成.out 文件,利用hex2000.exe 工具將.out 文件轉(zhuǎn)換成.hex 文件;②利用仿真器將被燒寫(xiě)的引導(dǎo)程序固化到DSP 中FLASH 的相應(yīng)地址中;③完成步驟②后重新上電復(fù)位,利用上位機(jī)端軟件將被燒寫(xiě)的DSP 應(yīng)用程序發(fā)送到DSP 中;④DSP 重新上電,即可自動(dòng)運(yùn)行新更新的應(yīng)用程序,完成DSP 的在線(xiàn)程序燒寫(xiě)。

      5 結(jié)束語(yǔ)

      本文研究的基于CAN 總線(xiàn)的DSP28335 的在線(xiàn)燒寫(xiě)方法極大釋放了軟件維護(hù)人員的工作量,提高了軟件升級(jí)的質(zhì)量和效率。該方法已成功應(yīng)用到某型號(hào)DSP 控制系統(tǒng)中,經(jīng)過(guò)實(shí)際應(yīng)用證明,軟件燒寫(xiě)過(guò)程快速、穩(wěn)定、可靠。該技術(shù)的研究使DSP 程序的更新可以脫離仿真器,為程序的更新和程序的遠(yuǎn)程維護(hù)提供了方便,具有很強(qiáng)的實(shí)用性。

      猜你喜歡
      機(jī)端接收數(shù)據(jù)上位
      一起機(jī)端斷路器非全相合閘案例的分析與思考
      某大型水電站2F機(jī)組故障錄波3U0頻繁啟動(dòng)原因分析及處理經(jīng)過(guò)
      沖激噪聲背景下基于幅度預(yù)處理的測(cè)向新方法*
      低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計(jì)方法
      特斯拉 風(fēng)云之老阿姨上位
      車(chē)迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      單片機(jī)模擬串口數(shù)據(jù)接收程序的實(shí)現(xiàn)及優(yōu)化
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      同步發(fā)電機(jī)機(jī)端勵(lì)磁系統(tǒng)故障分析及處理
      醴陵市| 大冶市| 宿州市| 杭州市| 泰安市| 错那县| 彭泽县| 抚顺县| 三亚市| 五大连池市| 渝北区| 大关县| 呼和浩特市| 玉林市| 四平市| 板桥市| 阿城市| 临朐县| 宁城县| 上饶县| 福鼎市| 汤原县| 舞阳县| 金堂县| 大埔区| 舟曲县| 大足县| 马尔康县| 凤阳县| 邵东县| 镇康县| 石狮市| 彭泽县| 武山县| 阿拉善右旗| 瑞金市| 孝义市| 宜州市| 哈密市| 江北区| 诸城市|