功能设计和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 编辑