0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

超全使用串口對(duì)DSP進(jìn)行應(yīng)用可編程的方法

電子工程師 ? 來源:馬玲 孟慶新 ? 作者:馬玲 孟慶新 ? 2021-04-02 16:13 ? 次閱讀

1引言

通過串口總線可以對(duì)TMS320LF2407A FLASH進(jìn)行編程。串口編程可以對(duì)DSP系統(tǒng)編程,同時(shí)本文給出了一種可編程的應(yīng)用方法。

該DSP擁有一個(gè)片內(nèi)串口,可以通過一個(gè)外部的電平轉(zhuǎn)換器件與標(biāo)準(zhǔn)RS232器件通訊。該串口不僅僅用于編程,在編程結(jié)束后可以配置成標(biāo)準(zhǔn)的串口使用。

Bootloader是一個(gè)讓用戶方便對(duì)片內(nèi)FLASH或RAM進(jìn)行重新編程升級(jí)的工具。Bootloader本身不包含某些編程算法,嵌入在片內(nèi)的Bootloader只具有一些基本的代碼下載指令,并在片內(nèi)RAM運(yùn)行。Bootloader一般都提供一些編程片內(nèi)程序存儲(chǔ)器的ISP和IAP的接口。

ISP(In-System Programming):使用片內(nèi)的Bootloader軟件和通訊接口,對(duì)片內(nèi)存儲(chǔ)器進(jìn)行編程和重編程。IAP(In Application Programming):IAP對(duì)片內(nèi)存儲(chǔ)器執(zhí)行擦除和寫操作,可以由用戶代碼來執(zhí)行。

2工作過程

2.1DSP初始化

上電以后,程序首先從地址0x0000開始執(zhí)行,然后立即跳轉(zhuǎn)到bootloade程序。

.sect vectors

RESET: B _bootloader ; 地址0x0000

……。。

_bootloader :

Bootloade首先對(duì)串口進(jìn)行配置,8位數(shù)據(jù)位,一位停止位,無校驗(yàn)位,建立與 計(jì)算 機(jī)的通訊。在此過程中,計(jì)算機(jī)始終向DSP發(fā)送檢測(cè)字符,0x0D. Bootloade一直通過串口監(jiān)聽計(jì)算機(jī)通訊,如果連續(xù)接受到三個(gè)字符與0X0D不相符合,則改為下一個(gè)波特率進(jìn)行監(jiān)聽。當(dāng)波特率匹配成功后,Bootloade就準(zhǔn)備接收9個(gè)相同的字符。一旦9個(gè)字符接收成功后,Bootloade將發(fā)送一個(gè)應(yīng)答信號(hào)0XAA,表示通訊建立,從此開始,Bootloade接收到的每一個(gè)字符都將發(fā)送給計(jì)算機(jī),以驗(yàn)證通訊是否正確。

2.2內(nèi)核傳輸

內(nèi)核通過通訊接口,以字節(jié)為單位進(jìn)行傳輸。首先發(fā)送的是低字節(jié),后面是高字節(jié)。數(shù)據(jù)包格式如下:

計(jì)算機(jī)發(fā)送:

①啟動(dòng)地址:一個(gè)字(16 bits),每次傳輸一個(gè)字節(jié),低字節(jié)優(yōu)先。

②數(shù)據(jù)包容量(要傳輸?shù)淖值臄?shù)目):一個(gè)字(16 bits),每次傳輸一個(gè)字節(jié),低字節(jié)優(yōu)先。

③內(nèi)核代碼:每次傳輸一個(gè)字節(jié),低字節(jié)優(yōu)先。一旦內(nèi)核傳輸?shù)絉am,內(nèi)核會(huì)發(fā)送狀態(tài)字節(jié)來表示初始化的狀態(tài)。0X0表示發(fā)送成功,其它 內(nèi)容 表示發(fā)送失敗,計(jì)算機(jī)會(huì)終止傳輸。

2.3內(nèi)核操作

內(nèi)核只要成功傳輸,則內(nèi)核程序?qū)⒔庸芸刂乒δ?。?duì)于TMS320LF2407A,內(nèi)核程序算法必須滿足以下要求:

①內(nèi)核必須小于0X100字,并且必須在程序空間0Xfe00-0Xfeff安裝和執(zhí)行,程序起始點(diǎn)必須是0Xfe00。

②內(nèi)核必須返回程序的狀態(tài)。

③內(nèi)核程序必須能夠?qū)⒖刂乒δ芊祷?,不?huì)破壞程序使用的變量。

④內(nèi)核等待擦除,置1和編程的算法。

⑤內(nèi)核必須裝載到有效的地址內(nèi)存空間內(nèi)。

2.4擦除算法

