<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000

          三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000

          作者: 時(shí)間:2016-05-17 來(lái)源:網(wǎng)絡(luò) 收藏

            的隨機(jī)數(shù)生成單元PRNG

          本文引用地址:http://www.ex-cimer.com/article/201605/291245.htm

            1 背景

            PRNG(Preeudo Random Number Generator)是隨機(jī)碼生成模塊,可以產(chǎn)生8/16位隨機(jī)碼。

            2 工作原理

            1)框圖

            

          三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000

           

            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)選取,

            

          三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000

           

            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模式

            

          三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000

           

            旋轉(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)等

            雙曲線模式

            - 旋轉(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)。

            的中斷控制器

            1 概述

            系列的中斷處理器包括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 中斷功能

            

          三大電機(jī)控制方案之MCU篇:英飛凌 XMC1000


          關(guān)鍵詞: 英飛凌 XMC1000

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();