新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 帶你了解TI的DSP入門芯片TMS320F28335

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

        作者: 時間:2012-08-21 來源:網絡 收藏

          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 的外部中斷總結:

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

          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

          也就是說,12組中的每個中斷都要完成上面的相同配置,剩下的才是去配置自己的中斷。如我們提到的EXINT,即外面來個低電平我們就進入

          中斷,完成我們的程序。在這里要介紹一下,的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時鐘和系統時鐘一樣且支持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;//觸發模式為下降沿觸發

          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;

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

        基于信號處理板的設計與實現

          硬件系統設計

          1.1 方案概述

          該系統主要功能是DSC通過ADC采樣對12路模擬信號進行同時采樣。在DSC中進行數據處理后通過異步串行收發器上傳到上位機。同時,上位機也可以通過異步收發器向DSC發送預先制定的命令,來控制信號處理板的工作模式和狀態。

          按照功能要求,整個硬件電路可分為3部分:電源模塊、數字部分和模擬部分。其功能結構框圖如圖1所示。

          

          1.2 電源模塊設計

          整個處理板的外部輸入電壓為5 V和±12 V,分別通過對應的電壓轉換為模擬和數字部分提供不同的電壓幅值。對于數字部分,電源模塊需要為DSC提供1.9 V的核電壓,同時為DSC的外圍和其他提供3.3 V的外圍電壓。本系統選用LT1963AES8集成芯片提供1.9 V,LT1963AEST-3.3集成芯片提供3.3 V。對于模擬部分,系統要求輸入ADC的信號幅值范圍在±12V內,所以系統分別選用LT1086IT-12和LT11 75IT把輸入的±15V電壓轉換成±12V。

          1.3 數字電路設計

          數字部分電路主要是以DSC為中心的應用電路。該部分主要是對ADC傳送的數據進行處理、存儲,同時完成DSC同上位機的通信和數據傳輸。由圖1可以看到,它包含以下幾個部分。外圍SRAM擴展,EEPROM擴展電路,SCI上位機通信接口電路。

          1.3.1 外圍SRAM擴展

          考慮到片內的RAM資源有限,加上程序空間和數據空間RAM僅為34 kB,16位數據寬度,從而需要對片內的RAM進行擴展,來滿足較大量程序的運行。本系統選用Cypress公司的CY7C1011CV33-12ZSXE集成芯片,利用提供的XINTF接口完成片外RAM的擴展。

        c++相關文章:c++教程


        模數轉換器相關文章:模數轉換器工作原理


        脈寬調制相關文章:脈寬調制原理
        鎖相環相關文章:鎖相環原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 锡林郭勒盟| 水城县| 三明市| 汝城县| 出国| 会东县| 宽城| 福鼎市| 祁东县| 巢湖市| 民权县| 驻马店市| 钟祥市| 当阳市| 仙游县| 乌鲁木齐县| 延边| 凤凰县| 明溪县| 龙里县| 临沭县| 保亭| 苍山县| 巴里| 中西区| 梧州市| 喀什市| 监利县| 加查县| 承德县| 江北区| 清丰县| 安乡县| 梓潼县| 营山县| 靖远县| 榆林市| 井研县| 平昌县| 梅州市| 西平县|