擦除算法是第一個(gè)被下載到目標(biāo)芯片內(nèi)的算法。它將FLASH第一扇區(qū)和第二扇區(qū)的內(nèi)容清0,為FLASH置位作準(zhǔn)備。成功擦除后,返回0x0,不然就返回一個(gè)非零值。

2.5置位

下載置位算法,它可以置位FLASH。成功置位后,返回0x0,不然就返回一個(gè)非零值。

2.6編程

下載編程算法,但編程算法并不立即執(zhí)行,而是下載第一組編程數(shù)據(jù)。一旦得到編程數(shù)據(jù),將會(huì)調(diào)用編程算法,將下載的編程數(shù)據(jù)燒寫到FLASH里。圖2是編程步驟的流程圖。

對(duì)FLASH第一扇區(qū)的編程操作結(jié)束以后,編程算法將向 計(jì)算 機(jī)返回狀態(tài)。并一直等待下一組編程數(shù)據(jù),一直到接收到最后一組數(shù)據(jù)標(biāo)志為止。將編程數(shù)據(jù)燒寫到FLASH后,編程算法將控制權(quán)交給工作程序。

3使用 方法

為了使用該軟件將程序下載到FLASH里,首先要通過編譯器將程序編譯、調(diào)試通過,一般編譯器生成的文件格式為COFF格式,該文件包含程序二進(jìn)制代碼,但不包含要燒寫到FLASH里的二進(jìn)制文件。需要使用工具將該文件格式轉(zhuǎn)換為可下載的文件格式。

在芯片內(nèi)有四個(gè)字的密碼,在下載程序時(shí)要注意。如果下載程序里的密碼是0X0000 或0X0FFFF,則不用關(guān)心,但如果其它的密碼,則需要記錄下來,以備下次下載時(shí)使用,將密碼設(shè)置到要下載的程序里,解密原來的芯片。

Password1:set 0000h ;在地址0x0040中的密碼

Password2:set 0000h ;在地址0x0041中的密碼

Password3:set 0000h ;在地址0x0042中的密碼

Password4:set 0000h ;在地址0x0043中的密碼

4結(jié)果

使用該方法可以方便的對(duì)芯片進(jìn)行程序下載,成本低、操作方便。本方法已經(jīng)在北京瑞泰公司的DSP開發(fā)板上調(diào)試通過,穩(wěn)定可靠。

參考文獻(xiàn)

[1]劉和平。 TMS320LF240x DSP結(jié)構(gòu)原理及 應(yīng)用 。 北京:北京航空航天大學(xué)出版社,2002.

[2]張雄偉等。 DSP芯片的原理與開發(fā)應(yīng)用(第3版)[M]。 北京:北京 電子 工業(yè) 出版社,2003.

[3]TMS320LF2407A DSP controller. TI 2000.

