首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于STM32车载安全预警系统设计方案(3)

基于STM32车载安全预警系统设计方案(3)


  如图2所示,电源电路设计考虑到应用环境,采取了相应的抗干扰和过流保护措施。为了防止电流过大,输入端串接自恢复保险丝F1保护系统的安全性;D1,D2构成电源极性反接保护电路;C1,C2,C3电容并接电路去除车内电源信号的纹波和高频噪声;输出端L1可以抑制纹波,使LM2596输出稳定的电压;电源输出端对地连接的C4,C5旁路电容也起到稳定环路的作用。

  3、系统的软件设计

  STM32开发工具选用的是ARM公司4.22版的KeilMDK,采用μVision4开发环境,通过片上集成的JTAG调试接口通过JLINKv8仿真器与PC相连。

  3.1 μC/OS-Ⅱ的简介与移植

  为了便于系统的升级与维护,设计中采用了嵌入式实时操作系统μC/OS-Ⅱ。该操作系统具有执行效率高、占用空间小实时性能优良和可扩展性强等特点,最小内核可编译至2KB,非常适合FLASH容量较小的系统使用。

  μC/OS-Ⅱ的文件体系结构如图3所示。

  由图3中可以看出,μC/OS-Ⅱ的绝大部分是与处理器和其他硬件无关的代码,大大降低了移植的工作量,移植过程中需要修改的源代码文件有:


  (1)在内核头文件OS_CPU.H中设置与处理器和编译器相关的代码,针对具体处理器的字长重新定义一系列数据类型,声明用于开关中断、堆栈的增长方向和任务切换的宏。

  (2)在OS_CPU_A.ASM中实现与处理器相关的函数,关中断函数OS_CPU_SR_Save();恢复中断函数OS_CPU_SR_Restore();启动最高优先级任务运行OSStartHighRdy();任务切换OSCtxSw()和中断切换OSIntCtxSw()。

  (3)在OS_CPU_C.C中用C语言编写与CPU相关的函数。主要是任务堆栈初始化函数OSTaskStkInit()和系统HooK函数。

  整个移植的代码都在上面三个文件中,实际只要在启动文件中修改任务调度函数以及节拍函数的中断入口就完成了操作系统的移植。

  4、测试

  对于该车载系统下面给出基于LabVIEW的GPS实车行驶速度测试。

  5、结语

  本文详细描述了基于STM32车载安全预警系统硬件和软件的设计方案。对整个车载系统进行了实车测试,测试结果表明整个系统符合预期的目标,可以实现对车辆的定位、超时、超速、加速度超值、并通过GSM将行车异常状态参数和定位信息发送至远程监控中心,移植的μC/OS-Ⅱ使得该系统具有良好的稳定性和实时性,能满足现代车辆安全远程监管的功能需求。
继承事业,薪火相传
返回列表