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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 浮點DSC使控制系統(tǒng)如虎添翼

          浮點DSC使控制系統(tǒng)如虎添翼

          作者: 時間:2008-05-16 來源:控制工程中文網(wǎng) 收藏

            第二列是在定點上執(zhí)行相應運算所需的周期數(shù),第三列是在上執(zhí)行所需的周期數(shù)。最后一列是第二列與第三列結果的比值,表示二者的相對性能。處理器執(zhí)行所列數(shù)學運算的速度比定點處理器快2~3倍,執(zhí)行FFT算法的加速性能也在該范圍內,IIR的加速性能稍低,但仍比定點處理器快。

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


            一般來說,控制算法比信號處理算法能夠獲得更高的性能提升,因為控制代碼執(zhí)行的基本數(shù)學運算較多,需要進行定點換算和飽和處理。即便如此,架構得到的周期數(shù)也低得多,對所有信號處理測試程序平均獲得了50%的性能提升。

            在各種應用中,這些基準測試程序變換成很多具體的應用程序。精細、多維控制技術可應用于機器人的和CNC(計算機數(shù)控)類的設備。伺服電機驅動器的效率將會得到進一步提高,能夠實現(xiàn)PLC(電力線控制)和其他一些高級算法。太陽能與風能逆變器和不間斷電源能夠獲得更高的能量轉換效率,進一步降低每千瓦電能的生產(chǎn)成本,并且能夠控制不同配置的太陽能板陣或風力渦輪機。

            軟件開發(fā)的優(yōu)勢

            浮點格式也有利于簡化代碼的編寫和調試。浮點數(shù)字表示法對于數(shù)學運算相比定點表示法更加自然,因此對高級語言的支持更加直接。當代碼經(jīng)過編寫和驗證調試之后,可以直接導入浮點進行進一步的測試和最終的生產(chǎn)。

            相比之下,在針對定點控 制器開發(fā)代碼的時候,必須在PC上編寫和調試程序進行驗證,然后還要根據(jù)更嚴格的硬件定點表示方法重新編寫代碼。這大大增加了代碼的開發(fā)周期,而且一旦對代碼進行轉換之后無法進行回退。

            一般地,開發(fā)人員不得不同時編寫定點的代碼和浮點的代碼,這就存在可能相互混淆的危險。F283x控制器只需要開發(fā)浮點代碼,從而大大簡化了代碼開發(fā)過程,節(jié)省了開發(fā)時間,提高了軟件可靠性。

            在存在成本約束的情況下,可以先以浮點控制器為開發(fā)平臺進行原型和早期版本的設計,然后改用定點控制器進行量產(chǎn)制造,采用這一開發(fā)策略具有明顯的優(yōu)勢。采用C編譯器和IQ Math工具能夠很方便地編譯浮點和定點兩種方式下同樣的源碼,從而支持這一策略。F283x DSC是一種經(jīng)濟的控制器解決方案,它是業(yè)界第一款采用集成的浮點控制器。隨著浮點架構與定點架構的成本交叉點上升到越來越高的水平,很多高級系統(tǒng)為了節(jié)省成本不必進行改動。性能更高、開發(fā)更容易的浮點架構成本已經(jīng)能夠為越來越多的應用所接受,促使人們在嵌入式系統(tǒng)控制領域不斷進行創(chuàng)新研發(fā)。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();