迪文科技论坛

 找回密码
 立即注册
搜索
查看: 11|回复: 0

【分享】7组黄金矿工

[复制链接]

1

主题

0

回帖

20

积分

新手上路

Rank: 1

积分
20
发表于 昨天 16:33 | 显示全部楼层 |阅读模式

一、 作品简介
本系统是一款基于迪文 T5L 系列芯片(双核 8051 架构)研发的高实时性图形交互应用。项目以经典交互场景《黄金矿工》为载体,旨在验证低功耗微控制器在复杂图像渲染与物理碰撞解算中的性能边界。
硬件底座:DWIN T5L 双核 ASIC,配备独立的 GUI 渲染核与 OS 逻辑核。
软件环境:DGUS II 组态平台 + 裸机 C51 业务逻辑。
工程难点:在不依赖带 MMU 的高级操作系统(如 Linux)且无专用 GPU 的前提下,实现 20ms 级低延迟的矢量图形绘制与多目标碰撞检测。
核心价值:提出并验证了一套“视觉层与逻辑层彻底解耦”的嵌入式 HMI(人机交互)开发范式。

二、 工作原理
本系统的流畅运行依赖于底层数据总线的高效调度与核心算法的轻量化设计,具体分为以下三大原理:
1. 双核协同与 VP 内存映射机制
传统单片机刷屏极易导致系统阻塞。本系统利用 T5L 的双核特性:
GUI 核:专职处理触控采样与位图解码。
OS 核 (C51):专注物理逻辑运算。
通信原理:双核通过一片共享的双端口 RAM(即 VP 变量空间)进行握手。OS 核只需将坐标参数(如 0x4500)或绘图指令(如 0x5000)写入指定内存地址,硬件层即可自动触发屏幕局部刷新,实现了零阻塞的数据通信。
2. 运动学建模与实时解算
系统中的核心执行机构(游标/钩子)遵循二维极坐标系下的钟摆运动模型。
通过状态机控制极径 $L$ 和极角 $\theta$ 的变化规律。
算法降维:为适配 8051 内核的算力瓶颈,摒弃了耗时的浮点三角函数运算,采用预编译的 查表法 (Look-up Table) 进行定点数换算,将 $X/Y$ 坐标的解算耗时从毫秒级压缩至微秒级。
3. AABB 空间分割与碰撞检测 原理:针对交互场景中的实体(矿石),采用 AABB (Axis-Aligned Bounding Box) 轴对齐包围盒算法。执行逻辑:在 OS 核的每个定时器中断周期内,对空间对象矩阵进行遍历。当游标中心坐标侵入目标的预设边界矩阵时,硬件状态标志位置 1,触发位移跟随模式。
三、 设计思路与工程创新
在开发过程中,本系统摒弃了传统的“面条式代码”,引入了现代软件工程思维,并实现了两项关键技术创新:
1. 基于 MVC 架构的系统解耦M (模型层):将关卡难度、实体坐标、质量参数封装为常量结构体数组,实现数据驱动。V (视图层):由 DGUS 配置文件独立接管,完全免写 UI 布局代码。C (控制层):由 C51 实现严密的有限状态机 (FSM),包含 IDLE (空闲)、SWING (摆动)、EXTEND (伸出)、RETRACT (收回) 四个互斥状态,确保逻辑绝对安全。2. 创新点 A:动态阻尼与物理反馈模拟 (Dynamic Damping)
为了弥补纯视觉图形缺乏物理反馈的缺陷,系统创新性地引入了“质量因子”。在命中不同目标时,底层代码通过动态调节定时器的重装载值(Timer Reload Value)来改变逻辑循环周期。
效果:质量大的物体数据吞吐放缓,视觉上呈现出明显的“拖拽迟滞感”;质量小的物体则反馈迅速。通过时间维度的扭曲,成功模拟了物理世界的摩擦力与重力感。
3. 创新点 B:基于时分复用的 VRAM 局部重绘策略
频繁的线段绘制极易造成显存 (VRAM) 溢出或画面撕裂。
优化方案:设计了“擦除-位移-重绘”的原子级指令流。通过对比上一帧与当前帧的坐标差(脏矩形技术),仅向底层 0x0002 接口发送坐标增量,极大地降低了 UART 总线的带宽占用,实现了超越原生的丝滑帧率。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-18 22:58 , Processed in 0.038270 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表