关键词:
IoT门锁
国产芯片
MIPS架构
中断管理控制器
嵌入式软件开发
摘要:
门锁承载了保障人身安全和财产安全的守护重任,伴随着以物联网及智能化为核心的创新驱动,逐步显现出服务于“安心、放心、便捷”智能化生活的趋势。而基于物联网技术的门锁,在智能化生活中充当着极其重要的角色。随着公租房建设规模不断扩大、房源数量持续增加、租住人数日益增多,其管理日趋复杂、碎片化且难度加大,急需能准确及时监管流动人口集中地域出租房的设备,而IoT门锁正是解决此难点问题的有效途径。IoT门锁是保障安全与隐私的基础,应杜绝外来芯片及软件的威胁,但实际情况却并不如意,现如今所面临的复杂国际形势,诸如中兴、华为事件,更是给国人敲响一个警钟。为了实现门锁智能化及国产软硬件的自主可控,本文结合公租房等应用场景,采用国产芯片——龙芯1C101作为主控芯片,在裸机无嵌入式操作系统的条件下,根据该场景下的用户需求,进行了IoT门锁嵌入式软件开发。但是,在进行基于龙芯微控制器的IoT门锁嵌入式软件开发时,存在以下问题:(1)龙芯1C101是龙芯中科在MIPS架构基础上研发的首片MCU,其技术参考资料匮乏,难以见到可作借鉴的应用开发样例,一切均需要从零开始摸索,对于嵌入式系统应用开发极具挑战性;(2)为确保软件的自主可控和资源的最大化利用,更好地实现软硬件的最佳耦合,在研发过程中,采用了无嵌入式操作系统的裸机开发,虽然MIPS架构本身有中断,但是,为充分发挥流水线设计思想,其中断优先级平等、无中断嵌套,而龙芯MCU本身也缺少硬件中断管理,这将会导致嵌入式系统在各种实时任务管理和执行方面存在较大的不足。针对上述问题,本文结合ARM架构的嵌入式应用开发经验,进行基于龙芯微控制器的IoT门锁嵌入式软件开发,弥补了龙芯1C101应用开发过程中的不足。此外,用软件方式创新定义了基于MIPS架构的中断管理控制器,进而设计研发出以国产芯片为主体、自主软件为根本的IoT门锁,形成了本文特色和独有优势。本文的研究内容及相关工作如下:(1)对应用于公租房等场景的IoT门锁进行了需求分析,包括功能需求分析和非功能需求分析。采取模块化设计方法进行了相关方案设计,其中包括IoT门锁的架构设计、硬件方案设计和软件方案设计,基于软硬件结合的架构设计进行嵌入式软件开发。(2)在嵌入式裸机开发过程中,立足于“国产芯片”和“中断管理机制”,本文借鉴ARM和RISC-V架构的相关研究,针对MIPS架构有中断但优先级平等,无中断嵌套且龙芯MCU无硬件中断管理机制的情况,根据IoT门锁的需求来构建中断优先级;根据预先构建的中断优先级来进行紧急事件对CPU的抢占,从而实现软件定义中断嵌套;通过利用本文中自定义的影子数组,嵌入式软件定义了“咬尾中断”,保证了低优先级中断不被随意丢弃且顺利执行;软件定义了一个具有完整中断管理机制的中断管理控制器,从而提高嵌入式软件的稳定性。(3)本文基于龙芯1C101嵌入式微控制器片上资源驱动及应用开发,再结合IoT门锁的具体应用特征,进一步延伸到本文中的其他国产组件,如指纹模块、刷卡芯片、NB模组等,对门锁的各个功能模块进行功能需求实现及应用开发,以裸机开发的方式,形成具有完全自主知识产权的嵌入式应用程序,研发出龙芯首片MCU的IoT门锁嵌入式软件。(4)完成了IoT智能门锁的嵌入式软件开发,将软硬件结合进行联调。结合串口调试助手软件,对本文软件定义的中断管理控制器进行了相关的测试验证。同时,在PCB板和外围功能模块等相关硬件共同搭建的实验平台上,实现了对IoT智能门锁基本功能的测试验证,证明了基于龙芯微控制器IoT门锁的可行性及实用性。