基于项目的软硬件协同设计教学方法外文翻译资料

 2022-08-08 11:08

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


基于项目的软硬件协同设计教学方法

Pedro Miguens Matutino, Tiago Dias and Pedro Sampaio

Instituto Superior de Engenharia de Lisboa – ISEL, Instituto Politecnico de Lisboa – IPL

Rua Conselheiro Emacute;ıdio Navarro 1, 1959-007 Lisbon, Portugal

INESC-ID, Rua Alves Redol 9, 1000-029 Lisbon, Portugal

POLITECamp;ID, Estrada de Benfica 529, 1549-020 Lisbon, Portugal

Email: pedro.miguens@isel.pt, tiago.dias@isel.pt and pedro.sampaio@isel.pt

摘要——本文提出了一种基于项目的学习策略,用于现代计算机工程本科课程中的硬件/软件协同设计教学。最近的一些教学研究认为,这种方法是获得出色学习成果并提高学生在数字系统设计和编程方面的熟练程度的理想策略。针对一年级学生的策略将着重于加深组合逻辑,顺序电路和状态机的知识,以及软件的分层开发,包括用于外围设备管理的知识。

索引词——计算机工程教育,基于项目的学习,数字系统和编程。

  1. 介绍

数字系统和编程是计算机工程,计算机科学和电气工程本科课程中的两个入门课程。尽管这些课程大多数都讲解了数字系统设计和编程的基本概念,但因为过于抽象,许多学生仍然难以理解。这在很大程度上阻碍了教学过程[1]。如今,广泛的实验室练习被认为是增强学生学习的最佳教学策略[1],[2]。此外,即使在较新的方法中,通常也独立地讲授硬件和软件这两个主题[3] – [6]。

但是,由于持续减少讲课时间和实验时间,在本科课程中实施这种“边做边学”的方法非常困难。为了共同解决所有这些问题,我们采用了基于项目的学习策略来开发硬件/软件协同设计项目,这与基于课堂教学和小型实验室项目的传统方法形成了鲜明的对比。该策略的独特之处在于,学生必须分别使用硬件描述语言(HDL)和高级编程语言或硬件和软件实现来开发一个学期的硬件/软件项目。

此硬件/软件协同设计项目是在信息学和计算机实验室开发的,该课程是计算机科学与计算机工程学士学位课程第二学期的课程,在葡萄牙的ISEL工学院教授。

为了注册该课程,学生必须获得BSc第一学期的前两门课程的批准:编程、逻辑与数字系统。此外,本课程还将合并电子课程所涉及的概念。

本文的组织如下。第二部分描述了课程目标和预期的学习成果,以及阶段性评估和最终评估的标准。第三节和第四节分别介绍了设计的基于项目的学习策略和案例研究示例。第五节详细介绍了用于支持整个学期硬件/软件项目开发的实验室基础架构。第六节介绍并讨论了所获得的结果,包括辍学率,不及格率和9个学期的及格率。本文在第七节做最后总结。

  1. 课程目标

信息学和计算机实验室课程旨在通过实现一个涉及与软件交互的硬件结构的中等复杂性项目,来巩固编程和逻辑与数字系统中教授的概念。此外,由于学习成果,成功完成本课程的学生有望:

  1. 分析,提出并暗示中等复杂度可编程数字系统的硬件和软件组件,以解决常见的日常问题;
  2. 撰写报告,描述为实现建议的解决方案而遇到的问题和选择;
  3. 小组合作,安排时间同时执行多项任务,在规定的期限内完成任务;
  4. 讨论并针对每个组的解决方案提出建议。

这些学习成果通过以下教学大纲得以实现:

    1. 使用逻辑和数字系统第一学期课程中教授的基本概念,使用可编程逻辑设计数字电路;
    2. 使用同样在第一学期“编程”课程中获得的概念,为已实现的硬件结构开发控制程序;
    3. 串行和并行发送和接收;
    4. 数字传输中的同步和流控制;
    5. 内存组件中的读取和写入周期。

该课程按照学期进行授课,最多30堂课,相当于67.5个小时的联系时间。所有这些讲座都在实验室进行。通常,这些讲座分为用于设计和实现硬件模块的15个为时3个小时的讲座,以及用于设计和实现软件模块的15个为时1.5个小时的讲座。学生的总工作时间约为162小时,由实验室课程和自主工作分配。这些讲座旨在介绍,设计,讨论和实现几个模块,这些模块实现了解决所提出问题的系统。为了设计和实现每个模块,解决了不同的硬件和软件概念。这些概念将在第三部分中介绍和讨论。

