在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RX系列三角函數單元(TFU)的使用介紹

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2023-12-04 12:25 ? 次閱讀

硬件加速器三角函數單元(Trigonometric Function Unit)能夠高速處理三角函數sin、cos、arctan和sqrt(x2+y2)函數的運算,可顯著減少CPU負荷,在電機的矢量控制運算中非常有用。

本文介紹如何使用帶有CC-RX編譯器的三角函數單元。TFU現有兩個版本TFUv1和TFUv2,配備TFU的芯片型號如下表所示。

三角函數單元TFU版本

配備TFU的芯片

TFUv1

RX72T/RX72M/RX72N

TFUv2

RX26T

1. TFUv1的使用說明

在工程中選擇[Project][C/C++ Project Settings][Tool Settings][Compiler] [Optimization][Advanced],如果器件有TFU,則會有選項"Execution method of library function that can use trigonometric function unit",如需使用TFU,選擇"Use trigonometric function unit ",如圖1所示。

93de1758-925a-11ee-939d-92fbcf53809c.png

圖1 TFU選擇設置

如上設置后,標準數學庫函數sinf()、cosf()、atan2f()和hypotf()的計算將由TFU執行,如圖2中代碼所示。由于TFU可以同時計算sin和cos、arctan和sqrt(x2+y2),所以CC-RX編譯器對相同輸入值的sin和cos、arctan和sqrt(x2+y2)可使用同時計算功能,以進一步提高運算速度。可以使用函數__sincosf()和__atan2hypotf()來同時計算,如圖3中代碼所示。

9404d686-925a-11ee-939d-92fbcf53809c.png

圖2 使用TFU的代碼示例

9412f1a8-925a-11ee-939d-92fbcf53809c.png

圖3 TFU同時計算代碼示例

2. TFUv2的使用說明

三角函數單元TFUv1已經通過進一步的改進升級到TFUv2。TFUv2與TFUv1相比有以下改進:

1單精度浮點數計算速度的進一步提升,如圖4所示

94302d22-925a-11ee-939d-92fbcf53809c.png

圖4 計算速度對比

2支持定點類型的計算

在TFUv2中,單精度浮點數的操作與TFUv1中相同;對于定點數據類型,使用內部函數:

__sinfx((int32_t)(x)) / __cosfx((int32_t)(x))

__atan2fx((int32_t)(x), (int32_t)(y)) / __hypotfx((int32_t)(x), (int32_t)(y))

或者同時計算的函數:

__sincosfx((int32_t)(x), (int32_t *)(y), (int32_t *)(z))

__atan2hypotfx((int32_t)(w), (int32_t)(x), (int32_t *)(y), (int32_t *)(z))

對于定點數據,可以更改輸入/輸出的單位和格式。如果使用Smart Configurator,選擇scfg文件,在[Components][r_bsp]中選擇"Enable initilize function for TFU (fixed-point numbers)"為"Enabled",下面有三個選項可以修改,如圖5所示。如果沒有使用Smart Configurator,可以在硬件初始化的時候加入TFU的FXSCIOC和FXATIOC寄存器的設定來修改輸入/輸出的單位和格式。

944741d8-925a-11ee-939d-92fbcf53809c.png

圖5 定點數據的單位和格式修改

3支持重入

TFUv2支持重入(TFUv1不支持),會在每個中斷函數的入口和出口生成保存和恢復代碼,但是會減慢處理速度。因此,如果不需要重入,可以禁止保存和恢復代碼的生成。如果只是一個特定的中斷禁止重入,可以在中斷函數的申明中寫"no_tfu"

#pragma interrupt func(no_tfu)

也可以使用選項禁止所有中斷功能的保存和恢復,選擇[Project][C/C++ Project Settings][Common][CPU],取消選中[Saves and restores the output by trigonometric function unit in interrupt functions],如圖6所示。

9458ed7a-925a-11ee-939d-92fbcf53809c.png

圖6 TFU取消重入設置

在圖6設置下,如果僅對某個特定中斷允許重入,可以在中斷函數的申明中寫"tfu"

#pragma interrupt func(tfu)

結合以上內容,對于內部配備硬件加速單元TFU的芯片,建議在電機矢量控制的運算中使用TFU,從而提高芯片在電機控制方面的性能。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電機控制
    +關注

    關注

    3568

    文章

    1953

    瀏覽量

    271513
  • 加速器
    +關注

    關注

    2

    文章

    824

    瀏覽量

    38974
  • 編譯器
    +關注

    關注

    1

    文章

    1657

    瀏覽量

    49959
  • 三角函數
    +關注

    關注

    0

    文章

    15

    瀏覽量

    6881

