当前位置: 嵌入式研究室 > 课程介绍 > 保五万年薪课程 >

机器人(UP-Robot)全真实战项目职业培训 保五万就业


 
嵌入式机器人开发大纲

 课程描述:“嵌入式系统 设计”是为有志于从事嵌入式系统开发的 人员进行岗前培训的一门综合课程,课程设置面向实际应用中所需的知识和技能。通过本课程的学习,学生能够深入理解嵌入式系 统的组成、体系结构,学会嵌入式系统软件的设计、开发和调试,掌握常用的嵌入式系统硬件电路和接口技术,学会用c语言和汇编语言编写嵌 入式系统软件,还能学会与嵌入式系统应用密切相关的通信、传感器、驱动、电机控制等知识。通过本课程学习的学生,将具备基 本的嵌入式系统开发技能,掌握产品设计的方法,有能力参加很多种使用嵌入式系统的机电产品的开发。

 

教学过程中理论教学与实验项目相结合,以机器人为平台开展实验,实验项目生动有 趣,入门简 单,无学习障碍,上手快。教学和实验内容由低到高,便于学生系统地逐步掌握嵌入式系统的架构和开发要领。 理论知识教学和实验教学相互交叉,便 于学生在动手实践中学会理论知识,能不断体验到成就感,不断激励自己深入地学习。


教学目标:为学生提供教学实践平台,促进嵌入式系统等相关专 业课程的教学。提供课程设计、毕业设计、课外活动和竞赛活动的平台,拓 展学生的实践活动范围。开展“信息类专业能力等级考试”培训课程和等级考试项 目,为社会输送合格的人才。研究多机器人协调课题,提供多个智能机器人之间信息共享、相互通信、协同作业等展示项目。

通过本课程的学习,学生能够: 
 
1、 深入理解嵌入式系统的基本原理、组成和体系结构; 

2、掌握嵌入式系统开发的过程、方法、工具、环境和技巧,学会嵌入式系 统软件的设计、开发和调试; 

3、掌握常用的嵌入式系统硬件电路和接口技术。
4、 掌握使用 嵌入式系统作为控制器的机电产品的开发过程。
 
预备知识:微机原理与接口技术、C程序设计、电子技术、部分操作系统原理理论
 

教材及学前参考书籍:
         
教材:专用培训教材
        
学前参考书籍: 《嵌入式系统设计原理》,Wayne Wolf著,孙玉芳、梁彬、罗保国、谢谦等 译,机械工业出版社 。 ARM体系结构与编程,杜春雷著,清华大学出版社
嵌入式实时操作系统uC/OS-II(第二版),Jean J. Labrosse著,邵贝贝等译,北京航空航天大学出版社 

       《嵌入式系统开发与应用教程》田泽编著,北京航空航天大学出版社,2005
 
参考配置

:全程课程将涉及单片机、 ARM9、ARM11(可选)、及上列机器人系列任何一个机器人实验平台
 
(1)2个学生一组,可 供40个学生同时做实验。
 
(2)5台机器人安装无线数传模块,可供进行多机器人协调项目的研究。

 
考核要求
 1.平时实验项目完成情 况:20% 
2.自主设计项目展示和实验报告:40%  
3.理论笔试:40%
 
面向行业及岗位:

      行业:高级智能工控领域、嵌入式智能控制领域、玩具研发领域
     
岗位:嵌入式开发工程师、嵌入式底层驱动工程师、嵌入式软件工程师、单片 机开发工程师、


培养对象

     希望掌握机器人技术、智能嵌入式底层编程技术的学 员;以及希望从事嵌入式开发的爱好者、工程师、程序员、已及相关行业的工程技术人员;有志于从事嵌入式核心研发的软件开 发技术人员和正在学习计算机、软件、通信专业、电子专业的学生,以下是主要应用方向

◆ 系统底层内核驱动软件开发;
◆ 智能设备的驱动软件开发;
◆ 智能控制芯片开发;
◆智能操作系统平台开发
 
课程特色:4+2(理论+实践)全程6个月,其中学员有2个月时间参与真实机器人公司研发项目的实战机会。


全真项目设计:ARM7、ARM9、ARM11(可选)、猎豹系列机器人


课程大纲(共17周授课,每天面授6小时)

 
 ---------------------  第一部分 基础部分------------------
                                       C/C++强化训练
 
一、Linux系统基础 (3)
 
教学目标: 能比较熟练的安装、操作Linux系统, 并能配置开发环境与常用服务.
 

1.       Linux 基础

a.       系统安装

b.       帮助系统

c.       文件管理 

d.       用户组 

