我要做一个对24位的I2S音频数据信号进行 "自动增益控制" 的系统.
已经实现音频数据的采集了.
我将音频数据采进来后,直接发出去,声音没问题.
今天,我将音频数据采进来后,进行"自动增益控制"的乘除法处理,结果发现速度跟不上,丢失数据,没有声音.
音频数据是96K的,我NIOS 是F 核,加入如了hardare multiply和hardware divider.
速度不应该跟不上啊.
在NIOS II IDE里我用C代码写的乘除法,是不是没有使用hardare multiply和hardware divider.
请问hardare multiply和hardware divider该如何使用.
不是,如果楼主在c中使用*或/就会在生成的nios汇编中调用硬件乘除法了。
速度跟不上,楼主可以自己定义指令来实现自己定义的硬件指令,这样相当于自己定义一系列的自己的硬件指令。
或者楼主可以将复杂的运算通过fpga来加速,将结果写回nios,也可以加速。
十分感谢,
我还想问个
在sopc 中创建的时候是100m的频率,每条指令应该是10ns吧?在逻辑分析仪中看到的时间好像是一条指令0.5us,为什么??
I2S是96khz的,也就是一个数据是10us.
在一个数据期间,只能写20条C指令.
根本处理不过来.
请问有什么办法,提高指令速度吗?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |