设计备忘录
设计历程
2025.8.9
- 修改zynq7010为zynq7020,二者几乎完全兼容,我甚至都可以不用改原理图,焊的时候焊为7020即可。
- 添加原理图注释,添加外设位置,电源标注。
- 继续完善修改原理图
- 将全部电容(0603)改为(0402),耐压16V以上
- 完善了DDR3、TF_CARD
- 增加了关于电源、关于bank的部分。
2025.8.10
-
着手搭建博客(博客园美化)
- 基本完成博客园主题与Typora主题相似。
-
继续完善修改原理图
- 完善USB-OTG、千兆网口的原理图绘制。
- 了解了HR bank和HP bank的区别,方便后续添加摄像头。
-
增加了关于GND的部分。
2025.8.11
- 继续完善修改原理图
- 将AD9363替换为AD9361,二者不完全PIN_to_PIN。(带宽提升到6G)
- 原M12有源40M晶振,修改为M11、M12无源40M晶振。
- 开始考虑LVDS传输。
- 突然意识到FR4能到6G吗!?(管tm的哟)
- 继续完善电源部分
- AD9361需要干净的1.3V/1A,使用TPS7A91 ldo。
- 3.3V,1.8V电源由DCDC提供即可。
- 将AD9363替换为AD9361,二者不完全PIN_to_PIN。(带宽提升到6G)
- 增加了关于AD9361的部分。
- V1.0,不加PA,纯AD9361输出。
- 继续弄博客。
2025.8.12
- 只弄了博客。(沉迷AI抽奖了┭┮﹏┭┮)
2025.8.13
- 学习了一下怎么把代码直接push到github上或者gitee上面。
- 让ai大人把它写的2500行屎山代码重构了一下,并用jsdelivr使我能在博客园快速使用。
2025.8.14
-
收集了大量资料,目前看来只有UG933对我有点帮助。
-
询问ai在FPGA如何分配AD9361管脚上浪费大量时间,它md一直说要在哪个VRP管脚上弄240欧姆的电阻。最终参照了Zedboard的管脚分配,虽然它是484bga封装的XC70Z20封装,我是400bga封装,但是我也总结出来了规律。
- AD9361的数据差分线连接到普通的LVDS差分线,SRCC差分线,DQ差分线上都可以。(几把ai偏说不行)
- AD9361的时钟差分线连接到普通的LVDS差分线,MRCC差分线都可以。
- AD9361的FRAME差分线连接到普通的LVDS差分线,SRCC差分线都可以。
总结:我觉得都是可以分配的,只要分配到差分管脚上即可,但是不要分配到VREF管脚上了,方便布线为主。
-
学习摄像头接口种类。
- 目前的问题还是如何在AD9361上传输高画质视频流。我稍微思考了一下,先实现imx219摄像头裁剪到320×240画质下发送出去,这种带宽绰绰有余!后续的话,增加H265/H264编码解码芯片,板间USB-OTG传输。
完成电阻网络兼容FPGA的DPHY。(方案不行)速率不够
-
在考虑要不要HDMI!?
-
看番去了:吊带袜天使!!!
2025.8.15
- 正在寻找有没有高速的btb连接器!
目前的打算是使用MC20901来传mipi信息发现现在速度够了,70fps 1080p目前来说够了。 现在考虑的是要不把bank35改为3.3v供电,用电平转换芯片来给AD9361通信,然后嘻嘻就能在这加hdmi了。(现在想来没有必要,可以在后面的视频解码芯片那里加HDMI)- 详细分析了电阻网络的可行性,并写了博客一篇低成本电阻网络兼容FPGA_DPHY的简要概括 - 蓝色的aoi - 博客园。
- 突然发现CDN在国外,不用魔法有些JS传不到博客上,算了现在没时间弄。
2025.8.16
- 完善原理图接近尾声:
- 补充了FPGA电源的电容(100多个)
- 补充小排针用于选开机模式
- 叫ai评估了一下功耗:把检流电阻从大封装换成了0603封装50mΩ/0.5W,把二极管也换成了小封装的DSS34。
- 明天休假一天
关于电源
参考:FPGA上电时序
| PS端 | ||
|---|---|---|
| VCCPINT | PS内部逻辑(内核)电源电压,最大不超过1.1V;一般设计采用1.0V | (VCCPINT 1.0V) |
| VCCPAUX | PS辅助电源电压,最大不超过2.0V;一般设计采用1.8V | (VCCPAUX 1.8V) |
| VCCPLL | PS PLL电源,PLL内部时钟供电电源,最大不超过2.0V;一般设计采用1.8V | (VCCPLL 1.8V) |
| PS_VCCO | PS_VCCO包括PS_VCCO_DDR、PS_VCCO_MIO I/O电源;一般设计采用1.5V | (VDDR 1.5V) (MIO0 3.3V)(MIO1 1.8V) |
PS端上电顺序:VCCPINT → VCCPAUX&VCCPLL → PS_VCCO(1.0v -> 1.8V -> 1.5v) 掉电顺序相反
| PL端 | ||
|---|---|---|
| VCCINT | PL内部逻辑(内核)电源电压,最大不超过1.1V;一般设计采用1.0V | (VCCINT 1.0V) |
| VCCBRAM | PL块RAM电源电压;一般设计采用1.0V | (VCCBRAM 1.0V) |
| VCCAUX | PL辅助电源电压辅助电源;一般设计采用1.8V | (VCCAUX 1.8V) |
| VCCO | BANK电压【RSVDVCC tie to VCCO_0】 | (Bank0 3.3V)(Bank35、Bank34 1.8V)(Bank13 3.3V) |
其他:(VCCADC0 1.8V)(VCCBATT0 1.8V)
关于bank
| PS bank | |
|---|---|
| Bank500(3.3V) | MIO0。硬件外设:(Flash)(调试串口) |
| Bank501(1.8V) | MIO1。硬件外设:(TF卡)(USB2_OTG)(千兆网) |
| Bank502(1.5V) | DDR |
| PL bank | |
|---|---|
| Bank0 (3.3V) | JTAG、复位、自检 |
| Bank13 |
|
| Bank34(1.8V) | 电源IIC、AD9361(数据部分,时钟部分) |
| Bank35(1.8V) | AD9361(数字控制部分) |
还可细分为HP_BANK和HR_BANK
关于GND
在网口、DDR、ZYNQ的某些地(GND和RSVDGND)等等地方使用了三角形的GND(数字地 (Digital Ground, DGND) ),而在USB、ZYNQ的ADCGND、电源等等地方上使用了三条杠的GND(模拟地 (Analog Ground, AGND))
-
模拟地 :
- AD9361 的所有GND引脚(包括AGND, DGND, GND_RF等)。
- ZYNQ的ADC地 (GNDADC) 和ADC电源(VCCADC)的滤波电容地。
- 为AD9361供电的LDO的GND。
- AD9361的参考晶振的GND。
-
数字地 :
- ZYNQ 的绝大部分GND引脚(除了GNDADC)。
- DDR3 的所有GND。
- Flash 的GND。
- TF卡 的GND。
- USB PHY 和 以太网PHY 的数字部分GND。
- 所有开关电源的GND。
关于AD9361
电源部分
| 引脚号 | 助记符 | 描述与电压 |
|---|---|---|
| 核心电源 (1.3V) | ||
| B9 | VDDA1P3_TX_LO | 发射LO 1.3V电源输入。 |
| B10 | VDDA1P3_TX_VCO_LDO | 发射VCO LDO 1.3V电源输入。连接到B9。 |
| D2 | VDDA1P3_RX_RF | 接收器1.3V电源输入。连接到D3。 |
| D3 | VDDA1P3_RX_TX | 1.3V电源输入。 |
| E2 | VDDA1P3_RX_LO | 接收LO 1.3V电源输入。 |
| E3 | VDDA1P3_TX_LO_BUFFER | 1.3V电源输入。 |
| F2 | VDDA1P3_RX_VCO_LDO | 接收VCO LDO 1.3V电源输入。连接到E2。 |
| F12 | VDDD1P3_DIG | 1.3V数字电源输入。 |
| J3 | VDDA1P3_RX_SYNTH | 1.3V电源输入。 |
| K3 | VDDA1P3_TX_SYNTH | 1.3V电源输入。 |
| K4 | VDDA1P3_BB | 1.3V电源输入。 |
| VCO 电源 (1.3V) | ||
| A11 | VDDA1P1_TX_VCO | 发射VCO电源输入。连接到B11。 |
| G3 | VDDA1P1_RX_VCO | 接收VCO电源输入。仅将此引脚直接连接到G2。 |
| 数字接口电源 (可变) | ||
| H12 | VDD_INTERFACE | 1.2V至2.5V。用于数字I/O引脚的电源。LVDS模式下推荐1.8V;CMOS模式下常用1.8V或2.5V。 |
| GPO/AUXDAC电源 (可变) | ||
| B8 | VDD_GPO | 2.5V至3.3V。用于AUXDAC和GPO引脚的电源。不使用时必须设为1.3V。 |
| 模拟地 (GND) | ||
| A4, A6, B1, B2, B12, C2, C7-C12, F3, H2, H3, H6, J2, K2, L2, L3, L7-L12, M4, M6 | VSSA | 模拟地。 |
| 数字地 (GND) | ||
| D12, F7, F9, F11, G12, H7, H10, K12 | VSSD | 数字地。应与VSSA在PCB上连接到同一个接地平面 |
数字数据与控制接口
| 引脚号 | 助记符 | 描述 (CMOS/LVDS双功能) |
|---|---|---|
| 数据端口 P0 (TX) | ||
| D7-D11, E7-E12, F8 | P0_D[11:0] / TX_D[5:0] | 数据端口0,双向(TDD)或发射(FDD)。CMOS下为12位总线,LVDS下为6位差分总线。 |
| 数据端口 P1 (RX) | ||
| H8, J7-J12, K7-K11 | P1_D[11:0] / RX_D[5:0] | 数据端口1,双向(TDD)或接收(FDD)。CMOS下为12位总线,LVDS下为6位差分总线。 |
| 时钟与帧信号 | ||
| F10, G10 | FB_CLK_P/N | 输入 - 反馈时钟,用于锁存TX数据。 |
| G11, H11 | DATA_CLK_P/N | 输出 - 数据时钟,BBP用此锁存RX数据。 |
| G9, H9 | TX_FRAME_P/N | 输入 - 发射帧信号,指示TX数据有效。 |
| G7, G8 | RX_FRAME_P/N | 输出 - 接收帧信号,指示RX数据有效。 |
| SPI 接口 | ||
| K6 | SPI_ENB | SPI使能输入 (低电平有效)。 |
| J5 | SPI_CLK | SPI时钟输入。 |
| J4 | SPI_DI | SPI串行数据输入。 |
| L6 | SPI_DO | SPI串行数据输出 (4线模式) / 高阻态 (3线模式)。 |
| 状态机与同步控制 | ||
| G6 | ENABLE | 控制输入,用于设备状态转换。 |
| H4 | TXNRX | 状态机控制,选择TX/RX方向。 |
| H5 | SYNC_IN | 多设备同步输入。 |
| K5 | RESETB | 异步复位输入 (低电平有效)。 |
射频收发接口
| 引脚号 | 助记符 | 描述 |
|---|---|---|
| 接收输入 (RX Inputs) | ||
| M1, M2 | RX1A_P/N | 接收通道1,差分输入A。 |
| H1, J1 | RX1B_P/N | 接收通道1,差分输入B (3GHz以上性能下降)。 |
| K1, L1 | RX1C_P/N | 接收通道1,差分输入C (3GHz以上性能下降)。 |
| A1, A2 | RX2A_P/N | 接收通道2,差分输入A。 |
| E1, F1 | RX2B_P/N | 接收通道2,差分输入B (3GHz以上性能下降)。 |
| C1, D1 | RX2C_P/N | 接收通道2,差分输入C (3GHz以上性能下降)。 |
| 发射输出 (TX Outputs) | ||
| M7, M8 | TX1A_P/N | 发射通道1,差分输出A。未使用时连接到1.3V。 |
| M9, M10 | TX1B_P/N | 发射通道1,差分输出B。未使用时连接到1.3V。 |
| A7, A8 | TX2A_P/N | 发射通道2,差分输出A。未使用时连接到1.3V。 |
| A9, A10 | TX2B_P/N | 发射通道2,差分输出B。未使用时连接到1.3V。 |
| 外部本振 (External LO) | ||
| G1 | RX_EXT_LO_IN | 外部接收LO输入。未使用时连接到GND。 |
| A12 | TX_EXT_LO_IN | 外部发射LO输入。未使用时连接到GND。 |
| 发射监控 (TX Monitor) | ||
| M5 | TX_MON1 | 发射通道1功率监控器输入。 |
| A5 | TX_MON2 | 发射通道2功率监控器输入。 |
时钟与参考
| 引脚号 | 助记符 | 描述 |
|---|---|---|
| 主参考时钟 | ||
| M11, M12 | XTALP, XTALN | 参考频率连接。可接晶体或外部时钟源。 |
| 时钟输出 | ||
| J6 | CLK_OUT | 可配置的时钟输出。 |
| 偏置参考 | ||
| L4 | RBIAS | 偏置输入参考。通过14.3 kΩ电阻接地。 |
辅助与通用I/O
| 引脚号 | 助记符 | 描述 |
|---|---|---|
| 辅助 ADC/DAC | ||
| L5 | AUXADC | 辅助ADC输入。未使用时连接到GND。 |
| B3 | AUXDAC1 | 辅助DAC 1输出。未使用时NC。 |
| C3 | AUXDAC2 | 辅助DAC 2输出。未使用时NC。 |
| 通用输入/输出 (GPIO) | ||
| C5, C6, D6, D5 | CTRL_IN[3:0] | 控制输入,用于手动增益/衰减控制。 |
| D4, E4-E6, F4-F6, G4 | CTRL_OUT[7:0] | 可编程的控制输出。 |
| B4-B7 | GPO_[3:0] | 3.3V兼容通用输出。 |
| 其他 | ||
| C4 | TEST/ENABLE | 测试输入,正常操作时接地。 |
| A3, M3 | NC | 无连接。 |
关于摄像头协议
IMX219属于2 lanes的MIPI_CSI。
CSI 是外设(如相机)和主机处理器之间的高速串行接口。
代码部分后续可以参考:7 Serises FPGA的MIPI采集实战
兼容MIPI_DPHY可以参考:7 Serises FPGA的MIPI DPHY 接口实现
此次采用低成本电阻网络实现兼容。
采用低成本电阻网络实现兼容
优化事项:
浙公网安备 33010602011771号