松垮是什么意思| 脂肪瘤吃什么药可以消除| 打嗝挂什么科| 十二月六号是什么星座| 尿胆红素阳性什么意思| 95年的属什么生肖| 前列腺不能吃什么食物| 很困但是睡不着是什么原因| 晚上睡觉遗精是什么原因| 梦见好多羊是什么意思| 纸鸢是什么意思| 狐臭是什么原因| 女单读什么| 优甲乐是治什么病的| 欧阳修是什么居士| 出痧的颜色代表什么| 足底筋膜炎挂什么科| 迂回战术什么意思| 牛肉和什么包饺子好吃| 血氧是什么| 什么的积雪| 床榻是什么意思| 为什么会失眠| 做喉镜能检查出什么病| 送什么礼物给女老师| yy飞机票是什么| 独在异乡为异客异是什么意思| 储蓄卡是什么意思| 吃什么最补血| 宝宝便秘吃什么食物好| 血糖高的人吃什么水果好| 防蓝光眼镜有什么好处| 座是什么结构| hbaic是什么意思| 太多的借口太多的理由是什么歌| 气血虚吃什么中成药| 腹痛拉肚子吃什么药| 云彩像什么| 懿怎么读 什么意思| 长红疹是什么原因| 鲁肃是一个什么样的人| 降血脂吃什么药效果好| 风热感冒是什么意思| 规培证什么时候发| 冬天吃什么| 举人相当于现在的什么官| 1985年什么命| 类风湿关节炎吃什么药| 日语八嘎是什么意思| 盆腔积液吃什么消炎药| 阑尾炎吃什么药| 八八年属什么| 贫血吃什么水果补血最快| 舌苔厚黄是什么病| 10月9日什么星座| 痔疮吃什么消炎药最好| 下雨为什么会打雷闪电| 勾陈是什么意思| 动人是什么意思| 如意什么意思| 什么东西在倒立之后会增加一半| 一月十号是什么星座| 泸州老窖什么档次| 铁是什么元素| 哥哥的孩子叫什么| 贫血要吃什么| id是什么意思的缩写| 心脏彩超主要检查什么| 朝鲜为什么那么落后| 什么冰淇淋最贵| 牙齿松动吃什么药| 食指有痣代表什么意思| 吉祥物是什么生肖| 过期药品属于什么垃圾| 苯佐卡因是什么药| 一月十二号是什么星座| nice什么意思| 黄金五行属什么| 耳朵后面痒是什么原因| 阿迪耐克为什么那么贵| 救世主是什么意思| 马与什么属相相克相冲| 牙龈肿痛吃什么中成药| 耐人寻味是什么意思| 胃疼拉肚子吃什么药| 离职什么意思| 后背疼是什么病| 痔疮为什么会痒| 盆腔炎检查什么项目| 996是什么意思| 什么鸟好养又与人亲近| 藿香正气水什么味道| 世界上最小的长度单位是什么| 不走寻常路是什么品牌| 虚劳病是什么意思| 拉肚子出血是什么原因| 驾校体检都检查什么| 什么叫根管治疗牙齿| 腐败什么意思| 伏地魔什么意思| 无情是什么意思| 猪古代叫什么| 肺部微结节是什么意思| 紫气东来什么意思| spi是什么| 风湿性关节炎用什么药| disease是什么意思| 60年是什么婚| 西瓜都有什么品种| 男人喝藏红花有什么好处| 托塔李天王的塔叫什么| 胃息肉吃什么好| 卷柏是什么植物| 什么值得买怎么用| 头痛到医院挂什么科| 尼莫地平片治什么病| 玉米芯有什么用途| 披什么散什么| 什么办法退烧快| 清风明月是什么意思| 两票制指的是什么| 抗酸杆菌是什么意思| 如日中天的意思是什么| 农历五月是什么月| 好好好是什么语气| 两岁宝宝坐飞机需要什么证件| mild是什么意思| 旦角是什么意思| 适得其反什么意思| 刻骨铭心是什么意思| 粉底液是干什么用的| 门当是什么| 载体是什么| 六爻是什么意思| 自由意志是什么意思| 孙尚香字什么| 利巴韦林是什么药| 10月13号是什么星座| 耍小聪明是什么意思| 对等是什么意思| 什么叫老人临终骨折| 舌头裂纹是什么病| 德国什么东西值得买| 吃避孕药对身体有什么影响| 系少一撇叫什么| 神经病吃什么药效果好| lc是什么意思| 尿酸高是什么原因造成的| 前白蛋白偏低是什么意思| 屁股后面骨头疼是什么原因| 献血前检查什么项目| 梅肉是什么肉| 梦见卖鱼是什么意思| 喉咙沙哑吃什么药| 990金是什么金| 鸡肉和什么相克| 为什么抽烟会恶心想吐| 前列腺液是什么东西| 尿红色是什么原因| 喝完酒头疼吃什么药| vae是什么意思| 拜观音菩萨有什么讲究| 指骨属于什么骨| 梦见死人什么意思| 偷换概念是什么意思| 口腔白斑是什么病| 亥和什么合| 治类风湿用什么方法好| 25属什么| his系统是什么| 脚底褪皮是什么原因| 武装部部长是什么级别| 绝眼是什么原因引起的| 什么是水痘| 嘴苦是什么原因造成的| 2月什么星座| 做梦梦到老婆出轨是什么意思| 月亮什么时候是圆的| 吃什么增肥| 什么是灌肠| 生化八项是检查什么| 甲状腺在人体什么位置| 饭后胃胀是什么原因导致的| 日语莫西莫西什么意思| 胆没了对身体有什么影响| 外阴瘙痒用什么药| 喉咙疼痛一咽口水就疼吃什么药| 阴茎冰凉是什么原因| 身上无力是什么原因| 受益匪浅是什么意思| 机滤是什么| 狐狸和乌鸦告诉我们什么道理| 尿喝起来是什么味道| 兵部尚书相当于现在的什么官| 嘴巴发甜是什么原因| 为什么怀孕了还会来月经| 一代表什么意思| 肝弥漫性病变是什么意思| ccu是什么病房| 大便黑色的是什么原因| 本科二批是什么意思| 蜘蛛痣是什么原因引起的| 积聚病什么意思| 月经第二天是什么期| 角质层是什么| 小狗的尾巴有什么作用| 胡萝卜是什么颜色| 一周不排便是什么原因| 什么时候不能喷芸苔素| 米醋和白醋有什么区别| 酉鬼念什么| 化疗和靶向有什么区别| 79年的羊是什么命| 嗓子疼咳嗽是什么原因| 通五行属什么| 支原体感染有什么症状| 痛经吃什么药最有效| 吃什么降三高最快| 来福是什么意思| 口腔溃疡吃什么好的快| 胰管扩张是什么意思| 全性向是什么意思| 阴虱长什么样| hiv是什么意思| 两肺间质性改变是什么意思| 阑尾是什么器官| 十的偏旁有什么字| 大佐相当于中国的什么军衔| 大家闺秀是什么生肖| 3月18日什么星座| 狐臭的味道像什么味道| 乔迁新居送什么礼物| 鳀鱼是什么鱼| 北戴河在什么地方| wba是什么意思| 心脏不舒服挂什么科| 总放屁是什么原因| 什么的哲理| 什么人生病不看医生| 腊月是什么月| 诸葛亮的扇子叫什么| 杜仲有什么功效| a2是什么材质| vocabulary是什么意思| 吃葡萄干对身体有什么好处| 保险属于什么行业| 北属于五行的什么| 失独是什么意思| 托梦是什么意思| 眼睛肿疼是什么原因引起的| 岳云鹏为什么这么火| hcy是什么检查项目| 做核磁共振挂什么科| 身体出汗多是什么原因| 孕晚期呕吐是什么原因| 猫眼石是什么| 出汗臭是什么原因| 身上起红斑是什么原因| 铃字五行属什么| 口嗨是什么意思| 吃什么养肝护肝最好| 感叹是什么意思| 办低保需要什么条件| 什么是精神分裂症| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? FPGA ? 米尔安路国产DR1M90开发板双目视觉处理系统开发实例