e.       文本处理与编辑

 

2.       Linux常用命令

a.       查找

b.       压缩

c.       输入/出重定向

d.       管道

e.       启动脚本

f.        软件安装

g.       x-window

 

3.       Linux网络配置

a.       TCP/IP简介

b.       网卡配置

c.       DNS配置

d.       nfs 

e.       ssh

 
二、shell程序设计(2天)
 
教学目标:能用Shell处理简单 的批量化工作
 

1.       Bash Shell初步

a.       变量

b.       运算符

c.       流程控制

d.       环境变量

2.       Bash Shell进阶

a.       文件操作

b.       函数

c.       输入输出

 
三、C语言程序设计10天)
 
教学目标: 能设计普通的应用程序
案例教学:

a.       指法练习程序

b.       汉诺塔游戏

 

1.       C语言基础

a.       C语言的特点

b.       数据类型

c.       运算符

d.       表达式

e.       关系运算符

f.        if 语句

g.       switch 语句

h.       循环语句

2.       函数

a.       函数的声明和定义

b.       形参与实参

c.       递归

3.       数组

a.       数组的定义

b.       整型数组

c.       字符数组

d.       字符串

e.       数组名的意义

f.        多维数组

4.       指针

a.       指针的定义

b.       指针运算符

c.       指针的加减

d.       动态内存分配

e.       堆与栈

5.       数组指针

a.       指针数组

b.       数组指针

6.       预编译与VT控制码

a.       声明与头文件

b.       静态链接库

c.       动态链接库

d.       ANSI VT控制码

7.       组合数据类型

a.       结构体

b.       结构体指针

c.       . 枚举

d.       共用体 (联合)

8.       指针高级应用

a.       二级指针

b.       三级指针

c.       多级指针

d.        函数指针

e.       C语言与面向对象

9.       文件操作

a.       标准I/O (fopen)  

10.   辅助开发工具

a.       Makefile的编写

b.       GDB的使用

c.       CVS与配置管理

 
 

四、数据结构  (7)

教学目标: 熟悉常用的数据结构与算法
教学案例:
1. 成绩管理系统
2. 计算器
3. 电子词典
4.文件压缩器
 
 

1.       单向链表

a.       链表的创建

b.       链表的遍历 

c.       结点的添加、删除

d.       基于函数指针的查找

2.       Linux内核链表

a.       双向链表

b.       Linux内核链表的创建 

c.       List结构的作用

d.       有头与无头链表

3.       排序及查找

a.       冒泡排序

b.       快速排序

c.       选择排序

d.       查入排序

4.       Hash表

a.       Hash算法

b.       Hash表的创建

c.       遍历

5.       队列和堆栈

a.       数组存储

b.       链式存储

6.       树与二叉树

a.       数组存储

b.        链式存储

c.       权值的概念

d.       Huffman树

e.       Huffman编码

7.       广义表

a.       组合链表的应用

b.       广义表

 
 
-------------------  第二部分高级部分-----------------------

                                 单片机控制部分

 
一、基本元器件及模拟电路(5天)
教学目标: 能够利用C++的特性编写各种数据结构算法
案例实践:

1.       成绩管理系统(STL实现)

2.       模板库的实现(MyTL)

 

1.       封装

a.       分立

b.       插件机

c.       浸焊

d.       波峰焊

e.       贴片

f.        点胶机

g.       贴片机

h.       回流焊

i.         各种常见封装、手焊注意事项、热风枪和烙铁的选择

 

2.       电阻

a.       分立电阻

b.       碳膜 金属膜与精度的关系

c.       封装间距与功耗的关系

d.       贴片电阻

e.       常见封装大小与功耗的关系,颜色与精度的关系

f.        电阻的几种用途

g.       电位器

h.       排阻

i.         压敏电阻

 

3.       电容

a.       独石电容

b.       瓷片电容

c.       电解电容

d.       铝电容,钽电容

e.       正负极

f.        涤纶电容

g.       耐压值

h.       常见的几种用途及选型

i.         稳压

j.         高低频滤波、退耦

k.       隔直通交

l.         定时

 

4.       电感

 

5.       二极管

a.       稳压管

b.       整流管

c.       发光二级管

 

6.       三极管

a.       极性

b.       工作状态

 

7.       集成运放及其电路设计

 

8.       继电器

 

9.       固态继电器SSR

 

10.   ULN2003/ULN2008

 

11.   光耦

a.       电平匹配

b.       隔离干扰、高压

c.       高速通讯

 

12.   光电管

a.       反射型

b.       对射型

 

13.   晶振

a.       有源

b.       无源,起震电路,频率的选择

 

