dsp應用原理課程設計---基于tms320f2812 dsp處理器的信號儀的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  電子通信工程系</b></p><p>  DSP原理及應用課程設計報告</p><p>  設計題目:基于TMS320F2812 DSP處理器的信號儀的設計與實現(xiàn)</p><p><b>  引言</b></p><p><b>  二、設計目的</b

2、></p><p>  1、編寫串行外設接口SPI的驅動程序;</p><p>  2、了解數(shù)模轉換的基本操作,設計基于數(shù)模轉換芯片AD7303的正弦信號發(fā)生電路;</p><p>  3、編寫TMS320F2812利用SPI接口驅動AD7303輸出正弦信號波形的應用程序。</p><p><b>  三、設計要求</b

3、></p><p><b>  四、總體設計</b></p><p><b>  4.1硬件部分</b></p><p>  4.1.1數(shù)模轉換操作的應用基礎</p><p>  利用專用的數(shù)模轉換芯片,可以實現(xiàn)將數(shù)字信號轉換成模擬量輸出的功能。在EXPIV型實驗箱上,使用的是AD7303數(shù)模

4、芯片,它可以實現(xiàn)同時轉換2路模擬信號數(shù)出,并有8位精度,DA轉換時間1.2μs。其控制方式較為簡單:首先將需要轉換的數(shù)值及控制指令同時通過SPI總線傳送到AD7303上相應寄存器,經(jīng)過一個時間延遲,轉換后的模擬量就從AD7303輸出引腳輸出。</p><p>  4.1.2 AD7303簡介</p><p>  AD7303是一款雙通道、8位電壓輸出DAC,采用+2.7 V至+5.5 V單

5、電源供電。它內置片內精密輸出緩沖,能夠實現(xiàn)軌到軌輸出擺幅。這款器件采用多功能三線式串行接口,能夠以最高30MHz的時鐘速率工作,并與QSPI、SPI、MICROWIRE以及數(shù)字信號處理器接口標準兼容。串行輸入寄存器為16位,其中8位用作DAC的數(shù)據(jù)位,其余8位組成一個控制寄存器。</p><p>  圖1 數(shù)字量與輸出模擬量換算表</p><p>  圖2 輸入移位寄存器</p>

6、;<p>  圖3 AD7303輸入移位寄存器位定義及設置方式</p><p>  4.1.3 應用AD7303的DAC電路設計</p><p>  圖4 AD7303電路設計</p><p><b>  4.2 軟件部分</b></p><p>  4.2.1 程序流程圖</p><p

7、>  4.2.2 在CCS集成開發(fā)環(huán)境下新建工程</p><p>  4.2.3在Simulator環(huán)境下觀察信號的時域及FFT Magnitude波形</p><p>  4.2.4 程序清單</p><p>  ;*************************************************************/</p>

8、<p>  /*----------------------- 文件信息 ---------------------------- </p><p><b>  ;* </b></p><p>  ;* 文件名稱 : Example_DSP281x_da.c </p>

9、;<p>  ;* 適用平臺 : DSP專家4實驗箱</p><p>  ;* CPU類型 : DSP TMS320F2812 </p><p>  ;* 軟件環(huán)境 : CCS2.20 (2000系列)</p><p>  ;* 試驗接線 : 1、F2812CPU板的JUMP1的2和3腳短接,JUMP2的1和2腳短接;</p><

10、p>  ;* 2、實驗箱底板的開關K9撥到右側,選擇CPU2.</p><p>  ;* 試驗現(xiàn)象 : 設置好CCS的環(huán)境,打開本工程,編譯、下載、運行。</p><p>  ;* 利用示波器觀察實驗箱DA單元的二號孔"輸出1"有正弦波輸出。</p><p>  ;* 地址譯碼說明:基地址(0x8

11、0000) </p><p>  */ </p><p>  /***************************頭文件*******************************/</p><p>  #include "DSP281x_Device.h" // DSP281x

12、 Headerfile Include File</p><p>  #include "DSP281x_Examples.h" // DSP281x Examples Include File</p><p>  #include "math.h"</p><p>  #define pi 3.1415926</p

13、><p>  unsigned int curve[128]; </p><p>  unsigned int curve1[128]; </p><p>  unsigned int curve2[128];</p><p>  // Prototype statements for functions found within this fi

14、le.</p><p>  // interrupt void ISRTimer2(void);</p><p>  void spi_init(void);</p><p>  //void spi_fifo_init(void);</p><p>  void delay(void); </p><p>  voi

