首页 百科知识 计算机类模块

计算机类模块

时间:2022-11-04 百科知识 版权反馈
【摘要】:掌握计算机技术,具有使用计算机解决实际问题的能力,是机械电子工程专业的学生必备的。根据设计制造机电一体化系统的需求,学生应当掌握以下知识。因此,想让计算机代替人工作,就必须充分了解计算机工作的特点,与人们思考处理问题的异同。“数据结构与程序设计方法”是机械电子工程专业的一门计算机技术课。根据系统工程的思想,系统是动态的,体现在三个“流”上。

掌握计算机技术,具有使用计算机(包括微处理器)解决实际问题的能力,是机械电子工程专业的学生必备的。根据设计制造机电一体化系统的需求,学生应当掌握以下知识。

第一,会使用计算机及计算机网络处理日常工作(查资料、在校园网上的教学活动和社会上的办公活动等)。

第二,会选用合适的微处理器(单片机、DSP、ARM、PLC等)构成检测或控制系统的硬件系统,并会编写它们的接口驱动程序。

第三,能组建测控网(如现场总线、局域无线网、远程公网接入),实现集中式测控、分布式测控和远程遥测遥控。

第四,掌握高级程序语言(C或C++),会应用现有程序(如CAD、CAE、CAM,MATLAB、pSpice等)解决机械设计和电路设计问题;会设计、编写应用程序(如数据处理程序、控制算法程序等)。

为了达到上述目的,本模块拟开设九门课程,即“大学计算机基础”“C语言程序设计”“微机原理与测控接口技术”“数据结构与程序设计方法”“计算机网络”“数据库技术与应用”“单片机原理与PLC”“嵌入式系统设计与应用”“DSP原理与应用”。

**本专业不是计算机专业,开设这么多计算机类的课程主要是为了解决机电一体化系统的测控问题,重点在于应用,因此,大多数课程应当以边讲边练的形式讲授。其中“大学计算机基础”“数据库技术与应用”“单片机原理与PLC”“嵌入式系统设计与应用”“DSP原理与应用”应开成实验课,少讲多练,以培养学生使用计算机(或微理器)的能力。

下面分别介绍这九门课的主要内容。

1.“大学计算机基础”

这是引导学生使用计算机的一门入门的课程,如果对下面所列内容学生已掌握,可通过考试免修。另外,本门课就是教学生怎么使用计算机,实际操作性很强,因此将本门课开成实验课,边讲边操作。

本门课的知识要点如下。

(1)计算机基础知识

计算机的发展概况;计算机信息表示与存储;微机的基本结构;微机的硬件组成;微机的技术指标;微机的应用。

(2)操作系统基础

操作系统的基本知识;Windows XP操作系统及使用方法;其他常用的操作系统简介。

(3)网络基础及Internet

计算机网络基础知识;网上浏览;电子邮件;常用工具软件;索引擎。

(4)文字编辑软件

中文Word 2010的基本知识;文档的基本操作;文档的编辑与修饰;图形功能;Word 2010的其他功能;其他常用的文字编辑软件简介。

(5)制作演示文档软件

Power Point 2010的基本知识;制作演示文稿;动画与切换效果;演示文稿的高级应用与综合应用。

(6)电子表格软件制作

Excel 2010基本操作;Excel 2010工作表中的数据处理;网络功能。

(7)多媒体技术基础

多媒体信息基础知识;多媒体的关键技术;声音文件处理技术;图形、图像文件处理技术。

(8)网络信息安全

信息保密技术;信息认证技术;网络安全技术;信息安全管理。

2.“C语言程序设计”

“C语言程序设计”是机械电子工程专业的一门计算机技术课。本门课的任务是,向学生介绍C语言的基本概念、基本语法和程序设计的基本原理,使学生初步具有应用程序的设计与编写能力。

**在介绍课程内容之前,有关程序设计问题向同学们提醒一下,那就是人机要互相适应。人们处理问题往往想一些巧妙的办法,尽量避免大量重复的工作;而计算机恰恰相反,它不会脑筋急转弯,它不怕大量重复工作,就怕工作无规律。因此,想让计算机代替人工作,就必须充分了解计算机工作的特点,与人们思考处理问题的异同。将人们处理问题的思路与计算机工作的规律有机地结合起来,就必然会设计出好用的应用程序。

本门课的知识要点如下。

(1)基本概念

程序、程序设计、算法、数据类型、运算符、表达式、语法、赋值语句、复合语句、数据输入、数据输出、格式、顺序存储、函数、形参、实参、文件、开发环境、编辑、编译、连接、执行。