14.   电源

a.       线性电源

b.        变压器

c.       整流桥

d.       三端稳压器

e.       开关电源模块

f.        线性电源与开关电源的优缺点

 
二、数字电路(5天)
 
1. TTL和CMOS电平
2. 基本概念

a.       时序图

b.       真值表卡诺图(看情况,可从简

c.       高阻态

d.       锁存

e.       缓冲,增强驱动

3.       74系列芯片

4.       CD4000系列芯片,计数器分频器

 

三:PCB Layout3天)

 

1.       基本概念

a.       PCB板材,盎司,工厂的加工能力

b.       各层及其含义,反向绿漆层

c.       焊盘和过孔

d.       走线

e.       布局

2.       常见软件

a.       Cadence

b.       Pads

c.        altium(原protel)

3.       Altium

a.       netlist,altium有图形化工具

b.       规则设置. 布局

c.       元件库,封装库

d.       操作方法和最常用的快捷键

e.       拼板的技巧,阵列粘贴

f.        输出gerber

 
四、51单片机系统(7天)
 

1.       51汇编和C

2.       复位、电源管理、看门狗 CAT1161/SP791/MAX691/DS1832

3.       LED显示,八字数码管

4.       AD/DA,PID控制

5.       RS232/RS485,MAX232/MAX485电平转换

6.       IIC/SPI

7.       实时时钟,日历,PCF8563/SD2000/DS1302

8.       CAN bus

9.       PWM

10.   CPLD,VerilogHDL/VHDL,3分频,与51的通信

 
五、项目:(3天)
 
-------------------  第三部分高级部分-----------------------

                智能ARM9/ARM11嵌入式芯片部分

 
一、ARM嵌入式开发20天)
 
         教学目标: 熟悉ARM微处理结构、指令和常用外围器件
教学案例:
1.  ARM模拟器开发
2.  Watchdog控制程序
3.  RTC时钟控制程序
4.  Uart控制程序
5.  LCD控制程序
6. 触摸屏控制程序
7.  DMA控制程序
8. 音频控制程序
9. 网卡控制程序
10. 文件系统制作
11.  ARM-Linux移植
 
 
 

1.   嵌入式系统移植

a.       仿真器的使用

b.       Bootloader的烧写

c.       内核的烧写

d.       根文件系统的制作

e.       文件系统的烧写

f.        NFS文件系统

g.       开发板串口通信

 

2.       ARM体系结构

a.       IP核、芯片与开发板

b.       处理器结构

c.       处理器模式

d.       寄存器

e.       流水线结构

f.        C语言内嵌汇编格式

 

3.       ARM指令系统

a.       算术逻辑指令

b.       指令对状态寄存器的影响

c.       比较分支指令

d.       数据总线与地址总线

e.       内存访问指令

f.        指令位图

g.       识别机器指令

 

4.       ARM过程调用标准

a.       LDM/STM

b.       反汇编

c.       APCS

d.       C语言函数与汇编的互相调用

 

5.       ARM 汇编与GPIO

a.       AT&T汇编语法详解

b.       gas工具的使用

c.       label标签的作用

d.       数据与代码的分布

e.       链接脚本ld-script

f.        的外围器件结构

g.       GPIO操作

 

6.       时钟与UART

a.       总线标准

b.       频率分配与设置

c.       Watchdog计时操作

d.       RTC时钟操作

e.       UART操作

 

7.       ARM中断体系

a.       异常向量表

b.       ARM模式切换

c.       ARM中断控制器

d.       软中断

e.       Linux系统调用的实现

 
 
 

8.       Nand Flash

a.       Flash原理

b.       Nand控制器原理

c.       时序分析

 

9.       SDRAM

a.       物理地址分布

b.       SDRAM原理与时序

c.       内存控制器的物理连接

d.       地址对齐

e.       SRAM访问

f.        软中断

g.       Linux系统调用的实现

 

10.   内存管理单元(MMU)

a.       MMU的原理

b.       ARM协处理器指令

c.       section模式

d.       small page模式

e.       I & D TLBs

f.         I & D Cache

g.       哈佛结构的原理与实现

 

11.   触摸屏与ADC

a.       ADC原理

b.       触摸屏接口与控制

 

12.   LCD

a.       图形显示原理

b.       LCD控制器

c.       LCD时序

 

13.   音频与DMA

a.       音频硬件原理

b.       UDA1341

c.       L3总线

d.       音频总线时序

e.       DMA原理与应用

 

14.   网卡

a.       逻辑链路层与MAC层

b.       CS8900原理与时序分析

 

15.   Bootloader开发

a.       u-boot的配置、编译

