乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【DSP入門】一文帶你跨過TI TMS320F2803x 首個學習門檻

       西北望msm66g9f 2018-06-15

      摘要

      對于德州儀器(TI)這家公司,相信大家再熟悉不過了,它是全球知名的半導體公司,為現(xiàn)實世界的信號處理提供數(shù)字信號處理(DSP)及模擬器件技術。除半導體業(yè)務外,還提供包括傳感與控制、教育產(chǎn)品和數(shù)字光源處理解決方案。尤其是在數(shù)字開關電源和電機控制方面,C2000?系列的MCU應用尤其廣泛。本文結(jié)合過往的經(jīng)驗,旨在幫助大家快速入門其中的TMS320F2803x 微控制器。


      01 前期準備

      前期準備分為以下幾個方面。

      1. 編譯軟件的獲取和安裝:

      IDE使用CCS(Code Composer Studio) ,目前TI官網(wǎng)已經(jīng)更新到了V7.4.x版本了,該IDE是免費的,可以從以下鏈接獲取。

      http://www./tool/ccstudio


      2. 調(diào)試下載工具準備

      如果不需要Trace功能的話,仿真調(diào)試盒推薦使用xds100V2或者xds100V3,可以去某寶中淘一個,很便宜。如果沒有實際的2803x硬件板子,可以順帶一起買個開發(fā)板。

      下載工具除了CCS外,還可以下載Unitflash軟件。這個軟件還可以用于后續(xù)產(chǎn)品量產(chǎn)后,產(chǎn)線的燒錄軟件:

      http://processors.wiki./index.php/Category:CCS_UniFlash 


      3. 芯片參考手冊收集

      入門最初免不了進行底層驅(qū)動開發(fā),官網(wǎng)的參考手冊必不可少。不像其他家將所有外設介紹匯總在一份參考手冊,TI將各個外設單獨成冊,好在這些文檔的最前面章節(jié)都有匯總了所有參考手冊的下載鏈接:

      http://www..cn/product/cn/TMS320F28035/technicaldocuments

      另外有點需要注意的是,flash,GPIO,PLL的介紹匯總在了TMS320F2803x Piccolo System Control andInterrupts.pdf中。害我當初好一陣找。


      4. 外設例程

      這個就不用再去各種論壇求爺爺告奶奶問別人要。這邊提供兩種方式獲取。一種是你安裝好CCS以后,主頁有Browse Examples選項,點擊進去以后選擇相應的芯片信號即可查看各種外設例程。

      另外一種就是去TI官網(wǎng)下載Control Suit軟件,里面有各種資源,包括源碼和一些培訓資料。



      02 開始學習

      有了前面的準備后,入門就很輕松了。如果還沒熟悉CCS的使用和工程的搭建,不妨導入上面第四點中已經(jīng)下載的工程,查看下工程配置,然后實際下載到目標板子上看看。無論是何種IDE,原理都一樣,如果你之前使用過其他IDE,這個就不在話下了。

      外設學習的話,前期你可以先從例程入手,看看例程中是如何進行工程配置的:cmd文件的選擇,編譯選項的設置等。然后對照著外設的總體框圖和寄存器的實際含義,閱讀具體的代碼,理清各個外設原理和配置流程即可。

      學習過程中,如果碰到問題,不妨多看幾次參考手冊,確保理解沒有偏差。實在解決不了的問題,可以去TI的官方論壇咨詢。TI的官方論壇分為中文和英文的,建議優(yōu)先去英文的論壇咨詢,那邊給予的回復專業(yè)一些。https://e2e./ 


      03 分享幾個注意事項

      分享幾個自己在使用這款芯片過程中碰到的問題。

      1.  DSP C2000系列的DSP的最小存儲單位是16bit,即便你定義一個Uint8的變量,實質(zhì)上它也是占用了16bit。所以在使用聯(lián)合體,計算空間大小等一些涉及到存儲的地方,需要格外注意。

      2. 為了加快代碼在Flash中的運行速度,記得enable flash的Pipeline模式,使不使能這個模式運行速度相差了好幾倍。詳情可以參考例程代碼文件:DSP2803x_SysCtrl.c,里面提供了如何配置的代碼。

      3. 部分外設的初始化有用到了__DSP28x_usDelay函數(shù)進行延時等待,但是這個函數(shù)是放在RAMfunction區(qū)域,所以生效的前提是RAMfunction的備份代碼已經(jīng)copy到了RAM區(qū)。相應的copy函數(shù)為:memcpy((uint16_t *)&RamfuncsRunStart,(uint16_t *)&RamfuncsLoadStart, (unsigned long)&RamfuncsLoadSize)。 詳情可以參考flash_f28035\Example_2803xFlash.c

      4. ADC中斷對應通道是SOC序號,不是ADC通道的序號:例如ADCA0的通道序號是0,如果將其配置到SOC2,那么ADC中斷進行綁定通道時,要用序號2.

      5. 進行CANID配置前,一定要記得先禁用此MB,否則更改不會生效。

      6. 如果按位進行配置寄存器,建議先定義影子寄存器,將想要配置的位配完以后,再一次性賦值給寄存器,例子如下。在使用過程中,發(fā)現(xiàn)CAN相關的寄存器如果不這樣操作,有的時候會更新錯誤。

          struct ECAN_REGS ECanaShadow;

          EALLOW;

          ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;

          ECanaShadow.CANMC.bit.STM = 1;    

          ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;

          EDIS;


          除了上述的事項以外,其實還碰到其他坑,限于篇幅,就先列這些。改天弄個匯總貼,單獨來一篇。


      轉(zhuǎn)載是一種動力 分享是一種美德

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多