(2)基本知识

①程序=数据结构+算法公式。

②程序设计方法:面向对象方法、结构化设计方法。

③程序上机过程:编辑、编译、连接、执行。

④C程序的三种基本结构:顺序、选择、循环。

⑤数据类型:整型数、实型数、字符、变量、数组、指针、结构体、共用体、枚举。

⑥算法及其表达式:算术运算符、常量、算术表达式;赋值运算符、赋值表达式;逗号运算符、逗号表达式;关系运算符、关系表达式;逻辑运算符、逻辑表达式。

⑦输入与输出:赋值语句、格式输入、格式输出、字符输入、字符输出。

(3)简单程序设计

①顺序结构程序设计:程序的基本结构、赋值操作、输入/输出操作。

②选择结构程序设计:if语句、switch语句、嵌套结构。

③循环结构程序设计:goto语句、while语句、do-while语句、for语句、breah语句、continue语句。

④用函数实现模块化程序设计:函数意义、函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的逆归调用;局部变量、全局变量;动态存储变量与静态存储变量。

(4)几个专题

①指针的应用:指针变量、数组与指针、字符串与指针、函数与指针、指针数组和二级指针。

②结构体与共用体的应用:结构体数组、结构体指针、共用体、枚举。

③预编译和文件:预编译、文件类型指针、文件的读写。

(5)基本技能

①熟练掌握C语言的开发环境,掌握编辑、编译、连接、执行的过程和方法。

②具备设计和编写简单的应用程序的能力,并能调试成功。

③具备应用计算机解决一些实际问题的能力。

(6)在机电系统中的应用

在详细设计阶段编写数据处理程序和控制程序(包括通过自学能使用现有与专业有关的应用程序)。

3.“微机原理与测控接口技术”

“微机原理与测控接口技术”是机械电子工程专业的一门计算机技术课,是所有微处理器应用的基础。本门课的任务是,介绍微处理器的组成和工作原理,它能替人们工作的指令(动作),以及能让这些指令按人们的思路去动作的汇编程序,还有就是人机信息交互和工作对象与微处理器信息(指令)交互的接口技术。本门课的目的是教学生掌握使用微处理器的技术和方法,将其用在检测控制子系统中。

本门课的知识要点如下。

(1)基本知识

①微处理器的硬件组成(以8088/8086为例):CPU(核心处理器)、半导体存储器(随机读写存储器、只读存储器)、总线(地址总线、数据总线、控制总线)、管脚(对应地址总线、数据总线和控制总线(控制总线又包括CPU控制、CPU总线控制和系统总线))。

②介绍微处理器硬件组成,各部分的功能作用(顺便介绍一下类型特性)和微处理器的工作原理。

③微处理器指令系统:导址方式、CPU指令(运算指令、逻辑指令、控制指令)。

④微处理器的应用程序设计:汇编语言源程序格式、语句格式、伪指令;常用DOS功能调用;基本结构程序设计方法;宏汇编语言的应用程序的设计。

⑤中断:概念、实现中断的方法、中断系统;可编程中断控制器8259的结构、工作原理与编程方法。

(2)测控接口技术

①几种常用接口:读、写接口,定时/计数器(8253),并行接口(8255),串行接口(8250或8251);另外,I/O口的传递方式,I/O读写技术也要介绍一下。

②接口的任务:控制信号处理、地址译码、串/并转换、显示结果、电平转换、A/D、D/A转换、多路转换、信息暂存、脉冲计数等。

③接口功能:传递控制信号、传递数据、编码、译码、数据缓冲、计数器操作、逻辑操作、运算寄存、信号多路转换、信号整形、电平变换、信号转换、信号放大、信号滤波等。

(3)基本技能

①熟悉微处理器的组成和工作原理,掌握汇编语言(CPU指令),会用它编写应用程序,为单片机、DSP、ARM、PLC等的学习打好基础。

②掌握接口技术,能正确地使用各种接口去完成检测控制系统的任务。

(4)在机电系统中的应用

①概念设计阶段

依据微机原理和接口技术去构思检测控制子系统。

②详细设计阶段

设计自动控制系统中的各类接口,并编写接口驱动程序。

4.“数据结构与程序设计方法”

“数据结构与程序设计方法”是机械电子工程专业的一门计算机技术课。本门课的主要任务就是介绍程序设计的思路和方法,使学生能够读懂已有的大型程序,并且能设计本专业的应用程序。

