www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]帶你了解TI的DSP入門(mén)芯片TMS320F28335

作為一個(gè)電子硬件工程師,怎么不能懂DSP,或者我們中有一些同學(xué)對(duì)DSP的理解還不是很多,今天就讓我們給大家介紹一個(gè)DSP的入門(mén)芯片,來(lái)自TITMS320F28335。相信看過(guò)了這一系列的內(nèi)容,大家會(huì)對(duì)DSP有初步的了解。

     TMS320F28335簡(jiǎn)介:

  TMS320F28335采用176引腳LQFP四邊形封裝,其功能結(jié)構(gòu)參見(jiàn)參考文獻(xiàn)。其主要性能如下:

  高性能的靜態(tài)CMOS技術(shù),指令周期為6.67 ns,主頻達(dá)150 MHz;

  高性能的32位CPU,單精度浮點(diǎn)運(yùn)算單元(FPU),采用哈佛流水線(xiàn)結(jié)構(gòu),能夠快速執(zhí)行中斷響應(yīng),并具有統(tǒng)一的內(nèi)存管理模式,可用C/C++語(yǔ)言實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)算法;

  6通道的DMA控制器;

  片上256 Kxl6的Flash存儲(chǔ)器,34 Kxl6的SARAM存儲(chǔ)器.1 Kx16 OTPROM和8 Kxl6的Boot ROM。其中Flash,OTPROM,16 Kxl6的SARAM均受密碼保護(hù);

  控制時(shí)鐘系統(tǒng)具有片上振蕩器,看門(mén)狗模塊,支持動(dòng)態(tài)PLL調(diào)節(jié),內(nèi)部可編程鎖相環(huán),通過(guò)軟件設(shè)置相應(yīng)寄存器的值改變CPU的輸入時(shí)鐘頻率;

  8個(gè)外部中斷,相對(duì)TMS320F281X系列的DSP,無(wú)專(zhuān)門(mén)的中斷引腳。GPI00~GPI063連接到該中斷。GPI00一GPI031連接到XINTl,XINT2及XNMI外部中斷,GPl032~GPI063連接到XINT3一XINT7外部中斷;

  支持58個(gè)外設(shè)中斷的外設(shè)中斷擴(kuò)展控制器(PIE),管理片上外設(shè)和外部引腳引起的中斷請(qǐng)求;

  增強(qiáng)型的外設(shè)模塊:18個(gè)PWM輸出,包含6個(gè)高分辨率脈寬調(diào)制模塊(HRPWM)、6個(gè)事件捕獲輸入,2通道的正交調(diào)制模塊(QEP);

  3個(gè)32位的定時(shí)器,定時(shí)器0和定時(shí)器1用作一般的定時(shí)器,定時(shí)器0接到PIE模塊,定時(shí)器1接到中斷INTl3;定時(shí)器2用于DSP/BIOS的片上實(shí)時(shí)系統(tǒng),連接到中斷INTl4,如果系統(tǒng)不使用DSP/BIOS,定時(shí)器2可用于一般定時(shí)器;

  串行外設(shè)為2通道CAN模塊、3通道SCI模塊、2個(gè)McBSP(多通道緩沖串行接口)模塊、1個(gè)SPI模塊、1個(gè)I2C主從兼容的串行總線(xiàn)接口模塊;

  12位的A/D轉(zhuǎn)換器具有16個(gè)轉(zhuǎn)換通道、2個(gè)采樣保持器、內(nèi)外部參考電壓,轉(zhuǎn)換速度為80 ns,同時(shí)支持多通道轉(zhuǎn)換;

  88個(gè)可編程的復(fù)用GPIO引腳;

  低功耗模式;

  1.9 V內(nèi)核,3.3 V I/O供電;

  符合IEEEll49.1標(biāo)準(zhǔn)的片內(nèi)掃描仿真接口(JTAG);TMS320F28335的存儲(chǔ)器映射需注意以下幾點(diǎn):

  片上外設(shè)寄存器塊0~3只能用于數(shù)據(jù)存儲(chǔ)區(qū),用戶(hù)不能在該存儲(chǔ)區(qū)內(nèi)寫(xiě)入程序。

  OTP ROM區(qū)(0x38 0000~0x38 03FF)為只讀空間,存儲(chǔ)A/D轉(zhuǎn)換器的校準(zhǔn)程序,用戶(hù)不能對(duì)此空間寫(xiě)入程序。

  即使不應(yīng)用eCAN模塊,也應(yīng)使能時(shí)鐘模塊,將為eCAN分配的RAM空間用作一般RAM。

  如果設(shè)置安全代碼,存儲(chǔ)器區(qū)域Ox33FF80~0x33FFF5需全部寫(xiě)入數(shù)據(jù)0x0000,而不能用于存儲(chǔ)程序或數(shù)據(jù)。反之,0x33FF80~Ox33FEF可以存儲(chǔ)數(shù)據(jù)或程序,其中0x33FFF0~Ox33FFF5只能存儲(chǔ)數(shù)據(jù)。

  仿真工具和開(kāi)發(fā)環(huán)境:

  TMS320F28335開(kāi)發(fā)工具有:標(biāo)準(zhǔn)的優(yōu)化C/C++編譯/匯編/連接器,CCS集成開(kāi)發(fā)環(huán)境,評(píng)估板和XDS510仿真器。其中CCS是一個(gè)界面友好,功能完善的集成的開(kāi)發(fā)平臺(tái),具有編輯、匯編、編譯、軟硬件仿真調(diào)試功能。

  TMS320F28335 的ADC:

  TMS320F28335上有16通道、12位的模數(shù)轉(zhuǎn)換器ADC。他可以被配置為兩個(gè)獨(dú)立的8通道輸入模式,也可以通過(guò)配置AdcRegs.ADCTRL1.bit.SEQ_CASC=1,將其設(shè)置為一個(gè)16通道的級(jí)聯(lián)輸入模式。輸入的方式可以通過(guò)配置 AdcRegs.ADCTRL1.bit.ACQ_PS=1,將其設(shè)置為順序采集。即從低通道開(kāi)始到高通道結(jié)束。 值得注意的是片上ADC的輸入電壓范圍為0--3V,一旦超過(guò)3V,片上的ADC模塊將會(huì)被燒掉。TI上的DATASHEET介紹其ADC的精度可達(dá)到12位,實(shí)際上達(dá)到不了。經(jīng)測(cè)試,我們估計(jì)最好的時(shí)候可以達(dá)到11位就不錯(cuò)了。下面我們來(lái)簡(jiǎn)單介紹一下ADC模塊的原理。其數(shù)字值由下面公司來(lái)計(jì)算,其中公式中的3為片內(nèi)參考電壓Digital Value=4096*(Input Analog Voltage-ADCLO)/3 ;(when 0 V 《 input 《 3 V)。ADC可以分為SEQ1和SEQ2兩個(gè)模塊,其中SEQ1包括ADCIN00--ADCIN07;SEQ2包括ADCIN08--ADCIN15。SEQ1模塊可以通過(guò)軟件、PWM、外部中斷引腳來(lái)啟動(dòng),而SEQ2不可以通過(guò)外部中斷引腳來(lái)啟動(dòng)。另外就是ADC可以與DMA進(jìn)行數(shù)據(jù)交換。
 

