怎么着为编程爱好者设计一款有趣的智能硬件天文学

By admin in 天文学 on 2019年3月13日

 

 

 

 

① 、我的构想:怎样为编制程序爱好者设计一款有趣的智能硬件(一)——即插即用、积木化、作用结合的智能硬件模块构想

二、外人家的孩子:怎么为编制程序爱好者设计一款有趣的智能硬件(二)——外人是怎么着规划硬件积木的!

 

三、MCU选型:

  搬砖的很勤快、很卖力也很能坚称,但大部分都只是赚血汗钱。小编搬过砖,那是在高等高校统招考试完的暑假,在本身的强烈须要下跟着本身爸干了一暑假的泥水工。大家马上干的“业务”叫做“包砖块”,就是多砌一块砖多赚一点钱——和脚下大环境下的码农做外包有点类似!都以血汗钱丫!小编和作者爸每日早上6:00到工地,在日光最毒的多少个月里,早上干到11:30,午饭在户主家里无论是吃点,然后稍作休息,早上1:30开工,深夜6:00下班,每一趟回来,腰酸背痛,洗个澡到头就想睡!当时自家没啥技术就做个小工,要持续的和灰、搬砖、送灰,保障多少个大工不缺能源。从那今后每一趟遭受相比困难的工作,小编都会想这世界还有比那更累的事吧!

天文学 1

  回归正题!之所以啰嗦上边那么多,小编不怕想引出叁个话题:平台不对,越努力越疲惫(跳跃性有点大!),你成功的地点一定是你所熟谙与喜爱的地点。前两篇小编早就介绍想为编程爱好者设计的产品大约样子,从本篇伊始大家将初步先河实践。而摆在眼下的题材便是该选用怎么一种平台!——硬件平台!(操作系统本人写,所以不用选)

 

自家的正规化: 

  +上心灵        知足快速初步条件      

  +运算能力不能够太差  
 要做活动重组系统,那一个本来不能够低

  +开支不可能太高            
 玩具,自然不能够太贵

  +通用GPIO尽量多    
通用电子积木,多GPIO可保证模拟出更加多的通讯接口

 

FPGA(Field Programmable Gate
Array):

  FPGA类似硬件中的变形金刚,一般选用硬件描述语言(硬件描述语言是:The
FPGA configuration is generally specified using a hardware description
language (HDL), similar to that used for an application-specific
integrated circuit (ASIC). (Circuit diagrams were previously used to
specify the configuration, as they were for ASICs, but this is
increasingly rare.))

  FPGA由许多可编制程序的逻辑块(不大的单元)和可重构的打成一片结构构成。通过重构那些互联结构便能改变逻辑块的总是情势,一方面能够兑现简单的AND\OR\XO中华V等简便逻辑和由中央回顾逻辑组成的复杂逻辑(想想离散数学,那几个概括逻辑能够结合语言,表明一定意思,也就能落到实处自然效能);另一方面逻辑单元往往有着存储能力,那样各种逻辑单元就不但能够落到实处简单逻辑,还是能工程触发器,进而完结时序逻辑。就好像用画布制作游戏一样,当timer参加后,整个场景便变得有趣活泼了!

  FPGA为什么成为硬件中的变形金刚呢?是因为——Technically speaking, an
FPGA can be used to solve any problem天文学, which is computable.
用FPGA可以兑现八个软微处理器(这几个理应是总结机组成原理的硬布线控制器与微程控器有关)。

  FPGA中的具体使用包含数字信号处理,软件定义有线电,ASIC原型,管工学印象学,计算机视觉,语音识别,密码学,生物音讯学,总结机硬件仿真,射电天法学,金属检查和测试和别的领域的界定逐年壮大。还有八个是硬件加快~

天文学 2

  作者要规划的东西很必要一个够灵活的开发板,而FPGA号称变形金刚。小编在大二上数电的时候,期末实验就要用他陈设各样稍微复杂的时序逻辑电路,小编做的快一口气彪到了最后二个——做个51单片机。当时就觉着那个变形金刚当之无愧了~后来发现有人用它写了个arm指令集,做出了stm32,还移植一个uc-OS操作系统,更是对它侧重。可是,一方面由于它太趋于硬件层面,做复杂应用大概会开支比较多的时间;另一方面本身也不太纯熟,现学现卖最终想编写个操作系统在地点大概bug频出。于是暂先不考虑那一个~

 

51单片机: 

  笔者对51可谓玩得很6!它看成国内嵌入式开发者的启蒙级单片机从未被取代过!无论你了持续解数电、模电、组成、种类甚至是C语言,你在Tmall上花100-200元买个开发板就能亲手点亮个灯、得意时做个流水灯、玩6了同盟各类传感器做更有意思的事物。51开发板已然不是1个针对工程师来学学开发加速项目进度那么严穆的事物,它之所以没有ardunio受人追捧只怕在于它一定依然3个开发板、高校教具。(注:51是2个多如牛毛的单片机,开发板是51单片机+众多赞助外设便于开发执行种种功用的板子)

天文学 3

  作者尽管很擅长51,不过假如在内部跑个能结合系统还要挂接四个外设是有点够呛的!不过能够暂留,大家能够变换下思想,把力量弱的MCU只留出几个简易的接口,达成简单意义:如有线button等。

 

STM32:

  该MCU基本上能够称呼单片机中的战斗机了!看看stm32F103(增强型)的特点:


内核:A大切诺基M叁10个人Cortex-M3
CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。
※ 存款和储蓄器:片上并轨32-512KB的Flash存储器。6-64KB的SRAM存款和储蓄器。
※ 时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POMurano、PD大切诺基和可编制程序的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz
HavalC振荡电路。内部40
kHz的奥迪Q5C振荡电路。用于CPU时钟的PLL。带校准用于QX56TC的32kHz的晶振。
※ 低功耗:3种低耗电情势:休眠,甘休,待机格局。为EnclaveTC和备份寄存器供电的VBAT。
※ 调节和测试情势:串行调节和测试(SWD)和JTAG接口。
※ DMA:12大路DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UA奇骏T。
※ 二个十二位的us级的A/D转换器(16坦途):A/D衡量范围:0-3.6
V。双采集样品和保全能力。片上并轨2个温度传感器。
※ 2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。
※ 最多高达112个的便捷I/O端口:依据型号的例外,有26,37,51,80,和112的I/O端口,全部的端口都能够映射到1六个外表中断向量。除了模拟输入,全体的都得以接受5V以内的输入。
※ 最多多达13个定时器:陆个十八个人定时器,每种定时器有6个IC/OC/PWM也许脉冲计数器。3个十三人的6通道高级控制定时器:最多五个通道可用来PWM输出。1个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。三个十几个人中央定时器用于驱动DAC。
※ 最多多达11个通讯接口:二个IIC接口(SMBus/PMBus)。5个USASportageT接口(ISO7816接口,LIN,IrDA包容,调节和测试控制)。一个SPI接口(18
Mbit/s),八个和IIS复用。CAN接口(2.0B)。USB
2.0急速接口。SDIO接口。 

  除此之外,尽管把uc-OS移植过来,用其开发逻辑复杂的应用程序也是相比较便利;借使把uc-GUI移植过来,开发复杂用户交互界面也相比便宜~那些各方面都不错,作为候选选手静待佳音!

天文学 4

 

CC2541蓝牙( Bluetooth® )4.0低功率蓝牙5.0解决方案:

  之所以会介绍这些,因为该模块不仅仅是一个Bluetooth通讯模块,还存有一个增强型51内核,比较符合做小积木~看官方介绍:

  style=”font-size: 12px; font-family: ‘Microsoft YaHei’;”> CC2541
是一款针对低能源消耗以及私有 2.4GHz 应用的功率优化的着实片载系统 (SoC)
解决方案。 它使得应用低全体物料清单开销建立健全互联网节点成为可能。
CC2541 将抢先 福特ExplorerF 收发器的完美质量和一个产业界规范的增强型 8051
MCU、系统内可编制程序闪存存款和储蓄器、8kB RAM
和许多别的作用强大的表征和外设组合在一块儿。 CC2541
万分适合应用于需求超低能源消耗的系统。 那由多种不一样的运作形式钦赐。
运转情势间较短的转移时间越发使低能源消耗变为或许

天文学 5

  从上海教室能够见到其引脚和通讯接口也正如全。其余,TI还开源了贰个OSAL(也正是一能源丰富的操作系统),基于此开发设计会省不少功力。其它其它,该芯片本人提供通讯组网作用也是一对一摄人心魄的~其实同类的芯片还有nEscortF51822(嵌入Contex-M0内核,最大支撑1拖8,卓殊有魅力!);zigbee组网专家,不用说了。

 

接下去布署:

  上边是五款本身相比熟练的阳台,至于ardunio、树莓派….那里就不划入安顿个中了!经过分析大家发现并从未一款尤其符合的阳台来支付“X-积木”。例如:51有入手和操作都麻利,作者本人也相比纯熟等优点,但是一旦用它来落实能够私下插拔七个外设模块的着力拍卖装置,并能够基于外围设备的场景重构本人操作系统的阳台,作者倍感够呛!stm32能力能力很强、开发简单等都相比乐意,但是另一方面其资金稍高、低功耗不算太好、没有现成比较丰裕的开源外设驱动,将会为后来支付“X-积木”外设扩充部分工作量;像蓝牙5.04.0低耗能方案,即便内地点也都挺不错,而且有组网、蓝牙( Bluetooth® )、OSAL等加分项,可是其拍卖能力相比较stm32还是稍逊,并且OSAL用起来没有uc-OS舒服;至于变形金刚FPGA,灵活性很高,但从尾部一步步搭建会是一项伟大的工程!

  综上,我决定——

  第②等级:暂选CC2541作为着力块,先达成多少个简易的作用块(如温湿度模块、光照模块、显示器模块、超声波模块、继电器模块、人体红外线模块等),并各自对各类外设模块封装成能够通过蓝牙5.0拿走其行使验证和通信格局的API,然后尝试开发叁个有线电话demo来通过Bluetooth采集这个音讯并彰显。

  第贰品级:尝试达成各模块自由插拔,同时统筹有着活动重构的操作系统,能根据当下MCU积木上三番五次的外设积木的品种,自动合成对外API清单(正如首先篇介绍的那样:上位机(如手提式有线电话机)通过某种通讯方式(如蓝牙5.0)落成和组合好的积木初次调换,组合好的积木便会将日前API清单发送给上位机,上位机依照API清单明确贯彻和硬件的即兴通信)

  第一品级:还没想好,先落成前两品级再说!压力山大~

  前日同一时半刻间、同一地点——如何为编制程序爱好者设计一款有趣的智能硬件(四)——初尝试·把温湿度给采访了!

 

 

 

@beautifulzzzz

    二〇一五-9-7
持续更新中~

发表评论

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

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢手机官网 版权所有