“程序”像机电一体化系统一样,是一个借助于计算机硬件和操作系统为人们进行数据处理的“信息处理系统”。既然是系统,它就应该有系统的全部特性。在这里就与本课程有关的提出两点:第一,在进行程序设计的时候,像机电一体化系统(产品)设计一样,应遵循3.1.1小节所讲的系统(产品)创新设计的思路(这在后面要重点讲)。第二,像机电一体化系统一样,程序也应当有“工作对象”“执行者”“操控者”,也应当有“物质流”“能量流”和“信息流。”

信息系统(程序)的“工作对象”就是“数据”,“物质流”就是“数据流”;“执行者”就是用高级语言编写的“程序”,该程序不停地对“数据”(工作对象)进行“处理”与“变换”;程序语句从头执行到尾就是“能量流”驱动的结果;“操控者”就是“计算机操作系统”和程序中的“控制语句”,它们传递的控制信息就是“信息流”。

根据系统工程的思想,系统是动态的,体现在三个“流”上。我们现在只说“数据流”(物质流)。“数据流”的运动过程是:数据输入,数据处理(变换)和数据输出。那么,输入数据从哪里来?是从我们要解决的实际(工程)问题中来。为了让计算机帮我们解决问题,只能适应计算机工作的特点,即它只认“数”。因此,不管什么问题都必须用“数据”去描述(即把空间位置、物体形状、时间、物理特性等都变成数据)。把上述“数据”输入给计算机程序以后,它才能替人们进行数据处理(变换),然后再将结果输出来,使问题得以解决。

然而,这些“数据”不是随便输入的,也不是把这些“数据”输进去就可以,而是必须将这些“数据”很好地组织起来;不仅要给“数据”值的大小,还要给出各个“数据”之间的关系,以及这些数据在输入过程中如何存储,如何修改(比如:删除、插入、检索、更新等)的算法。用专业术语说就是要给出这些“数据”的“数据结构”。否则,“数据”像一堆乱码,无法处理。

有位专家说:程序=算法+数据结构,因此,本课程先讲“数据结构”,然后再讲如何进行程序设计(即算法)。

本门课的知识要点如下。

(1)数据结构

①基本概念:数据结构、逻辑结构、存储结构;算法、算法评价、算法分析;线性表、数组、栈、队列、树、二叉树、图、有向图、无向图、子图、查找、内部排序、文件、外部排序、算法分析、设计技术。

②基本知识。

a.数据结构:逻辑结构、存储结构和相应的操作(算法)。

b.逻辑结构:集合结构、线性结构、树形结构、图结构。

c.存储结构:顺序存储、链接存储、索引存储、散列存储。

d.操作(算法):建立、设置当前元素,检索、修改、插入、删除、取消当前元素和序号等。

e.算法评价:正确性、简明性、节省性、快速性、最优性、健壮性。

f.算法分析:工作量(时间多少)、存储空间用量(占空间大小)。

③存储方法。

a.线性表:定义(元素、结构、操作)、顺序存储、链接存储、索引存储。

b.数组:定义(元素、结构、操作)、顺序存储(特殊矩阵、稀疏矩阵)。

c.栈:定义(元素、结构、操作)、数组实现的栈、链表实现的栈。

d.队列:定义(元素、结构、操作)、循环数组实现的队列、链表实现的循环队列。

e.树:二叉树的定义及相关术语;二叉树的相关性质;二叉树的各种存储结构;二叉树的遍历及其应用;树、森林与二叉树的相互转换;哈夫曼树及应用。

f.图:图的定义及相关术语;图的各种存储结构;图的遍历及其应用;求最小代价生成树的Prim算法和Kruscal算法;有向无环图的拓朴排序算法,求最短路径的Dijkstra算法。

④查找:顺序查找、二叉排序树及其性能分析、哈希表查找。

⑤排序:直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序。

⑥文件:文件的定义、顺序文件、散列文件、索引文件、关键字文件。

(2)程序设计

软件工程中,把软件(程序)设计是当作“工程项目”对待的,所以程序(信息处理系统)的设计思路与3.1.1小节介绍的机电一体化系统设计的思路是完全一样的,在学习的过程中,一定要比较着学习,以便加深理解。

①程序设计步骤如图4-8所示。

图4-8 程序设计步骤

②程序设计阶段的说明。(以结构化设计方法为例对设计步骤加以说明)

a.概要设计

程序“概要设计”与机电一体化系统设计的“概念设计”相似,它的结果是根据程序的功能、数据和行为的需求,给出一个程序的“总体结构框架方案”。

(a)设计步骤

制定设计规范;系统总体结构设计;处理方式设计(算法评价);数据结构设计;可靠性设计;编写概要设计文档;概要设计方案评审。