共1条 1/1 1 跳转至

米尔安路国产DR1M90开发板双目视觉处理系统开发实例

菜鸟
2025-08-04 14:03:00     打赏
百度 空军前出岛链远洋训练中,旅长、团长飞在第一梯队,用“越是艰险越向前”的豪气胆气,书写“传承红色基因、担当强军重任”的答卷。

1. 系统架构解析

本系统基于米尔MYC-YM90X构建,基于安路飞龙DR1M90处理器,搭载安路DR1 FPGA SOC 创新型异构计算平台,充分发挥其双核Cortex-A35处理器与可编程逻辑(PL)单元的协同优势。通过AXI4-Stream总线构建的高速数据通道(峰值带宽可达12.8GB/s),实现ARM与FPGA间的纳秒级(ns)延迟交互,较传统方案提升了3倍的传输效率,极大地提升了系统整体性能。

国产化技术亮点

  • 全自主AXI互连架构,支持多主多从拓扑,确保系统灵活性与可扩展性

  • 硬核处理器与PL单元共享DDR3控制器,提高内存带宽利用率(可升级至DDR4)

  • 动态时钟域隔离技术(DCIT),确保跨时钟域的数据交互稳定性,避免时序错误

  • 国产SM4加密引擎硬件加速模块,为数据加密任务提供硬件级别的支持,提升加密处理效率