b.       u-boot启动过程分析

c.       ARM-Linux的启动要求

d.       ARM-Linux kernel的ld-sript分析

e.       u-boot到ARM-Linux的跳转代码分析

 
项目实践 (5)Bootloader开发
 
开发一个能够引导Linux的Bootloader,且具备tftp、 nand烧写等功能。
 
 
二、Linux设备驱动程序 (20)
教学目标: 熟悉内核的裁剪、移植及设备驱动开发
教学案例:
1. GPIO驱动
2. RTC时钟驱动
3. WatchDog驱动
4. Udev移植
5. 触摸屏输入设备驱动
6. LCD显示设备驱动
7. DMA驱动
8. 音频设备驱动
9. Nand Flash块设备驱动

10.              网络设备驱动

 
1. ARM-Linux启动过程

a.       ARM-Linux的配置、编译

b.       ARM-Linux启动代码分析

c.       ARM-Linux 地址映射;

d.       Busybox的配置、编译

2.       内核配置与内核模块

a.       内核配置编译

b.       补丁的制作

c.       内核补丁

d.       内核Makefile

e.       Kconfig的编写

f.        模块的编译与加载

g.       导出符号

h.       引用计数

i.         内核空间与用户空间的区别

j.         Printk

k.       模块参数

 

3.       设备驱动初步

a.       Linux的VFS简介

b.       设备文件与设备号   

c.       字符设备

d.       cdev结构

e.       用户空间的操作与设备操作关系

f.        open、release、read、write、lseek、ioctl等

 

4.       进程调度

a.       定时器中断

b.       task_struct的作用

c.       thread_info

d.       抢占与非抢占

e.       进程睡眠

f.        等待队列

g.       阻塞I/O与非阻塞I/O

h.       select/poll

 

5.       并发控制

a.       原子操作

b.       自旋锁

c.       禁用抢占

d.       中断屏蔽

e.       信号量

f.         completion

 

6.       内存管理

a.       虚拟地址空间与MMU  

b.       内核页管理机制

c.       内核内存分配

d.       高端内存

e.       Vmalloc

f.        统一编址与独立编址

g.       I/O端口与I/O内存

h.       I/O静态映射

i.         mmap

 

7.       内核计时

a.       内核计时jiffies

b.       Timer

c.       Tasklet

d.       work_struct

e.       Linux信号

f.        async的实现

g.       RTC时钟驱动

 

8.       中断系统

a.       中断机制

b.       异常向表相关代码分析

c.       中断号的确定

d.       上半部与下半部

e.       中断共享

 

9.       设备驱动模型

a.       kobject、kset、class、subsystem与sysfs的原理和关系

b.       udev的原理与移植

c.       bus_type

d.       device与device_driver原理

e.       platform_device的应用

 

10.   触摸屏驱动

a.       ARM-Linux Input设备详解

b.       触摸屏控制

 

11.   LCD驱动

a.       Frame Buffer驱动详解

b.       LCD控制

 

12.   音频设备驱动

a.       OSS驱动详解

b.       I2S控制

 

13.   块设备驱动

a.       块设备的注册

b.       块设备的I/O的特点

c.       /O请求

 

14.   网卡驱动

a.       设备注册

b.       驱动层数据收发

c.       地址解析

 

15.   ARM-Linux裁剪与移植

16.   新版内核移植

17.   驱动整合

 
项目实践(5天):网络控制驱动、视频传输控制、ALSA音频感应驱动开发
 
-------------------  第三部分机器人工作实训实习期-----------------------
时间:2个月
 
大纲(待更新)
 
初级:掌握基本知识点,基础应用

1.       ARM嵌入式系统集成开发环境实验

a.       实验一  ADS集成开 发环境试验

b.       实验二  JTAG调试 下载试验

c.       实验三 串口下载程序 试验

2.       通迅系统实验

a.       实验四 串口通信实验

b.       实验五 CAN总线通信实验

c.       运动控制系统实验

d.       实验六 直流电机驱动及 差动运动控制实验

e.       实验七 步进电机控制实 验

f.        实验八 编码器数据采集 实验

g.       实验九 PID速度闭环控制实验

h.       实验十 PID位置闭环控制实验

i.         实验十一 走正方形实验 

j.          I/O口驱动实验

k.       实验十二 数字输入实验

l.         实验十三 数字输出实验

m.     传感器系统实验

n.       实验十四A/D数据采集与 转换实验

o.       实验十五 红外传感器测距 实验

p.       实验十六 基于PSD的避障实 验

q.       实验十七 数字罗盘数据采 集与数据滤波实验

