smart kids

【无线创意秀】STM32无线通用手持设备研发

0
阅读(5884)

      近年来在电子行业混了近5年,一直从事通信或者无线电相关的工作,以前是做无线数据收发,现在是做雷达模拟器,干扰机等,多少都是无线电行业的。

      这里要秀的是我前年在公司做的一个通用手持设备。 我主要介绍下主要的几个开发章节,此款为通用无线手持设备,可用于无线点菜,无线竞价,无线对讲等等功能。简化您的开发,只需要修改内部程序, 就可以随心所欲的让他变的万能。

 硬件参数
尺寸 :122.5 (长) mm * 56(宽)mm * 15(高) mm(标准电池配置)
处理器: STM32f103zet6  72Mhz
内存/闪存 :512 FLASH/ 128M NANDFLASH/ 64K SRAM
存储卡: 支持TF卡
显示屏: 彩色2.8英寸TFT 显示屏 TFT-LCD、262K色 240(宽)×320(高)
触摸板:标配4线电阻式触摸板
电池:充电式聚合物电池(3.7V,1800mAh),标配2块锂电池
 待机时间:180小时
按键: 标准手机级别按键
音频: 扬声器、播放(立体声)的软件支持
USB: 集成USB 2.0 全速Slave Device
重量: 200克 (含标准电池)
开发环境:
操作系统: 无
编译环境: IAR for ARM
开发语言: 提供二次开发包支持C、汇编等多种软件开发语言
数据通讯:
射频通信:集成工作频率433Mhz/ 470Mhz-510Mhz 短距离无线模块
USB通信:通过USB 2.0线与电脑有线通信
使用环境:
工作温度 -10℃至50℃
储存温度 -20℃至60℃

 


 STM32性能简介:
■ STM32内核 
− ARM 32位的Cortex™-M3CPU
− 72MHz,高达90DMips,1.25DMips/MHz
−  单周期硬件乘法和除法——加快计算
■  存储器
– 256 到 512 Kbytes 的 Flash memory
– 高达 64 Kbytes 的 SRAM
– 外设有4个片选,支持 Compact Flash, SRAM, PSRAM, NOR and NANDflash
– LCD 并行接口,支持 8080/6800 模式
■  时钟、复位和供电管理
− 2.0至3.6伏供电和I/O管脚
−  上电/断电复位(POR/PDR)、可编程电压监
测器(PVD)、掉电监测器
−  内嵌4至16MHz高速晶体振荡器
−  内嵌经出厂调校的8MHz的RC振荡器
−  内嵌40kHz的RC振荡器
−  内嵌使用外部32kHz晶体的RTC振荡器
■  低功耗
− 3种省电模式:睡眠、停机和待机模式
− VBAT为RTC和后备寄存器供电
■  3*12位模数转换器,1us转换时间(21通道)
−  转换范围是0至3.6V
−  三倍采样和保持功能
−  温度传感器
■ 2*12位的D/A 转换器
■  调试模式
−  串行线调试(SWD)和JTAG接口
– Cortex-M3 嵌入式跟踪宏单元
■  DMA
− 12通道DMA控制器
−  支持的外设:定时器、ADC、DAC、SPI、SDIO、I2S、I2C和USART
■  多达112个快速I/O口
− 50/80/112个IO扣,几乎所有的IO支持双向5V兼容的功能
−  所有I/O口可以映像到16个外部中断
■  多达11个定时器
−  多达4个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道 和正交编码输入
− 2×16位的PWM定时器
− 2个看门狗定时器
− 系统时间定时器:24位的、带自动加载功
− 2×16位基准定时器来驱动DAC
■  多达13个通信接口
−  多达2个I2C接口(SMBus/PMBus)
−  多达5个USART接口,支持Up to 5 USARTs (支持ISO 7816 interface, LIN,
IrDA capability, 调制解调控制),
−  多达3个SPI同步串行接口(18Mbit/s),2个I2S接口
− CAN接口(2.0B 主动)
− USB 2.0全速接口
− SDIO interface
■ CRC校验单元, 96位的唯一ID

STM32优势
从上一节STM32的性能中,我们可以看出来,STM32,作为一个M3内核的芯片,具有强大的FLASH 和SRAM,而且主频也很高,在同类型的单片机中是具有绝对优势,同事具有RTC独立单元,多个通信接口,都适合做无线手持设备。当然我们也可以从上面的一节看出很多弊端,STM32的性能决定他不能运行智能的操作系统,给编程带来很多麻烦,对于二次开发也没有wince那么简单。但是我们作为前期第一款手持设备,那么我们选择他的主要有以下优势:
(1) 主频高,FLASH、SRAM大,支持扩展flash和SRAM
(2) QFP封装,2层板就可以完成设计,打样成本低,速度快,便于快速验证。
(3) 接口丰富,有IIS,多个UART,RTC,USB等等手持设备必有的接口。
(4) 便于扩展,STM32现在最新的2系列和4系列芯片,主频和性能都进行了升级,4系列还嵌入DSP内核,在后期的语音研发中有相对优势
(5) 在同类芯片中,STM32价格低,采购方便。

