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