www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]為了解決TMS320VC55X 系列DSP 系統(tǒng)程序代碼的保存問題,設(shè)計(jì)了一種利用JTAG 接口,在線燒寫Flash 并實(shí)現(xiàn)自舉啟動(dòng)的方法。這種在線編程的方法利用并行外部存儲(chǔ)器加載(EMIF)接口將TMS320VC5509 和Flash 芯片相連接, 通

為了解決TMS320VC55X 系列DSP 系統(tǒng)程序代碼的保存問題,設(shè)計(jì)了一種利用JTAG 接口,在線燒寫Flash 并實(shí)現(xiàn)自舉啟動(dòng)的方法。這種在線編程的方法利用并行外部存儲(chǔ)器加載(EMIF)接口將TMS320VC5509 和Flash 芯片相連接, 通過搬移程序?qū)?yīng)用程序的已初始化段按照C55X 系列DSP 引導(dǎo)表格式燒寫進(jìn)外部擴(kuò)展的Flash 存儲(chǔ)器中,從而實(shí)現(xiàn)自舉啟動(dòng)。該方法為DSP 系統(tǒng)的軟件維護(hù)和升級帶來了方便,具有實(shí)際的應(yīng)用價(jià)值。

        引言

  Flash 是一種可在線進(jìn)行電擦寫而掉電后信息又不丟失的存儲(chǔ)器, 它具有功耗低、容量大、擦寫速度快等特點(diǎn)。如何將程序燒寫進(jìn)Flash , 并在上電時(shí)加載到DSP 內(nèi)部的RAM 中, 是Flash 在DSP 系統(tǒng)應(yīng)用中的兩個(gè)基本問題。本文基于TI 公司的TMS320VC5509A 和AMD 公司的AM29LV800 開發(fā)系統(tǒng), 詳細(xì)闡述了在線燒寫Flash 并實(shí)現(xiàn)自舉啟動(dòng)的方法。

  1 硬件電路設(shè)計(jì)

  圖1 為TMS320VC5509A 與AM29LV800 的連接示意圖,F(xiàn)lash 擴(kuò)展在CE1 空間, 起始地址為200000。由于TMS320VC5509A 只有14 根地址線A0~A13, 又因?yàn)镕lash作為數(shù)據(jù)存儲(chǔ)空間使用時(shí)的地址編碼采用字尋址方式,則DSP 的A0 信號無效, 所以AM29LV800 芯片的低13位地址線A0 ~A12 連接TMS320VC5509A 的地址線A1 ~A13, 高6 位地址線A13 ~A18 由緩沖串口來擴(kuò)展。

  

 

  圖1 TMS320VC5509A 與AM29LV800 的連接示意圖

  AM29LV800 是低功耗Flash , 工作在2.7 V~3.6 V 電壓下, 一般存儲(chǔ)數(shù)據(jù)可以保存100 年以上, 可以重復(fù)編程次數(shù)高達(dá)10 萬次。A18~A0 為外部地址管腳,DQ0~DQ15為16 條數(shù)據(jù)線,

為片選控制管腳,

為輸出控制管腳,

為寫入控制管腳。

 

  2 自啟動(dòng)過程分析及啟動(dòng)表結(jié)構(gòu)

  DSP 系統(tǒng)的bootloader 是指在系統(tǒng)上電時(shí)將一段存儲(chǔ)在外部非易失性存儲(chǔ)器中的程序搬移到DSP 片內(nèi)或片外擴(kuò)展的高速RAM 中并執(zhí)行的代碼。Bootloader 程序永久性地存儲(chǔ)在DSP 以FF8000H 開始的ROM 中,DSP系統(tǒng)在復(fù)位后PC=FF8000H , 即從Bootloader 程序首地址開始執(zhí)行。

  TMS320VC5509 DSP 的Bootloader 有多種加載方式[3],如表1 所示, 設(shè)置DSP 的GPIO0-GPIO3 ,DSP 在復(fù)位時(shí)讀取這4 個(gè)引腳上的狀態(tài)以確定所使用的啟動(dòng)模式。本文使用16-bit EMIF 加載方式, 雖然連線復(fù)雜, 需要考慮并行非易失存儲(chǔ)器Flash 與EMIF 接口的匹配關(guān)系, 但是它的優(yōu)點(diǎn)很多: 不需要外部時(shí)鐘驅(qū)動(dòng), 非易失存儲(chǔ)器種類多樣, 容量較大, 除了存儲(chǔ)下載表之外, 還可存儲(chǔ)系統(tǒng)需要保存的關(guān)鍵數(shù)據(jù), 以便在掉電時(shí)保存信息。[!--empirenews.page--]表1 TMS320VC5509A 的加載方式

 

  

 

  在這些加載模式下, 下載程序之前先要生成一張載入表, 即引導(dǎo)表。引導(dǎo)表的結(jié)構(gòu)如圖2 所示, 引導(dǎo)表攜帶的信息有代碼段和數(shù)據(jù)段信息, 向DSP 下載程序的入口點(diǎn)地址、寄存器配置信息和可編程延時(shí)信息。

  

 

  圖2 引導(dǎo)表結(jié)構(gòu)

  讀引導(dǎo)表可知以下信息: 程序入口地址是引導(dǎo)表加載結(jié)束后用戶程序開始執(zhí)行的地址, 也就是用戶程序生成的map 文件中顯示的入口地址; 需配置寄存器數(shù)表明后面有多少個(gè)需要配置的寄存器; 當(dāng)延時(shí)標(biāo)志為0xFFFF 時(shí), 執(zhí)行延時(shí), 延時(shí)長度決定了在寄存器配置后延時(shí)多少個(gè)CPU 周期才進(jìn)行下一個(gè)動(dòng)作; 段字節(jié)數(shù)、段起始地址和數(shù)據(jù)表示用戶程序中定義的各個(gè)段的內(nèi)容;引導(dǎo)表以32 個(gè)0 為結(jié)束標(biāo)志。

  生成引導(dǎo)表的方法: 通過在DOS 環(huán)境下使用hex55.exe 轉(zhuǎn)換工具。在轉(zhuǎn)換操作之前, 先把用戶程序生成的。out 文件、包含轉(zhuǎn)換選項(xiàng)的CMD 文件hex5509.cmd 和轉(zhuǎn)換工具h(yuǎn)ex55.exe 放在同一個(gè)文件夾里, 在DOS 方式下先將路徑修改為文件所在的位置, 然后在此路徑下運(yùn)行命令hex55 hex5509.cmd , 即可生成想要的。hex 文件。

  在轉(zhuǎn)換時(shí), 提供引導(dǎo)表的相關(guān)配置信息的CMD 文件這里被命名為hex5509.cmd , 文中用到的hex5509.cmd的內(nèi)容為:

  

