论文部分内容阅读
视觉的缺失给视障人士的出行带来极大的不便,基于安全性和成本的考虑,导盲辅具成为视障人士出行的安全保障。随着电子科技的发展和进步,盲杖的设计开始与电子芯片结合,并出现了具有自动探测告警功能的电子导盲杖。目前这类产品大部分是基于单片机设计,对于在操作系统上进行盲杖系统的设计还没有广泛的研究。将操作系统引入盲杖设计,在障碍物检测的基础上添加定位导航等更加实用性的功能,能够为视障人士提供更加智能化和人性化的服务。Android系统具有很好的兼容性、可移植性,其上层提供了大量完善接口,同时考虑到ARM核心处理器高性能、低功耗、稳定性强等特点,本课题选用Exynos4412-Android的嵌入式平台,通过盲杖系统中底层软件模块的设计与开发,为后续的探测、定位等功能的实现提供了可靠的接口函数。本论文通过深入分析Android系统的架构确定了分层的软件架构设计思路,研究了Android系统的启动流程,完成了特定平台下的系统移植。在系统移植过程中,搭建了交叉编译环境,分别对引导程序、Linux内核、Android文件系统进行了裁剪和编译。在系统底层软件设计中,分析了Linux驱动模型,针对定位导航模块、超声波测距模块以及关机电路的设计,根据寄存器相关参数,开发了对应的硬件驱动程序。在驱动程序的开发过程中,主要涉及硬件操作函数的实现、定时器和外部中断的应用、驱动配置文件的修改等。根据分层设计的思想,也实现了Android系统相关功能模块的硬件抽象层的设计,完成了数据格式的转换和驱动接口的封装,为上层的调用提供了可用的接口函数。通过不同方式对盲杖系统的几个功能模块的底层代码进行了测试,实验证明,本文为盲杖系统设计实现的底层软件模块可用于后续避障定位等功能的开发。