#前端
#芯片
#处理器
指令级在inst.md文档中,这个指令级真的非常奇怪。分长指令(2Byte)和短指令(1Byte)也就罢了,mem竟然还限制每拍只能取1Byte数据,这导致长指令需要两拍才能取指完成。进一步的后果就是长指令需要5拍处理完成,短指令只需要4拍处理完成。以后基于这个结构可以再优化优化,继续当练手用的代码。模块数据流如下图所示,将获取到的角度进行一个8阶的FIR滤波,加速度进行一个2阶的IIR滤波,即可得到相对平滑一点的数据,然后经过Cordic算法进行姿态解算,即可得到roll和pitch角度,为了得到更加平滑一点的roll和pitch数据,这里将得到的角度再进行了一个1阶的均值滤波(本来使用的是3阶的均值滤波,但是相位延时有点大,所以修改为1阶的了)