




已閱讀5頁(yè),還剩239頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 第三章TMS320F2833x軟硬件開(kāi)發(fā)環(huán)境及調(diào)試 2 3 1TMS320F2833x軟硬件開(kāi)發(fā)環(huán)境及調(diào)試 本章第一部分主要介紹F2833X的最小系統(tǒng)設(shè)計(jì) 對(duì)構(gòu)成最小系統(tǒng)的基本模塊 電源 復(fù)位 時(shí)鐘 JTAG口等 進(jìn)行了詳細(xì)的介紹 給出了設(shè)計(jì)的基本思路和參考電路 最后對(duì)PCB的分層 布線設(shè)計(jì)和調(diào)試進(jìn)行了討論 3 3 1TMS320F2833x軟硬件開(kāi)發(fā)環(huán)境及調(diào)試 F2833xDSP具有高性能的CPU時(shí)鐘和高速的外設(shè) 這對(duì)DSP電路設(shè)計(jì)提出了挑戰(zhàn) 本章節(jié)將對(duì)DSP的最小系統(tǒng)和一些典型的外設(shè)進(jìn)行探討 使讀者能夠?qū)﹄娐钒宓脑O(shè)計(jì)調(diào)試有進(jìn)一步的認(rèn)知 4 3 1TMS320F2833x軟硬件開(kāi)發(fā)環(huán)境及調(diào)試 如圖3 1所示 一個(gè)完整的TMS320F2833xDSP硬件系統(tǒng)設(shè)計(jì)包括最小系統(tǒng)以及外圍電路設(shè)計(jì) 圖3 1典型的TMS320F2833x硬件系統(tǒng) 5 3 1TMS320F2833x軟硬件開(kāi)發(fā)環(huán)境及調(diào)試 其中 最小硬件系統(tǒng)主要包括電源電路 復(fù)位電路 時(shí)鐘電路及JTAG仿真燒寫(xiě)口 外圍電路則可以根據(jù)實(shí)際工程的需要進(jìn)行選擇 下面將給出最小硬件系統(tǒng)的設(shè)計(jì) 希望通過(guò)本章的學(xué)習(xí) 讀者可以對(duì)F2833x系列的DSP硬件系統(tǒng)有一個(gè)直觀的了解 可以自行設(shè)計(jì)一款最小硬件系統(tǒng) 6 3 1 1電源電路 電源電路的設(shè)計(jì)是硬件系統(tǒng)的基礎(chǔ)和核心 F2833X采用3 3V和1 8V雙電源供電 本系統(tǒng)采用數(shù)字模擬地分離設(shè)計(jì) 下面詳細(xì)介紹電源系統(tǒng)設(shè)計(jì)的具體步驟 一 設(shè)計(jì)要求和原則對(duì)于電源電路的設(shè)計(jì)首先要了解芯片的電氣規(guī)范 F2833x芯片有多種電源引腳 P11 它們包括 CPU核的電源 VDD I O電源 VDDIO ADC模擬電源引腳 VDDA2 VDDAIO ADC核電源 VDD1A18 VDD2A18 Flash程序電源 VDD3VFL 地電源引腳 VSS VSSIO ADC模擬地 VSSA2 VSSAIO ADC模擬 內(nèi)核地 VSS1AGND VDD2AGND 7 3 1 1電源電路 說(shuō)明 所有的電源引腳都必須連接正確 所有這些芯片具有多個(gè)給內(nèi)核 I O和ADC 模擬供電引腳 所有的這些引腳都必須連接正確的供電電壓 不能讓任何引腳懸空 I O引腳的電壓是3 3V 然而內(nèi)核的供電電壓是1 8V或者1 9V 更多的信息可以參考具體芯片數(shù)據(jù)操作手冊(cè)的電氣部分 具有可編程的Flash 對(duì)其供電的引腳必須連接3 3V上 部分在電路閃存中使用 如今隨著半導(dǎo)體技術(shù)的不斷發(fā)展以及電子產(chǎn)品對(duì)功耗的要求越來(lái)越嚴(yán)苛 各大芯片生產(chǎn)商在設(shè)計(jì)IC電路時(shí)普遍采用多電源供電技術(shù) 如TI公司的2000系列的DSP 內(nèi)核電壓與IO電壓采用不同的電壓等級(jí) 這種設(shè)計(jì)的目的在于減小內(nèi)核工作是的能耗 8 3 1 1電源電路 為了使得系統(tǒng)能夠可靠運(yùn)行 一般而言系統(tǒng)電源應(yīng)滿足F2833X的推薦值范圍 不能超過(guò)最大的可承受電壓 F2833X電源推薦值如表3 1所示 在進(jìn)行電源電路設(shè)計(jì)時(shí)一般首先根據(jù)推薦值進(jìn)行設(shè)計(jì) 9 3 1 1電源電路 表3 1F2833X電源推薦值范圍 10 3 1 1電源電路 除了保證系統(tǒng)的電源電壓滿足要求以外 還需要考慮電源芯片的最大輸出電流 電源芯片的最大輸出電流是由DSP的最大電流損耗以及外圍電路的電流損耗所決定的 由于每一個(gè)外圍設(shè)備都有一個(gè)獨(dú)立的時(shí)鐘使能位 因此關(guān)閉指定模塊中閑置的時(shí)鐘可以減少電流的損耗 同樣也可以利用三種低功耗的模式中的任一個(gè)來(lái)進(jìn)一步減少電流的損耗 在不影響系統(tǒng)的功能的前提下實(shí)現(xiàn)低功耗 表3 2給出了關(guān)閉時(shí)鐘所減少的電流損耗典型值 11 3 1 1電源電路 表3 2外設(shè)電流損耗典型值 SYSCLKOUT 150MHz 12 3 1 1電源電路 說(shuō)明 1 復(fù)位時(shí) 所有外設(shè)時(shí)鐘被禁用 只有在外設(shè)時(shí)鐘被打開(kāi)后 才可對(duì)外設(shè)寄存器進(jìn)行寫(xiě)入 讀取操作 2 對(duì)于具有多個(gè)實(shí)例的外設(shè) 按照模塊引用電流 例如 為ePWM所引出的5mA電流數(shù)是用于一個(gè)ePWM模塊 3 這個(gè)數(shù)字代表了ADC模塊數(shù)字部分汲取的電流 關(guān)閉到ADC模塊的時(shí)鐘也將消除取自ADC IDDA18 模擬部分汲取的電流 4 運(yùn)行XINTF總線對(duì)IDDIO電流有明顯的影響 電流量的增加與下面的因素有關(guān) 多少個(gè)地址 數(shù)據(jù)引腳從一個(gè)周期切換到另一個(gè) 它們切換的速度有多快 使用的接口是16位還是32位及這些引腳上的負(fù)載 13 3 1 1電源電路 如果要進(jìn)一步減少損耗 還可以使用下述幾種方法 如果代碼運(yùn)行在SARAM中 閃存模塊可以被斷電 這可以減少35mA的電流損耗 關(guān)閉XCLKOUT 減少15mA的損耗 禁用輸出功能引腳上的上拉電阻以及XINTF引腳的上拉電阻 可以減少35mA 說(shuō)明 以上減少損耗值均為典型值 14 3 1 1電源電路 二 上電下電時(shí)序上電下電時(shí)序?qū)τ谒械腇2833x芯片 為了確定所有模塊的正確復(fù)位 對(duì)于不同電源引腳的加電 斷電序列無(wú)特別要求 然而 如果在I O引腳的電平移動(dòng)的輸出緩沖中的3 3V晶體在1 8 1 9V晶體管之前加電 那么就有可能使輸出緩沖有效 在上電期間 就有可能產(chǎn)生一個(gè)假信號(hào) 為了避免這種情況的發(fā)生 對(duì)VDD引腳的加電要先于或者同時(shí)對(duì)VDDIO引腳加電 為了確保在VDD引腳到達(dá)0 7V之前 VDDIO引腳已經(jīng)到達(dá)0 7V 15 如果內(nèi)核先于I O模塊上電 那么I O引腳將不會(huì)產(chǎn)生不穩(wěn)定的未知狀態(tài) 反之 如果I O模塊先于內(nèi)核上電 由于此時(shí)內(nèi)核不工作 I O輸出緩沖器中的晶體管有可能打開(kāi) 從而在輸出引腳上產(chǎn)生不確定狀態(tài) 對(duì)整個(gè)系統(tǒng)造成影響 為了避免這種情況的發(fā)生 VDD引腳上電應(yīng)早于VDDIO引腳上電 或與之同時(shí) 以確保VDD引腳在VDDIO引腳達(dá)到0 7V之前先達(dá)到0 7V 一般芯片的上電順序有要求的 先內(nèi)核后外圍 16 3 1 1電源電路 說(shuō)明 如果讀者計(jì)劃給處理內(nèi)核的供電引腳VDD加3 3V電壓 就必須確定這3 3V還沒(méi)有加給處理芯片 這和上面描述的是一樣的 讀者必須使用場(chǎng)效應(yīng)晶體管開(kāi)關(guān)來(lái)實(shí)現(xiàn) 17 3 1 1電源電路 另外 電壓小于二極管壓降的芯片輸入引腳都應(yīng)該先上電 沒(méi)有電壓引腳的芯片會(huì)在無(wú)意中產(chǎn)生一個(gè)內(nèi)部p n節(jié) 這將產(chǎn)生一個(gè)不可預(yù)料的結(jié)果 對(duì)于F2833x芯片而言 如果1 8V 或1 9V 引腳落后于3 3V引腳上地 GPIO引腳的狀態(tài)就不定直到1 8V引腳到達(dá)1V 而C281x芯片不需要加電順序 下面簡(jiǎn)單描述加電的順序 先讓所有的3 3V電源引腳上電 VDDIO VDD3VFL VDDA1 VDDA2 VDDAIO VDDREFBG 然后調(diào)到1 8V 或1 9V VDD VDD1 引腳上電 1 8V或1 9V在VDDIO到達(dá)2 5V之后才能到達(dá)0 3V 這也確保復(fù)位信號(hào)從I O引腳傳到I O緩沖中 主要是為了給在設(shè)備中的所有的模式提供復(fù)位電源 18 3 1 1電源電路 下電時(shí) F2833x芯片也需要按照下面的關(guān)電順序來(lái)進(jìn)行 在電源關(guān)閉期間 芯片的復(fù)位在VDD到達(dá)1 5V之前應(yīng)該被設(shè)置為低電平 最小時(shí)間為8 s 這樣有助于片上的Flash邏輯復(fù)位優(yōu)先于VDDIO VDD電壓的下降 最好是采用芯片復(fù)位控制芯片或者是電壓管理芯片來(lái)實(shí)現(xiàn)這個(gè)功能 低信號(hào)調(diào)整器對(duì)上電順序非常方便 在加上外部附加芯片器件 就能夠更好滿足地加電順序 19 3 1 1電源電路 三 具體方案實(shí)例考慮到F2833x采用3 3V和1 8V雙電源供電 本系統(tǒng)采用數(shù)字模擬地分離設(shè)計(jì) 電路如圖3 2所示 設(shè)計(jì)電源電路時(shí)需要特別注意散熱和電容匹配問(wèn)題 本次設(shè)計(jì)使用TPS767D301電源轉(zhuǎn)換芯片 它帶有使能端的3 3V和一個(gè)可調(diào)輸出通道 每路輸出最大電流可達(dá)1A 5V輸入電源經(jīng)過(guò)TPS676D301后經(jīng)濾波器輸出CPU內(nèi)核電源 VDD 1 9V I O電源 VDDIO 3 3V以及Flash程序電源 VDD3VFL 3 3V 20 3 1 1電源電路 圖3 2TMS320F28xx F28xxx電源電路圖 21 TPS767D301芯片 提供一路穩(wěn)定的3 3伏電壓 一路可調(diào)的1 5 5 5V電壓TPS767D318芯片 提供兩路穩(wěn)定的電壓 3 3V和1 8V 22 3 1 1電源電路 由于模擬電路會(huì)引入各種高頻干擾信號(hào) 會(huì)對(duì)數(shù)字電源產(chǎn)生干擾 所以在設(shè)計(jì)中應(yīng)對(duì)信號(hào)濾波處理 模擬電源與數(shù)字電源要進(jìn)行隔離 在設(shè)計(jì)中通常使用磁珠作為隔離器件 磁珠全名為鐵氧體磁珠濾波器 它的特點(diǎn)在于對(duì)于高頻信號(hào)抑制能力很強(qiáng) 對(duì)高頻電流會(huì)產(chǎn)生很大的衰減 而在低頻段對(duì)于電流幾乎不提供阻抗 因此可以有效的抑制高頻信號(hào) 如圖3 3所示 本章設(shè)計(jì)選用BLM21P221SN的鐵氧體磁珠作為數(shù)字電源和模擬電源的隔離器件 23 3 1 1電源電路 圖3 3數(shù)字電源與模擬電源的隔離 24 3 1 2復(fù)位電路 為了保障系統(tǒng)的正常啟動(dòng) F2833X最小系統(tǒng)一般需要加入復(fù)位電路 復(fù)位可以分為上電復(fù)位 手動(dòng)復(fù)位 電源監(jiān)測(cè)復(fù)位以及看門(mén)狗復(fù)位等 在考慮電路設(shè)計(jì)的時(shí)候 手動(dòng)和上電復(fù)位主要考慮能夠手動(dòng)去抖 上電復(fù)位時(shí)間保證等方面 電源監(jiān)測(cè)主要是監(jiān)測(cè)系統(tǒng)電源 一旦系統(tǒng)電源超過(guò)設(shè)定的閾值 則使處理器復(fù)位 防止系統(tǒng)跑飛 看門(mén)狗復(fù)位主要是完成對(duì)系統(tǒng)軟件程序的監(jiān)測(cè) 一般采用固定時(shí)間觸發(fā)看門(mén)狗的定時(shí)器方式 是看門(mén)狗一直處于計(jì)數(shù)狀態(tài) 一旦系統(tǒng)軟件出現(xiàn)異常而在看門(mén)狗計(jì)數(shù)周期內(nèi)沒(méi)有對(duì)其進(jìn)行清零操作 則認(rèn)為系統(tǒng)軟件故障而產(chǎn)生復(fù)位信號(hào)使CPU復(fù)位 25 3 1 2復(fù)位電路 對(duì)于引腳的兩個(gè)基本要求 1 加電期間 引腳必須在輸入時(shí)鐘穩(wěn)定之后的tw RSL1 內(nèi)保持低電平 這使得整個(gè)器件從一個(gè)已知的條件啟動(dòng) 2 斷電期間 引腳必須至少在VDD達(dá)到1 5V之前的8 s內(nèi)被下拉至低電平 這樣做可以提高閃存可靠性 26 3 1 2復(fù)位電路 說(shuō)明 在為器件加電之前 不應(yīng)將VDDIO之上大于二極管壓降 0 7V 的電壓應(yīng)用于任何數(shù)字引腳上 對(duì)于模擬引腳 這個(gè)值是比VDDA高0 7V的電壓值 此外 VDDIO和VDDA之間的差距應(yīng)一直在0 3V之內(nèi) 應(yīng)用于未加電器件的引腳上的電壓會(huì)以一種無(wú)意的方式偏置內(nèi)部p n接頭并產(chǎn)生無(wú)法預(yù)料的結(jié)果 27 3 1 2復(fù)位電路 說(shuō)明 另外 tw RSL1 要求 XRS必須在VDD達(dá)到1 5V后的1ms內(nèi)為低電平 表3 3復(fù)位 XRS 序要求 28 3 1 2復(fù)位電路 圖3 4加電復(fù)位 29 3 1 2復(fù)位電路 圖3 5給出了上電復(fù)位和手動(dòng)復(fù)位的電路圖 電源和看門(mén)狗復(fù)位則在后續(xù)章節(jié)詳述 復(fù)位電路的基本工作原理是 上電期間 一旦VDD電壓超過(guò)1 1V 端將從不確定狀態(tài)進(jìn)入低電平狀態(tài) 之后芯片將持續(xù)監(jiān)測(cè)VDD電壓 直到VDD電壓超過(guò)芯片內(nèi)部設(shè)定的閾值VT時(shí) TPS3823 33的內(nèi)部定時(shí)器將開(kāi)始啟動(dòng) 經(jīng)過(guò)td延遲后將重新拉倒高電平 完成整個(gè)上電復(fù)位過(guò)程 如果在定時(shí)器啟動(dòng)后 VDD的電壓跌落到閾值電壓VT以下 那么定時(shí)器將清零 繼續(xù)監(jiān)測(cè)VDD電壓 手動(dòng)復(fù)位清零時(shí) 出現(xiàn)低電平 也將變?yōu)榈碗娖?手動(dòng)復(fù)位按鍵S1可以直接進(jìn)行一次復(fù)位 對(duì)于調(diào)試和測(cè)試十分方便 30 3 1 2復(fù)位電路 圖3 5上電和手動(dòng)復(fù)位電路圖 31 3 1 3時(shí)鐘電路 一 內(nèi)部外部振蕩器的選擇F2833X系列的DSP提供了兩種不同的產(chǎn)生時(shí)鐘方案 利用電路板上的內(nèi)部晶體振蕩器或者利用外部時(shí)鐘 外部輸入時(shí)鐘頻率是在20Mhz 35Mhz范圍 一般而言 對(duì)于時(shí)鐘信號(hào) 為了獲取最大的運(yùn)行速度 一般選擇發(fā)生概率最大的頻率 使用內(nèi)置振蕩器時(shí) 只需要X1和X2引腳接入一個(gè)石英晶振 如圖3 6所示 使用內(nèi)置晶振時(shí) F2833x的片內(nèi)振蕩器的輸出頻率只能工作在20 35MHz 通常選用精度較高的石英晶振 32 3 1 3時(shí)鐘電路 圖3 6使用內(nèi)部晶振的時(shí)鐘電路說(shuō)明 30MHz外部石英晶振的典型技術(shù)規(guī)范如下 基本模式 并聯(lián)諧振 CL 負(fù)載電容 12pF CL1 CL2 24pF C并聯(lián) 6pF ESR范圍 25至40 X2 102引腳 X1 104引腳 XCLKIN 105引腳 XCLKOUT 138引腳 33 3 1 3時(shí)鐘電路 由于DSP芯片不是經(jīng)常在晶體的頻率下工作 所以如果系統(tǒng)中的其他設(shè)備需要同樣的時(shí)鐘 利用外部時(shí)鐘是比較簡(jiǎn)單和流行的一種方法 如果片載振蕩器未被使用 那么外部振蕩器的接法可以是下面兩種 一個(gè)3 3V外部振蕩器可被直接接至XCLKIN引腳 X2引腳應(yīng)被懸空 而X1引腳應(yīng)在低電平時(shí) 這個(gè)情況下的邏輯高電平不用超過(guò)VDDIO 如圖3 7 a 所示 外部時(shí)鐘源操作模式 允許旁通內(nèi)部振蕩器 時(shí)鐘由一個(gè)X1 104 或者XCLKIN 105 引腳上的外部時(shí)鐘源輸入生成 一個(gè)1 9V 100MHz器件時(shí)為1 8V 外部振蕩器可以直接連接到X1引腳 X2引腳應(yīng)被懸空 而XCLKIN引腳應(yīng)在低電平時(shí) 這個(gè)情況下的邏輯高電平不應(yīng)超過(guò)VDD 如圖3 7 b 所示 34 3 1 3時(shí)鐘電路 圖3 7 a 3 3V外部振蕩器時(shí)鐘電路 b 1 9V外部振蕩器時(shí)鐘電路 當(dāng)使用外部振蕩器時(shí) 只需將外部振蕩器產(chǎn)生的時(shí)鐘脈沖輸入到相應(yīng)的引腳 外部振蕩時(shí)鐘脈沖通常由有源晶振產(chǎn)生 一般要求外部振蕩器的脈沖要大于等于30MHz 35 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置圖3 8給出了系統(tǒng)的時(shí)鐘通道 時(shí)鐘通道由OSC和PLL構(gòu)成 與PLL配置相關(guān)的寄存器有兩個(gè) PLL狀態(tài)寄存器PLLSTS和PLL控制寄存器PLLCR 兩個(gè)寄存器中最關(guān)鍵的位域分別為2位的PLLSTS DIVSEL 和4位的PLLCR DIV PLLSTS DIVSEL 選擇CPU時(shí)鐘的分頻系數(shù) 4 2 1 PLLCR DIV 選擇CPU時(shí)鐘的倍頻系數(shù) 1 2 10 PLL有一個(gè)4位比率控制PLLCR DIV 來(lái)選擇不同的CPU時(shí)鐘速率 36 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置 圖3 8OSC和PLL構(gòu)成的時(shí)鐘通道 37 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置通過(guò)設(shè)定PLLCR DIV 值可以對(duì)PLL的模式進(jìn)行選擇 0000為PLL被旁路 0001 1010為外部時(shí)鐘倍頻值 復(fù)位后缺省情況下 PLLSTS DIVSEL 被配置為 4 0 引導(dǎo)ROM將這個(gè)配置改為 2 在寫(xiě)入PLLCR前 PLLSTS DIVSEL 必須為0 而只有當(dāng)PLLSTS PLLOCKS 1時(shí)才應(yīng)被改變 具體的配置可以參考表3 4 38 OSCOFF 0 外部CLK信號(hào)輸入PLL 默認(rèn) 1 外部CLK信號(hào)未輸入PLL 39 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置通過(guò)設(shè)定PLLCR DIV 值可以對(duì)PLL的模式進(jìn)行選擇 0000為PLL被旁路 0001 1010為外部時(shí)鐘倍頻值 缺省情況下 PLLSTS DIVSEL 被配置為 4 引導(dǎo)ROM將這個(gè)配置改為 2 在寫(xiě)入PLLCR前 PLLSTS DIVSEL 必須為0 而只有當(dāng)PLLSTS PLLOCKS 1時(shí)才應(yīng)被改變 具體的配置可以參考表3 4 40 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置 表3 4PLL的配置 41 晶體振蕩器與PLL模塊F2833x系列DSP可以通過(guò)外置晶體振蕩器胡外部時(shí)鐘信號(hào)提供時(shí)鐘 并通過(guò)內(nèi)部鎖相環(huán)回路倍頻后提供給系統(tǒng) 用戶可以根據(jù)實(shí)際運(yùn)行頻率計(jì)算所需的倍頻系數(shù) 并通過(guò)軟件設(shè)置PLL的倍頻系數(shù) 下圖為片上外設(shè)時(shí)鐘的產(chǎn)生 42 43 3 1 3時(shí)鐘電路 二 PLL的時(shí)鐘模塊設(shè)置以配置150Mhz的時(shí)鐘為例 系統(tǒng)初始化時(shí) 將PLLCR DIV 配置為1010 轉(zhuǎn)化為十進(jìn)制為10 PLLSTS DIVSEL 配置為2 那么在外部晶振時(shí)鐘頻率為30MHz時(shí) SYSCLKOUT CLKIN 為150MHz 44 voidInitPll Uint16val Uint16divsel MakesurethePLLisnotrunninginlimpmodeif SysCtrlRegs PLLSTS bit MCLKSTS 0 Missingexternalclockhasbeendetected Replacethislinewithacalltoanappropriate SystemShutdown function asm ESTOP0 DIVSELMUSTbe0beforePLLCRcanbechangedfrom 0 x0000 Itissetto0byanexternalresetXRSn Thisputsusin1 4if SysCtrlRegs PLLSTS bit DIVSEL 0 EALLOW SysCtrlRegs PLLSTS bit DIVSEL 0 EDIS 45 OSCOFF 0 外部CLK信號(hào)輸入PLL 默認(rèn) 1 外部CLK信號(hào)未輸入PLL 46 PLL初始化程序段 前面條件都滿足后 可以改變PLLCR DIV if SysCtrlRegs PLLCR bit DIV val EALLOW 在設(shè)置PLLCR DIV 前 要禁用主振蕩器檢測(cè)邏輯 MissingclockdetectlogicSysCtrlRegs PLLSTS bit MCLKOFF 1 SysCtrlRegs PLLCR bit DIV div EDIS 等待PLL穩(wěn)定且處于鎖定狀態(tài) 即PLLSTS LOCKS 置位 等待穩(wěn)定的時(shí)間可能略長(zhǎng) 需要禁用看門(mén)狗或者循環(huán)喂狗 屏蔽注釋 禁用看門(mén)夠DisableDog while SysCtrlRegs PLLSTS bit PLLLOCKS 1 屏蔽注釋 喂狗 ServiceDog EALLOW SysCtrlRegs PLLSTS bit MCLKOFF 0 EDIS 47 PLL初始化程序段 如果需要分頻1 2if divsel 1 divsel 2 EALLOW SysCtrlRegs PLLSTS bit DIVSEL divsel EDIS 注意 下面代碼只有在PLL是旁路或者關(guān)閉模式時(shí) 才可被執(zhí)行 其他模式禁止 倍頻時(shí)一定要分頻 不倍頻時(shí)才允許不分頻 如果需要切換分頻到1 1 首先從默認(rèn)1 4分頻切換到1 2分頻 讓電源穩(wěn)定 穩(wěn)定所需要的時(shí)間依賴于系統(tǒng)運(yùn)行速度 此處延時(shí)50us只是作為一個(gè)特例 穩(wěn)定后 再切換到1 1if divsel 3 EALLOW SysCtrlRegs PLLSTS bit DIVSEL 2 DELAY US 50L SysCtrlRegs PLLSTS bit DIVSEL 3 EDIS 48 PLL初始化流程 根據(jù)流程圖 大致可以描述PLL的初始化過(guò)程為 1 確保存在OSCCLK 系統(tǒng)能正常工作 即判斷PLLSTS MCLKSTS 1 2 改變PLLCR DIV 前 確保PLLSTS DIVSEL 0 3 改變PLLCR DIV 前 禁用主振蕩器故障檢測(cè)邏輯模塊 即PLLCR MCLKOFF 1 4 根據(jù)需要 改變PLLCR DIV 5 判斷PLL是否穩(wěn)定鎖定 即PLLSTS PLLLOCKS 1 6 使能主振蕩器故障檢測(cè)邏輯模塊 即PLLCR MCLKOFF 0 7 根據(jù)需要 改變PLLSTS DIVSEL 49 3 1 4調(diào)試接口 JTAG F2833x器件使用標(biāo)準(zhǔn)的IEEE1149 1JTAG接口 此外 器件支持實(shí)時(shí)運(yùn)行模式 在處理器正在運(yùn)行 執(zhí)行代碼并且處理中斷時(shí) 可修改存儲(chǔ)器內(nèi)容 外設(shè) 和寄存器位置 用戶也可以通過(guò)非時(shí)間關(guān)鍵代碼進(jìn)行單步操作 同時(shí)可在沒(méi)有干擾的情況下啟用即將被處理的時(shí)間關(guān)鍵中斷 此器件在CPU的硬件內(nèi)執(zhí)行實(shí)時(shí)模式 這是F2833x器件的獨(dú)特功能 無(wú)需軟件監(jiān)控 此外 還提供了特別分析硬件以實(shí)現(xiàn)硬件斷點(diǎn)或者數(shù)據(jù) 地址觀察點(diǎn)的設(shè)置并當(dāng)一個(gè)匹配發(fā)生時(shí)生成不同的用戶可選中斷事件考慮到JATG下載口的抗干擾性 與DSP相連的端口一般采用上拉設(shè)計(jì) 由于多用于調(diào)試和仿真 JTAG的連接必須放在方便的位置 但距離數(shù)字信號(hào)控制器的引腳距離必須在6英寸之內(nèi) 50 3 1 4調(diào)試接口 JTAG 圖3 9JTAG標(biāo)準(zhǔn)接插件信號(hào)定義 51 3 1 4調(diào)試接口 JTAG 表3 5引腳JTAG標(biāo)頭信號(hào)的引腳描述 52 3 1 4調(diào)試接口 JTAG 圖3 10顯示了DSPMCU和JTAG接頭之間針對(duì)單處理器配置的連接 如果JTAG接頭和DSP之間的距離大于6英寸 那么仿真信號(hào)必須被緩沖 如果距離小于6英寸 通常無(wú)需緩沖 圖3 10顯示了較簡(jiǎn)單 無(wú)緩沖的情況 圖3 10JTAG引腳的連接 小于6英寸 53 3 1 5模數(shù)轉(zhuǎn)換電路A D電路設(shè)計(jì) F2833x系列DSP的A D轉(zhuǎn)換模塊可處理的電壓范圍為0 3V 但實(shí)際使用中 待測(cè)電壓可能是負(fù)電壓 比如系統(tǒng)交流采樣的情況下就不能直接將電壓接入到A D輸入口上 否則將損壞A D采樣模塊 與此同時(shí)為了得到更為純凈的輸入信號(hào) 需要對(duì)信號(hào)進(jìn)行濾波和抬高處理 本文介紹了一種經(jīng)典電路 如圖3 11所示 圖3 11A D前端處理電路圖 54 3 1 5模數(shù)轉(zhuǎn)換電路A D電路設(shè)計(jì) 圖3 11中 電流信號(hào)經(jīng)過(guò)C68濾波后經(jīng)R8變成電壓信號(hào) 經(jīng)過(guò)運(yùn)算放大器U8A跟隨電路進(jìn)入中間的濾波電路 最后經(jīng)過(guò)偏置電路將 2 5 2 5V的交流信號(hào)偏置成0 3V范圍內(nèi) 具體的設(shè)計(jì)說(shuō)明可以參考A D章節(jié) 55 3 1 6串行通信端口電路設(shè)計(jì) TMS320F2833xDSP有3個(gè)異步串行通信接口 SCI 模塊 SCI模塊支持CPU與其它異步外設(shè)之間的使用標(biāo)準(zhǔn)非歸零碼 NRZ 格式的數(shù)字通信 SCI接收器和發(fā)射器是雙緩沖的 并且它們都有其自身獨(dú)立的使能和中斷位 兩個(gè)器件都可獨(dú)立或者同時(shí)地運(yùn)行在全雙工模式 圖3 12和圖3 13給出了經(jīng)典的CAN電路和RS232設(shè)計(jì) 56 3 1 6串行通信端口電路設(shè)計(jì) 圖3 12經(jīng)典的CAN電路圖 57 3 1 6串行通信端口電路設(shè)計(jì) 圖3 13經(jīng)典RS 232電路圖 58 3 1 7PCB布局布線及硬件調(diào)試 一 板子層數(shù)與分割板子層數(shù)多是針對(duì)信號(hào)層而言 對(duì)于簡(jiǎn)單的且對(duì)于成本控制比較嚴(yán)格的場(chǎng)合可以使用單層板或者雙層板 當(dāng)板上器件較多時(shí) 信號(hào)與電源走線較為復(fù)雜 且對(duì)電磁兼容性要求較高時(shí)可以使用多層板 現(xiàn)在普遍使用的一種設(shè)計(jì)方法就是在普通的雙層板中內(nèi)嵌兩層銅模 這兩層銅模分別用來(lái)布置系統(tǒng)的電源與地 即通常所說(shuō)的四層板 事實(shí)上 這個(gè)四層板包括的是兩個(gè)信號(hào)層 一個(gè)電源層以及一個(gè)地層 59 3 1 7PCB布局布線及硬件調(diào)試 二 信號(hào)探測(cè)點(diǎn)為了便于測(cè)試 需要將一些重要的信號(hào)點(diǎn)引出 XCLKOUT測(cè)試點(diǎn)應(yīng)緊靠芯片引腳DGND數(shù)字低 地與示波器相連AGND模擬地3 3V1 8V跳線和撥碼開(kāi)關(guān)旁路電容電源供電時(shí)鐘振蕩器 60 3 1 7PCB布局布線及硬件調(diào)試 三 硬件調(diào)試方法通常對(duì)于系統(tǒng)硬件的調(diào)試是較為復(fù)雜的 需要借助各種儀器通過(guò)不同的方法來(lái)查找出現(xiàn)問(wèn)題的可能原因 本文介紹一些常用的方法 系統(tǒng)電源與復(fù)位信號(hào)的監(jiān)測(cè)完成硬件系統(tǒng)的設(shè)計(jì)后 一般要對(duì)硬件進(jìn)行檢測(cè)和調(diào)試 61 3 1 7PCB布局布線及硬件調(diào)試 首先要進(jìn)行檢測(cè)檢測(cè)的是電源系統(tǒng)和復(fù)位電路 電源信號(hào)可能存在的故障有 短路故障 過(guò)壓欠壓以及電壓的波動(dòng) 首先在系統(tǒng)上電前 可以用萬(wàn)用表對(duì)電源和地之間進(jìn)行測(cè)量看是否有短路情況出現(xiàn) 如果出現(xiàn)短路情況 應(yīng)檢測(cè)是否有將相鄰的電源與地連接在一起 這將直接導(dǎo)致DSP芯片燒毀 當(dāng)出現(xiàn)沒(méi)有電壓時(shí)應(yīng)檢測(cè)是否有虛焊 漏焊或者芯片的損壞出現(xiàn) 電壓過(guò)低時(shí) 檢測(cè)是否出現(xiàn)過(guò)載現(xiàn)象 電壓干擾主要檢測(cè)是否是布線問(wèn)題 對(duì)于復(fù)位信號(hào)的檢測(cè)主要是檢測(cè)其邊沿跳變是否滿足要求 以及信號(hào)的純凈度 初次上電時(shí)可以用手觸摸DSP看是否有過(guò)熱發(fā)燙的情況出現(xiàn) 如果出現(xiàn)過(guò)熱 應(yīng)馬上停電進(jìn)行檢查 62 3 1 7PCB布局布線及硬件調(diào)試 對(duì)于信號(hào)的檢測(cè)主要包括信號(hào)的電平狀態(tài)以及時(shí)序是否有問(wèn)題 借助于示波器 我們可以迅速檢測(cè)出電平狀態(tài)的問(wèn)題 此類(lèi)錯(cuò)誤多由于芯片的損壞以及虛焊漏焊的出現(xiàn) 檢測(cè)時(shí)可以根據(jù)信號(hào)源的流動(dòng)逐次進(jìn)行檢測(cè) 可以從信號(hào)的輸入點(diǎn)開(kāi)始檢測(cè) 也可以從信號(hào)的輸出點(diǎn)開(kāi)始檢測(cè) 利用信號(hào)的兩個(gè)點(diǎn)之間狀態(tài)不同時(shí)可以判斷信號(hào)的正確還是錯(cuò)誤 63 3 1 7PCB布局布線及硬件調(diào)試 對(duì)于時(shí)序的檢測(cè)較為困難 檢測(cè)此類(lèi)信號(hào)問(wèn)題時(shí) 一般要借助多通道的示波器 同時(shí)檢測(cè)不同點(diǎn)的信號(hào) 比較計(jì)算信號(hào)的延遲進(jìn)行判斷 檢查時(shí)要采用同步信號(hào)對(duì)比 否則容易被誤導(dǎo) 64 3 2TMS320F2833x軟件平臺(tái)和編程介紹 該部分主要介紹CCS的操作環(huán)境和常用的操作 詳細(xì)的介紹COFF這一概念 對(duì)編譯器和鏈接器的選項(xiàng)也進(jìn)行了說(shuō)明 給出了調(diào)試中常用的一些操作說(shuō)明 具有較強(qiáng)的工程應(yīng)用意義 詳細(xì)的說(shuō)明了CMD的內(nèi)容 最后介紹了F2833x新的亮點(diǎn) FPU浮點(diǎn)庫(kù) 65 3 2 1CCS5 5簡(jiǎn)介 CCS包括如下各個(gè)部分 CCS代碼生成工具 CCS集成開(kāi)發(fā)環(huán)境IDE DSP BIOS控件程序 RTDX控件 主機(jī)接口和API CCS代碼生成工具中需要理解的是C編譯器 Ccompiler 匯編器 assembler 和鏈接器 linker C編譯器是將C語(yǔ)言形式程序代碼轉(zhuǎn)成匯編語(yǔ)言源代碼 匯編器是將匯編語(yǔ)言文件翻譯成CPU可執(zhí)行的機(jī)器語(yǔ)言的目標(biāo)文件 鏈接器就是將多個(gè)目標(biāo)文件組成單個(gè)可執(zhí)行的目標(biāo)文件 它一邊創(chuàng)建可執(zhí)行文件 一邊完成重定位以及決定外部參考 鏈接器的輸入是可重定位的目標(biāo)文件和目標(biāo)庫(kù)文件 66 3 2 1CCS5 5簡(jiǎn)介 鏈接器的作用 1 根據(jù)鏈接命令文件 cmd文件 將一個(gè)或多個(gè)COFF文件鏈接起來(lái) 生成存儲(chǔ)器映象文件 map 和可執(zhí)行的輸出文件 out文件 2 將段定位于實(shí)際系統(tǒng)的存儲(chǔ)器中 給段 符號(hào)指定實(shí)際地址 3 解決輸入文件之間未定義的外部符號(hào)引用 CCS集成開(kāi)發(fā)環(huán)境IDE 它具有允許編輯 編譯和調(diào)試DSP目標(biāo)程序等功能 67 3 2 1CCS5 5簡(jiǎn)介 編輯源程序 CCS允許編輯C源程序和匯編語(yǔ)言源程序 同樣可以在C語(yǔ)句顯示匯編指令的方式來(lái)查看C源程序 68 CCS5 5集成開(kāi)發(fā)環(huán)境 一 CCS5 5軟件的安裝 首先我們需要來(lái)安裝TIDSP的軟件開(kāi)發(fā)環(huán)境CCS CodeComposerStudio 推薦使用CCS5 5版本 XDS100V2仿真器也只能適用于CCS4 0及以上版本的開(kāi)發(fā)環(huán)境 XDS100V3仿真器只適用于CCS5 0及以上版本的開(kāi)發(fā)環(huán)境 注意 安裝前先關(guān)閉殺毒軟件和360 電腦管家等安全防護(hù)軟件 否則點(diǎn)擊安裝程序會(huì)出現(xiàn)警告 強(qiáng)行安裝會(huì)出現(xiàn)文件丟失 雙擊ccs setup 5 5 0 00077 exe文件 出現(xiàn)如下圖1 1所示界面 注意 路徑不可以有中文 69 CCS5 5集成開(kāi)發(fā)環(huán)境 根據(jù)自己的需求選擇所要安裝的內(nèi)容和選擇仿真設(shè)備驅(qū)動(dòng)類(lèi)型 這里選擇 SelectAll 然后點(diǎn)擊 Next 70 CCS5 5集成開(kāi)發(fā)環(huán)境 二 CCS與仿真器的連接 由于XDS100V3仿真器的驅(qū)動(dòng)已經(jīng)做到了CCSV5 5中了 所以當(dāng)用戶安裝CCSV5 5版本的軟件之后 仿真器的驅(qū)動(dòng)就已經(jīng)安裝好了 接下來(lái) 用戶只需要將仿真器的USB與PC機(jī)的USB接口連接即可 驅(qū)動(dòng)也是自動(dòng)識(shí)別安裝的 當(dāng)提示驅(qū)動(dòng)安裝完畢而且可以使用后 用戶就可以使用仿真器對(duì)目標(biāo)板進(jìn)行仿真操作 下面為大家說(shuō)明如何使用XDS100V3對(duì)目標(biāo)板進(jìn)行仿真 71 CCS5 5集成開(kāi)發(fā)環(huán)境 1 定義工作區(qū)目錄CCSv5 5首先要求的是定義一個(gè)工作區(qū) 即用于保存開(kāi)發(fā)過(guò)程中用到的所有元素 項(xiàng)目和指向項(xiàng)目的鏈接 可能還有源代碼 的目錄 默認(rèn)情況下 會(huì)在C Users Documents或C DocumentsandSettings MyDocuments目錄下創(chuàng)建工作區(qū) 但可以任意選擇其位置 每次執(zhí)行CCSv6都會(huì)要求工作區(qū)目錄 如果計(jì)劃對(duì)所有項(xiàng)目使用一個(gè)目錄 只需選中 Usethisasthedefaultanddonotaskagain 默認(rèn)使用此目錄且不再詢問(wèn) 選項(xiàng) 如下圖所示 72 CCS5 5集成開(kāi)發(fā)環(huán)境 更改工作區(qū)目錄詳見(jiàn)下圖2 1 2 在工具欄中點(diǎn)擊 File SwitchWorkspace Others 然后自己重新定義 注意 目錄不可以有中文 73 CCS5 5集成開(kāi)發(fā)環(huán)境 2 建立目標(biāo)板配置環(huán)境 在CCSv5 5版本環(huán)境中 也需要建立仿真配置環(huán)境 在工具欄中點(diǎn)擊 File New TargetConfigurationFile 如下圖所示 74 CCS5 5集成開(kāi)發(fā)環(huán)境 為此配置命名 f28335xds100v3 ccxml 可自行命名 點(diǎn)擊 Finsh 75 CCS5 5集成開(kāi)發(fā)環(huán)境 在 connection 調(diào)試器類(lèi)型 一欄中選擇 TexasInstrumentsXDS100v2USBEmulator 或 TexasInstrumentsXDS100v3USBEmulator Device 芯片類(lèi)型 一欄中選擇 TMS320F28335 76 CCS5 5集成開(kāi)發(fā)環(huán)境 如果使用默認(rèn)的GEL文件 那么請(qǐng)點(diǎn)擊 Save 即可 如果使用自己的GEL文件 那么請(qǐng)點(diǎn)擊藍(lán)色字體的 TargetConfiguration 出現(xiàn)以下界面 點(diǎn)中C28xx 在右面的initializationscript中選擇自己的GEL文件 之后點(diǎn)擊 Save 到目前為止 此配置環(huán)境建立完畢 77 CCS5 5集成開(kāi)發(fā)環(huán)境 3 連接目標(biāo)板 找到工具欄的 View Targetconfigurations 按鈕并單擊切換出配置界面 然后在配置界面中右鍵點(diǎn)擊配置文件選擇 SetasDefault 將剛剛建立的配置文件設(shè)置為默認(rèn)狀態(tài) 啟動(dòng)調(diào)試 右擊選擇已配置的項(xiàng)目的 LaunchSelectedConfiguration 78 CCS5 5集成開(kāi)發(fā)環(huán)境 當(dāng)啟動(dòng)成功后 在工具欄中點(diǎn)擊 Run ConnectTarget 即可連接目標(biāo)板 79 CCS5 5集成開(kāi)發(fā)環(huán)境 出現(xiàn)下圖所示的界面即表明連接成功 接下去 用戶可以自行仿真實(shí)驗(yàn) 80 CCS5 5集成開(kāi)發(fā)環(huán)境 三 創(chuàng)建CCS5 5工程 1 創(chuàng)建工程 歡迎屏幕關(guān)閉之后 將會(huì)顯示下面的工作區(qū) 此時(shí)可以創(chuàng)建新項(xiàng)目 轉(zhuǎn)到菜單 File New CCSProject 文件 新建 CCS項(xiàng)目 81 CCS5 5集成開(kāi)發(fā)環(huán)境 在 ProjectName 項(xiàng)目名稱 字段中 鍵入新項(xiàng)目的名稱 若選中 Usedefaultlocation 使用默認(rèn)位置 選項(xiàng) 默認(rèn)啟用 將會(huì)在工作區(qū)文件夾中創(chuàng)建項(xiàng)目 取消選中該選項(xiàng)可以選擇一個(gè)新位置 使用 Browse 瀏覽 按鈕 將項(xiàng)目命名為 Sinewave 在 Target 菜單中選擇要使用的芯片類(lèi)型 在 Connetion 里選擇調(diào)試器 單擊 Finish 完成 創(chuàng)建項(xiàng)目 82 CCS5 5集成開(kāi)發(fā)環(huán)境 要為項(xiàng)目創(chuàng)建文件 請(qǐng)?jiān)?C C Projects C C 項(xiàng)目 路徑 工具欄Window ShowView Other下的C C C C Projects 視圖中右鍵單擊項(xiàng)目名稱 并選擇 New SourceFile 新建 源文件 在打開(kāi)的文本框中 鍵入包含與源代碼類(lèi)型對(duì)應(yīng)的有效擴(kuò)展名 c C cpp c asm s64 s55等 的文件名稱 單擊 Finish 完成 要向項(xiàng)目添加現(xiàn)有源文件 請(qǐng)?jiān)?C C Projects C C 項(xiàng)目 選項(xiàng)卡中右鍵單擊項(xiàng)目名稱 并選擇 AddFilestoProject 將文件添加到項(xiàng)目 將源文件復(fù)制到項(xiàng)目目錄 也可以選擇 LinkFilestoProject 將文件鏈接到項(xiàng)目 來(lái)創(chuàng)建文件引用 這樣可以將文件保留在其原始目錄中 如果源代碼將文件包含在非常特定的目錄結(jié)構(gòu)中 則這是十分必要的 83 CCS5 5集成開(kāi)發(fā)環(huán)境 2 生成項(xiàng)目 在創(chuàng)建了項(xiàng)目并且添加或創(chuàng)建了所有文件之后 需要生成項(xiàng)目 只需轉(zhuǎn)到菜單 Project BuildActiveProject 項(xiàng)目 生成活動(dòng)項(xiàng)目 RebuildActiveProject 重新生成活動(dòng)項(xiàng)目 選項(xiàng)可重新生成所有源文件和引用的項(xiàng)目 不過(guò)如果項(xiàng)目較大 這可能是一個(gè)漫長(zhǎng)的過(guò)程 注意 如果遇到生成錯(cuò)誤 而且沒(méi)有創(chuàng)建可執(zhí)行文件 屏幕底部的控制臺(tái)窗口將會(huì)顯示一條錯(cuò)誤或警告消息 并且不會(huì)啟動(dòng)調(diào)試會(huì)話 84 四 工程導(dǎo)入 1 CCS3 3工程的導(dǎo)入在 C C Projects C C 項(xiàng)目 路徑 工具欄Window ShowView Other下的C C C C Projects 即 CCSEdit 視圖下 單擊工具欄的 Project ImportLegacyCCSv3 3Projects 工程 導(dǎo)入CCS3 3工程 85 CCS5 5集成開(kāi)發(fā)環(huán)境 86 CCS5 5集成開(kāi)發(fā)環(huán)境 如果出現(xiàn)下圖的警告 點(diǎn)擊 OK 忽略警告 87 CCS5 5集成開(kāi)發(fā)環(huán)境 這樣CCS3 3的工程就已經(jīng)導(dǎo)入完成了 下面就是設(shè)置導(dǎo)入后工程的屬性 路徑 工具欄 Window ShowView ProjectExplorer 切換出界面后右擊工程選擇最后一項(xiàng)Properties 88 CCS5 5集成開(kāi)發(fā)環(huán)境 屬性編輯需要設(shè)置兩種屬性 一種是修改頭文件路徑 這里我們把路徑修改成絕對(duì)路徑 見(jiàn)下圖所示操作 89 CCS5 5集成開(kāi)發(fā)環(huán)境 然后重新添加CCS5 5的頭文件路徑點(diǎn)擊 按鈕 在彈出的窗口中點(diǎn)擊 Workspace 按鈕 如下圖所示 在彈出的窗口中將導(dǎo)入的工程展開(kāi) 選中 Include 文件夾 再單擊 OK 即可完成添加頭文件路徑 如下圖所示 添加完成后 在原來(lái)的窗口也點(diǎn)擊 OK 完成添加 90 CCS5 5集成開(kāi)發(fā)環(huán)境 頭文件路徑添加后 還要再設(shè)置個(gè)屬性 最后屬性設(shè)置完成 右擊工程選擇 BuildProject 進(jìn)行編譯 編譯完成后 整個(gè)導(dǎo)入過(guò)程就全部結(jié)束 91 CCS5 5集成開(kāi)發(fā)環(huán)境 2 CCS高版本工程的導(dǎo)入 由于例程雖然已經(jīng)是CCS3 3以上的版本 但不可以直接拷貝到 workspace 工作區(qū)間 使用 還是需要導(dǎo)入到工作區(qū)間才可以使用 下面將介紹如何導(dǎo)入CCS高版本的工程 在 C C Projects C C 項(xiàng)目 路徑 工具欄Window ShowView Other下的C C C C Projects 即 CCSEdit 視圖下 單擊工具欄的 Project ImportCCSProjects 工程 導(dǎo)入CCS工程 92 CCS5 5集成開(kāi)發(fā)環(huán)境 在彈出的窗口中作如下操作 注意 如果操作過(guò)程中出現(xiàn)和CCS3 3導(dǎo)入時(shí)一樣的警告時(shí) 點(diǎn)擊 OK 忽略 完成后 右擊工程選擇 BuildProject 進(jìn)行編譯 編譯完成后 整個(gè)導(dǎo)入過(guò)程就全部結(jié)束 93 CCS5 5集成開(kāi)發(fā)環(huán)境 五 CCS5 5的仿真與燒寫(xiě) 首先照第二章所做的說(shuō)明 建立一個(gè)TMS320F28335芯片和XDS100V2 或者XDS100V3 的配置文件 啟動(dòng)并連接上 然后將視圖切換到 CCSEdit 下 將導(dǎo)入的工程的CMD文件從 28335 cmd 燒寫(xiě)所用CMD文件 替換成 28335 RAM lnk cmd 仿真所用CMD文件 注意 28335 cmd和28335 RAM lnk cmd兩者只能選其一參與編譯 否則編譯器將無(wú)法識(shí)別具體的操作空間而出錯(cuò) 然后右擊工程選擇 BuildProject 進(jìn)行編譯 編譯沒(méi)有錯(cuò)誤后會(huì)在Workspace 工作區(qū)間 的工程文件夾下的Debug文件夾里產(chǎn)生一個(gè) out文件 加載這個(gè) out 文件后即可進(jìn)行仿真操作 94 CCS5 5集成開(kāi)發(fā)環(huán)境 95 CCS5 5集成開(kāi)發(fā)環(huán)境 CMD文件更改過(guò)后 將視圖切換到 CCSDebug 視圖下進(jìn)行工程的加載 步驟 點(diǎn)擊 工具欄Run Load LoadProgram 96 CCS5 5集成開(kāi)發(fā)環(huán)境 在出現(xiàn)的對(duì)話框里進(jìn)行如下圖所示的操作 加載完成后點(diǎn)擊運(yùn)行 即可觀察到開(kāi)發(fā)板上的現(xiàn)象 97 CCS5 5集成開(kāi)發(fā)環(huán)境 至此 仿真操作已進(jìn)行完畢 98 CCS5 5集成開(kāi)發(fā)環(huán)境 2 CCS5 5的燒寫(xiě)操作 在燒寫(xiě)之前 展開(kāi)工程下的Debug文件 雙擊打開(kāi) map文件 出現(xiàn)如下圖所示的內(nèi)容 99 CCS5 5集成開(kāi)發(fā)環(huán)境 圖中藍(lán)底色一行為密碼區(qū)域使用情況 如果在used于unused一欄下分別為0和08表示密碼區(qū)域未使用 否則密碼區(qū)域可能已經(jīng)被使用 不可以燒寫(xiě) 若強(qiáng)行燒寫(xiě)將導(dǎo)致芯片鎖死 此時(shí)可以自己重新新建工程編譯 CCS6 0的燒寫(xiě)操作與仿真操作一樣 只不過(guò)將導(dǎo)入的工程的CMD文件從 28335 RAM lnk cmd 仿真所用CMD文件 替換成 28335 cmd 燒寫(xiě)所用CMD文件 注意 28335 cmd和28335 RAM lnk cmd兩者只能選其一參與編譯 否則編譯器將無(wú)法識(shí)別具體的操作空間而出錯(cuò) 然后右擊工程選擇 BuildProject 進(jìn)行編譯 編譯沒(méi)有錯(cuò)誤后會(huì)在Workspace 工作區(qū)間 的工程文件夾下的Debug文件夾里產(chǎn)生一個(gè) out文件 加載這個(gè) out 文件即可 不需要點(diǎn)擊運(yùn)行 100 六 CCS5 5中一些常見(jiàn)的功能按鈕 CCS5 5中所有功能按鈕都可以在工具欄中調(diào)出來(lái) 這里將一些比較常用的功能按鈕拎出并加以介紹 常見(jiàn)的功能按鈕可在工具欄中的 View Tools 和 Window ShowView 中調(diào)出來(lái) 如下圖所示 101 CCS5 5集成開(kāi)發(fā)環(huán)境 102 CCS5 5集成開(kāi)發(fā)環(huán)境 1 加載代碼調(diào)試器完成目標(biāo)初始化之后 項(xiàng)目的輸出文件 OUT將自動(dòng)加載到活動(dòng)目標(biāo) 并且默認(rèn)情況下代碼將在main 函數(shù)處停止 注意 代碼將自動(dòng)寫(xiě)入MSP430 F28x和Stellaris設(shè)備閃存中 要配置閃存加載程序?qū)傩?請(qǐng)啟動(dòng)調(diào)試器并轉(zhuǎn)到菜單 Tools On chipFlash 工具 片內(nèi)閃存 CCSDebug 調(diào)試 視圖包含每個(gè)芯片核的目標(biāo)配置和調(diào)用堆棧 源代碼視圖顯示了在main 處停止的程序 基本調(diào)試功能 運(yùn)行 停止 步入 步出 復(fù)位 位于 CCSDebug 調(diào)試 視圖的頂部欄中 Target 目標(biāo) 菜單還有其他幾種調(diào)試功能 注意 如果目標(biāo)配置需要先運(yùn)行腳本再加載代碼 將打開(kāi) View Console 控制臺(tái) 視圖 這些腳本采用GEL 通用擴(kuò)展語(yǔ)言 編寫(xiě)而成 在對(duì)包含復(fù)雜外部?jī)?nèi)存時(shí)序和電源配置的設(shè)備進(jìn)行配置時(shí)尤其需要此類(lèi)腳本 103 CCS5 5集成開(kāi)發(fā)環(huán)境 2 監(jiān)視變量和寄存器在程序加載時(shí)還會(huì)打開(kāi) Variables Expressions 和 Registers 視圖 并顯示本地和全局變量 104 CCS5 5集成開(kāi)發(fā)環(huán)境 在出現(xiàn)的對(duì)話框里進(jìn)行如下圖所示的操作 加載完成后點(diǎn)擊運(yùn)行 即可觀察到開(kāi)發(fā)板上的現(xiàn)象 105 CCS5 5集成開(kāi)發(fā)環(huán)境 3 反匯編以及源代碼與匯編代碼混合模式默認(rèn)情況下不會(huì)打開(kāi)反匯編視圖 但是可通過(guò)轉(zhuǎn)到菜單 View Disassembly 查看 反匯編 查看 106 CCS5 5集成開(kāi)發(fā)環(huán)境 反匯編窗口中一個(gè)極其有用的功能是源代碼與匯編代碼混合模式查看器 如上面的屏幕截圖所示 要使用此功能 只需在 Disassembly 反匯編 視圖中右鍵單擊并選擇 ViewSource 查看源代碼 107 CCS5 5集成開(kāi)發(fā)環(huán)境 4 內(nèi)存查看器 默認(rèn)情況下不會(huì)打開(kāi)內(nèi)存視圖 但是可通過(guò)轉(zhuǎn)到菜單 View MemoryBrowser 查看 內(nèi)存瀏覽 查看 通過(guò)此屏幕可訪問(wèn)一些有用的功能 內(nèi)存可通過(guò)多種格式進(jìn)行查看 可填充任意值 也可保存至PC主機(jī)中的二進(jìn)制文件或從中加載 此外還可以查看所有變量和函數(shù) 而且每個(gè)內(nèi)存位置都有上下文相關(guān)的信息框 108 CCS5 5集成開(kāi)發(fā)環(huán)境 5 管理斷點(diǎn) 作為任何調(diào)試器都會(huì)擁有的最基本功能 CCSv5 5中的斷點(diǎn)添加了一系列選項(xiàng) 幫助增加調(diào)試進(jìn)程的靈活性 109 CCS5 5集成開(kāi)發(fā)環(huán)境 硬件斷點(diǎn)可從IDE直接進(jìn)行設(shè)置 軟件斷點(diǎn)僅受到設(shè)備可用內(nèi)存的限制 軟件斷點(diǎn)可設(shè)置為無(wú)條件或有條件停止 除了停止目標(biāo)之外 軟件斷點(diǎn)還可執(zhí)行其他功能 文件I O傳輸 屏幕更新等 要設(shè)置斷點(diǎn) 只需在源代碼或反匯編視圖中雙擊代碼行即可 硬件或軟件斷點(diǎn)的圖標(biāo)會(huì)指示其狀態(tài)和放置位置 注意 在優(yōu)化代碼中 有時(shí)無(wú)法將斷點(diǎn)設(shè)置到C源代碼中確切的某一行 這是因?yàn)閮?yōu)化器可能會(huì)將代碼緊縮起來(lái) 從而影響匯編指令和C源代碼之間的相關(guān)性 110 CCS5 5集成開(kāi)發(fā)環(huán)境環(huán)境 所有斷點(diǎn) 軟件 硬件 已啟用 已禁用 都可在下圖斷點(diǎn)查看器中看到 要配置斷點(diǎn) 只需右鍵單擊藍(lán)點(diǎn) 或者在斷點(diǎn)視圖中右鍵單擊并選擇 BreakpointProperties 斷點(diǎn)屬性 使用 Action 操作 可以設(shè)置斷點(diǎn)的行為 例如保持停止 更新一個(gè)或所有調(diào)試器視圖 從文件中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入其中 激活或停用斷點(diǎn)組等 使用 SkipCount 跳過(guò)計(jì)數(shù) 可以設(shè)置執(zhí)行斷點(diǎn)操作之前通過(guò)的數(shù)目 使用 Group 分組 可以對(duì)斷點(diǎn)進(jìn)行分組以進(jìn)行高級(jí)控制 111 CCS5 5集成開(kāi)發(fā)環(huán)境 6 圖形顯示工具CCSv5 5中提供了一個(gè)高級(jí)圖形和圖像可視化工具 它可通過(guò)圖形形式顯示數(shù)組 并且可采用多種格式 要添加圖形 只需轉(zhuǎn)到菜單 Tools Graph 工具 圖形 然后從各種顯示選項(xiàng)中選擇一個(gè) 基于時(shí)間的圖形 SingleTime 單曲線圖 和 DualTime 雙曲線圖 基于頻率的圖形 所有FFT選項(xiàng) 圖形窗口中的頂部工具欄可控制多種功能 例如更新速率 凍結(jié) 連續(xù) 目標(biāo)停止時(shí)或手動(dòng) 縮放 配置屬性等 默認(rèn)情況下 圖形窗口會(huì)在目標(biāo)停止時(shí)立即更新 使用自動(dòng)縮放并以樣本數(shù)顯示X軸 以整數(shù)值顯示Y軸 所有這些選項(xiàng)都可進(jìn)行設(shè)置 注意 請(qǐng)記住 圖形更新時(shí)所傳輸?shù)臄?shù)據(jù)量可能會(huì)影響目標(biāo)硬件的實(shí)時(shí)操作 112 CCS5 5集成開(kāi)發(fā)環(huán)境 下面的過(guò)程顯示了包含正弦波發(fā)生器輸出內(nèi)容的圖形 在源代碼窗口中 右鍵單擊斷點(diǎn)藍(lán)點(diǎn) 已在上一部分設(shè)置 并選擇 BreakpointProperties 斷點(diǎn)屬性 在 Action 操作 屬性中 單擊該屬性值并選擇 RefreshAllWindows 刷新所有窗口 這樣將刷新所有窗口 而不是將程序完全停止在該點(diǎn) 變量output 包含16個(gè)正弦波發(fā)生器輸出樣本 因此整個(gè)緩沖區(qū)必須立即顯示在圖形窗口中 單擊 Tools Graph SingleTime 工具 圖形 單曲線圖 然后將選項(xiàng)配置 113 CCS5 5集成開(kāi)發(fā)環(huán)境 屏幕底部應(yīng)該出現(xiàn)一個(gè)圖形窗口 如果需要 可通過(guò)單擊按鈕更改圖形屬性 單擊 Run Resume 目標(biāo) 運(yùn)行 該圖形應(yīng)該以16個(gè)樣本為一組分批更新 要查看output數(shù)組的實(shí)際值 請(qǐng)單擊 Watch 監(jiān)視 選項(xiàng)卡 應(yīng)當(dāng)在屏幕右上角部分 然后單擊 New 新建 鍵入output并展開(kāi)此數(shù)組以顯示其中的所有值 這些值以16位帶符號(hào)整數(shù)輸出 因此可通過(guò)調(diào)整Q值使其標(biāo)準(zhǔn)化 在 Watch 監(jiān)視 窗口中選擇所有值 右鍵單擊并選擇 Q values Q value 15 Q值 Q值 15 如下圖所示 114 CCS5 5集成開(kāi)發(fā)環(huán)境 7 圖像顯示工具要顯示圖像 只需轉(zhuǎn)到菜單 Tools Image 工具 圖像 屏幕底部將打開(kāi)兩個(gè)視圖 Image 圖像 和 Properties 屬性 CCSv6顯示的信息既可以是來(lái)自PC主機(jī)中的文件 也可以是目標(biāo)開(kāi)發(fā)板中加載的圖像 在屬性頁(yè)面中 只需將 Imagesource 圖像源 選項(xiàng)設(shè)置為 File 文件 或 ConnectedDevice 連接的設(shè)備 即可 與圖形查看器類(lèi)似 需要設(shè)置其他所有屬性才能使顯示內(nèi)容有意義 彩色障板 線條尺寸和數(shù)據(jù)寬度等幾種選項(xiàng)會(huì)影響圖像的正確顯示 115 CCS5 5集成開(kāi)發(fā)環(huán)境 要顯示加載至目標(biāo)的圖像 請(qǐng)執(zhí)行以下操作 轉(zhuǎn)到菜單 View MemoryBroswer 查看 內(nèi)存 打開(kāi)內(nèi)存視圖 在地址框中鍵入有效的目標(biāo)地址 0 xC0000000 將圖像文件加載至0 xC0000000 單擊內(nèi)存操作圖標(biāo)旁邊的三角形 然后單擊 Load 加載 瀏覽至下面的目
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《迷網(wǎng)青春》觀后感
- 集中式陸上風(fēng)電工程初步設(shè)計(jì)
- 河道生態(tài)修復(fù)工程規(guī)劃設(shè)計(jì)方案(參考模板)
- 妝容設(shè)計(jì)分享
- 校本教研同步資源-必修3單元測(cè)U2英語(yǔ)試卷含解析
- 宿遷澤達(dá)職業(yè)技術(shù)學(xué)院《管理會(huì)計(jì)理論與實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建信息職業(yè)技術(shù)學(xué)院《地球系統(tǒng)數(shù)值模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 和田師范專科學(xué)?!峨娮由虅?wù)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 楊凌職業(yè)技術(shù)學(xué)院《進(jìn)出口業(yè)務(wù)模擬操作》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏藝術(shù)職業(yè)學(xué)院《專題設(shè)計(jì)V》2023-2024學(xué)年第二學(xué)期期末試卷
- 小學(xué)思政課《愛(ài)國(guó)主義教育》
- 09《馬克思主義政治經(jīng)濟(jì)學(xué)概論(第二版)》第九章
- 啟動(dòng)調(diào)試期間設(shè)備代保管管理制度
- 鋼質(zhì)防火門(mén)安裝施工工藝
- 婦產(chǎn)科學(xué)教學(xué)課件:女性生殖系統(tǒng)炎癥
- 大學(xué)關(guān)于進(jìn)一步改進(jìn)工作作風(fēng)、密切聯(lián)系師生的若干規(guī)定
- 作風(fēng)建設(shè)試題
- Proworks消防控制室圖形顯示裝置用戶手冊(cè)要點(diǎn)
- GB/T 4100-2015陶瓷磚
- GB/T 40106-2021人文社會(huì)科學(xué)智庫(kù)評(píng)價(jià)指標(biāo)體系
- GB/T 21663-2019小容量隱極同步發(fā)電機(jī)技術(shù)要求
評(píng)論
0/150
提交評(píng)論