lowermachine/doc/hardware_description.md
Miaow faae382955 refactor(pl,drv,doc,scr): 补充pl端源码
1. 添加pl端vivado工程生成脚本和源码
2. pl端设计删除本项目无关的fifo和valve interfaces模块
3. 系统部署脚本中删除fifo相关内容
4. 删除linux下的fifo驱动
5. 修改与上述内容有关的文档

BREAKING CHANGE: fifo有关功能和寄存器不再有效

Co-authored-by: lyz <1942503466@qq.com>
2023-04-29 02:22:41 +08:00

3.5 KiB
Raw Blame History

硬件平台

PL端主要由2个外设组成分别时风扇控制器(FAN)编码和分频控制器(ENCODER),各个控制器的连接关系如下图所示。

2

由于开发板的PL端没有自带晶振所以2个外设由统一的同步时钟驱动时钟源来自PS端为200MHz软件不可修改。外部编码器信号和物体检测传感器信号输入编码和分频控制器,控制器根据软件设置的阀触发分频值和相机触发分频值对编码器信号进行分频,分频后的信号用于触发相机拍照。

风扇控制器用于驱动风扇的启停给ZYNQ芯片进行降温防止芯片过热导致工作中出现问题。由于风扇寿命短因此目前采用散热片方案风扇不开。

PS模块

下面列出需要开启的外设和采用的IO口BANK0为LVCMOS3.3VBANK1为LVCOMS1.8V

外设 IO 备注
Quad SPI Flash 1~6 Single SS 4bit IOFast , ss_b pullup
Ethernet 0
MDIO
16~27
52~53
Fast, all pullup
USB0 28~39 Fast, all pullup
SD0 40~45 Fast, all pullup
SD1 46~51 Fast, all pullup
UART0 14~15 all pullup, baud 115200, 8bits, 1 stop
TTC0 EMIO
GPIO MIO
Ethernet PHY Reset
USB PHY Reset
所有剩下的
7
8
Fast, all pullup

时钟配置上ARM为666.66MHzDDR为533.33MHz用IOPLL给PL端提供200MHz的FCLK_CLK0。

如果用的是7010的板子内存选忽略下面这一段内存配置上选择DDR3数据位宽32bit=16bit/chip * 2chip, 4096Mbits/chip频率533.33速度等级为1066F行/列/Bank地址宽度为15/10/3CL=7CWL=6RCD=7RP=7RC=51nsFAW=40ns

ARM核上还开启AXI GP0接口与PL通信

ENCODER模块

encoder模块主要接口为in_signal、out_signal_camera_a_posedge、out_signal_camera_b_posedge、out_signal_camera_c_posedge、out_signal_camera_d_posedge、out_signal_valve_posedge、out_signal_camera_a、out_signal_camera_b、out_signal_camera_c、out_signal_camera_d、out_signal_valve、exrst_n

终于,我们重新实现了被老倪乱起八糟的需求搞的几乎奔溃的模块,现在这个模块已经比较简洁了

  1. in_signal接口与外部编码器相连接收外部编码器信号
  2. out_signal_camera_a到d最多课用于触发共4个相机
  3. out_signal_camera_posedge_a到d为上述信号的上升沿固定不连接。
  4. out_signal_valve_posedge为out_signal_valve的上升沿固定不连接。
  5. exrst_n为可选的外部复位清零信号可用于连接物体传感器根据需要屏蔽相机触发输出

ENCODER模块输入输出频率的详细计算方式和寄存器说明见doc/pl_reference_mannual.md中的ENCODER控制器部分