單元模塊介紹
XMC1000的BCCU-亮度色彩控制單元
1 概述
BCCU是亮度色彩控制單元(Brightness and Color Control Unit),用于控制多至9個不同的LED。
通過12bit的Delta Sigma反變換把亮度控制值轉(zhuǎn)換為比特流。這種結(jié)構(gòu)使得BCCU還可以連接一個外部RC電路作為DAC使用。
XMC1000系列中,XMC1200和XMC1300帶有BCCU模塊
2 特性
1)包括3個獨立的Dimming Engine(亮度控制引擎)
2)Dimming Engine支持12位(4096)不同的亮度輸出
3)亮度按照指數(shù)曲線調(diào)節(jié),且步長可調(diào)
4)9個獨立的輸出通道,輸出比特流,可以控制9個不同的LED或作為DAC使用
5)通道可連接一個Linear Walker,它的輸出時LED的飽和度(Intensity),支持12位調(diào)節(jié)
6)通道和Dimming Engine之間可自由連接
7)通道也可連接飽和度調(diào)節(jié)器和Dimming Engine輸出值的乘積
8)每個通道可連接一個Packer,當(dāng)需要降低開關(guān)頻率是可用到
9)有兩個通道可以連接ADC
3 通道結(jié)構(gòu)
每個通道都是相同的結(jié)構(gòu),其中左側(cè)是通道的輸入(包括Dimming Engine和Linear Walker),右側(cè)BCCU.OUTy是通道的輸出,從這個結(jié)構(gòu)框圖可以看出BCCU通道的工作分為幾步
1)輸入的選擇和配置
2)輸入通過Delta Sigma轉(zhuǎn)換為比特流
3)比特流通過一個可選的Packer,某些LED或其驅(qū)動芯片有最短開通時間的限制,Packer可以用于類似的需要降低開關(guān)速度的情況。
4)外部使能是否輸出
5)同時Delta Sigma的輸出可以產(chǎn)生一個Tigger,用以出發(fā)ADC轉(zhuǎn)換等
通道的輸入可以有兩種,這可以通過修改寄存器DBP來選擇,其中Linear Walker的輸出為飽和度Intensity
1)Dimming Engine輸出和Linear Walker輸出的乘積
2)Linear Walker的直接輸出
XMC1000的隨機數(shù)生成單元PRNG
1 背景
PRNG(Preeudo Random Number Generator)是隨機碼生成模塊,可以產(chǎn)生8/16位隨機碼。
2 工作原理
1)框圖
2)工作原理
這個模塊通過向隨機數(shù)序列生成器寫入Key,來產(chǎn)生8/16位的隨機數(shù),其中隨機數(shù)序列的產(chǎn)生和Key是唯一對應(yīng)的。隨機Key寫入完畢后,可以讀出隨機序列,隨機Key寫入和隨機序列讀出的位置都是PRNG_WORD,不過他們在不同的步驟中操作,所以不會產(chǎn)生沖突。
3)使用
a.首先設(shè)定KLD=1,進入Key寫入模式,寫入隨機key,key可以是任意位數(shù),推薦80位,分為5個16bit寫入PRNG_WORD中。注意,只有當(dāng)PRNG_CHK.RDV=1時,才能向PRNG_WORD中寫入Key
b.Key寫完后,把KLD置為0。然后,當(dāng)PRNG_CHK.RDV=1,可以從PRNG_WORD中讀出隨機序列。隨機序列可以為8、16位數(shù)據(jù),這個通過PRNG_CHK.RDBS來控制。
c.若在隨機碼產(chǎn)生過程中把KLD置為1,則可繼續(xù)寫入Key,新寫入的Key會和之前的Key共同作用于隨機序列
d.通過RDBS置為00,可以重啟該模塊
e.若在重啟前,記錄隨機序列至少80位,重新作為key寫入,則隨機序列會接著上次的輸出繼續(xù)產(chǎn)生。
XMC1300的MATH協(xié)處理器
1 XMC1300芯片帶有一個MATH協(xié)處理器,它包含以下兩個子模塊
除法器
Cordic協(xié)處理器
2 除法器
特性
可做32位/32位,32位/16位,16位/16位除法
操作
-除法器啟動,啟動方式有兩種,通過設(shè)定DIVCON.STMODE來選取,
a. 當(dāng)DIVCON.STMODE=0,寫入DVS即啟動除法
b. 當(dāng)DIVCON.STMODE=1,寫入DIVCON.ST位即啟動除法
-除法器忙,當(dāng)除法器工作時,DIVST.BSY = 1,這時不要再試圖啟動其他的除法
-除法器需要35個周期結(jié)束,結(jié)束時可選擇產(chǎn)生中斷,并會出現(xiàn)結(jié)果置位,這個結(jié)果置位需要手動清除。
3 Cordic協(xié)處理器
Cordic協(xié)處理器可進行三角函數(shù)、雙曲線函數(shù)和一次線性函數(shù),其中函數(shù)模式通過CON.MODE來選擇。
計算模式包括向量模式和旋轉(zhuǎn)模式,通過CON.ROTVEC來選擇
特性
24位精度,
Circula模式
旋轉(zhuǎn)模式
輸入X,Y,Z
輸出
X= K*[X*cos(Z)-Y*sin(Z)]/MPS
Y= K*[Y*cos(Z)+X*sin(Z)]/MPS
Z=0
其中K=1.646760258121
向量模式
輸入X,Y,Z
輸出
X= K*sqrt(X^2+Y^2)/MPS
Y= 0
Z=Z+atan(Y/X)
主要應(yīng)用
-計算sin(z),cos(z),tan(z),ctg(z)等
3) 雙曲線模式
- 旋轉(zhuǎn)模式
輸入X,Y,Z
輸出
X=k[Xcosh(Z)+Ysinh(Z)]/MPS
Y= k[Ycosh(Z)+Xsinh(Z)]/MPS
Z=0
-向量模式
輸入X,Y,Z
輸出
X=k*sqrt(X^2-Y^2)/MPS
Y= 0
Z=Z+atanh(Y/X)
其中k = 0.828159360960
-主要應(yīng)用,計算sinh(Z),cosh(Z),tanh(Z),ctgh(Z)等,同時可以計算ln(w),sqrt(W),acosh(w),asinh(W)等
一次線性模式
輸入X,Y,Z
輸出
X=X/MPS
Y=[Y+X*Z]/MPS
Z=0
-向量模式
輸入X,Y,Z
輸出
X=X/MPS
Y= 0
Z=Z+Y/X
4 除法器和Cordic的互聯(lián)
除法器的輸入可以由除法器的結(jié)果或Cordic的結(jié)果直接輸入,這樣構(gòu)成了除法器和Cordic的級聯(lián)。
比如計算tan(z),可以直接把Cordic的輸出sin(z)連接到DVD,cos(z)連接到DVS,這樣就可以得到tan(z)。
XMC1000的中斷控制器
1 概述
XMC1000系列的中斷處理器包括32個中斷處理節(jié)點
每個節(jié)點支持4級中斷優(yōu)先級
支持尾鏈(tail-chaining )
支持軟中斷
2 中斷對應(yīng)表格,可查相應(yīng)數(shù)據(jù)手冊活產(chǎn)品手冊
3 中斷功能
由以上框圖可以看出,對應(yīng)于每個中斷,都可以由外部或軟件觸發(fā)產(chǎn)生,不過每個中斷又需要單獨使能才能最終進入中斷處理。
同時中斷也可以被軟件清除,或者當(dāng)進入中斷處理后,硬件會自動清除。
另外要注意的是,當(dāng)硬件中斷和軟件清除同時到來,軟件清除會被系統(tǒng)忽略,即硬件中斷置位優(yōu)先級高。
從中斷觸發(fā)到進入中斷處理程序,一般要花費21個系統(tǒng)周期。
注:尾鏈技術(shù)(Tail-Chain)
這個技術(shù)是ARM推出的可以減小中斷等待時間的技術(shù)。
一般情況下的中斷處理,需要先保存堆棧,再出棧,如果中途有新的更高優(yōu)先級的中斷,則需要重新做上一步驟。如果使用了尾鏈技術(shù),則第二個中斷到來時候,不需要重復(fù)保存堆棧,再出棧的過程。
評論