嵌入式超声波测距仪的设计方案
射与接收、中断管理、计时程序、测距计算、结果显示、CAN通信、报警等其他子程序组成。根据以上超声波测距仪的工作原理描述,系统主程序的流程图设计如图5所示。在主程序初始化后就进入超声波信号发送程序,即利用程序产生超声波信号由微处理器的P16端口送出,此时系统进入计时状态,同时检测P17端口是否能接收到超声波的回波信号,但检测到回波信号就关闭外部中断进入计算距离子程序,接下来进行是否报警验证和CAN通信子程序,最后打开外部中断完成一次测距扫描过程,即主程序结束。
3.2 CAN通信子程序设计
CAN通信子程序主要包括3个部分:初始化子程序、发送子程序、接收子程序。在初始化子程序中主要是对系统的一些验收码寄存器、定时寄存器、输出控制寄存器、定时寄存器、工作模式寄存器、中断定时同步等参数进行设置。CAN通信中的发送与接收子程序的程序流程图设计如图6所示。在发送子程序中主要是读取状态寄存器位SR.2,看看SR.2是否为1,如果该位为1则进行相应的发送准备工作,同时将命令寄存器CMR.0置请求发送,发送完毕后就自动返回。而在接收子程序,先要读状态寄存器位SR.0,看看是否允许将缓冲区数据读取到CPU的RAM中,读取完毕后就释放接收缓冲区,再看看SR.1是否为1,为1则对SR.1进行清除并作溢出处理,否则就读取SR.6与SR.7并对其作计时器警告及相应处理。
4 结语
所设计的嵌入式超声波测距仪具有结构简单、价格便宜、性能可靠,测量和显示障碍物距离的范围为0.05~10m,它适用于对物体表面和液体表面的测量,可以作为一种小型的测距仪器使用于汽车倒车监视与报警装置,也可以作为一种嵌入式设备嵌入到其他大型的工业检测与控制系统中。
- SN2005学习系统 数字语音室解决方案(05-19)
- 以可编程DSP架构应对TD-SCDMA以及TD-LTE带来的设计挑战 (02-14)
- ARM-μCLinux嵌入式系统启动引导的实现(07-26)
- 多核处理器架构及调试方案(03-28)
- 基于DSP的电源解决方案(06-13)
- 间歇性Bug最佳解决方案(09-24)