在线观看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,從而提高芯片在電機控制方面的性能。

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

    關注

    3540

    文章

    1897

    瀏覽量

    269259
  • 加速器
    +關注

    關注

    2

    文章

    807

    瀏覽量

    38088
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49286
  • 三角函數
    +關注

    關注

    0

    文章

    14

    瀏覽量

    6769

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

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

收藏 人收藏

    評論

    相關推薦

    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

    MounRiver Studio環境下math頭文件如何進行三角函數計算?

    需要用到atan2和asin函數,include了math.h后報錯函數不存在;和keil下的math文件內容對比了一下發現確實少了三角函數的申明,為什么會存在這種差異?該如何進行三角函數
    發表于 06-01 06:18

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

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

    三角函數arcranx運算電路

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

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

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

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

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

    如何使用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 ?0次下載
    TI Arm內核<b class='flag-5'>三角函數</b>的優化
    主站蜘蛛池模板: 91人成网站色www免费 | 五月天色网址 | 手机看片国产免费现在观看 | 亚洲资源在线观看 | 又粗又长又大又黄的日本视频 | www.欧美.com| 欧美高清免费一级在线 | 亚洲高清免费在线观看 | 国产精品一区在线播放 | 老司机51精品视频在线观看 | 黄色w站 | 久久综合偷偷噜噜噜色 | 高清一区二区三区 | 全免费一级午夜毛片 | 色香欲亚洲天天综合网 | 一区二区3区免费视频 | 三级毛片在线 | 性欧美videofree另类超大 | 新四虎影院 | 男人天堂网在线观看 | 天堂在线.www资源在线观看 | 天堂a免费视频在线观看 | 最好看的2019中文字幕免费高清 | 成人亚洲网站 | 国产成人综合亚洲怡春院 | 看a网站 | 欧美十次 | 国产亚洲欧美视频 | 欧美午夜性春猛xxxx | 国产在线视频欧美亚综合 | 日本欧美强乱视频在线 | 日本三级网站在线线观看 | 666精品国产精品亚洲 | 有没有免费的视频在线观看 | а中文在线天堂 | 天天爱添天天爱添天天爱添 | 欧美一级视频在线观看 | 日本在线视频不卡 | h免费视频 | 91午夜剧场| 日本黄视频在线观看 |