XMC1300的MATH协处理器

分享到

 XMC1300的MATH协处理器

 
1  XMC1300芯片带有一个MATH协处理器,它包含以下两个子模块
除法器
Cordic协处理器
 
2 除法器
特性
可做32位/32位,32位/16位,16位/16位除法
操作
 
 
-除法器启动,启动方式有两种,通过设定DIVCON.STMODE来选取,
a. 当DIVCON.STMODE=0,写入DVS即启动除法
b. 当DIVCON.STMODE=1,写入DIVCON.ST位即启动除法
-除法器忙,当除法器工作时,DIVST.BSY = 1,这时不要再试图启动其他的除法
-除法器需要35个周期结束,结束时可选择产生中断,并会出现结果置位,这个结果置位需要手动清除。
 
3 Cordic协处理器
Cordic协处理器可进行三角函数、双曲线函数和一次线性函数,其中函数模式通过CON.MODE来选择。
计算模式包括向量模式和旋转模式,通过CON.ROTVEC来选择
 
 
特性
24位精度,
Circula模式
旋转模式
输入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)
主要应用
    -计算sin(z),cos(z),tan(z),ctg(z)等
3) 双曲线模式
- 旋转模式
输入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
主要应用,计算sinh(Z),cosh(Z),tanh(Z),ctgh(Z)等,同时可以计算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的互联
除法器的输入可以由除法器的结果或Cordic的结果直接输入,这样构成了除法器和Cordic的级联。
比如计算tan(z),可以直接把Cordic的输出sin(z)连接到DVD,cos(z)连接到DVS,这样就可以得到tan(z)。