(b)系统总体结构设计(概要设计阶段只介绍这一步)

详细阅读“客户需求文件”并与客户直接交流,充分理解“客户需求”;然后将“客户需求”变为程序的“功能需求”,并将“功能需求”划分为“功能模块”(建立了“功能模块”与“功能需求”间的对应关系,“功能模块”就成了“功能需求”的载体)。

明确各功能模块间的数据传递关系和各模块间的调用(协调)关系,并按调用关系将功能模块分成层,画出树型结构的系统总体结构图。该图的顶层模块是主控制模块,用来协调各功能模块之间的通信与运行。主控模块少做具体的处理工作,而下级模块是实际输入、计算(处理、变换)和输出的执行者。二四层的划分原则仍然如此,第三层模块如果是具体执行者,那么第二层的模块依然主要起控制作用,这样一直分下去就构成了结构化的系统总体结构框图。当然在分层时,一定要注意数据的流向和控制信息的流向,当总体结构框图画完之后,也就明确了框图中的“数据流图”与“控制流图”。同时,在图中要标明每个模块的名字、功能及输入/输出端口。

在画总体结构框图的过程中,是要进行方案比较的,对每个功能模块的算法和总体结构都会给出不同方案,最后要选其优。

最后要针对最优方案编写出概要设计文档,供方案评审之用。

b.详细设计

详细设计与机电一体化系统设计的“详细设计”阶段一样,将上述最优的系统总体结构框图中的各功能模块再进一步细化,给出一个可以施工(编码实现)的“程序流程图”。

(a)设计步骤

模块分析;建立“程序流程图”;设计输入的数据结构;设计界面;编写设计文档。

(b)具体设计(只介绍前四步)

·模块分析:对每个功能模块内算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。

·建立“程序流程图”:根据上面的分析结果,对总体结构框图中的模块再进行细化,用五种标准的基本控制结构(顺序型、选择型、先判定型循环、后判定型循环和多情况选择型)将总体结构框图变为“程序流程图”。(注:不用程序流程图还可用N-S图、PDA图、判定表等方法指导编写程序)

·设计输入数据结构:我们要解决的实际问题,必须用数据描述才能被计算机处理,那么这些数据不能杂乱无章,必须有一定的组织形式,即“逻辑结构”。在建立这些数据结构时尽量用“数据结构”课中讲的标准逻辑结构,或程序语言中的“数据类型”;复杂的可以自己定义(如何定义程序设计中有规定)。

·设计界面:包括三种界面,即软件、构件之间的接口,与外部实体的接口和人机界面。人机界面设计的原则是:置于用户控制之下,减少用户记忆负担,保持界面一致。

c.程序编码

“编码”与机电一体化系统设计中的“样机试制”阶段类似,它是选择一种合适的程序语言和开发环境,把“程序流程图”变为“可执行的程序”。

(a)设计步骤

选择程序语言,选择集成开发环境、编码实现,编写说明文档。

(b)具体设计

·选择程序语言:程序语言有多种(如机器语言、汇编语言、高级程序语言、面向问题的程序设计语言)。可以根据以下条件去选,即程序应用领域,用户要求、程序员水平,现有开发环境及其成本,可移置性。

·选择集成开发环境:目前集成开发环境有多种(如微软Visual Studio,形成Java环境Eclipse;Borland公司的Delphi、C++Builaer、Jbuilder等),可以根据以下原则选择,即程序员的熟悉程度,集成开发环境的费用、易用性、成熟度和规模,以及它与别的软件的配合能力。

·编码实现:这是一个将“程序流程图”变为“可执行程序”的过程,只要熟悉程序语言就没有什么问题。但在编写过程中应注意以下几个问题:第一,源程序文档化(标示符命名,程序注释,源程序的布局)。第二,数据说明(顺序规范、简明、清晰)。第三,语句结构(简单、直接、明晰、一行一句等30多条建议)。第四,输入和输出(有效性、合理性、简单、直接、方便查看等9条建议)。第五,错误处理(返回错误代码、调用错误处理函数、显示错误信息、记录日记、退出程序等)。第六,程序效率(能简单最好,但不要为追求效率而表达不清,要特别注意算法(处理或变换过程)所占空间与时间的影响,存储方案和输入/输出方案的影响)。

·编码说明文档:对所编程序开头、分段与关键部分都要加上注释,然后打印存档备查。

d.程序测试

“程序测试”与机电一体化系统设计中“样机功能与性能测试”相似,“通过”测试则交出一个好产品,可以成批生产了。对于程序来说就是可以复制推广应用了。

