本图详细展示了新能源汽车行人警示系统(AVAS)的工作流程,旨在确保车辆在低速行驶时对周围行人发出清晰警告声,提升道路安全。
根据提供的新能源汽车行人提醒装置AVAS(Acoustic Vehicle Alerting System)流程图及部分代码描述,我们可以提炼出以下几个关键知识点:
### 1. AVAS系统概述
- **AVAS系统的作用**:AVAS系统主要用于在低速行驶或静止状态下为新能源汽车提供声音提示,以提醒周围的行人和非机动车驾驶者注意车辆的存在。这对于无声运行的电动车尤为重要。
- **工作原理**:通过安装在车辆上的扬声器播放特定的声音,确保行人可以听到并注意到接近中的车辆。
### 2. AVAS系统启动流程
#### 2.1 系统初始化
- **HAL初始化**: 包括硬件抽象层初始化(`hal_init()`), UART串口初始化(`uart_init()`), 显示欢迎信息(`print_banner()`), 音频芯片初始化(`wt8871_init()`), 定时器初始化(`systick_init()`), 音频解码器初始化(`wt2003_init()`), 音频放大器初始化(`sit1040_init()`), CAN总线初始化(`flex_can_init()`), 看门狗定时器初始化(`iwdg_init()`).
- **AVAS应用初始化**: (`avas_app_init()`).
#### 2.2 配置加载与更新
- **配置加载**: (`sys_cfg_load()`) 加载系统的配置信息。
- **音频控制设置**: (`sys_cfg_update_to_audio_ctl()`) 更新音频控制模块的配置信息,包括音源(`audio_ctl_set_source_no()`)、最大音量(`audio_ctl_set_max_vol_no()`)以及开关状态(`audio_ctl_set_sw_audio_switch()`).
#### 2.3 状态初始化
- **初始化系统状态**(`sys_status_init()`),设置初始状态包括准备状态(`avas_info.ready`), 档位(`avas_info.gear`), 制动状态(`avas_info.brake`), 加速踏板状态(`avas_info.accpedal`), 车辆速度(`avas_info.Vehspeed`).
#### 2.4 音频芯片控制初始化
- **设置最小音量**(`audio_chip_ctl_set_to_min_vol()`): 初始化音频输出到最低音量。
### 3. AVAS系统运行流程
#### 3.1 音频播放命令发送
- **发送音频播放命令**(`audio_ctl_send_audio_play_cmd()`):根据当前的音源设置,发送音频播放命令至音频芯片。
#### 3.2 CAN总线通信初始化
- **CAN总线收发初始化**(`flex_can_tx_init()` 和 `flex_can_rx_init()`):初始化CAN总线的发送和接收功能。
#### 3.3 主循环
- **主循环**: (`while (1)`) 进行循环处理,监控总线状态(`busoff_mon()`), 看门狗定时器重置(`iwdg_reload()`), 监控音频开关状态(`audio_ctl_get_sw_audio_switch() == 1`).
#### 3.4 音频控制流程
- **音频控制过程**(`audio_ctl_process()`):
- 监控音量(`audio_ctl_vol_mon()`)。
- 监控播放速度(`audio_ctl_play_speed_mon()`)。
- 监控音频切换(`audio_ctl_sw_audio_switch_mon()`)。
- 监控音频源(`audio_ctl_source_mon()`)。
- **音频芯片控制过程**(`audio_chip_ctl_process()`): 处理音频播放相关的指令。
- **系统状态检查**(`sys_status_routine_check()`): 定期检查系统状态。
### 4. 关键函数解析
- **audio_ctl_calc_vol_byte()**: 计算音量字节。
- **audio_chip_ctl_calc_audio_speed_freq_bytes()**: 根据车速计算播放速度和频率。
- **sys_status_get_avas_info()**: 获取AVAS系统状态信息。
- **wt8871_on() wt8871_off()**: 控制音频芯片的开关状态。
### 5. 总结
新能源汽车行人提醒装置AVAS系统的实现涉及到多个模块的协同工作,包括硬件初始化、配置加载与更新、状态初始化、音频播放命令发送、CAN总线通信初始化等步骤。通过这些步骤,AVAS系统能够确保在适当的情况下发出声音提示,提高道路安全。