新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 帶你了解TI的DSP入門芯片TMS320F28335

帶你了解TI的DSP入門芯片TMS320F28335

作者: 時(shí)間:2012-08-21 來(lái)源:網(wǎng)絡(luò) 收藏

  if((divsel == 1)||(divsel == 2))

  {

  EALLOW;

  SysCtrlRegs.PLLSTS.bit.DIVSEL = divsel;

  EDIS;

  }

  // If switching to 1/1

  // * First go to 1/2 and let the power settle

  // The time required will depend on the system, this is only an example

  // * Then switch to 1/1

  if(divsel == 3)

  {

  EALLOW;

  SysCtrlRegs.PLLSTS.bit.DIVSEL = 2;

  DELAY_US(50L);

  SysCtrlRegs.PLLSTS.bit.DIVSEL = 3;

  EDIS;

  }

  }

TMS320F28335 的外部中斷總結(jié):

  在這里我們要十分清楚的中斷系統(tǒng)。C28XX一共有16個(gè)中斷源,其中有2個(gè)不可屏蔽的中斷RESET和NMI、定時(shí)器1和定時(shí)器2分別使用中斷13和14。這樣還有12個(gè)中斷都直接連接到外設(shè)中斷擴(kuò)展模塊PIE上。說(shuō)的簡(jiǎn)單一點(diǎn)就是PIE通過(guò)12根線與28335核的12個(gè)中斷線相連。而PIE的另外一側(cè)有12*8根線分別連接到外設(shè),如AD、SPI、EXINT等等。這樣PIE共管理12*8=96個(gè)外部中斷。這12組大中斷由28335核的中斷寄存器IER來(lái)控制,即IER確定每個(gè)中斷到底屬于哪一組大中斷(如IER |= M_INT12;說(shuō)明我們要用第12組的中斷,但是第12組里面的什么中斷CPU并不知道需要再由PIEIER確定 )。接下來(lái)再由PIE模塊中的寄存器PIEIER中的低8確定該中斷是這一組的第幾個(gè)中斷,這些配置都要告訴CPU(我們不難想象到PIEIER共有12總即從PIEIER1-PIEIER12)。另外,PIE模塊還有中斷標(biāo)志寄存器PIEIFR,同樣它的低8位是來(lái)自外部中斷的8個(gè)標(biāo)志位,同樣CPU的IFR寄存器是中斷組的標(biāo)志寄存器。由此看來(lái),CPU的所有中斷寄存器控制12組的中斷,PIE的所有中斷寄存器控制每組內(nèi)8個(gè)的中斷。除此之外,我們用到哪一個(gè)外部中斷,相應(yīng)的還有外部中斷的寄存器,需要注意的就是外部中斷的標(biāo)志要自己通過(guò)軟件來(lái)清零。而PIE和CPU的中斷標(biāo)志寄存器由硬件來(lái)清零。

  EALLOW; // This is needed to write to EALLOW protected registers

  PieVectTable.XINT2 = ISRExint; //告訴中斷入口地址

  EDIS; // This is needed to disable write to EALLOW protected registers

  PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block使能PIE

  PieCtrlRegs.PIEIER1.bit.INTx5= 1; //使能第一組中的中斷5

  IER |= M_INT1; // Enable CPU 第一組中斷

  EINT; // Enable Global interrupt INTM

  ERTM; // Enable Global realtime interrupt DBGM

  也就是說(shuō),12組中的每個(gè)中斷都要完成上面的相同配置,剩下的才是去配置自己的中斷。如我們提到的EXINT,即外面來(lái)個(gè)低電平我們就進(jìn)入

  中斷,完成我們的程序。在這里要介紹一下,的GPIO口都可以配置為外部中斷口,其配置方法如下:

  GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 0; //選擇他們是GPIO口

  GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 0;

  GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0;

  GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0;

  GpioCtrlRegs.GPBDIR.bit.GPIO54 = 0;//選擇他們都是輸入口

  GpioCtrlRegs.GPBDIR.bit.GPIO55 = 0;

  GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0;

  GpioCtrlRegs.GPBDIR.bit.GPIO57 = 0;

  GpioCtrlRegs.GPBQSEL2.bit.GPIO54= 0;//GPIO時(shí)鐘和系統(tǒng)時(shí)鐘一樣且支持GPIO

  GpioCtrlRegs.GPBQSEL2.bit.GPIO55= 0;

  GpioCtrlRegs.GPBQSEL2.bit.GPIO56= 0;

  GpioCtrlRegs.GPBQSEL2.bit.GPIO57= 0;

  GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 54;//中斷3選擇GPIO

  GpioIntRegs.GPIOXINT4SEL.bit.GPIOSEL = 55;

  GpioIntRegs.GPIOXINT5SEL.bit.GPIOSEL = 56;

  GpioIntRegs.GPIOXINT6SEL.bit.GPIOSEL = 57;

  XIntruptRegs.XINT3CR.bit.POLARITY= 0;//觸發(fā)模式為下降沿觸發(fā)

  XIntruptRegs.XINT4CR.bit.POLARITY= 0;

  XIntruptRegs.XINT5CR.bit.POLARITY= 0;

  XIntruptRegs.XINT6CR.bit.POLARITY= 0;

  XIntruptRegs.XINT3CR.bit.ENABLE = 1;//使能中斷

  XIntruptRegs.XINT4CR.bit.ENABLE = 1;

  XIntruptRegs.XINT5CR.bit.ENABLE = 1;

  XIntruptRegs.XINT6CR.bit.ENABLE = 1;

  注意一點(diǎn)就是外部中斷1和2只能對(duì)GPIO0—GPIO31配置;外部中斷3和4、5、6、7只對(duì)GPIO32—GPIO63配置。