15、d main(void)</p><p><b>  {</b></p><p>  int i,p,data;</p><p>  // Step 1. Initialize System Control:</p><p>  // PLL, WatchDog, enable Peripheral Clocks<

16、/p><p>  // This example function is found in the DSP281x_SysCtrl.c file.</p><p>  InitSysCtrl();</p><p>  // Step 2. Initalize GPIO: </p><p>  // This example function is

17、 found in the DSP281x_Gpio.c file and</p><p>  // illustrates how to set the GPIO to it's default state.</p><p>  // InitGpio(); // Skipped for this example </p><p>  // Setup

18、 only the GP I/O only for SPI functionality</p><p><b>  EALLOW;</b></p><p>  GpioMuxRegs.GPFMUX.all=0x000F;// Select GPIOs to be SPI pins </p><p>  // Port F MUX - x00

19、0 0000 0000 1111</p><p><b>  EDIS;</b></p><p>  // Step 3. Clear all interrupts and initialize PIE vector table:</p><p>  // Disable CPU interrupts </p><p>

20、<b>  DINT;</b></p><p>  // Initialize PIE control registers to their default state.</p><p>  // The default state is all PIE interrupts disabled and flags</p><p>  // ar

21、e cleared. </p><p>  // This function is found in the DSP281x_PieCtrl.c file.</p><p>  InitPieCtrl();</p><p>  // Disable CPU interrupts and clear all CPU interrupt flags:</p>

22、;<p>  IER = 0x0000;</p><p>  IFR = 0x0000;</p><p>  // Initialize the PIE vector table with pointers to the shell Interrupt </p><p>  // Service Routines (ISR). </p>

23、<p>  // This will populate the entire table, even if the interrupt</p><p>  // is not used in this example. This is useful for debug purposes.</p><p>  // The shell ISR routines are foun

24、d in DSP281x_DefaultIsr.c.</p><p>  // This function is found in DSP281x_PieVect.c.</p><p>  InitPieVectTable();</p><p>  // Step 4. Initialize all the Device Peripherals:</p>

25、<p>  // This function is found in DSP281x_InitPeripherals.c</p><p>  // InitPeripherals(); // Not required for this example</p><p>  // spi_fifo_init(); // Initialize the Spi FIFO<

26、;/p><p>  spi_init(); // init SPI</p><p>  for(i=0; i<128;i++) </p><p><b>  {</b></p><p>  /*產(chǎn)生128個點的正弦信號波形*/</p><p>  data=(int)(127.5*(1+

27、sin(2*pi*i/127))); </p><p>  curve[i]=data; </p><p>  /*將數(shù)據(jù)打包成“從移位寄存器到DAC A數(shù)據(jù)寄存器*/ </p><p>  curve1[i]=data&0x00ff|0x0100; </p><p>  /*將數(shù)據(jù)打包成“從移位寄存器

28、到DAC B數(shù)據(jù)寄存器 </p><p>  且用數(shù)據(jù)寄存器同時更新A和B兩個DA的值*/ </p><p>  curve2[i]=data&0x00ff|0x2500; </p><p><b>  }</b></p><p><b>  for(;;)</b></p

29、><p><b>  { </b></p><p>  for(p=0;p<128;p++)</p><p><b>  {</b></p><p>  /*將數(shù)據(jù)寫入AD7303*/</p><p>  SpiaRegs.SPITXBUF=curve1[p]; &

30、lt;/p><p><b>  delay();</b></p><p>  /*將數(shù)據(jù)寫入AD7303*/</p><p>  SpiaRegs.SPITXBUF=curve2[p]; </p><p><b>  delay();</b></p><p><b&g

31、t;  } </b></p><p><b>  }</b></p><p><b>  } </b></p><p>  void spi_init()</p><p><b>  { </b></p><p>  SpiaRegs

32、.SPICCR.bit.SPISWRESET=0; // Reset SCI</p><p>  SpiaRegs.SPICCR.all =0x000F; // Reset on, rising edge, 16-bit char bits </p><p>  SpiaRegs.SPICTL.all =0x000E; // Enable m

33、aster mode, normal phase,</p><p>  SpiaRegs.SPISTS.all=0x0080; // enable talk, and SPI int disabled.</p><p>  SpiaRegs.SPIBRR =0x0000;

34、 // Baud rate; </p><p>  SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission </p><p>  SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SPI

35、 </p><p><b>  }</b></p><p>  void delay(void) //延時子程序</p><p><b>  {</b></p><p>  unsigned int k;</p><p>  for(k=0

36、;k<50;k++);</p><p><b>  }</b></p><p><b>  4.3 調試部分</b></p><p>  4.3.1 硬件調試</p><p>  4.3.2 軟件調試</p><p>  4.3.3 SCI串行數(shù)據(jù)傳輸</p>

37、;<p><b>  五、總結</b></p><p>  通過本實驗的設計,了解了CCS集成開發(fā)環(huán)境的大體使用情況,并會對程序實現(xiàn)跟蹤,了解了數(shù)模轉換的基本操作,并分析了其結果。熟悉了SPI外設接口的相關知識,能通過SPI接口與外圍電路進行通信。通過這次課程設計,讓我對所學的DSP課程有了實在的應用,并對其產(chǎn)生了一些興趣,我會在以后的學習中,繼續(xù)努力學習!雖然在做的過程中,出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論