TMS320F28335 的時(shí)鐘介紹:

  TMS320F28335上有一個(gè)基于PLL電路的片上時(shí)鐘模塊,為CPU及外設(shè)提供時(shí)鐘有兩種方式:一種是用外部的時(shí)鐘源,將其連接到X1引腳上或者XCLKIN引腳上,X2接地;另一種是使用振蕩器產(chǎn)生時(shí)鐘,用30MHz的晶體和兩個(gè)20PF的電容組成的電路分別連接到X1和X2引腳上,XCLKIN引腳接地。我們常用第二種來(lái)產(chǎn)生時(shí)鐘。此時(shí)鐘將通過(guò)一個(gè)內(nèi)部PLL鎖相環(huán)電路,進(jìn)行倍頻。由于F28335的最大工作頻率是150M,所以倍頻值最大是5。其中倍頻值由PLLCR的低四位和PLLSTS的第7、8位來(lái)決定。其詳細(xì)的倍頻值可以參照TMS320F28335的Datasheet。下面是F28335的時(shí)鐘設(shè)置:

  void InitPll(Uint16 val, Uint16 divsel)

  {

  // Make sure the PLL is not running in limp mode

  if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 0)

  {

  // Missing external clock has been detected

  // Replace this line with a call to an appropriate

  // SystemShutdown(); function.

  asm(“ ESTOP0”);

  }

  // DIVSEL MUST be 0 before PLLCR can be changed from

  // 0x0000. It is set to 0 by an external reset XRSn

  // This puts us in 1/4

  if (SysCtrlRegs.PLLSTS.bit.DIVSEL != 0)

  {

  EALLOW;

  SysCtrlRegs.PLLSTS.bit.DIVSEL = 0;

  EDIS;

  }

  // Change the PLLCR

  if (SysCtrlRegs.PLLCR.bit.DIV != val)

  {

  EALLOW;

  // Before setting PLLCR turn off missing clock detect logic

  SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1;

  SysCtrlRegs.PLLCR.bit.DIV = val;

  EDIS;

  // Optional: Wait for PLL to lock.

  // During this time the CPU will switch to OSCCLK/2 until

  // the PLL is stable. Once the PLL is stable the CPU will

  // switch to the new PLL value.

  //

  // This time-to-lock is monitored by a PLL lock counter.

  //

  // Code is not required to sit and wait for the PLL to lock.

  // However, if the code does anything that is timing critical,

  // and requires the correct clock be locked, then it is best to

  // wait until this switching has completed.

  // Wait for the PLL lock bit to be set.

  // The watchdog should be disabled before this loop, or fed within

  // the loop via ServiceDog()。

  // Uncomment to disable the watchdog

  DisableDog();

  while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)

  {

  // Uncomment to service the watchdog

  // ServiceDog();

  }

  EALLOW;

  SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;

  EDIS;

  }

  // If switching to 1/2[!--empirenews.page--]

  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é):

  在這里我們要十分清楚DSP的中斷系統(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根線(xiàn)與28335核的12個(gè)中斷線(xiàn)相連。而PIE的另外一側(cè)有12*8根線(xiàn)分別連接到外設(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)入

  中斷,完成我們的程序。在這里要介紹一下,DSP的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配置。
 

基于TMS320F28335信號(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ò)展

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

  XINTF是TMS320F28335所提供的一個(gè)非復(fù)用異步總線(xiàn),用來(lái)完成外部異步器件的擴(kuò)展。XINTF可以映射外設(shè)到3個(gè)固定的內(nèi)存映射區(qū)域,當(dāng)外部資源掛接到某個(gè)區(qū)域時(shí),則需要通過(guò)XINTF的一個(gè)片選信號(hào)來(lái)進(jìn)行外部資源的選定。

  CY7C1011CV33-12ZSXE是一個(gè)CMOS的靜態(tài)RAM存儲(chǔ)器,其容量大小為64 kB,16位數(shù)據(jù)寬度。圖2是外圍SRAM擴(kuò)展電路連接圖。

  

  如圖2所示,本系統(tǒng)選用ZONE7區(qū)域作為RAM的外圍擴(kuò)展。DSC通過(guò)其XZCS7管腳向片外SRAM發(fā)送片選信號(hào)。WE信號(hào)用來(lái)控制DSC對(duì)片外SRAM的讀寫(xiě),當(dāng)DSC的XWEo管腳為低電平,則DSC對(duì)片外RAM進(jìn)行讀寫(xiě)操作;XWEo為高電平,同時(shí)DSC的XRD管腳為低電平,則為讀操作。

  1.3.2 EEPROM擴(kuò)展

  考慮到系統(tǒng)在加電后,需要對(duì)一些設(shè)備的狀態(tài)進(jìn)行一些初始化,而這些初始化的數(shù)據(jù)在設(shè)備運(yùn)轉(zhuǎn)時(shí)又需要不斷改變。因此,在設(shè)備運(yùn)轉(zhuǎn)過(guò)程中,實(shí)時(shí)將數(shù)據(jù)加以保存,以至于設(shè)備斷電后數(shù)據(jù)依舊存在。本系統(tǒng)利用TMS320F28335的SPI接口外擴(kuò)了一個(gè)EEPROM保存設(shè)備運(yùn)轉(zhuǎn)時(shí)實(shí)時(shí)獲取的初始化數(shù)據(jù)。本系統(tǒng)選用Atmel公司的AT25160集成芯片。該芯片的容量為2 kB,其寬度為8位數(shù)據(jù)寬度。模塊電路如圖3所示。

  

  如圖3所示,DSC通過(guò)SPISTEA管腳發(fā)送片選信號(hào)選中EEPROM,通過(guò)SPICLKA管腳發(fā)送SPI傳輸時(shí)鐘,而數(shù)據(jù)的寫(xiě)入和讀出則分別通過(guò)SPIS-IMOA和SPISOMIA管腳完成。EEPROM中的HOLD管腳用來(lái)暫停與主設(shè)備間串行數(shù)據(jù)傳輸,WP管腳則用來(lái)進(jìn)行對(duì)EEPROM的寫(xiě)保護(hù),如果其為低電平,則主機(jī)無(wú)法向其寫(xiě)人數(shù)據(jù)。系統(tǒng)對(duì)兩管腳輸入高電平,保證EEPROM在讀寫(xiě)操作過(guò)程中一直可以進(jìn)行而不被中斷。

  1.3.3 SCI上位機(jī)通信接口

  為了實(shí)現(xiàn)上位機(jī)同DSC異步的通信和數(shù)據(jù)傳輸,本系統(tǒng)利用TMS320F28335所提供的SCI接口來(lái)完成所需要求。SCI是一個(gè)2線(xiàn)的異步串行端口,即常說(shuō)的UART。其數(shù)據(jù)的收發(fā)支持全雙工通信,內(nèi)部收發(fā)均有一個(gè)16級(jí)的FIFO來(lái)緩存數(shù)據(jù)。為了保證數(shù)據(jù)可靠,SCI提供奇偶校驗(yàn),數(shù)據(jù)溢出檢測(cè)等操作。SCI接口輸出信號(hào)的電平是LV—TTL電氣標(biāo)準(zhǔn),通過(guò)RS232收發(fā)轉(zhuǎn)換器加以驅(qū)動(dòng),獲得RS232電氣標(biāo)準(zhǔn)的信號(hào),以便上位機(jī)接收。
 

 1.4 模擬電路設(shè)計(jì)

  模擬部分電路主要是以ADC為中心的應(yīng)用電路。其主要實(shí)現(xiàn)模擬信號(hào)的處理,采集等工作。其中核心部分為AD轉(zhuǎn)換。

  AD轉(zhuǎn)換部分,主要是通過(guò)數(shù)字采樣來(lái)完成模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)變。本系統(tǒng)選用的ADC芯片是美國(guó)模擬電氣公司的AD7656。模數(shù)轉(zhuǎn)換芯片AD7656是高集成度、6通道6 bit逐次逼近(SAR)型ADC,內(nèi)含1個(gè)2.5 V基準(zhǔn)電壓和基準(zhǔn)緩沖器。該器件的功耗比最接近的同類(lèi)雙極性ADC降低了60%。AD7656在每通道250kb·s-1采樣速率下的精度是同類(lèi)產(chǎn)品的兩倍。可以由引腳和軟件選擇模擬電壓范圍:10 V或5 V;模擬電源電壓范圍為4.75~5.25 V,因而大范圍的工作電壓使其無(wú)需電平轉(zhuǎn)換等其他措施便可以直接與DSC相連;提供有并行和串行接口。可以工作在-40~85℃。標(biāo)準(zhǔn)模式5 V供電,250 kb·s-1時(shí)的功耗為140 mW,待機(jī)時(shí)僅為100μW?;趇COMS技術(shù)制造的AD7656可以滿(mǎn)足工業(yè)領(lǐng)域?qū)Ψ直媛省⒍嗤ǖ?、轉(zhuǎn)換速率和功耗等方面的較高要求。

  AD7656支持和DSC的并口、串口數(shù)據(jù)傳輸,通過(guò)SER/PAR SEL管腳的高低電平的選擇,來(lái)控制采樣后數(shù)字信號(hào)的傳輸方式。當(dāng)其為高電平,則使用串行傳輸方式,反之則使用并行傳輸方式。本系統(tǒng)選用并行傳輸方式。在具體的轉(zhuǎn)換過(guò)程中,每片AD7656內(nèi)部的6條采樣通路可以分為A、B、C共3組,其中每組通路包含2路通路。3組通路可以同時(shí)采樣,也可以單獨(dú)采樣,而每組內(nèi)的兩條通路同時(shí)采樣。管腳CONVSTA,CONVSTB,CONVSTC分別用來(lái)對(duì)A、B、C采樣通路進(jìn)行控制。當(dāng)一個(gè)上升沿電平到達(dá)任一管腳,則該管腳對(duì)應(yīng)模數(shù)轉(zhuǎn)換的2路通路被啟動(dòng),開(kāi)始完成模數(shù)轉(zhuǎn)換。當(dāng)把三管腳連接,3組采樣通路,即所有的6條采樣通路同時(shí)采樣。系統(tǒng)選用3組通路同時(shí)采樣。

  當(dāng)DSC連接有多片ADC時(shí),則需要通過(guò)CS片選管腳來(lái)進(jìn)行ADC的選擇。當(dāng)采樣開(kāi)始,BUSY管腳將從低電平變?yōu)楦唠娖?,在整個(gè)采樣的過(guò)程中,BUSY一直保持高電平,當(dāng)采樣結(jié)束,BUSY則從高電平變?yōu)榈碗娖?,此時(shí)DSC就可以開(kāi)始讀取數(shù)據(jù)。本系統(tǒng)則利用該管腳作為DSC外部中斷源的輸入管腳。當(dāng)BUSY上電平由高變低,則通知DSC產(chǎn)生中斷,來(lái)進(jìn)行數(shù)據(jù)的讀取。

  本系統(tǒng)選用2片AD7656完成12路數(shù)據(jù)采樣,通過(guò)DSC的XINTF ZONE6把ADC設(shè)備映射到DSC上,進(jìn)行數(shù)據(jù)傳輸。通過(guò)地址譯碼和邏輯控制實(shí)現(xiàn)2片ADC同DSC的連接。具體結(jié)構(gòu)如圖4所示。

  

  圖4中左下角為邏輯部分,通過(guò)DSC的地址線(xiàn)BA17和BA18完成對(duì)ADC的選擇??梢缘玫紸DC0和ADC1在DSC中的地址映射為0x180000和0x1400 00。而外部輸入40 kHz的時(shí)鐘,作為ADC的采樣頻率。兩個(gè)ADC對(duì)應(yīng)DSC的同一個(gè)中斷,當(dāng)任意一片ADC采樣完畢,都會(huì)引起DSC的中斷,從而進(jìn)行采樣數(shù)據(jù)的讀取。

  2.系統(tǒng)軟件設(shè)計(jì)

  如前所述,整個(gè)信號(hào)處理板一共有12路模擬信號(hào)通路,通過(guò)傳感器接收到12路模擬信號(hào)。2片AD7656把12路模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳送給TMS320F28335,在TMS320F28335中對(duì)這些采集到的數(shù)據(jù)做相應(yīng)處理后通過(guò)SCI傳送給上位機(jī)。同時(shí)對(duì)有必要保存的數(shù)據(jù)通過(guò)SPI接口保存到EEPROM中。整個(gè)采集、通信過(guò)程由上位機(jī)發(fā)送相關(guān)的命令來(lái)加以控制。程序的流程如圖5所示。

  

  在主函數(shù)中,程序首先完成相應(yīng)模塊的初始化,設(shè)定好CPU運(yùn)行的時(shí)鐘,選定好各個(gè)模塊的工作模式,然后讀取EEPROM中的設(shè)備初始化數(shù)據(jù),后進(jìn)行入等待狀態(tài)。此時(shí)CPU等待ADC采樣的數(shù)據(jù),當(dāng)ADC采樣過(guò)程結(jié)束,則進(jìn)入ADC中斷響應(yīng)函數(shù),在此函數(shù)中,主要完成數(shù)據(jù)的讀取,對(duì)于小信號(hào),通過(guò)程控放大器放大其幅值,然后存儲(chǔ)到自定義的緩存區(qū)中。兩個(gè)串口工作方式均由上位機(jī)發(fā)送命令,從而觸發(fā)SCI的串口收中斷服務(wù)函數(shù)。然后在中斷服務(wù)函數(shù)中完成對(duì)應(yīng)命令要求。系統(tǒng)選用串口1完成采集數(shù)據(jù)向上位機(jī)的傳輸,串口0完成向EEPROM發(fā)送需保存的數(shù)據(jù)和一些相關(guān)操作。而SCI0和SCI1分別對(duì)應(yīng)DSC外設(shè)中斷的INT9.1和INT9.3,外部中斷XINT1對(duì)應(yīng)INT1.4。程序設(shè)置兩個(gè)串口的傳輸速率均為38.4 kb·s-1。

  在設(shè)備工作時(shí),由于SCI1的中斷源是上位機(jī)的命令發(fā)送,系統(tǒng)規(guī)定上位機(jī)每20ms發(fā)送一個(gè)數(shù)據(jù)接受命令,因此SCI1的中斷響應(yīng)周期為td= 20 ms。而由于采樣率為40 kHz,因此ADC的中斷服務(wù)函數(shù)響應(yīng)周期為0.025 ms。系統(tǒng)規(guī)定采集一組數(shù)據(jù)的個(gè)數(shù)為50,那么采集一組數(shù)據(jù)的時(shí)間即為tc=1.25 ms,所以在一次SCI1中斷過(guò)程中,ADC會(huì)采集16組數(shù)據(jù)??紤]到串口傳輸?shù)牟ㄌ芈蕿?8.4kb·s-1,因此傳送一個(gè)16位的數(shù)據(jù)時(shí)間為tt=0.417 ms。而一組數(shù)據(jù)采集時(shí)間加上串口數(shù)據(jù)傳輸?shù)臅r(shí)間為tc+tt=1.667 ms《  4 結(jié)束語(yǔ)

  所設(shè)計(jì)的信號(hào)處理板以TMS320F28335為核心處理器,利用AD7656完成模擬信號(hào)采樣的功能硬件平臺(tái)。TMS320F28335片內(nèi)集成了豐富的外圍資源,通過(guò)驅(qū)動(dòng)軟件的配置和硬件系統(tǒng)的設(shè)計(jì),可以方便、高效地完成大量數(shù)字信號(hào)的處理和運(yùn)算。AD7656的6路模擬信號(hào)采集和16位高精度的模擬信號(hào)采樣,較好地完成了模擬信號(hào)的數(shù)字化轉(zhuǎn)換,減少了模擬信號(hào)采樣的失真。實(shí)驗(yàn)證明,信號(hào)處理板所采集到的數(shù)字信號(hào)的誤差值約為1.37 mV,可達(dá)14位的采樣精度。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