2.png

图一 系统架构框图

如图一所示,系统架构通过“低内聚,高耦合”的设计思想,通过模块化的设计方式,完成了以下工作。

1.     通过I2C对OV5640摄像头进行分辨率,输出格式等配置。

2.     双目图像数据进行三级帧缓存,FIFO——DMA——DDR。

3.     客制化低延迟ISP(开发者根据场景需求加入)

4.     VTC驱动HDMI输出显示

2. 系统程序开发2.1 DR1固件架构设计

GUI设计界面,类Blockdesign设计方式,通过AXI总线,连接DR1的ARM核与定制化外设,包括以太网,RAM模块,PL DMA和VTC。

3.png

图二 FPGA底层架构框图

2.2 双目视觉处理流水线2.2.1 传感器配置层

为实现高效的传感器配置,本系统采用混合式I2C配置引擎,通过PL端硬件I2C控制器实现传感器参数的动态加载。与纯软件方案相比,该硬件加速的配置速度提升了8倍,显著降低了配置延迟。

// 可重配置传感器驱动IP  
module ov5640_config (  
input wire clk_50M,  
output tri scl,  
inout tri sda,  
input wire [7:0] reg_addr,  
input wire [15:0] reg_data,  
output reg config_done  
);  
// 支持动态分辨率切换(1920x1080@30fps ? 1280x720@60fps)  
parameter [15:0] RESOLUTION_TABLE[4] =

该配置引擎支持多分辨率与高帧率动态切换,适应不同应用场景需求。

2.2.2 数据采集管道

系统构建了三级缓存体系,确保数据处理的高效性和实时性:

  • 像素级缓存:采用双时钟FIFO(写时钟74.25MHz,读时钟100MHz),实现数据的稳定缓存和传输。

  • 行缓冲:使用BRAM的乒乓结构(每行1920像素×16bit),减少数据延迟。

  • 帧缓存:通过DDR3-1066 1GB内存支持四帧循环存储,确保图像的持续流畅展示。

// 位宽转换智能适配器  
module data_width_converter 
parameter IN_WIDTH = 16,  
parameter OUT_WIDTH = 96  
)(  
input wire [IN_WIDTH-1:0] din,  
output wire [OUT_WIDTH-1:0] dout,  
// 时钟与使能信号  
);  
// 采用流水线式位宽重组技术  
always_ff @(posedge clk) begin  
(state)  
0: buffer <= {din, 80

2.2.3. 异构计算调度

系统通过AXI-DMA(Direct Memory Access)实现零拷贝数据传输,优化内存和外设间的数据交换:

  • 写通道:PL→DDR,采用突发长度128、位宽128bit的高速数据传输

  • 读通道:DDR→HDMI,配合动态带宽分配(QoS等级可调),确保不同带宽需求的动态适配

2.2.4 VTC显示引擎深度优化

  • PL DMA输出显示优化

  • 显示时序的优化对高质量图像输出至关重要。通过VTC(Video Timing Controller),本系统能够实现多模式自适应输出。

axi_hdmi_tx
.ID(0),  
.CR_CB_N(0),  
.DEVICE_TYPE(17), // 17  DR1M  
.INTERFACE(),  
.OUT_CLK_POLARITY (0)  
)  
axi_hdmi_tx_inst (  
.hdmi_clk (pll_clk_150),  
//.hdmi_clk (clk1_out),  
.hdmi_out_clk (hdmi_clk ),  
.hdmi_16_hsync (hdmi_hs ),  
.hdmi_16_vsync (hdmi_vs ),  
.hdmi_16_data_e (hdmi_de),  
.hdmi_16_data (/*hdmi_data*/ ),  
// .hdmi_16_data (hdmi_data ),  
.hdmi_16_es_data (hdmi_data),  
.hdmi_24_hsync (),  
.hdmi_24_vsync (),  
.hdmi_24_data_e (),  
.hdmi_24_data (/*{r_data,g_data,b_data}*/),  
.hdmi_36_hsync (),  
.hdmi_36_vsync (),  
.hdmi_36_data_e (),  
.hdmi_36_data (),  
.vdma_clk (pll_clk_150 ),  
.vdma_end_of_frame (dma_m_axis_last ),  
.vdma_valid (dma_m_axis_valid ),  
.vdma_data (dma_m_axis_data ),  
.vdma_ready (dma_m_axis_ready),  
.s_axi_aclk (S_AXI_ACLK ),  
.s_axi_aresetn (S_AXI_ARESETN ),  
.s_axi_awvalid (axi_ds5_ds5_awvalid ),  
.s_axi_awaddr (axi_ds5_ds5_awaddr ),  
.s_axi_awprot (axi_ds5_ds5_awprot ),  
.s_axi_awready (axi_ds5_ds5_awready ),  
.s_axi_wvalid (axi_ds5_ds5_wvalid ),  
.s_axi_wdata (axi_ds5_ds5_wdata ),  
.s_axi_wstrb (axi_ds5_ds5_wstrb ),  
.s_axi_wready (axi_ds5_ds5_wready ),  
.s_axi_bvalid (axi_ds5_ds5_bvalid ),  
.s_axi_bresp (axi_ds5_ds5_bresp ),  
.s_axi_bready (axi_ds5_ds5_bready ),  
.s_axi_arvalid (axi_ds5_ds5_arvalid ),  
.s_axi_araddr (axi_ds5_ds5_araddr ),  
.s_axi_arprot (axi_ds5_ds5_arprot ),  
.s_axi_arready (axi_ds5_ds5_arready ),  
.s_axi_rvalid (axi_ds5_ds5_rvalid ),  
.s_axi_rresp (axi_ds5_ds5_rresp ),  
.s_axi_rdata (axi_ds5_ds5_rdata ),  
.s_axi_rready (axi_ds5_ds5_rready)  
);
  • 动态时序生成器

  • 通过PL-PLL动态调整像素时钟,确保显示无卡顿、无闪烁,误差控制在<10ppm内。

// VTC配置代码片段(Anlogic SDK)  
void config_vtc(uint32_t h_total, uint32_t v_total) {  
VTCRegs->CTRL = 0x1; // 使能软复位  
VTCRegs->HTOTAL = h_total - 1;  
VTCRegs->VTOTAL = v_total - 1;  
// 详细时序参数配置  
VTCRegs->POLARITY = 0x3; // HS/VS极性配置  
VTCRegs->CTRL = 0x81; // 使能模块  
}

3. 硬件连接与测试

  • 硬件连接

米尔的安路飞龙板卡采用2 X 50 PIN 连接器设计,可灵活插拔多种子卡,配合子卡套件,可扩展成多种形态,多种应用玩法。

4.png

图三 使用模组,底板,子卡和线缆搭建硬件系统(使用米尔基于安路飞龙DR1M90开发板)

  • 显示测试

实测双目显示清晰,无卡帧,闪屏。

5.png

图四 输出显示效果

  • 系统集成

  • 在FPGA硬件描述文件的基础上,进一步在Linux下实现双摄,为复杂系统调度应用铺平道路。

  • 内核加载5640驱动下通过dma搬运ddr数据,在应用层中通过v4l2框架显示到HDMI上,完整数据流如下:

  • FPGA DDR → AXI-DMA控制器 → Linux DMA引擎 → 内核dma_buf  → V4L2 vb2队列 → mmap用户空间 → 应用处理

三路DMA设备树HDMI、camera1、camera2代码片段:

//hdmi  
soft_adi_dma0: dma@80400000 {  
compatible = ;  
reg = <0x0 0x80400000 0x0 0x10000>;  
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;  
clocks = <&axi_dma_clk>;  

status = ;  

adi,channels {  



dma-channel@0 {  
reg = <0>;  
adi,-bus-width = <32>;  
adi,-bus-type = <0>;  
adi,destination-bus-width = <64>;  
adi,destination-bus-type = <1>;  
};  
};  
};  
// cam1  
mipi_adi_dma0: dma@80300000 {  
compatible = ;  
reg = <0x0 0x80300000 0x0 0x10000>;  
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;  
clocks = <&axi_dma_clk>;  

status = ;  

adi,channels {  



dma-channel@0 {  
reg = <0>;  
adi,-bus-width = <128>;  
adi,-bus-type = <1>;  
adi,destination-bus-width = <64>;  
adi,destination-bus-type = <0>;  
};  
};  
};  
//cam2  
mipi_adi_dma1: dma@80700000 {  
compatible = ;  
reg = <0x0 0x80700000 0x0 0x10000>;  
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;  
clocks = <&axi_dma_clk>;  

status = ;  

adi,channels {  



dma-channel@0 {  
reg = <0>;  
adi,-bus-width = <128>;  
adi,-bus-type = <1>;  
adi,destination-bus-width = <32>;  
adi,destination-bus-type = <0>;  
};  
};  
};

双路i2c OV5640设备树配置代码片段

camera@3c {  
              compatible = ;  
              pinctrl-names = ;  
            //   pinctrl-0 = <&pinctrl_ov5640>;  
              reg = <0x3c>;  
              clocks = <&ov5640_clk>;  
              clock-names = ;  
            //   DOVDD-supply = <&vgen4_reg>; /* 1.8v */  
            //   AVDD-supply = <&vgen3_reg>;  /* 2.8v */  
            //   DVDD-supply = <&vgen2_reg>;  /* 1.5v */  
            powerdown-gpios = <&portc 8 GPIO_ACTIVE_HIGH>;  
            reset-gpios = <&portc 7 GPIO_ACTIVE_LOW>;  
              port {  
                  /* Parallel bus endpoint */  
                  ov5640_out_0: endpoint {  
                      remote-endpoint = <&vcap_ov5640_in_0>;  
                      bus-width = <8>;  
                      data-shift = <2>; /* lines 9:2 are used */  
                      hsync-active = <0>;  
                      vsync-active = <0>;  
                      pclk-sample = <1>;  
                  };  
              };  
          };
  • 性能测试

