今天我们简要介绍嵌入式系统编程。
PCB: Printed circuit board
PCB就是打印好的电路板。主要就是为了提高电路的安全可靠性。下图就是典型的不可靠案例,面包板加各种导线。
在UM一些高年级设计课程中,大部分最终的项目都要自己画电路板。画板子对于初学者来说,真是一件耗时耗力也不一定能做好的事。但感觉这是一项非常有用的技能,尤其是想做一些有意思的小项目,所以去年花了两周时间解锁了此技能。下图中的板子大概5cm x 5cm,主要的功能就是得到一张红外热感图。当时做这个板子的想法是用它来做近距离的行人检测(做为side project的坏处就是,没有足够的动力把项目坚持下去)
如果你想开始一些简单的画电路的练习,请点击:
https://www.eecs.umich.edu/hub/lessons.html
MCU: Micro-Controller Unit
MCU其实就是一个控制单元,类似于电脑中的CPU(中央处理器)。主要是内部的架构不同,造成的结果就是,在你电脑上可运行的程序,另外的芯片可能就不知道怎么执行。这主题真是不是一句两句可以解释清楚的。但如果你想开始做一些有意思的小项目,可以使用:
Arduino: https://www.arduino.cc;
RaspberryPi: https://github.com/xipengwang/X;这个是我MHacks时候做的小项目。因为RaspberryPi很少有和Arduino那样把各种教学的例子集中在一起的网站,起初接触时也是各种搜索,各种尝试。所以做了一个wiki,把一些基本的入门介绍集中起来方便初学者使用。(做为side project的坏处就是,好久没有更新了)
Arduino和RaspberryPi主要区别在于,Arduino不带操作系统,程序就是单线程的运行下去。RaspberryPi更像是一个小型电脑,带有操作系统,可以多线程的执行各种任务。前几天把儿子的车改装成了手机遥控驾驶用的就是RaspberryPi, 打算再加个摄像头把它做成刷脸取车(Thanks for deep learning).
上一篇:无人驾驶-- 一些有趣的项目(2)
Roadmap:
为什么选择GEM E4?
硬件
Drive-by-wire system
GPS
IMU, encoder
lidar, camera, radar, ledder, etc
Firmware
PCB
MCU
RTOS
Comunacation protocols.
??
软件
Develop environment
操作系统
编程语言
??
Open loop driving
SLAM
Control and path planning.
?
安全性,可靠性检测
领取专属 10元无门槛券
私享最新 技术干货