论文标题:A MQTT-based infrastructure to support Cooperative Online Learning Activities
中文标题:基于MQTT的基础设施支持合作在线学习活动
作者信息:
- Hélio Sousa Mendonça,葡萄牙波尔图大学工程学院电气与计算机工程系,邮箱:hsm@fe.up.pt
- Cristian Zambelli,意大利费拉拉大学工程学院,邮箱:cristian.zambelli@unife.it
- José Carlos Alves,葡萄牙波尔图大学工程学院电气与计算机工程系,邮箱:jca@fe.up.pt
论文出处:2024年第39届电路与集成电路设计会议(DCIS)
主要内容:
摘要: 本文讨论了设计数字电子系统教学过程中的挑战,强调了学生在接触高级抽象概念和工具之前,理解布尔代数、组合和时序门级电路设计及优化的重要性。作者提出了一个基于网络协议MQTT的分布式基础设施,用以支持不同物理位置的部件构建分布式数字系统,以促进协作在线学习/教学活动的实施。实验结果显示,远程站点之间的延迟在几十毫秒的范围内,这对于低速运行简单数字系统是可接受的,因为这样可以被人理解。
引言: 文章指出,数字电子的入门概念教学可以从实践实验活动中受益,尤其是基于项目的学习方式。尽管工业数字电路设计通常在高抽象级别进行,但学生需要理解数字系统是由基本的数字功能构建的,如基本门和触发器。这有助于在不脱离数字设计的实际问题(如逻辑最小化、时序闭合、面积-速度权衡或功耗)的情况下,提高到RTL设计甚至高级综合方法的抽象级别。文章还讨论了远程实验室作为数字电子系统教学工具的优势,以及它们如何减轻维护大型实验室基础设施的需求,允许学生从世界任何地方远程访问物理实验室实验。
系统架构: 文章介绍了支持协作教学平台的基础设施,由不同类型的实体或节点组成,用户与之互动。每个节点实现一个逻辑功能,并使用MQTT协议通过公共元素(MQTT代理)与其他节点通信,构建了一个分布在不同物理地点的分布式数字系统。节点可以是实际的数字电路或在特定数字模拟器上模拟的虚拟数字电路。文章通过一个停车场控制器的例子,展示了该平台的潜力和灵活性。
PRIO模块: PRIO(可编程远程输入/输出)模块是系统架构中的关键组件,允许将本地信号发送到远程位置,并使用其他地方生成的信号。文章详细描述了PRIO模块的硬件和软件。硬件方面,使用了ESP32微控制器,可以远程发送/接收8个数字输入/输出信号,以及2个模拟输入/输出信号。软件方面,需要一个固件来执行建立Wi-Fi连接、连接到MQTT代理以及与代理交换消息等任务。
DIGITAL节点: 在数字系统入门课程中,学生需要接触实现逻辑门、触发器和其他功能块的集成电路。随着要实现的电路复杂性的增加,使用设计和仿真工具如DIGITAL变得更加方便。文章讨论了如何将DIGITAL模拟器中的电路开发集成到远程访问架构中,以及如何通过一个名为tcp2mqtt的应用程序实现TCP流量和MQTT消息之间的“桥接”。
MQTT消息: 节点之间交换信号逻辑状态不是直接进行的,而是使用MQTT协议,每个节点连接到一个公共服务器,MQTT代理管理它们之间的消息交换。文章详细描述了MQTT消息的结构和流程,包括节点如何发布和订阅消息,以及如何通过MQTT代理接收远程信号的逻辑状态。
结果: 文章评估了系统延迟,这对于实现预期的实时用户体验至关重要。实验表明,使用MQTT代理时的延迟在45毫秒左右,这个延迟对于网络服务的用户来说是足够的,以获得良好的体验。文章还讨论了代理托管位置对测试结果的影响,并提到了使用公共MQTT代理时的延迟。
结论和未来工作: 文章得出的主要结论是,提出的基础设施有效,并且完全符合预期目标。未来的工作包括开发一个应用程序来帮助管理整个基础设施,以及将基础设施的应用范围扩展到电子系统数字设计的中级/高级课程,并集成FPGA节点。