性能实测数据。

指标

实测值

理论峰值

图像处理延迟

18.7ms

≤20ms

DDR吞吐量

2GB/s

2.6GB/s

功耗(全负载)

3.8W

4.2W

启动时间(Linux)

18s

-

4. 场景化应用扩展

该方案可广泛应用于以下领域:

  1. 智能驾驶:前视ADAS系统,包含车道识别和碰撞预警

  2. 工业检测:高速AOI(自动光学检测)流水线,提升检测精度和效率

  3. 医疗影像:内窥镜实时增强显示,支持多视角成像

  4. 机器人导航:SLAM(同步定位与地图构建)点云加速处理,提升机器人自主导航能力

通过安路TD 2024.10开发套件,开发者能够快速移植和定制化开发,具体包括:

  • 使用GUI图形化设计约束工具,简化硬件开发过程

  • 调用预置的接口与处理器IP,加速产品开发上市时间,专注应用和算法的处理

  • 进行动态功耗分析(DPA)与仿真,确保系统的稳定性与高效性

0. One More Thing…

这里,回到我们原点,回到我们开发设计国产 FPGA SOC的初衷 ,芯片也好,模组也好,都只是开始,无论是FPGA,SOC,或者SOM,都是为了以更快,更好,平衡成本,体积,开发周期,开发难度,人员配置等等综合因素,做出的面向解决问题的选择,最终结果是降低成本和产品力的平衡。

安路飞龙系列的问世,让我们很欣喜看见国产SOC FPGA的崛起,希望和业界开发者一起开发构建国产SOC FPGA生态,所以选择将系列教程以知识库全部开源,共同无限进步!

6.png7.png

米尔可能只是其中非常非常小的一个数据集,但会尽力撬动更大贡献。




关键词: 安路     飞龙DR1M90     嵌入式     双目视觉     米尔    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
大小便失禁是什么意思 指甲挂什么科 小龙虾和什么不能一起吃 心绪不宁的意思是什么 蜂蜜可以做什么美食
屡试不爽是什么意思 婴儿湿疹用什么 烹调是什么意思 脾胃伏火是什么意思 血铅是什么
宝五行属什么 二花是什么中药 01什么意思 原则上是什么意思 加湿器用什么水比较好
鹅蛋有什么功效 大生化检查都包括什么项目 惊悉是什么意思 什么是腹式呼吸 1月21是什么星座
榴莲为什么那么贵hcv8jop3ns1r.cn 洗脑是什么意思hcv8jop0ns2r.cn 1979年属什么hcv8jop4ns4r.cn 猫咪都需要打什么疫苗hcv7jop5ns4r.cn 小孩子长白头发是什么原因hcv7jop7ns2r.cn
1996年出生属什么生肖hcv7jop7ns1r.cn 2月18号是什么星座hcv9jop6ns3r.cn 脚起皮干裂是什么原因hcv8jop3ns8r.cn 地主之谊是什么意思hcv8jop5ns1r.cn 拉稀屎是什么原因hcv9jop2ns2r.cn
少阳病是什么意思hcv9jop6ns6r.cn 八百里加急是什么意思liaochangning.com 唐玄宗叫什么hcv8jop5ns7r.cn 耳塞戴久了有什么危害hcv9jop0ns5r.cn 有什么有什么hcv9jop3ns2r.cn
宫腔少量积液是什么意思hcv8jop5ns1r.cn 梦见考试是什么意思hcv8jop4ns8r.cn 远视是什么意思hcv9jop2ns3r.cn 重症肌无力是什么原因引起的hcv8jop3ns4r.cn 弛张热常见于什么病hcv9jop3ns6r.cn
百度