·上一文章:基于Blackfin561的JPEG2000 压缩算法实现及优化
·下一文章:基于ARM微处理器的十回路智能配电监控单元的设计
3 多道脉冲幅度分析器相关软件设计
ARM微处理器软件可采用前/后台系统(foreground/background)或超循环系统(super-loops)设计。应用程序是一个无限循环,循环中调用相应的函数可完成相应的功能,这部分可以看成后台行为(background)。中断服务程序可处理异步事件、这部分可以看成前台行为。后台也可以叫做任务级,前台也叫做中断级。时间相关性很强的关键操作一定是靠中断服务来保证的。因为中断服务提供的信息,要等到后台程序运行到可以处理这个信息时,才能得到处理。这种软件系统在处理信息的及时性上,比实际可以做到的要差。处理信息的及时性,称作任务级响应时间。最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间是确定的。进而,如果程序修改了,循环的时序也会受到影响。程序在进行初始化后,将进入超级循环等待中断,中断到来先保护现场再转到中断服务程序,处理完毕后恢复现场,再返回超级循环并继续等待中断。可见中断处理是程序中比较重要的任务。
3.1 主函数程序设计流程
整个应用系统软件程序可采用模块化设计方法,包括C语言和汇编语言两在模块。其主程序流程图如图7所示。
3.2 A/D转换中断服务程序
A/D转换完毕后,可由AD7994的BUSY端向ARM申请中断,ARM开始读取来自A/D转换的数据并保存。其程序流程如图8所示。
AD7994是4通道12位ADC,为了能够快速处理A/D中断服务程序,本系统将A/D中断设置为快速中断。
3. 3 串口通信软件设计
本系统中的串口中断程序流程图如图9所示。
4 仿真调试