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