iqmath lib的使用
參考手冊《iqmath_quickstart.pdf》 版本v1.6.0
存放路徑:c:\ti\controlsuite\libs\math\iqmath\v160\doc
1.tms320f28035是
ti公司推出的
32位定點
dsp晶元,其硬體本身不支援浮點數運算,在用
c語言程式設計時用到的浮點運算是在軟體層面上完成的,並非
tms320f28035
具備浮點運算能力。用
c語言程式設計在軟體上實現浮點數運算將增加**量和程式執行時間。
iqmath
是一種採用定點運算,但具有浮點資料處理特性的計算方法,並且
iqmath
還具有豐富的函式庫。
優點就是處理速度快,**量低。缺點就是十進位制浮點數轉化為二進位制時可能會存在誤差。
4.iq格式由整數部分(i)
,小數部分(
q)和一位符號位構成。所以
i+q=31
位。當q
值確定後,所有參加運算的
iq資料精度是一致的,同時資料的動態範圍也被確定了。具體的
q值對應的精度和資料範圍可以查表。
5.iqmath應用的簡單歸納:1)q
值定標:根據要求的誤差和資料範圍,選擇乙個q值。
2)浮點數轉換為
iq資料格式。
3)將iq
資料轉換為浮點數。
6.iqmath.lib用於定點晶元。iqmath_f32.lib用於浮點晶元。
7.cmd檔案配置的一些建議:
輸出段「iqmathtables」,
含有的一些函式是已經被燒錄到
bootrom
區域,所以必須被設定成「
noload
」型別,在
bootrom
區域查表,而不需要載入其他區域。
輸出段「iqmathtablesram
」含有的函式,需要時可以載入,某些晶元也將這些函式燒錄到
bootrom
區域,看直接查表。
8.工程中配置
iqmath.lib
庫檔案1)
.與加入
c檔案的方法類似,只要知道路徑並且新增即可2).
需要在c
檔案中包含
#include "iqmathlib.h"3).
配置.cmd
檔案。9.iqmath使用須知
1. 在
iqmathlib.h
裡,根據需要修改
q格式,範圍是
q1 to q30
(p30
)// 30 <= global_q <= 1 //
#ifndef global_q
#define global_q 24
#endif
iqmathlib.h裡預設是
q24格式
q格式的取值範圍與精度在手冊的
10頁有說明
10.使用
iqmath
的過程1)所有參與運算的資料,必須轉化為
q格式,比如
#define pi 3.1415926535898
_iq input = _iq(pi); //將
pi轉化為q格式
2)轉化為
q格式後,所有資料參與計算,必須使用
iq庫函式計算
3)實現
q格式轉換為浮點數
製作TMS320F28035最小系統板
雖然我有了c2000 launchpad,但由於28027沒有編碼器介面,所以我還是自己做了28035的最小系統板,打算用到做交流電機控制。原理圖是參照ti 的2803x controlcard的設計,穩壓改用ams1117,器介面接出,所有io引出。現在xds100v2 器的 也越來越便宜,甚至有...
TMS320F28035 ADC學習筆記
經過2周的學習,終於弄清楚了28035的adc模組,並操作成功。最後,記錄一下幾個關鍵問題,以備後續使用。1,採用輪詢方式時,要使用adcint 標誌位,而不能使用adcctl1.adcbsy位。2,使用輪詢方式時,也要開啟adc中斷,並查詢adc中斷標誌位,只要不開啟pie中斷即可。3,輪詢的方式...
TMS320F28335入門(五)ADC學習
c28335片上有乙個12位的a d轉換器 其前端為2個8選1多路切換器 2路同時取樣保持器 三者共同構成的16路模擬通道輸入 模擬量輸入範圍 0 3v 模擬通道的切換由硬體控制,並將各個通道的轉換順序存入16個結果暫存器中 其轉換率 在25mhz的adc時鐘下為80ns 具有自動排序功能 轉換結果...