在学期开始时,将向学生介绍该项目,其中包括对主要功能和项目规范的简短描述。与项目规范一起,还提供了支持解决方案的基本结构,以及构成系统的所有模块的框图。学生需要提前准备实验室课程,为此事先设置了一个里程碑,并在每个课程的学校教育电子平台(Moodle)中发布了该里程碑。一旦所有小组都提出了解决方案,就开始进行辩论,讨论小组提出的不同解决方案,并在适当的时候,由教职员工提出替代解决方案。每当给定的小组遇到相关的实施问题时,也会采用这种方法。在学期末,每个小组准备一份整个项目的完整报告,详细介绍所采取的选择和获得的结果。

由于所有评估均基于已开发的项目,因此该教学方法证明了该课程具有很强的动手实践性。在学期末,将通过小组演示和个人Viva Voce考试(VVE)评估学习结果。另外,在学期期间进行了两次层间评估(ILA)。第一个是学期的第五或第六个星期,第二个是在这之后的第六个星期。这些评估非常重要,因为它们可以确定截止日期并向学生提供有关项目进度的反馈。此外,教职员工会监控学生的发展和团队合作,以防止学生抄袭自己辛勤工作的同龄人。

根据等式,通过加权中间分类(ILA)可获得最终成绩(FG)。

FG=0.3times;ILA 0.7times;VVE (1)

  1. 基于项目的学习方法中的软硬件共同设计

向学生介绍的硬件/软件协同设计项目具有中等复杂性,可以使他们通过使用与PC上运行的软件进行交互的可重新配置逻辑设备来实现硬件结构,从而巩固在数字系统和编程课程中学到的概念。他们也被要求发展。该项目旨在解决三个主要主题:

i) 使用键盘和相应的解码电路的用户I / O,可以加深对状态机和同步的了解;

ii) 同步串行通信,以审查缓冲问题和通信协议;

iii) 分层软件设计,包括用于外围设备管理的软件。

该项目分为几个任务,第一个任务包括硬件模块的开发和相应的软件设备管理器,而最后一个任务则集中在应用程序软件的开发上。这些任务最多由三名学生组成(大小随注册人数而定),这些课程由学生在课程开始时自行形成,而无需教职人员的干预。在小组中进行项目开发可增强团队合作和沟通能力,这是大多数学生由于刚入读第一年而尚未掌握的软技能。

该项目定义明确,没有太多的开放性内容,这使学生可以为系统的每个组件建立一个开发工作流程,可以将其视为:i)需求的定义; ii)设计; iii)实施; iv)独立的组件测试; v)与其他组件的集成; vi)集成测试。如前所述,对于每个任务,都预先设置了一个里程碑,使学生可以准备每个实验室并管理他们的工作时间。在课程开始时,将使用甘特图向学生介绍这些里程碑,以说明项目进度表,并让他们更好地管理自己的时间。

  1. 案例分析

本文作为案例研究考虑了为201920秋季学期提议的项目,提出了一种访问控制系统的实施方案,以管理通往特定区域的门的打开。仅当用户引入有效的uin和pin配对时,才授予此访问权限。

如图1所示,所提出的系统基于:i)键盘读取器(HW),用于获取按下的键; ii)串行LCD控制器SLCDC(HW),用于与LCD进行通信; iii)串行门控制器SDC(HW),用于与门锁相互作用(门机构); iv)实现应用程序功能的控制模块(SW)。

图1 门禁系统框图

图2 键盘阅读器的框图

该应用程序必须实现两种操作模式,称为访问模式和其他模式(称为维护模式)。维护模式允许插入和删除用户,也可以关闭系统。键盘读取器模块负责解码12键矩阵键盘,确定按下了哪个键,并使其代码以四位形式提供给控件(如果可以接收)。如果无法立即接收,则密钥代码最多存储两个代码。控制系统处理数据并通过SLCDC发送包含要在LCD上显示的数据的信息。门机构的命令通过SDC发送。出于物理原因,并且为了最大程度地减少互连线的数量,Control,SLCDC和SDC模块之间的通信使用串行协议进行。

A. 键盘阅读器