(a)测试步骤

单元测试、集成测试、确认测试、系统测试、测试报告。

(b)具体工作

·单元测试:是指对用源代码实现的一个程序模块进行测试,检查它是否实现了规定的功能。由程序员在编写该模块以后完成。

·集成测试:是指将单元测试合格的程序模块集成到一起以后,检查集成组装这个环节是否正确。这项测试由专门的人员或小组完成。

·确认测试:是检查已实现的程序是否满足规格说明中的各项需求,满足了则确认。

·系统测试:将已通过确认的程序纳入实际环境中运行,与其他系统成分组合在一起进行测试,看其是否满足要求。

·测试报告:各项测试都通过了,编写一个测试报告,程序设计工作宣告结束。后面是正常的维护工作。

(3)基本能力

掌握结构化程序设计方法,能按程序设计的步骤设计一个应用程序。在设计过程中,要特别注意应用所学的“数据结构”知识去建立问题的数据模型;用C语言去编码,还要会查阅“软件工程”的相关资料去指导程序设计。

(4)在机电系统中的应用

主要用于详细设计阶段。

①用软件工程的思路为检测、控制模块编写应用程序(数据处理或自动控制)。

②将机电一体化系统“数字化”(即用数据去描述机电一体化系统的几何形状、尺寸和各类物理参数),并用合适的“数据结构”将这些数据有机地组织在一起,供计算机仿真和计算用。

5.“计算机网络”

“计算机网络”是机械电子工程专业的一门计算机技术课。本门课的任务是教学生掌握应用计算机网络的能力。从专业角度讲,本专业更侧重于测控网;测控网过去主要有“现场总线”技术,而现在倾向于将整个企业或工厂的各种业务功能都整合在一起组建综合网,测控信号也在Internet上传输。因此,“计算机网络”不仅用于通信,而且用于测控系统。

本专业的学生没有学习“数字通信原理”,因此,在讲计算机网时要先讲一些数字通信原理的内容。对于网络课本身应当讲两方面内容:其一是硬件系统构成,包括网络拓朴结构、连接器、路由器、网桥和网关。其二是数据传输技术,重点讲网络通信中的协议,尤其讲清楚为什么要有协议以及协议的用处。

本门课的知识要点如下。

(1)基本概念

计算机网络、网络应用、网络结构、体系结构、协议、OSI参考模型、网络标准化。

(2)基本原理

数据通信原理。

(3)基本知识

①网络的硬件系统:网络拓朴结构、网络设备(网线、连接器、路由器、网桥、网关、交换机)。

②OSI参考模型

a.物理层:传输介质、模拟传输、数据传输、交换方式、物理层模型。

b.介质访问层:局域网、ALOHA协议、CSMA和CSMA/CD、IEEE802标准、高速以太网、透明网桥原理。

c.数据链路层:数据链路层模型、成帧方法、差错控制、停止等待协议、滑动窗口协议、连续ARQ协议、协议的性能分析、HDLC协议举例。

d.网络层:网络层模型、路由算法、流量控制、拥塞控制、网络互联、IP协议举例。

e.传输层:传输层模型、连接管理和三次握手、流量控制、TCP协议及有关算法。

f.会话层:会话层模型、远程过程调用、会话层实例。

g.表示层:表示层设计、抽象语法表示法、各种数据压缩技术、加密。

h.应用层:应用层设计、文件传输、访问和管理、电子邮件、虚终端。

(4)基本技能

①掌握计算机网络体系结构和典型网络协议并会应用。

②掌握网络系统分析的基本原理和方法并会应用。

(5)在机电系统中的应用

①概念设计阶段

根据网络拓朴结构模型为机电一体化系统构思局域测控网或广域遥测遥控网(包括无线网)。

②详细设计阶段

a.选用合适的网络设备(如网线、连接器、路由器、网桥、网关、交换机等)去组建上面所构思的局域网或广域网。

b.选用合适的协议保证测控信息在网上迅速、可靠地传输。

③样机试制阶段

用所学网络知识,调通测控网,并使其正常、可靠地运行。

6.“数据库技术与应用”

“数据库技术与应用”是机械电子工程专业的一门计算机技术课。本门课的任务是教会学生如何选择合适的数据库,又如何使用数据库。这是因为本专业用的许多大型的专业程序与资料都存在数据库中;我们在构建检测控制子系统时,也要用到数据库技术;因此,同学们必须掌握它。对本专业来说重点在于应用,因此开成实验性质的课程,选一个常用的数据库,举几个实例,教给学生怎么使用。然后再简单介绍一下其他数据库的特点,教学生如何选用。