基于信號(hào)處理板的設(shè)計(jì)與實(shí)現(xiàn)

  硬件系統(tǒng)設(shè)計(jì)

  1.1 方案概述

  該系統(tǒng)主要功能是DSC通過(guò)ADC采樣對(duì)12路模擬信號(hào)進(jìn)行同時(shí)采樣。在DSC中進(jìn)行數(shù)據(jù)處理后通過(guò)異步串行收發(fā)器上傳到上位機(jī)。同時(shí),上位機(jī)也可以通過(guò)異步收發(fā)器向DSC發(fā)送預(yù)先制定的命令,來(lái)控制信號(hào)處理板的工作模式和狀態(tài)。

  按照功能要求,整個(gè)硬件電路可分為3部分:電源模塊、數(shù)字部分和模擬部分。其功能結(jié)構(gòu)框圖如圖1所示。

  

  1.2 電源模塊設(shè)計(jì)

  整個(gè)處理板的外部輸入電壓為5 V和±12 V,分別通過(guò)對(duì)應(yīng)的電壓轉(zhuǎn)換為模擬和數(shù)字部分提供不同的電壓幅值。對(duì)于數(shù)字部分,電源模塊需要為DSC提供1.9 V的核電壓,同時(shí)為DSC的外圍和其他提供3.3 V的外圍電壓。本系統(tǒng)選用LT1963AES8集成芯片提供1.9 V,LT1963AEST-3.3集成芯片提供3.3 V。對(duì)于模擬部分,系統(tǒng)要求輸入ADC的信號(hào)幅值范圍在±12V內(nèi),所以系統(tǒng)分別選用LT1086IT-12和LT11 75IT把輸入的±15V電壓轉(zhuǎn)換成±12V。

  1.3 數(shù)字電路設(shè)計(jì)

  數(shù)字部分電路主要是以DSC為中心的應(yīng)用電路。該部分主要是對(duì)ADC傳送的數(shù)據(jù)進(jìn)行處理、存儲(chǔ),同時(shí)完成DSC同上位機(jī)的通信和數(shù)據(jù)傳輸。由圖1可以看到,它包含以下幾個(gè)部分。外圍SRAM擴(kuò)展,EEPROM擴(kuò)展電路,SCI上位機(jī)通信接口電路。

  1.3.1 外圍SRAM擴(kuò)展

  考慮到片內(nèi)的RAM資源有限,加上程序空間和數(shù)據(jù)空間RAM僅為34 kB,16位數(shù)據(jù)寬度,從而需要對(duì)片內(nèi)的RAM進(jìn)行擴(kuò)展,來(lái)滿足較大量程序的運(yùn)行。本系統(tǒng)選用Cypress公司的CY7C1011CV33-12ZSXE集成芯片,利用提供的XINTF接口完成片外RAM的擴(kuò)展。

c++相關(guān)文章:c++教程


模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


關(guān)鍵詞: 芯片 TMS320F28335 入門 DSP TI 了解

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