键盘阅读器分为两个块:密钥解码和密钥缓冲区,如图2所示。第一个块对按下的键进行解码,而第二个块实现一个数据缓冲区,从而可以捕获和解码另一个键,并将其传送到控件模块。

关于密钥解码模块(其结构如图3所示),由于他们作为工程课程的第一年学生的自主权受到限制,因此为学生提供了三种不同的密钥扫描模块体系结构。这些架构如图4所示。

学生必须了解这三个电路的操作,并证明他们选择实施的电路的合理性。请注意,“逻辑扫描和数字系统”课程已经教授了按键扫描中使用的所有模块。相反,按键控件是开放式的。通过使用控制模块实现完全互锁的协议,它着重于加深状态机和同步的知识,如图3b所示。

  1. 框图
  1. 全联锁协议

图3 密钥解码模块

密钥缓冲区模块实现了一种数据存储结构,能够存储一个四位字。它还负责与用户系统(即控件)的交互,对于该控件,它实现相同的协议,如图3b所示,用于密钥解码和密钥缓冲区之间的交互。

当DAV(可用数据)信号变为活动状态时,密钥缓冲区将数据存储到内存中。存储数据后,密钥缓冲区设置DAC(数据已接受)信号,以通知生产者数据已存储,并实施了完全互锁协议。尽管该模块的框图也是开放式的,但要求学生使用有限状态机(键缓冲区控制)和外部寄存器进行设计。

当控件要从密钥缓冲区中读取数据时,它将等待D值 信号变为活动状态,收集数据并激活ACK信号以确认已被使用。一旦ACK信号变为活动状态,密钥缓冲区控制应通过禁用D值 信号来使数据无效。只有在Control取消激活ACK信号后,它才应重新存储一个新单词。

(a)结构一 (b)结构二

(c) 结构三

图4 按键扫描块

B. 串行LCD控制器

LCD接口模块(串行LCD控制器,SLCDC)负责接收控制模块发送的按位数据,将其组合以形成数据和控制字,然后将其传递给LCD控制器。为此,采用了两个不同的模块,如图5a所示。

SLCDC串行接收由五位信息组成的消息。与SLCDC的通信根据图5b中所示的协议进行,其中信息的第一位,RS位(指示消息是控制字还是数据字),其余的位包含要传输到LCD的数据.。

SLCDC串行接收器子块由三个主要块组成,如图6所示:i)一个控制块; ii)串并转换块; iii)分别由串行控制,移位寄存器和计数器指定的接收位的计数器。

图6 串行接收器的框图

(a)框图

(b)串行协议

图7 串行门控制器

  1. 串行门控制器

串行门控制器(SDC)是带有门机构的接口模块。它实现了对控制模块发送的五位字的串行接收,然后将其传送到门机构,如图7所示。

与SDC的通信是根据图7b中所示的协议进行的,其中第一位是表示命令是打开门还是关闭门的“开/关(OC)”位。其余位包含打开或关闭速度信息。通过将忙碌信号设置为逻辑电平“ 0”,SDC表示在处理完上一条命令后可以接收新数据。为了实施模块化的概念及其在数字系统设计中的优势,要求学生使用类似于SLCDC上使用的串行接收器模块的结构来实现SDC的串行接收器模块。

如果收到的命令是“打开”,则门控制器必须激活信号On Off并将信号Open Close设置为高逻辑值,直到激活开门传感器(FC打开)。但是,如果命令为“关闭”,则门控制器必须

图8 访问控制系统的层次结构软件图

激活On Off信号并将信号Open Close设置为低逻辑值,直到激活了关闭的门传感器(FC关闭)。关门时,如果通过传感器P探测在门区域检测到有人,门禁控制器必须中止关闭操作并重新打开门。门控制器自动执行(即,无需其他“关闭”命令),只要门区域内没有更多人时,即可关闭门。完成任何命令后,门控制器会通过激活完成信号向串行接收器发送信号,告知串行接收器已准备好处理新命令。

D. 控制

控制模块是使用Java语言在软件中实现的,并遵循蓝色表示在图8中所示的逻辑体系结构。建立了HAL,KBD,串行发射器,LCD和门机制课程的签名,并将其交付给学生。对于其余的课程,要求学生提出他们的签名和实施方案。这是拟议策略中最开放的阶段,可以在此阶段发挥自己的创造力,提出独特的项目解决方案。

  1. 实验室基础设施

实验室基础结构基于micro;LIC开发平

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[258365],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。