[4]潭浩強(qiáng)。 C 程序設(shè)計(jì)[M]。 北京:清華大學(xué)出版社,2003.

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8058

    瀏覽量

    349585
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1640

    瀏覽量

    148329
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1557

    瀏覽量

    76748
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TMS320C6000 DSP軟件可編程鎖相環(huán)控制器指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP軟件可編程鎖相環(huán)控制器指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 16:54 ?0次下載
    TMS320C6000 <b class='flag-5'>DSP</b>軟件<b class='flag-5'>可編程</b>鎖相環(huán)控制器指南

    可編程快納米光子光譜像素矩陣

    matrix of spectral pixels ”( 耐用且可編程快納米光子光譜像素矩陣)的研究論文。該工作提出了一種可編程光譜像素矩陣,其由像素化微加熱器上的相變材料二氧化釩腔組成,單個(gè)
    的頭像 發(fā)表于 10-09 06:30 ?257次閱讀
    <b class='flag-5'>可編程</b>的<b class='flag-5'>超</b>快納米光子光譜像素矩陣

    可編程晶振的優(yōu)點(diǎn)和缺點(diǎn)

    的靈活性和可調(diào)整性,使得在多種電子產(chǎn)品設(shè)計(jì)過程中能夠精確地匹配所需的時(shí)鐘信號(hào)?。可編程晶振是一種能夠通過外部編程器對(duì)其頻率進(jìn)行調(diào)整的晶體振蕩器。它采用先進(jìn)的數(shù)字信
    的頭像 發(fā)表于 09-30 10:44 ?459次閱讀
    <b class='flag-5'>可編程</b>晶振的優(yōu)點(diǎn)和缺點(diǎn)

    解析可編程 CMOS 振蕩器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性

    解析可編程 CMOS 振蕩器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性
    的頭像 發(fā)表于 08-10 10:04 ?444次閱讀
    解析<b class='flag-5'>全</b>硅<b class='flag-5'>可編程</b> CMOS 振蕩器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性

    探索可編程差分振蕩器 SWPM201 系列:創(chuàng)新與卓越的融合

    探索可編程差分振蕩器 SWPM201 系列:創(chuàng)新與卓越的融合
    的頭像 發(fā)表于 08-09 09:44 ?303次閱讀
    探索<b class='flag-5'>全</b>硅<b class='flag-5'>可編程</b>差分振蕩器 SWPM201 系列:創(chuàng)新與卓越的融合

    可編程電源的作用是什么

    可編程電源的作用是什么 可編程電源是一種電子設(shè)備,它可以根據(jù)用戶的需求調(diào)整輸出電壓和電流。這種電源廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)的測(cè)試、調(diào)試和研發(fā)過程中。 ### 可編程電源的作用 #### 1.
    的頭像 發(fā)表于 06-10 15:33 ?704次閱讀

    可編程電源使用方法

    可編程電源使用方法 可編程電源使用方法 摘要:本文詳細(xì)介紹了可編程電源的使用方法,包括其基本概念
    的頭像 發(fā)表于 06-10 15:29 ?1090次閱讀

    可編程電源如何編程

    可編程電源的編程方法和步驟。 ### 1. 可編程電源的基本概念 可編程電源通常由以下幾個(gè)部分組成: - **輸入模塊**:接收交流或直流輸
    的頭像 發(fā)表于 06-10 15:24 ?1439次閱讀

    什么是現(xiàn)場(chǎng)可編程邏輯陣列?它有哪些特點(diǎn)和應(yīng)用?

    可編程邏輯元件和可編程互連,實(shí)現(xiàn)邏輯電路的設(shè)計(jì)和配置。FPLA在電子系統(tǒng)設(shè)計(jì)、數(shù)字信號(hào)處理、網(wǎng)絡(luò)通信等多個(gè)領(lǐng)域都有廣泛應(yīng)用。本文將對(duì)現(xiàn)場(chǎng)可編程邏輯陣列進(jìn)行詳細(xì)介紹,包括其定義、原理、特
    的頭像 發(fā)表于 05-23 16:25 ?1047次閱讀

    國產(chǎn)可編程硅振蕩器用于商業(yè)烤箱,兼容SiTime

    國產(chǎn)可編程硅振蕩器用于商業(yè)烤箱,兼容SiTime
    的頭像 發(fā)表于 04-08 09:41 ?7063次閱讀
    國產(chǎn)<b class='flag-5'>可編程</b><b class='flag-5'>全</b>硅振蕩器用于商業(yè)烤箱,兼容SiTime

    現(xiàn)場(chǎng)可編程門陣列的原理和應(yīng)用

    可以根據(jù)用戶的設(shè)計(jì)進(jìn)行配置,形成所需的邏輯功能?;ミB資源則是一組可編程的連接通道,用于將PLU連接在一起,以實(shí)現(xiàn)用戶定義的電路拓?fù)浣Y(jié)構(gòu)。此外,F(xiàn)PGA還包括輸入輸出模塊(IOB),用于與外部設(shè)備或電路進(jìn)行連接。
    的頭像 發(fā)表于 03-27 14:49 ?784次閱讀

    現(xiàn)場(chǎng)可編程門陣列是什么

    現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,簡(jiǎn)稱FPGA)是一種超大規(guī)模可編程邏輯器件,由可編程邏輯資源、可編程互連資源和
    的頭像 發(fā)表于 03-16 16:38 ?2521次閱讀

    用于電視的可編程LCD偏置IC TPS65178/A數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《用于電視的可編程LCD偏置IC TPS65178/A數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-07 13:57 ?6次下載
    用于電視的<b class='flag-5'>全</b><b class='flag-5'>可編程</b>LCD偏置IC TPS65178/A數(shù)據(jù)表

    可編程邏輯器件的特征及優(yōu)勢(shì)科普

    可編程邏輯器件是一種集成電路,具有可編程功能的特性。它們可以根據(jù)用戶的需求進(jìn)行編程,從而實(shí)現(xiàn)不同的邏輯功能。
    的頭像 發(fā)表于 02-26 18:24 ?1149次閱讀

    可編程晶振如何設(shè)置呢

    可編程晶振的設(shè)置很多人其實(shí)不知道除了按照說明書上操作,也可以看視頻教程尤其是對(duì)于可編程晶振設(shè)置的方面都是這些細(xì)節(jié)都是選擇,另外也可以咨詢專業(yè)的FAE工程師進(jìn)行分解。
    的頭像 發(fā)表于 02-22 16:21 ?738次閱讀
    <b class='flag-5'>可編程</b>晶振如何設(shè)置呢