本门课的知识要点如下。

(1)基本知识

①数据库系统简介:数据管理技术的发展过程、数据库技术的主要特点、数据库系统的组成、数据库管理系统的功能。

②关系数据库标准语言SQL:SQL数据定义、SQL数据查询、SQL数据更新、SQL数据控制、数据库索引。

③数据库操作:视图的应用、存储过程、用户自定义函数、触发器

④数据库保护:事务和数据库的完整性、数据库的安全性。

⑤关系数据模型:关系模型特点、关系的性质及数学描述、关系完整性、基本关系代数操作;数据依赖、关系模式的形象化定义、函数依赖与存储异常;范式(1NF、2NF、3NF)、关系模式的规范化。

(2)数据库设计

①数据库设计的内容和特点。

②数据库设计:E-R图表示方法,使用ER模型进行数据库设计。

(3)基本技能

①掌握数据库语言SQL、开发工具的使用(MySQL的安装、数据库及表的创建与维护)。

②掌握问题分析与归纳抽象的方法(会建立关系数据模型E-R图)。

③掌握数据库的设计过程和对数据库的操作(MySQL数据库查询)。

(4)在机电系统中的应用

在详细设计阶段为大量的检测数据建立数据库。

7.“单片机原理及PLC”

“单片机原理及PLC”是机械电子工程专业的一门计算机技术课。单片机与PLC是测控系统中常用的微处理器,尤其是单片机,小到手表、助听器,大到高速列车和航天器,到处都有它的身影,它已经像螺丝钉一样,应用于各种工业产品中,因此,同学们必须会使用它。本课程将开成实验课,边讲边练。

本门课的知识要点如下。

(1)可编程控制器(PLC)的选用与使用方法

①可编程控制器硬件介绍:种类、型号、内部结构、组成、工作原理、技术指标。

②可编程控制器的指令系统:常用指令、功能指令、数据处理指令、其他指令。

③可编程控制器程序设计:编程语言、梯形图、程序设计的内容及编写的基本方法、程序编写的技巧、常用控制电路梯形图的设计、用顺序设计法去设计并编写梯形图程序。

④技能:将程序装入硬件系统中调试、运行。(以交通信号灯、电梯、物流分拣、智能家居等为例)

(2)单片机的选择和使用

①单片机硬件介绍:种类、型号、内部结构、外部引脚、内部程序存储器、内部数据存储器、I/O口电路、时钟、工作模式。

②单片机指令系统:单片机的寻址方式、指令格式、指令详解。

③单片机程序设计:汇编语言、单片机开发系统与开发环境、程序结构形式、程序编写格式、规范、伪指令、编译、汇编。

④单片机控制:中断系统、定时计数器。

⑤单片机与外界通信:串行通信基础知识、RS-232总线标准、串行口与控制使用。

⑥单片机I/O口扩展技术:技术与方法、常用I/O扩展芯片的控制使用方法、键盘子系统(输入口)的扩展、显示子系统(输出口)的扩展。

⑦技能:将程序装入单片机中调试、运行。(仍以交通信号灯、电梯、智能家居为例)

(3)在机电系统中的应用

主要用于详细设计阶段。

①单片机作为数据处理器用于检测模块中。

②单片机作为控制器用于机电一体化系统的简单控制中。

③PLC作为控制器用于机床、汽车等复杂的机电一体化系统中。

8.“嵌入式系统设计与应用”

“嵌入式系统设计与应用”是机械电子工程专业的一门计算机技术课。因为嵌入式芯片可有双内核,内存大,速度快,体积小,有自己的操作系统,大有代替微机的趋势;与单片机相比功能强大得多,价钱又不贵,所以目前非常风行。因此,同学们必须掌握嵌入式技术。本门课也将开成实验课,边讲边练,达到会使用即可。

本门课的知识要点如下。

(1)基本知识

①嵌入式处理器(ARM)硬件介绍:种类、型号、内部结构、功能原理、用途(管脚功能)、与单片机和DSP的区别。

②ARM指令简介。

③开发板:三星S3C2440开发板简介。

④编程环境:Linux常用工具、Makefile、GCC编译器、GDB调试器。

⑤开发环境:(在微机上开发ARM应用软件,然后再移置到ARM内)交叉环境介绍、主机开发环境配置、应用程序的远程交叉调试。

⑥嵌入式系统的引导装入程序:Bootloader、vivi概述、U-Boot概述。

(2)开发工作

