单片机和嵌入式系统,令创客实力大增的新工具

自从CPU发展到了单片机时代,创客们就可以通过程序去实现自己的作品,自此实力大增。在中国高校的单片机课程,曾经有过x86,z80和8051等,现在教的是什么呢?估计还是8051?然而在学校以外,创客活动更多使用的是Arduino和树莓派,它们被广泛爱好者社区支持,是有丰富外围硬件和软件选择的开源硬件平台。本文中,创客行给大家介绍Arduino、树莓派和ESP 8266,这是创客行实验室在各种电子制作中常用到的硬件系统。

Arduino

Arduino nano开发板图1 Arduino nano开发板

Arduino的名字来源于其创始人喜欢的一个酒吧,它的创作动机是给学生提供一个物美价廉的微控制器,它的核心是Atmel AVR系列芯片。我们做实验时常用的Arduino nano开发板(如图1)使用ATMEGA328P-AU 芯片,它的具体数据如下:

基本参数:

类别:集成电路 (IC)
核心处理器:AVR
闪存容量:32KB
EEPROM存储器容量:1KB
时钟频率:20MHz
接口类型:I2C, SPI, USART
电源电压最小:1.8V 最大:5.5V
电源电压表面安装器件:表面安装
封装类型:TQFP
针脚数:32
工作温度范围:-40°C to +85°C
存储器容量, RAM:2KB
输入/输出线数:23
模数转换器输入数:8
速度:20MHz
程序存储器容量:32KB (32K x 8)
振荡器型:内部
包装:托盘

主要功能:

高性能、低功耗AVR 8位微控制器
先进的RISC体系结构
高耐力非易失性内存段
微控制器的特殊功能
上电复位和可编程布朗出检测
内部校准的振荡器
外部和内部中断源
六个睡眠模式:空闲,ADC降噪、电源保存、关闭、待机状态,和待机扩展

由此可见,该芯片的外围接口非常丰富,可以使用串口(USART)、I2C和SPI进行对外通信。如图1,Arduino nano开发板正面正方形芯片就是其主芯片ATMEGA328P-AU,在主芯片和重置按键之间有一个金属壳封装的晶振,提供开发板的时钟信号。其反面主要有两个主要芯片,一个是稳压芯片,给主芯片提供5V的工作电压,另一个是串口转USB芯片,用于直接连接电脑USB口进行开发调试。

开发板有30个向下的金属引脚,从D2-D13是处理数字输入输出信号,A1-A7是6个处理模拟信号的引脚,可以提供10位模数转换(ADC)能力。上面说的三种串行通信接口和PWM信号控制接口通过程序控制复用了这些引脚(复用规则可从文档【1】获取,等到具体实验会有说明)。每块Arduino nano开发板的面积是43mm X 18mm,十分小巧。

Arduino从2005年开始发展到今天,积聚了大量的开源社区资源,有很好的软件和外围硬件支持,在创客运动中扮演非常重要的角色。Arduino的官网是https://www.arduino.cc,可以从上面获取很多学习资料。

树莓派

相对于Arduino来说,树莓派的价格就飞升了一个量级,它不再是一个单片机,而是搭载了完整操作系统的一个卡片式电脑,它的尺寸只有一张名片大小。

树莓派主板图2 树莓派2b主板(绿色是RS,红色是Element包装)

树莓派版本比较图图3 树莓派版本比较图

树莓派2b引脚功能图4 树莓派2b引脚功能

图2展示了树莓派2b的主板,它有40个对外连接的GPIO引脚,可以通过排线连接到面包板上做硬件实验。树莓派是由“Raspberry Pi 基金会”开发,目的是给学生提供编程教育的卡片式电脑,目前树莓派有两个主要供应商,分为RS(英国制造)和Element(中国制造)两个供货源。从图3可以看到树莓派的产品版本演进,它最初使用Linux操作系统,到2015年发布的2b版本加入了win10的支持。创客行实验室使用的是当前最新的2b版本,它的CPU是博康的BCM2836,该芯片使用AMR R7的内核,除了运行频率达到900MHZ,还有强大的并行指令集NEON,提供更好的多媒体应用支持。

树莓派2b的引脚功能如图4所示,它也支持完整的三种串行通信和PWM信号输出,对比Arduino而言,树莓派的GPIO不提供模拟信号处理,需要额外加入ADC模块来支持。需要注意的是树莓派的通信引脚使用的是3.3V电平,Arduino使用的是5V,它们之间互连接需要有电平转换模块,否则会造成树莓派烧坏的风险,创客行的淘宝店里就有这个模块。

树莓派官网:https://www.raspberrypi.org/

Arduino和树莓派比较

比较这两个开源硬件平台,前者是单片机,后者是完整的嵌入式系统,各自有应用的领域。Arduino没有复杂的内存管理软件,它的任务执行是实时的,而计算能力相对树莓派要弱小很多,毕竟只是20MHZ的8位单片机,不能指望它有强大的运算能力。树莓派的功能强大,不过由于操作系统有虚拟内存管理系统,它的任务处理方式是非实时的,不能用于严格实时系统,而且它的价格会比Arduino贵很多。两者也经常有配合使用的情况,比如用Arduino专门实时控制,把需要大计算量的工作扔给树莓派去解决,或使用Arduino做树莓派的ADC等。随着后续实验的开展,大家可以找到很多类似案例。

还有一点需要说明白的是,树莓派在很多人心目中不算纯开源硬件,虽然主板电路本身技术公开,但是博康CPU的技术细节却是封闭的,不是公开提供其data sheet,因此会造成很多扩展限制(见文档【2】)。

ESP8266

该系列芯片是由上海乐鑫公司开发的一款wifi模块,它可以通过串口与单片机相连接,让单片机通过它的wifi功能连接互联网。由于该芯片需要内核使用一个CPU处理wifi指令,它依然能够提高富余的运算能力来支持一些连接外部设备的引脚,因此,当它的使用SDK被开放出来之后,完全可以承担一些单片机的简单工作。

ESP8266(ESP-201)

图5 ESP8266(ESP-201)

ESP8266的二次开发需要依赖原公司提供的SDK资源,它的社区支持没有上面提到的两款开源硬件丰富,开发调试环境也不怎么友好,不过对于有经验的创客,用于实现一些简单智能硬件设计已经足够了。当前,物联网正在飞速发展,wifi通信模块在其中会起到非常重要的作用。创客行实验室一般会使用如图5的ESP 201开发板来做验证设计,它引出了ESP8266的主要引脚,能够配合SDK作好二次开发。

esp8266公司支持网站:http://espressif.com/

总结

本文描述了创客行实验室常用的三种开发板,在智能硬件+云计算支持的环境里,我们做简单功能时只使用ESP8266来单独完成,复杂应用会用到Arduino,多媒体和人工智能相关的高密度计算应用才会让树莓派上阵,大家可以多留意我们后续推出的各种设计制作。

更多精彩内容,请查看全站目录

 

 

 


优秀科技原创内容源,欢迎添加微信公众号。

创客行淘宝店提供本网站电子制作的全部套件

创客行淘宝店地址:https://shop125908459.taobao.com/

参考文档

  1. http://kb.open.eefocus.com/index.php?title=Arduino_Nano
  2. 开源硬件平台全新简介 (2) Raspberry Pi “树莓派”(下): 问题与总评
  3. 全站目录

2 Replies to “单片机和嵌入式系统,令创客实力大增的新工具”

发表评论

电子邮件地址不会被公开。 必填项已用*标注