前 言
嵌入式控制系统的教学现状
嵌入式控制系统的教学一般分为两个层次。
第一个层次,完成以MCS-51为代表的8位单片机教学。这在各所高校都得到了重视,大多数高校安排理论课64学时,实验课32学时,课时比较充足。在这个层次上,无论是讲授C语言程序设计,还是讲授汇编语言程序设计,可供选择的教材都比较多。
第二个层次,也就是以32位ARM为代表的嵌入式控制系统教学。目前,许多高校都还没有开设,主要有以下三个原因。
一是缺乏师资。毕竟,以ARM为代表的嵌入式控制系统设计是20世纪90年代才发展起来的新技术,它不仅包括高性能、功能丰富的硬件平台,而且软件开发的难度和嵌入式操作系统的应用,都对教师提出了更高的要求。
二是在课时安排上也有一定困难。这么复杂的软硬件系统,包括嵌入式操作系统,即使是用96学时(包括实验),也不一定能讲深讲透。况且,整个教学计划中也没有太多的时间。
三是没有合适的教材。特别是深入浅出、条理分明、适应本科生水平、课时比较合理的教材非常少。
为了克服上述困难,也为了满足教学需要,作者根据多年的科研和教学经验编写了《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》。
作者的想法是:在以32位ARM为代表的嵌入式控制系统教学中,不讲述嵌入式操作系统部分,而选择一种有代表性的32位单片机(类似8位机中的MCS-51)。《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》选择的是韩国三星S3C2410 ARM9单片机。在ADS1.2 For Windows集成开发环境中,用C语言完成嵌入式控制系统的开发工作。理论课内容安排48学时,实验课时间和内容由教师根据各高校的时间和条件自行决定。
在48学时(16周,每周3学时)内,让学生集中将S3C2410的最基本硬件结构、软件资源学深学透,学会用C语言编写应用程序。在用C语言编写驱动程序时,尽量借助系统资源,参考示例程序,减少设计者的工作量。通过较短时间的学习,学生可以很快掌握嵌入式控制系统的设计方法,完成嵌入式控制系统的设计工作。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》篇幅虽然不长,但程序源代码较多,对于嵌入式系统开发和学习来说是非常宝贵的资源。但是,如果在课堂上讲解和分析这些代码,学时显然不够。建议教师主要讲解S3C2410的硬件资源和编程方法,具体的程序源代码留给学生课后慢慢消化理解。
教学实验平台介绍
有条件的学校,在完成理论课教学的同时,应安排一定的实验课,这样教学效果会更好。
作者接触的ARM9(SAMSUNG 2410)教学实验系统有深圳市英蓓特信息技术有限公司的EmbestEDUKIT-Ⅱ/Ⅲ、北京博创科技有限公司的UP-NETARM 2410教学实验系统、北京精仪达盛科技有限公司的EL-ARM-830教学实验系统。上述教学实验系统都有基于ARM9系统资源的C语言实验程序示例,使用方便,可供选择。随书下载的实验讲义有两册:一册基于深圳市英蓓特信息技术有限公司的Embest EDUKIT-Ⅱ/Ⅲ,实验时应配合Embest EDUKIT-Ⅱ/Ⅲ教学实验系统平台,并安装Embest IDE;另一册基于北京精仪达盛科技有限公司的EL-ARM-830教学实验系统,实验时应配合EL-ARM-830教学实验系统平台。这两套实验系统程序的执行都要去掉目录中的中文目录,并尽量缩简目录深度。
本书主要内容和学习本书所需掌握的基础知识
第1章:简单讲述嵌入式控制系统的定义、研究现状和研究方法。
第2章:较详细地讲述基于ARM芯片的集成开发环境ADS1.2的创建和使用。
第3章:讲述ARM9芯片S3C2410的片上资源和编程参考项目2410test.mcp。
第4章:讲述S3C2410的I/O端口和I/O端口操作。
第5章:讲述S3C2410的中断系统及编程。
第6章:讲述S3C2410的串口UART。
第7章:讲述S3C2410的A/D和D/A转换控制。
第8章:讲述ADC和触摸屏控制。
第9章:讲述S3C2410的实时时钟(RTC)和编程。
第10章:讲述直接存储器存取(DMA)的工作原理及S3C2410的DMA控制。
第11章:讲述脉宽调制(PWM)的工作原理及S3C2410的PWM控制。
第12章:讲述看门狗(Watchdog)电路的工作原理及S3C2410的看门狗电路控制。
第13章:讲述双向二线制同步串行总线 I2C以及S3C2410的I2C控制电路。
第14章:讲述数字音频信号(I2S)和S3C2410的I2S控制。
第15章:介绍串行外设接口(SPI)。
第16章:讲述S3C2410的人机界面设计。
第17章:讲述程序的调试、运行和烧写。
第18章:项目开发实例。
除第1~5章外,其他各章内容基本独立。教师如果觉得在48学时内完成教学比较困难,建议除第2~5章和第16、17章作为重点必讲外,其他各章可根据实际情况有选择地进行讲解。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》附带一个软件包,其中包括《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的电子课件、S3C2410使用手册、实验讲义、各章习题答案、ADS1.2、参考项目2410test.mcp、通用字模提取程序和部分示例程序。
第五版课件由孙颖馨老师在第三版和第四版的基础上重新进行了制作,第六版未做改动。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的特点是通过深入浅出的讲述,将基于ARM9的嵌入式控制系统设计方法教给学生,使学生能够在最短的时间内入门。
学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》至少要具备C语言基础,如果有MCS-51单片机基础,学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》就会更加轻松。
工作中遇到的控制对象是各种各样的,因此要根据控制对象的性质来选择控制系统。控制一台数控机床或一条生产线、一架飞机或一艘舰船,采用嵌入式控制系统就不合适。此时应该考虑采用工业PC或工业控制站,软件应考虑采用面向对象编程语言。
嵌入式控制系统的特点是小、巧、轻、灵、薄,因此控制系统就不应该设计得太复杂,就像不能用数控机床削铅笔一样。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》旨在为学生提供简单的学习方法,让他们快速掌握嵌入式控制系统的设计。在学习《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》的过程中,若对某章内容看不懂,没关系,可以略过,不影响对书中方法的理解和掌握。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》通用字模提取程序的密码:194512125019。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》由孙俊喜任主编,侯殿有任副主编,席红旗参编,虽然我们做了很大努力,但难免百密一疏,若有考虑不周甚至欠妥之处,真诚欢迎读者多提宝贵意见和建议。我们的信箱是992116@qq.com,电话是010-62796045。
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计(第六版)》配套的电子课件、配套实验讲义、各章的习题答案和部分工具软件可以到http://www.tupwk.com.cn/downpage网站下载,也可以扫描下方的二维码获取。
编者
2022年3月