(2)软件优化
软件优化的作用在本系统的调试过程中效果明显;本系统的第一个版本,图像采集速率仅为3 s/帧;通过软件优化后,达到了最终的O.3 s/帧。其优化如下:
①循环外移,避免在循环中重复运算;
②频繁使用的变量申明为寄存器变量;
③把所有的JPEG-LS编码函数代码拷贝到RAM中执行。
默认情况下,所有的代码都存放在Flash中。ARM运行时,从Flash中读取指令并且执行。众所周知,Flash的访问速度相对RAM而言,相差一个数量级,因此,如果把关键代码放在RAM中,执行速率将会大大提高。而AT9lR40008内部自带512 KB的RAM,足够本系统使用,因此,这个方法可行。
解决的方法有两个,一是写一个启动程序,在启动时,把系统所有的代码都拷贝到RAM中,这样系统速度会提高。然而,该方法实现起来较麻烦,且如果程序扩展,可能会超过RAM的512 KB限制。因此,本系统采用另外一个简单方法。采用IAR Embedded Workbench开发环境,通过阅读其编译器手册发现,在函数之前添加一个__ramfunc伪指令,那么链接器在生成启动代码时,会将该函数拷贝到RAM中,从而提高运行效率。其使用例子如下:
ramfunc void encode_oneline(vcrid)
通过使用该方法,系统的运行效率提高了约lO倍。
结语
本系统以ARM为核心,实现了JPEG-LS无损图像压缩算法,并日结合CPLD实现了CMOS摄像头的时序控制。通过蓝牙传输,实现了数字化的无线内窥系统。
本系统具有良好的扩充性,可以使得系统更加微型化。首先,如果采用CSR公司更新的BC3系列芯片,则将融合ARM核以及蓝牙功能,可以更加减小内窥镜的体积。最重要的是,如果发展自主产权的内窥镜芯片,那么以现有的SOPC技术,可以将ARM核、CPLD逻辑门以及蓝牙通信功能集成在一起,形成无线内窥镜的集成解决方案,从而使其产业化成为可能。