原文標題:RX系列三角函數單元(TFU)的使用介紹

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    馬達控制上必要的知識 三角函數

    為了理解馬達控制技術,必須理解如下基礎學問。 (1) 數學:三角函數,指數函數,復數函數,微分,積分,矩陣,坐標(直交,極) (2) 電氣電路:交流理論(3 相交流, 歪交流),過渡現象 (3
    發表于 03-18 12:23

    MATLAB三角函數命令

    MATLAB三角函數命令Sin 正弦 Sinh 雙曲正弦 Asin 反正弦 Asinh 反雙曲正弦 Cos 余弦 Cosh 雙曲余弦 Acos 反余弦 Acosh 反雙曲余弦 Tan 正切&
    發表于 09-22 16:04

    ARM7如何實現三角函數

    ARM7中如何編程實現三角函數sin,cos,軟件用的是TKStudio,求大神
    發表于 11-12 16:31

    labview的三角函數pi在哪

    labview的三角函數pi在哪
    發表于 03-23 09:29

    請問一下,28035的cla支持三角函數運算嗎

    請問一下,28035的cla支持三角函數運算嗎,為什么使用sin函數時,編譯有錯,那該怎么使用三角函數
    發表于 05-14 00:58

    電磁波為什么要用三角函數表示?

    怎樣形象的理解傅里葉變換?電磁波為什么要用三角函數表示?什么是三角函數中的相位?
    發表于 10-25 08:57

    labview中的三角函數問題

    我想使用三角函數中的余弦函數(輸入是角度的那種)我試了一下,發現cos90°算出來不是0,為什么呀,算別的角度是對的,就是算值等于0的度數會有問題。用了弧度角度換算、公式節點、直接輸入π/2,這種方法出來都不是0
    發表于 04-09 14:18

    基于DSP的三角函數快速計算

    基于DSP的三角函數快速計算
    發表于 04-07 14:33 ?53次下載
    基于DSP的<b class='flag-5'>三角函數</b>快速計算

    三角函數arcranx運算電路

    三角函數arcranx運算電路
    發表于 04-09 10:16 ?2902次閱讀
    反<b class='flag-5'>三角函數</b>arcranx運算電路

    基于三角函數搜索因子的混合蛙跳算法

    針對傳統混合蛙跳算法存在收斂速度慢、容易陷入局部最優和搜索精度不高的缺陷,提出了基于三角函數搜索因子的混合蛙跳算法。該算法將基于三角函數搜索因子的局部進化策略和產生新個體策略引入到混合蛙跳算法中
    發表于 11-24 15:56 ?0次下載

    歐拉公式與三角函數_歐拉公式推導三角函數

    歐拉公式是指以歐拉命名的諸多公式。其中最著名的有,復變函數中的歐拉幅公式,即將復數、指數函數三角函數聯系起來。拓撲學中的歐拉多面體公式。初等數論中的歐拉
    發表于 11-28 20:44 ?21.6w次閱讀

    如何使用Cordic算法C語言實現三角函數的計算

    三角函數的計算是個復雜的主題,有計算機之前,人們通常通過查找三角函數表來計算任意角度的三角函數的值。這種表格在人們剛剛產生三角函數的概念的時候就已經有了,它們通常是通過從已知值(比如s
    發表于 04-25 18:27 ?9次下載
    如何使用Cordic算法C語言實現<b class='flag-5'>三角函數</b>的計算

    如何使用DSP匯編語言實現高精度的三角函數

    在現今DSP 軟件工程設計中,廣泛采用高級語言(如C 語言)直接調用三角函數進行計算。然而,匯編語言的穩定性、可讀性和執行效率均優于高級語言,因缺少可供直接調用的三角函數庫,其開發周期長,且計算精度難以保證,在工程中推廣較少。本文就基于DSP 匯編語言,提出一種高精度
    發表于 08-28 09:36 ?7次下載
    如何使用DSP匯編語言實現高精度的<b class='flag-5'>三角函數</b>

    AD639:通用三角函數轉換器廢棄數據表

    AD639:通用三角函數轉換器廢棄數據表
    發表于 05-17 17:29 ?8次下載
    AD639:通用<b class='flag-5'>三角函數</b>轉換器廢棄數據表

    TI Arm內核三角函數的優化

    電子發燒友網站提供《TI Arm內核三角函數的優化.pdf》資料免費下載
    發表于 09-11 09:19 ?1次下載
    TI Arm內核<b class='flag-5'>三角函數</b>的優化
    主站蜘蛛池模板: 精品福利 | 性欧美在线 | 国产美女在线精品免费观看 | 男人j桶进女人免费视频 | 一级做a爰片久久毛片一 | 天堂网最新版www | 亚洲成网 | a站在线观看 | 免费黄色成人 | 另类free性欧美护士 | 婷婷综合久久 | 草草影院私人免费入口 | 日韩在线三级 | 免费观看一区二区 | 色婷婷在线观看视频 | 欧美无遮挡一区二区三区 | 四虎最新视频 | 五月婷婷丁香综合 | 视频一本大道香蕉久在线播放 | 手机在线看片福利 | 天堂视频免费 | 日韩一级特黄毛片在线看 | 香蕉视频啪啪 | 欧美xxx69| 欧美在线伊人 | 人人人干 | 男人操女人免费视频 | 国产亚洲精品久久久久久午夜 | 97色在线视频观看香蕉 | 99久久网站 | 91大神精品全国在线观看 | 在线观看日本一区 | 天堂bt| 天天射天天干天天插 | 成人羞羞视频国产 | 男女交性视频播放 视频 视频 | 免费无毒片在线观看 | 亚洲久久久| 在线观看免费视频一区 | 天堂8中文在线bt | 国模娜娜扒开嫩木耳 |