电源供给方案
   该手持设备供电采用锂电池供电,采用USB数据线充电。手持设备中,各个模块供电电压如下表:
RF模块 3.6V(模块上面做LDO转换电压)
音频 3.3V
触摸屏电路  3.3V
STM32内核以及IO  3.3V(详见3.1.1具体讲解)
STM32后备电池  1.8V
nandflash  3.3V
液晶模块  3.3V
液晶背光  3.3V
按键背光  3.3V
 
    当手持机插入USB时候,USB对系统供电同时对电池进行300MA充电,电源管理模块切断锂电池供电。当拔掉usb,电池对系统供电,当锂电池电压过低,STM32的RTC部分继续采用锂电池供电,。当关机后,RTC直接取锂电池电压,关闭其他设备电源。

 低功耗设计
当开机后,长时间不用,就可以进入休眠或则待机模式,这种状态下,
通过数据手册知悉:
SLEEP模式:只是CPU内核停止。所有外设和IO口继续保留运行时候的状态,外部发生中断或则事件的时候,可以唤醒PCU。
STOP模式:stop模式是在达到低功耗模式的同时,保留了SRAM和寄存器中的内容,内部的1.8V时钟全部关闭,锁相环停止,电压调整器可以配置为正常模式和低功耗模式,这种模式下我们可以通过 PVD output, the RTC alarm or the USB wakeup 唤醒
Standby模式:是达到更低功耗的一种模式,内部的电压校准器、PLL、晶振关闭,在进入待机模式下,静态存储器和寄存器内容丢失,除了Backup和standby 电路。
当外部复位、看门狗复位、WKUP产生一个上升沿、或则RTC alarm occurs,才能退出standby模式,
有这些低功耗模式认识后我们可以让手持机在固定的时候处于固定的一种状态。我们在平时开机的情况下长时间不适用,就进入待机模式,sleep模式,我们外部按键按下后,才会相应操作,进入低功耗的状态后,我们会切断所有的外设供电。
下图描述了外设供电的优先级与可控制:
首先是主电源分别给外设和MCU 供电,MCU供电不受控制,外设供电收MCU 控制。

射频芯片选型:

      射频芯片首先倾向选择433M频段的芯片,对于868/915和2.4G频段的芯片,由于通信距离在相同功率下没有绝对的优势,因此,考虑选择433M。

1、RF905   此款芯片较为古老,为诺迪克公司芯片,其操作简单,为SPI通信接口,有数据接收中断,收发数据都为打包模式,无无线唤醒功能,芯片输出功率高达8dBm,有效距离可以到户外空旷地300m。

2、SI4432 此款芯片为silabs公司开发,其芯片自带PA,输出功率高达17dBm,低波特率下空旷通信距离可达800m。其数据收发模式为SPI,无无线唤醒功能。

3、SX1212 是 SEMTECH公司推出的一款低功耗无线芯片,其收发距离远,波特率低,空旷距离可到1.5km。其数据收发模式为SPI模式。

     综上3款无线射频通信芯片,是当前典型的几款,其中RF905最成熟,使用最简单,只有9个寄存器配置。SX1212操作复杂,通信距离远,因此,在手持设备中,吧射频通信部分,模块化,这样使得我们更换方便,根据客户需求定制,在前期测试中,先采用RF905模块。

     手持设备其余章节,可见下面开手册,其目录如下:

 

目录
第一章:硬件配置介绍 1
第二章 为什么选STM32 3
2.1 STM32性能简介: 3
2.2 STM32优势 4
第三章 电源 5
3.1电源供给方案 5
3.2 独立的ADC供电以及VREF电压 5
3.3 备用电池 6
3.4电源供给电路设计 7
3.4 STM32电压检测器 7
3.4 STM32上电和掉电复位 8
3.4 低功耗设计 8
第四章:资源分配 10
4.1 特殊管脚、功能分配 10
4.2 电压分配 10
第五章:外设选型以及电路设计 11
5.1 音频电路 11
5.1.1音频芯片选型 11
5.1.2 音频电路设计 12
5.2 LCD模块 13
5.2.1 液晶屏种类详解 13
5.2.2 STN液晶 15
5.2.3液晶驱动电路 16
5.4 外扩FLASH 16
5.4.Nandflash 16
5.4.2 SRAM 19
5.4.2 Norflash 20
5.5 触摸屏 21
5.5.1 触摸屏选型 21
5.5.2 触摸芯片 22
5.6 背光模块 23
5.6.1 液晶背光 23
5.6.1 按键背光 23
5.7 接插件 23
5.7.1 调试器与射频模块接插件 23
5.7.2 按键板与MCU主控板 24
5.8 按键模块 24
5.8.1 按键功能简介 24
5.8.2 按键硬件设计 25
第六章:USB设备 26
6.1 USB通信功能 26
6.1 USB充电功能 26
第七章:防静电设计 27
7.1 接插件防静电 27
7.2 触摸屏防静电 28
7.3 锂电池防静电 28
第八章:硬件调试 29
8.1 启动项选择 29
8.2 硬件调试步骤 30
8.3 硬件调试细节 30
8.4调试问题分析总结 34