Quick Start
- 步骤一:准备硬件——Zynq-7010/7020开发板(如PYNQ-Z2、ZedBoard)、电机驱动模块(L298N)、直流电机×2、超声波测距模块(HC-SR04)、红外循迹模块×2、电池组(7.4V~12V)。
- 步骤二:安装Vivado 2024.2(或更高版本)及Vitis统一平台,确保支持Zynq-7000系列。
- 步骤三:在Vivado中创建新工程,选择xc7z020clg484-1(PYNQ-Z2)或对应器件。
- 步骤四:添加Zynq Processing System IP核,配置DDR(512MB)、UART1(115200 baud)、GPIO MIO(复位按键)和AXI GPIO(用于电机PWM与传感器输入)。
- 步骤五:编写顶层Verilog模块,例化Zynq PS与自定义RTL模块(PWM发生器、超声波测距控制器、循迹逻辑)。
- 步骤六:综合、实现并生成比特流,导出硬件描述(XSA文件)至Vitis。
- 步骤七:在Vitis中创建裸机应用工程,编写C代码控制小车:初始化GPIO、PWM占空比调整、传感器读取、避障与循迹状态机。
- 步骤八:下载比特流与软件ELF到开发板,连接电机与传感器,上电后小车应能自动避障或循迹(根据模式选择)。
- 验收点:小车在平坦地面直线行驶不跑偏,遇障碍物20cm内停止或转向,循迹时能沿黑线行驶。
前置条件与环境
| 项目/推荐值 | 说明 | 替代方案 |
|---|---|---|
| 器件/板卡 | Zynq-7020(xc7z020clg484-1) | Zynq-7010(xc7z010)或Artix-7+外部MCU(不推荐) |
| EDA版本 | Vivado 2024.2 + Vitis 2024.2 | Vivado 2023.x(需调整IP核版本) |
| 仿真器 | Vivado Simulator(XSim) | ModelSim/Questa(需编译库) |
| 时钟/复位 | PS侧50MHz晶振,PL侧由PS提供100MHz时钟;复位使用PS复位输出 | 外部晶振+复位芯片(增加BOM) |
| 接口依赖 | PMOD接口连接传感器,GPIO连接电机驱动模块 | Arduino Shield兼容板(如Pmod Shield) |
| 约束文件 | XDC约束:时钟周期10ns,I/O标准LVCMOS33,输入延迟2ns | 自动推导(不推荐,可能导致时序违规) |
| 电源 | 5V/2A直流电源(板卡供电)+ 7.4V电池组(电机供电) | 12V电池组+降压模块 |
目标与验收标准
- 功能点:
- 循迹模式:根据左右传感器差值调整转向,保持沿黑线行驶。
性能指标: 验收方式:



