以下是我的学习笔记可以从我的Blog下载。
http://blog.**/frm/
经过以上的一番折腾,我觉得自己对LM3S3748有了一定的了解。最近有个手持机的设计需求到了我手上,打开看看。
部分设计需求跟大家分享一下:
系统接口:
1.
LCDI/F:可以驱动TFT LCD, OLED 128*64,
1.8,2.8, 3.2
2.
USB:Host x1 接3G Modem
3.
I2Sx1 用来接外部Audio CODEC. 用以支持录音和播放
4.
Audio:Mic x1, Lineout x1, Speaker out x1
5.
SDx1 : MicroSD
6.
SPIx2 : 一路接WiFi,一路接其他外设
7.
马达驱动:水平马达,垂直马达
8.
键盘:5*5键盘(一个独立的开机按键)
9.
RTCx1
10.I2C x1:
11.Charger x1
12.Uart x2
电源管理:
1.600mAh锂电池:3.8V电压。支持300mA充电(设计2小时充满),
2.
RTC后备电池:3V,系统支持休眠唤醒模式,支持充电模式。(要注意休眠唤醒切换过程中软件的稳定性)。支持定时开机唤醒功能。
3.
工作续航:6小时。待机续航1周。
再考虑整个系统的BOM成本和量产,开发工具的特点,我觉得比较有底了。决定用LM3S3748来做主控MCU。然后,就是常规的开发步骤:首先,从原理图开始。原理图进行到一半。我忽然觉得应该去Luminary的网站下载最新的资料看看,也许Luminary被TI收购后会有新的变化。下载新的EVB光盘后,仔细看过新Datasheet后,发现errata文件。
相关Errata文档下载
看完之后马上汗下,这款MCU还真是有不少Bug。其中有三条基本是做手持设备不能容忍的:
1.
Hibernation Module管理有问题:VBAT比VDD先上电,系统会有1.6mA的漏电。
2.
休眠唤醒不能Debug!这让人怎么调试这些状态呢。干跑程序?
3.
一些PIN的ESD连HM 2KV都不能达到。
4.
USB接口部分有些很奇怪的要求。懒得细琢磨他们的USB PHY了。
看完这个errata文档,我那个痛苦呀!辛苦半天评估的过程,基本泡汤了。我可不会冒险再继续调试它的电源管理部分了。
手持机项目还要继续…我会选择另一款CortexM3的MCU进行开发,请大家继续关注。
frm说:虽然,LM3S3748从目前的版本看,不太适合手持设备。但是,如果是对电源管理要求不高的系统到是可以尝试。它的特点就是USB应用比较容易上手。
另,我们今后一定要关注各类MCU的最新动态,errata是必看的。这都是原厂的开发人员辛苦调试的结果。也能使我们的开发少走弯路!
|