r.        实验十八 用数字罗盘数据 校正航向实验

s.       嵌入式操作系统μC/OS-II实验

t.        实验十九μC/OS-II移 植实验

u.       实验二十 网络通信实验

 
中级:拓展应用
 

 实验一    运动伺服 控制系统参数整定实验

 实验二    运动伺服 控制系统应用试验

实验三    伺服控制 系统可靠性试验

实验四    基于PSD的自主漫 游实验

实验五    机器人跟 人走实验

实验六    基于数字 罗盘的导航系统应用实验

实验七    自主定位 实验

实验八    图像监控 实验

实验九    基于总线 的智能控制实验

实验十    智能巡检 实验

实验十一 模块化智能节 点实验
 
3.6能力考试
 
 通过培训课程和考试,形成“基本能力培训→专项能力培训→综合能力培训”的能力训练体系,面向学校和社会,提供培训和等级考试服务。通过考核学生在规定的时间完成动手实践类项目的情况进行评估。第一阶段可开展的能力培训涵盖以下五个项目模块:
 

项目1、 基本操作技能等级考试

 给定电路板和相应的电子元器件,在规定的时间内,完成焊 接,调试并正确下载程序,电路板能正常工作的任务。
 

项目2、 传感器采集与处理等级考试

 在规定的时间内,完成画原理图,再根据原理图搭建电路,实 现简单的信号采集、信号处理及移动平台避障的任务。
 

项目3、 工业总线通讯等级考试

 在规定的时间内,完成编写正确的多节点CAN通讯软 件。利用CAN控制LED灯旋律或移动平台的任务。
 

项目4、 控制系统等级考试

 在规定的时间内,完成速度环编程与调试、位置环编程与调 试,并利用伺服系统行走给定的轨迹的任务。
 

项目5、 嵌入式软件及实时系统

 熟悉嵌入式系统软件编程,在规定的时间内,完 成操作系统的移植,并利用实时操作系统进行移动平台运动控制的任务。
 
四、研究目标的实现
   采用推荐配置的五台带有无线数传模块的机器人平台,研 究多机器人协调、无线传感器网络等课题提供多个智能机器人之间信息共享、相互通信、协同作业等展示项目。
 
 
 


相关内容:
  • NO1 : 所有嵌入式授课都由尚观直营中心授课,尚观没有授权加盟中心讲授嵌入式高端技术,因为加盟中心无法保证授课质量,尚观对所有的学员必须全权负责。
  • NO2 : 签订全国唯一的双保就业协议(绝非模糊不清的就业协议),保就业,保底薪,不就业100%退还所有学费。尚观通过3个开发就业方向来保证就业:Linux内核驱动开发、UNIX环境高级编程、嵌入式应用编程。
  • NO3 : 评估嵌入式培训深度的指标就是学生有多少能写出真正的驱动来,尚观的嵌入式内核驱动开发课程让学员从零开始手写至少五种驱动程序。绝不是移植和改写,一定是从零开始独立完成。
  • NO4 : 必须通过考试才能培训,不通过考试不能入学。授课过程中,每个阶段都有考试,学不会免费重听。尚观每天强制学习到晚上8:30,配有专门的辅导人员,并且在实际老师讲课后还有免费的视频培训。人手一机,每天面授6小时,另外4小时有专人辅导。
  • NO5 : 尚观学员就业信息每月更新,张贴在各个培训中心接受所有新老学员监督,尚观是全国唯一每月实时更新就业信息的培训机构,尚观绝对不会使用以往学员就业信息循环滚动播放,网上查看学员就业信息的网址是:
  • NO6 : 尚观是嵌入式培训中最富有进取心的,在2007年全国最先推出 ARM11(iPhone的平台)课程,这个是最难的ARM体系课程。2007年12月,全国首家移植成功Android(Google手机操作系统)。2008年全国首家推出保8万年薪的核心层内核驱动课程。
  • NO7 : 尚观就业课程一定是全职讲师授课,因为兼职讲师没有责任心,无法对教学负责。尚观讲师介绍中的讲师明确写出是全职还是兼职。
  • NO8 : 全程实践案例授课,我们为每个就业课程设计的大型的案例,而且是企业实际使用的案例,有了这些案例,可以直接对找工作有支持和促进作用。
  • NO9 : 尚观嵌入式研究室从2005年就在开设嵌入式长期就业课程(不是周末的短期兼职业余老师班级),是国内最早开展嵌入式专业长期课程的培训机构。至今已经有近4年多的长期班职业嵌入式培训经验,毕业学员上千人。合作企业多达数百家,最重要的是这些企业对尚观的学员充分肯定。