①嵌入式Linux内核配置(在微机上):嵌入式Linux内核概述、配置编译内核源码、内核配置选项。

②嵌入式Linux内核移置(将裁剪好的Linux操作系统由微机上移置到ARM内):移置内核源码和Linux内核启动过程分析。

③制作Linux根文件系统:根文件系统目录结构、init系统初始化过程、制作文件系统。

(3)基本技能

①具有基于Redhat Linux 9.0的开发环境搭建能力。

②能利用MINI 2440实验板编写LED控制程序、按键程序和UDP网络程序。

③熟练掌握利用MINI 2440实验板进行嵌入式Linux驱动程序设计的方法。

④能利用MINI 2440实验板进行Yaffs根文件系统映射制作。

(4)在机电系统中的应用

①在概念设计阶段

用于构思机电一体化系统的测控网(有线或无线)。

②在详细设计阶段

用于机电一体化系统的单机控制或组网控制。

9.“DSP原理与应用”

“DSP原理与应用”是机械电子工程专业的一门计算机技术课。DSP的CPU相当于有“双内核”,对程序和数据可同时进行并行处理,因此对数字信号的处理速度极快,已广泛应用于通信、自动控制、航空航天、军事、医疗等领域。本门课的任务是,介绍DSP芯片的基本结构、工作原理和开发流程,培养学生具有开发使用DSP的能力。本门课也开成实验课,边讲边练,学生会使用即可。

本门课的知识要点如下。

(1)基本知识

①硬件系统介绍:

a.TMS320C6000系列CPU结构,工作原理(流水线)。

b.TMS320C62××/C64××/C67××公共指令集与TMS320C67××浮点运算指令。

c.中断控制。

d.TMS320C6000系统接口(管脚)(片内存储器、外部存储器接口,直接存储器访问接口,主机接口)与集成外设(定时器、中断器、掉电逻辑、通用I/O设置)。

e.实时DSP系统构成。

②开发环境:

a.软件开发工具。

b.集成开发环境CCS。

③开发语言:C语言、线性汇编语言。

④数字信号处理方法:快速傅里叶变换和数字滤波器的原理与方法。

(2)TMS 320C6000软件开发流程(先在微机上开发,然后再移置到DSP上)

①TMS 320C6000的C语言编程及优化。

②通过线性汇编优化汇编代码。

(3)基本能力

①会使用集成开发环境CCS。

②会使用集成外设:定时器、数字I/O、同步动态随机存储器。

③掌握快速傅里叶变换方法和数字滤波方法。

(4)在机电一体化系统中的应用

主要用于详细设计阶段:选用DSP作为数据处理或控制芯片。

**关于“计算机类模块”课程设置的建议

对于机械电子工程专业来说,计算机类的课程是由于机电一体化技术发展的需要而逐步由选修课开设出来的。目前看起来课程门数和总学时都不少,但存在两个缺陷:一个是内容零乱不系统;另一个是内容不深、不透,只停留在表面。究其原因,是思想认识问题,认为机电专业的学生会用计算机即可,无需深入了解。随着“中国制造2025”纲要的实施,正如“工业4.0”所预示的那样,不久的将来,计算机(科学)在智能机电系统(产品)中所占的比重将达到百分之五十左右(机械占20%,电子占30%),嵌入式软件充满整个智能机电系统(产品)内(不仅有接口驱动程序、控制程序,还有复杂的智能程序),另外还有复杂庞大的工具软件系统可以建造产品的虚拟原型,用以设计、测试顾客喜欢的任何东西,可说软件将决定未来产品的几乎所有功能(例如,使产品具有判断推理、逻辑思维、自主决策的功能和远程监测、维护功能)。为了适应这样的需求,学生必须熟练地掌握计算机科学的软硬件知识,以适应以后的工作。当然本专业的学生没有必要像计算机专业的学生那样去学习,但是总要让学生系统扼要地掌握计算机软硬件的基本概念和核心知识。在此做如下建议。

1.开设课程

可以开设五门课,即“微机原理与接口技术”“算法语言与程序设计”“数据结构及其应用”“计算机网”和“数据库技术与应用”。

2.每门课的主要内容

(1)“微机原理与接口技术”(3学分讲课,4学分实验)

本课程可以ARM为例去介绍微机的硬件系统和它的工作原理,可以仿照“计算机组成与结构”的思路去编排内容,但要采用概述性的讲述方法去介绍基本概念、基本构件和解决问题的基本思路。

①构成:先介绍微机的组成,然后分别介绍中央处理器CPU、主存储器、辅助存储器、输入输出与外设接口、总线、指令系统的构成和每部分(模块)的作用。

