F2812與 F28335的區別
最大的區別就是 28335 是浮點的,而 2812 是定點的。
F2812 主要指標
150 MHz/EMIF /128KB Flash/36KB RAM/GPIO 56路/McBSP/176-pin Package
F28335 主要指標
300 MFLOPS/獨立 DMA/512KB Flash/68 KB RAM/32-bit EMI/GPIO 88 路
還有一點 28335 將2812 的EV分解成了相互獨立的 epwm,ecap,eq 三個模塊互相之間互不
干擾,因此可以比較方便地實現復雜的信號輸出。尤其是epwm相對于EV中的pwm輸出功能,
有了很大的提高。
F28335 比F2812 多了一個 MAC單元,也就是速度增加了一倍。
F28335 是帶浮點運算的,動態范圍更大。
F2833x 的執行速度,比相同時鐘頻率的 F28xx 系列定點芯片,快 50%。處理數學運算性能提
升 2.45倍,控制算法性能提升 1.57倍,DSP 性能提升 1.38 倍。總體性能提升近 2倍。
TMS320F28335 的 ADC
TMS320F28335 上有 16 通道、12位的模數轉換器 ADC。他可以被配置為兩個獨立的 8 通道輸
入模式,也可以通過配置 AdcRegs.ADCTRL1.bit.SEQ_CASC=1,將其設置為一個 16通道的級
聯輸入模式。輸入的方式可以通過配置 AdcRegs.ADCTRL1.bit.ACQ_PS=1,將其設置為順序
采集。即從低通道開始到高通道結束。
值得注意的是片上ADC的輸入電壓范圍為0--3V,一旦超過3V,片上的ADC模塊將會被燒掉。
TI 上的DATASHEET 介紹其 ADC的精度可達到 12位,實際上達到不了。經測試,我們估計最
好的時候可以達到 11位就不錯了。下面我們來簡單介紹一下 ADC 模塊的原理。其數字值由
下面公司來計算,其中公式中的 3為片內參考電壓 Digital Value=4096*(Input Analog
Voltage-ADCLO)/3 ;(when 0 V < input < 3 V)。ADC 可以分為SEQ1 和 SEQ2 兩個模塊,
其中 SEQ1 包括 ADCIN00--ADCIN07; SEQ2包括 ADCIN08--ADCIN15。 SEQ1 模塊可以通過軟件、
PWM、外部中斷引腳來啟動,而 SEQ2不可以通過外部中斷引腳來啟動。另外就是 ADC 可以與
DMA 進行數據交換。
TMS320F28335 的時鐘介紹
TMS320F28335上有一個基于PLL電路的片上時鐘模塊,為CPU及外設提供時鐘有兩種方式:
一種是用外部的時鐘源,將其連接到 X1引腳上或者 XCLKIN 引腳上,X2 接地;另一種是使
用振蕩器產生時鐘,用 30MHz的晶體和兩個 20PF 的電容組成的電路分別連接到 X1和 X2引
腳上,XCLKIN 引腳接地。我們常用第二種來產生時鐘。此時鐘將通過一個內部 PLL鎖相環
電路,進行倍頻。由于 F28335的最大工作頻率是 150M,所以倍頻值最大是 5。其中倍頻值
由 PLLCR的低四位和PLLSTS 的第 7、8位來決定。其詳細的倍頻值可以參照 TMS320F28335
的Datasheet。下面是 F28335的時鐘設置:
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
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;
}
}
如果我們希望 DSP 工作在某一個頻率下,我們就可以對 Uint16 val, Uint16 divsel 兩個參
數進行設定。
TMS320F28335 外部中斷總結
在這里我們要十分清楚 DSP的中斷系統。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的中斷
標志寄存器由硬件來清零。
完整的pdf格式文檔51黑下載地址(共21頁):
2812與28335的區別.pdf
(428.45 KB, 下載次數: 71)
2018-11-28 15:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|