[原创] CC2650开发板DIY之四——功能设计和NapOS

fyaocn   2015-11-20 12:37 楼主
功能设计和NapOS 一、围绕环境监测的CC2650开发板的功能设计 环境监测是完成随时采集周围环境的情况,并且上传到上端进行数据分析和汇集的任务。主要的环境参数是温度和湿度,此外还可以采集的信号有大气压,风速,光照强度,空气污染指数,有害气体浓度等。虽然我们会很关系空气质量,但是低成本的空气污染读采集传感器还不是很容易获得,有害气体如CO泄露检测传感器可以参见有关的TI参考设计。本次设计仅在开发板集成温湿度,和光照2组信号,其他环境采集信号通过开放的SPI或I2C来传送。 二、主要的芯片 2.1 温湿度传感器HDC1000HDC1000是温湿度传感器,采用2线制的I2C接口,有2个片选信号,可以在1组I2C通道上接入最大4个HDC1000传感器。HDC1000体积小精度高,功耗低,是CC2650的最好拍档。
  • Relative Humidity (RH) Operating Range 0% to 100%
  • 14 Bit Measurement Resolution
  • Relative Humidity Accuracy ±3%
  • Temperature Accuracy ±0.2 °C
  • 200 nA Sleep Mode Current
  • Average Supply Current:
    • 820 nA @ 1sps, 11 bit RH Measurement
    • 1.2 μA @ 1sps, 11 bit RH and Temperature Measurement
  • Supply Voltage 3 V to 5 V
  • Tiny 2 mm × 1.6 mm Device Footprint
  • I2C Interface
2.2 光照度传感器OPT3001 OPT3001是一个高灵敏度的照度传感器,可以感受到人眼的灵敏度,这个用来判断当天的阴晴还是蛮好的。
  • Precision Optical Filtering to Match Human Eye:
    • Rejects > 99% (typ) of IR
  • Automatic Full-Scale Setting Feature Simplifies Software and Ensures Proper Configuration
  • Measurements: 0.01 lux to 83k lux
  • 23-Bit Effective Dynamic Range with Automatic Gain Ranging
  • 12 Binary-Weighted Full-Scale Range Settings: < 0.2% (typ) Matching Between Ranges
  • Low Operating Current: 1.8 μA (typ)
  • Operating Temperature Range: –40°C to +85°C
  • Wide Power-Supply Range: 1.6 V to 3.6 V
  • 5.5-V Tolerant I/O
  • Flexible Interrupt System
  • Small-Form Factor: 2.0 mm × 2.0 mm × 0.65 mm
2.3 CC2590芯片 CC2590是专门和TI2.4GHz频段芯片匹配的增大收发射功率的芯片,可以很好延展通讯范围和信号强度,据称最大可以到100m。 三、设计NapOS嵌入式操作系统 3.1 在关于开发板的设计中,硬件开发完成后,就基本完成了开发板的开发,那么对于核心芯片的性能展示如何考虑,就不容易再继续延伸了。其实这样的开发板设计可以适用在所以管脚兼容的类似芯片。最多是演示了开发板的设计和制作过程。这次开发板的设计希望能做得再多一些,延伸到软件的设计和开发。 结合CC2650的特长和硬件配置,做一个Nap嵌入式操作系统应该是挺有意思的一个挑战。 3.2 NapOS就是打一个小盹的意思,简单而且关注低功耗的休眠特性。这个操作系统和FreeRTOS等不大一样,设计思路是基于硬件层,中间件MiddleWare层之上的一个用户可以介入的层次,具体借鉴FreeDOS嵌入式操作系统的有关理念和结构体系进行移植。 实现的功能包括4个部分,板卡启动和初始化程序载入(BOOT);含蓝牙端口的输入输出端口初始化和功能设定设定,在这个过程中把SPI等和传感器绑定在一起(IO);用户控制(COMMOND);文件和存储管理(NAPDOS)。 具体实现的效果是在reset之后,在手机客户端可以和开发板建立输入输出通道,在这个通道,手机可以发出命令,进行数据采样,对如内存等开发板的板载资源进行访问和管理。也就是开发板具有执行任务和接受命令行指令的功能。不接受命令的时候就去NAP一下,进入低功耗状态。 3.3 这么选择的主要原因是CC2650内置了蓝牙管理M0芯片,那么可以自由建立一个信号通道,就像把鼠标键盘的连接线给延伸起来一样,可以用客户端的智能手机来做键盘鼠标,输入命令。这个通道还可以把开发板回馈的信号转换成字符和图形,反过来通过智能手机的显示屏显示。相当于把开发板给拉长成了无线连接的微微型主机。CC2650板载内存128kB,看起来不大,但是和1978年的APPLE II 只有1MHz的8位6520芯片48kB内存相比,已经非常奢侈了。 本帖最后由 fyaocn 于 2015-11-20 12:37 编辑

回复评论 (2)

哇  又有进展啦 赞一个
加油!在电子行业默默贡献自己的力量!:)
点赞  2015-11-20 13:26
加油!
点赞  2015-11-21 09:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复