②工作原理:结合上述组成微机的硬件结构,依照数据从输入到输出在微机内的数据流和控制信息流简单介绍微机是如何工作的。

③主要指标如下。

a.技术指标:主频(标示计算机的运算速度)。

b.管理指标:耗费机时少,利用空间多。

④运行中要解决的几个问题如下。

a.时钟与节拍:控制数据(数字或文字的编码)在微机内协调运行。

b.高速CPU与低速外设的匹配:在接口处设缓存器、寄存器,在CPU内设寄存器、锁存器等,以解决CPU与主存储器、辅助存储器和各类外设之间传输速度不同的问题。

c.提高CPU利用率:(a)利用“流水线”的思路,使CPU内的指令部件和执行部件同时工作,避免CPU某些部件空闲,以提高运算速度。(b)利用中断机制使CPU处理完接口输入、输出动作后马上回来工作,省去了等待时间。

⑤几种微处理器比较:从构成、主频、开发语言、开发环境等几个方面分析单片机、ARM、DSP、PLC几种微处理器的异同,并说明它们各自的特点与用途。

⑥开设单片机、ARM、DSP、PLC四类实验,每个实验1学分。

(2)“算法语言与程序设计”(4学分,包括学生上机实习)

先讲算法语言,后讲程序设计,算法语言是为程序设计服务的。本课程主要内容如下。

①算法语言

选C++,采用边讲边练的方式进行教学。(C++可适用“结构化”和“面向对象”两种设计思想)

②程序设计

按软件工程的思路,概要性地介绍软件的设计步骤、方案构思和方案实现。

a.设计步骤〔比照机电一体化系统创新设计步骤(图3-1)去讲〕

概要设计→详细设计→程序编码→程序测试

(a)概要设计——构思总体方案(架构)

思路:先将用户需求经需求分析转变为程序的功能需求,然后将功能需求分解、综合为功能模块〔或事件(对象)〕,最后根据图论(数据结构)的原理将功能模块再组合起来,构思出程序的总体方案(架构)。

在进行程序架构的构思时,可将程序的字符视为数据的集合,由数据结构(或图论)可知,程序各模块之间的关系可选择树形结构(叫结构化设计),也可以选网状结构(叫面向对象设计)。若选树形结构,则架构中的各模块分层次按树形排列,枝杈末端模块之间的联系要经过一条复杂的“路径”;若选网状结构,则各模块〔事件(对象)〕之间可以直接联系,省去了“路径”。因此,大型复杂的程序一般选网状结构。

一个应用程序无论是树形架构还是网状架构都不会只有一个方案,设计时总是将不同的总体架构进行比较,取其最优者作为最终方案。

(b)详细设计——将总体方案具体化

虽然结构化设计和面向对象设计方法是不同的,但它们的思路是相同的。即它们都必须有明确的数据流(输入数据是沿什么路径输出的)和控制信息流〔按什么顺序去控制软件中各个模块(事件)的工作,使数据流完成任务〕,这样就可以很方便地找出结构化设计中的不同模块,并把它们放到不同的层次中,或找出面向对象设计中的不同事件(对象),并确定它们之间的连接关系(网络节点间的连线)。

(c)程序编码——程序实现

先选一种合适的语言,然后去编写。

(d)程序测试——质量检验

按单元测试、集成测试、确认测试和系统测试的顺序进行检测,然后给出测试报告,将程序投放市场使用。

b.实例

结合一个实例分别用两种不同架构去设计程序并编码实现。

(3)“数据结构及其应用”(2学分)

本课程的目的是将数据集合并通过不同的数据结构模型组织到一起,以达到运算速度快(时间利用率)、内存储存多(空间利用率)的效果。具体介绍三方面的内容。

①操作算法设计

建立清除、插入、删除、排序、检索、判定、求长等经常用的操作,其语言必须非常精炼。

②存储形式设计

在微机系统中,数据不断地在缓存器、寄存器、锁存器、主存、辅存间运作,设计高速、灵活的存取策略是计算高效的保证。应介绍线性表(顺序存储、链接存储、索引存储、动态存储)、数组、栈、队列、文件等存取策略的特点及其应用。

③实物数据描述形式设计

在用计算机解决实际问题时,实物的形状、尺寸、物理参数总要先数字化,这就要进行数据描述形式设计。描述用数据模型有常量、变量、数组、文件等,可以结合刚架或电路计算去讲。

(4)“计算机网络”和“数据库技术与应用”这两门课的内容仍按本节原来的介绍去讲。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