[!--empirenews.page--]3 Flash 燒寫

 

  Flash 的讀操作與傳統(tǒng)EPROM 讀操作相同。由于芯片使用軟件保護(hù)模式進(jìn)行操作, 用戶編程時(shí), 只要向指定的地址寫入指定的序列, 就可以啟動(dòng)Flash 芯片內(nèi)部的寫狀態(tài)機(jī), 完成指定的操作。表2 為Flash 的操作命令說明( 對芯片的擦除和編程都是按照字進(jìn)行的), 表中所有的數(shù)據(jù)都是十六進(jìn)制數(shù)。

  Flash 的正確操作順序: 先復(fù)位, 再擦除, 最后編程。

  按照表2 提供的操作命令時(shí)序來實(shí)現(xiàn)對AM29LV800 的擦除和編程,PA 為編程地址,PD 為編程數(shù)據(jù)。Flash 擴(kuò)展在CE1 空間, 起始地址是200000, 所以操作時(shí)所有地址必須加上200000。例如燒寫工程中擦除部分命令為:

  

 

  表2 AM29LV800B 的操作命令說明

  

 

  芯片擦除需要占用6 個(gè)總線周期, 而芯片編程需要4 個(gè)總線周期, 依照表3 的數(shù)據(jù), 在每個(gè)總線周期對相應(yīng)地址寫入命令字就可以了。用戶一般都是對芯片進(jìn)行寫操作, 寫操作只能使‘1’ 變‘0’ , 而擦除只能使‘0’ 變?yōu)?lsquo;1’ 。圖3 為擦除和編程命令波形圖, 清楚地顯示了擦除和編程操作過程。

  

 

  圖3 擦除和編程命令波形圖

  判斷編程或擦除的結(jié)束是當(dāng)把編程或擦除的命令字按照其時(shí)序?qū)懭隖lash 時(shí), 在寫編程命令時(shí)序或擦除命令時(shí)序的最后一個(gè)WE 上升沿到來之后,AM29LV800會(huì)自動(dòng)運(yùn)行一個(gè)嵌入在Flash 內(nèi)部的算法來判斷編程或擦除操作是否結(jié)束。采用觸發(fā)位校驗(yàn)的方法, 檢測數(shù)據(jù)切換位DQ6(Toggle Bit) 的狀態(tài), 連續(xù)讀數(shù)據(jù)會(huì)使DQ6 的值在‘0’ 和‘1’ 之間來回切換, 當(dāng)編程或擦除結(jié)束時(shí),DQ6 就停止值的切換。因此, 可以通過連續(xù)兩次讀DQ6 的值來判斷編程或擦除是否結(jié)束, 當(dāng)兩次讀得的值相同時(shí), 說明編程或擦除結(jié)束, 否則沒有。觸發(fā)位檢測算法流程圖如圖4 所示。

  

 

  圖4 觸發(fā)位檢測算法流程圖[!--empirenews.page--]4 程序的燒寫實(shí)現(xiàn)

 

  本系統(tǒng)在CCS 仿真環(huán)境下對Flash 進(jìn)行在線編程。

  先建立一個(gè)Flash 的燒寫工程, 并在工程中將要燒寫進(jìn)Flash 的引導(dǎo)表文件通過CCS 的LOAD DATA 功能直接加載進(jìn)DSP 的內(nèi)存, 根據(jù)加載的首地址和數(shù)據(jù)長度, 在仿真環(huán)境下燒寫進(jìn)Flash 中。值得注意的是, 程序加載的內(nèi)存空間不能與Flash 的燒寫程序重疊, 否則燒寫失敗。

  燒寫完成以后, 關(guān)掉電源, 拔掉仿真器電纜, 讓仿真器和計(jì)算機(jī)脫開: 重新打開電源, 實(shí)驗(yàn)板上指示燈閃爍, 表明燒寫進(jìn)Flash 程序正在運(yùn)行, 自啟動(dòng)成功。

  需要補(bǔ)充的是, 經(jīng)過hex55.exe 文件轉(zhuǎn)化后的hex 文件的引導(dǎo)表文件不能直接導(dǎo)入CCS 中,CCS 只支持將特別規(guī)定的DAT 格式文件通過LOAD DATA 導(dǎo)入內(nèi)存, 所以在導(dǎo)入之前必須先將引導(dǎo)表轉(zhuǎn)化成DAT 格式文件, 這個(gè)工作可以由VC 編寫一個(gè)簡單的C 語言轉(zhuǎn)化程序?qū)崿F(xiàn)。

   本文討論的引導(dǎo)方法包括硬件設(shè)計(jì)及相關(guān)程序, 已經(jīng)在筆者的實(shí)際開發(fā)語音項(xiàng)目中使用并成功運(yùn)行。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