在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 4728|回复: 9

[转贴] Freescale和element4合作推出的HCS08 MCU和加速度传感器的评估板

[复制链接]
发表于 2011-5-5 15:19:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

正面

正面


XL-STAR是由Freescale和element14联合推出的低成本开发板,板上带有一颗Freescale的MC9S08MM128微控制器,属于HCS08系列中的8位MCU新成员,带有128kB的flash,12kB的RAM,并且处理器的频率可以进行配置,最高为48MHz。

XL-STAR正面下方焊接了48颗橙色LED,以八角形辐射状排列,中间是一颗加速计MMA8451Q,可以通过检测引力方向来判断电路板面向的方向,并且能够检测电路板在任何方向上的运动。当电路板发生倾斜时,这些LED会在DEMO程序的控制下显示相应的状态。

电路板上方有三个按钮SW1、SW2、SW3,其中SW1用于为加速计选择不同的灵敏度,包括2g、4g和8g三个灵敏度。SW2用于选择加速计输出到MC9S08MM128的数据位宽,包括8-bit和14-bit两种选择。SW3用于为加速计选择不同的演示模式,包括倾斜、拍打、摇动、移动、自由落体检测等。中间的绿色LED用于指示当前各个按钮所选择的不同配置。

电路板顶端有一个开关,用于接通或断开电路板背面安放的纽扣电池。开关左边的USB接口用于某些支持USB的应用例如作为MP3播放器上的USB接口。电路板背面有另一个MCU JM60用于运行调试程序,还有一个用来做debug的USB接口,并且能够将应用程序烧录到MC9S08MM128的flash中,同时也能为纽扣电池充电。

MC9S08MM128右下方有4组跳线,第一组接通时可以测量该MCU的电流,第二组接通的时候,背面的JM60可以作为USB到串行的转换器(需要其他软件支持)。第三组接通时,JM60可以运行基本引导程序,允许升级debug固件。第四组接通时可以测量加速计的电流。

XL-STAR还支持节能模式。如果电路板静止20秒左右,就会进入低耗电状态。要唤醒电路板,直接拿起来即可。

开发板附带了Freescale的CodeWarrior v.63集成开发环境。先安装在计算机上,然后才能连接USB,否则计算机无法识别设备。开发环境有免费版本,但是C编译器只能编译最大32KB的代码。据说之后会发布支持64KB的版本。

安装也很简单,运行CD里面的安装向导instrall_all.hta,然后按照界面上的前5个步骤依次安装即可。安装可能有点慢,等待时一定要淡定。。。

第一步安装完成后界面上有个选项,问是否需要上网检查更新,不要选择更新,直接完成即可。

第二步安装时会弹出警告信息,不管他,选yes继续。

第五步安装CodeWarrior的演示程序,务必安装在有写权限的目录下。Vista的C:\Program Files目录被Windows保护,千万不要安在这里。

尽管第四步已经安装了一部分USB驱动,但是不同的Windows版本可能需要另外安装三个驱动,即OSBDM Debug Port、OSBDM Serial Port、OSBDM Bootloader Port。先断开JP3,然后再连接USB到计算机安装前两个驱动。安装时Windows需要指定驱动路径,直接指定第四步所安装的目录即可。前两个驱动安装好后断开USB连线,接通JP3后再连到计算机上安装第三个驱动。安装完后拔掉USB连线,断开JP3,然后再连接计算机就可以使用了。
snap002.jpg
 楼主| 发表于 2011-5-12 14:51:39 | 显示全部楼层
电源部分:

                               
登录/注册后可看大图

XL-STAR板的可以通过自带的电池和USB接口供电。需要注意的是,当使用USB接口供电时,需要把USB电缆连接到J6的USB接头上。也许你会问,那么还有一个USB街头(J1)有什么用呢?J1是XL-STAR板扩展的一个目标MCU的USB的接口,可供用户自己的应用程序调用。并且J1的电源引脚并没有和板上的电源相连,所以在任何时候,都是不可能使用J1供电的。了解了上面的一些基本信息,下面我们再来看看XL-STAR板具体的电源回路。
无论采用电池还是USB借口供电,XL-STAR板都是单+5V供电。+5V进入XL-STAR板后,经过开关SW4,SW4可以控制整个板卡的供电。然后再经过一个Power MOSFET(Q2:IRLML6401),对板卡的电流流向进行保护。经过前面几个控制和保护过程后,+5V进入线性电源转换芯片LP2981(U2),该芯片输出+3.3V电压,供整个板卡使用。板上的D14和D15分别为+5V和+3.3V电压的状态指示灯。为了方便测量目标MCU和加速度传感器的工作电流,板卡还设置有两个跳线JP1和JP4,分别作为MCU和加速度传感器的电流测量接入点。
如果你使用USB接口供电,那么你一定会发现一个有趣的现象。那就是在USB供电的状态下,无论SW4闭合还是断开,板卡都处于供电状态。为什么会产生这个现象呢?对于这个问题,我们可以这样来理解:当你使用USB接口供电时,USB电缆另一端的设备就是PC。当使用PC连接板卡时,大部分时间你都处于调试阶段,比如实时调试和烧写二进制代码。在进行上述工作时,板卡不允许断电,以免引起器件的损坏。所以XL-STAR板采取了一些措施,保证用户使用USB接口供电时,不会因为误操作SW4,使板卡意外断电。可以说,这是一个很贴心的设计,那么具体的电路是怎样实现的呢?

                               
登录/注册后可看大图

上面的这部分电路图说明了这一功能的原理。图中的+5VU为未经过SW4的USB +5V电压,+5VTRG为经过了SW4的+5V电压。这两个电压分别连接到IRLML6401(Q4)的2、3脚,IRLML6401的1脚(控制脚)连接到JM60 MCU的PTB1这个IO上。当使用USB供电时,JM60开始工作,PTB1被拉低,使IRLML6401中与2、3脚相连的二极管被旁路,+5VU和+5VTRG被连通。相当于旁路了SW4,所以无论SW4闭合或者断开,板卡都能够正常供电。
 楼主| 发表于 2011-5-12 14:53:38 | 显示全部楼层
电池部分:

                               
登录/注册后可看大图

XL-STAR板的电池位于电路板的背面,用于非调试时的板卡供电。电池采用+5V输出的可充电锂电池。在上面的电路图中,BT1为电池夹,锂电池就安装在里面。电池的正极与SW4的一端相连,作为SW4的输入。SW4的另一端,也就是输出端通过MOSFET连接到LDO的输入端,在经过了LDO把+5V电压转换成+3.3V电压后,就可以给整个板卡供电了。通过以上的连接关系,在使用电池供电时,SW4就可以控制电池供电的通断。
发表于 2011-5-23 13:43:27 | 显示全部楼层
简直太好了
 楼主| 发表于 2011-5-27 13:26:32 | 显示全部楼层
回复 4# andre是很好,正在玩呢,哈哈!
 楼主| 发表于 2011-5-27 13:27:33 | 显示全部楼层
这星期出差,今天才回到公司。争取更新点儿,下星期大量更新,呵呵。
 楼主| 发表于 2011-5-27 14:24:27 | 显示全部楼层
JM60调试器:
XL-STAR板有两个MCU,板卡正面的是主MCU-MM128,它是XL-STAR板的目标MCU。默认情况下预编程有加速度传感器和LED的演示程序。用户也可以设计自己的程序,烧入该MCU中,以实现多样的功能。
在XL-STAR板的背面,还有一个MCU-JM60。我们可以把JM60看成一个XL-STAR板载的调试器。它的主要工作是通过USB电缆连接板卡和PC,接收从PC传来的调试命令。并且通过内部预先烧入的固件,形成对目标MCU(MM128)的Open Source Background Debug Mode接口,从而达到对目标MCU进行调试的目的。目标MCU(MM128)和JM60通过BGND引脚连接。

                               
登录/注册后可看大图

上图描述了XL-STAR板的调试数据流,调试信号通过USB电缆传输到USB接口,USB接口的D+和D-两条数据线分别连接到JM60的USBDP和USBDN两个引脚上,到这里完成了XL-STAR板调试信号的输入。JM60把接收到得调试信号转换成OSDBM可以识别的格式,再通过BGND引脚发送出去。由于发送出去的信号为+5V,所以需要把+5V转换为MM128可以承受的+3.3V电压,XL-STAR使用了SN74LVC1T45完成上述的电平转换功能。转换完成的+3.3V信号,连接到MM128的BKGD引脚上,实现BDM的实时调试功能。下面我们再来看看JM60固件的升级功能。
上面我们已经说到,JM60的固件在XL-STAR板出厂时就已经固化。在绝大多数情况下,不需要对固件进行升级。如果你确实需要升级或者重新烧入该固件,可以参考下面的步骤:
1.从PC机上断开XL-STAR板;
2.插上JP3的跳线帽,进入Bootloader模式;
3.把SW4置于OFF状态,通过USB电缆连接XL-STAR板和PC。连接后,你可以在Windows的设备管理器中看到XL-STAR板的连接状态,如下图:

                               
登录/注册后可看大图

4.使用PE Firmware Updater program version 1.01,对JM60的固件进行更新:
  •选择OSDBM/OSJTAG为硬件模式  
  •选择Embedded OSBDM/OSJTAG Device为设备;
  •选择S08为MCU架构
  •选择Choose Firmware Update File or S-Record option,不要选择自动模式
  •选择你需要烧入的固件烧写文件
  •点击Update Firmware,进行固件烧入
  •完成烧入后,去掉JP3的跳线帽,使XL-STAR板恢复到普通模式
 楼主| 发表于 2011-6-13 17:04:30 | 显示全部楼层
MM128、MMA8451和LED的功能:

                               
登录/注册后可看大图

上图为XL-STAR板的信号流程图。图的中间为MC9S08MM128 MCU,两边分别是MMA8451Q加速度传感器和48颗LED组成的LED阵列。从上图我们可以很清晰地看出XL-STAR的信号传输流程:首先,由MMA8451Q加速度传感器采集到的模拟信号,经过它内部的转换电路,转换成为数字信号,再通过IIC接口发送给MC9S08MM128 MCU;MM128内部接收到上述的信号后,经过一系列的处理算法,得到相应的结果,再通过它的IO口点亮相应的LED指示灯。下面我们就分别来看看MMA8451Q部分和LED部分的工作原理:

MMA8451Q:

                               
登录/注册后可看大图

上图是XL-STAR板MMA8451Q部分的原理图。MMA8451Q的电源引脚VDD和VDDIO连接到+3.3V上面,提供MMA8451Q需要的电源。MMA8451Q的GND引脚连接到地平面。在MMA8451Q的技术手册中,对NC引脚的连接方法有明确的要求,MMA8451Q的3脚必须保持悬空,即不能连接;其余的NC引脚可以连接到GND或者VDD上,所以上图中,除了3脚以外的NC引脚,都连接到了地平面上。MMA8451Q的BYP引脚必须连接一个0.1uF的旁路电容,该旁路电容在设计PCB时,需要靠近BYP引脚放置。除了BYP引脚的旁路电容外,其余的与电源引脚相连电容,也应当靠近相应的电源引脚放置。
MMA8451Q集成了IIC接口,有SCL和SDA两个引脚,分别连接到HC9S08MM128的PTF3/SCL和PTF4/SDA上,上述这两个MM128的引脚为IIC的复用引脚,可以方便的发送和接收IIC总线的信号。在SCL和SDA这两条信号线上,根据IIC总线规范,分别有一个4.7K的上拉电阻,保证总线在空闲时为高电平状态。MMA8451Q作为IIC总线上的从设备,需要有一个设备地址,供主设备寻址。MMA8451Q的设备地址为出厂固定,但有两个地址可供选择,选择的方法就是控制引脚SA0的电平高低,下面是MMA8451Q设备地址选择列表:

                               
登录/注册后可看大图

在XL-STAR板中,MMA8451Q的SA0引脚为高电平,所以MMA8451Q的设备地址为0x1D。

                               
登录/注册后可看大图

上图是MMA8451Q的中断源和中断控制器的示意图。从图中可以看出,MMA8451Q共有7个中断源,分别为Data Ready, Motion/Freefall, Tap(Pulse), Orientation, Transient, FIFO, Auto-SLEEP 。这7个中断源,通过中断控制器,可以自由的分配给两个外部中断引脚。当INT1和INT2这两个中断引脚的任意一个引脚输出中断信号,就说明7个中断源之一的事件发生了。在XL-STAR板上,这两个外部中断引脚被连接到MC9S08MM128的PTE1/KBI2P4和PTE0/KBI2P3引脚上,作为MMA8451Q的中断接收引脚。当MMA8451Q产生中断时,MC9S08MM128通过这两个引脚接收中断,并进入相应的中断服务程序,进行相应的操作。

LED阵列:

                               
登录/注册后可看大图

SL-STAR由共有48颗LED组成的阵列显示MMA8451Q的探测结果。这48颗LED向8个方向,按星状排列,每一个方向由6颗LED组成。从上图可以看出,每一个LED都和MC9S08MM128的两个IO口连接,如果需要驱动某一个LED,MM128就需要对相应的两个IO进行操作,例如:想要驱动D63,需要由PTD5提供低电平,PTC5提供高电平。驱动LED的IO一共需要14个,具体的连接方式是:8个方向上的LED分别连接到一个IO上,6个圆圈的LED分别连接到一个IO上。这种矩阵式的连接方法,既保证了LED驱动的灵活性,又减少了IO口的数量,可以说是两全其美。
在XL-STAR板默认的演示程序中,某些功能的演示需要用到MC9S08MM128的PWM功能。通过PWM可以调整IO口输出信号的占空比,已达到控制LED亮度的目的。使用不同亮度的LED显示功能,可以更准确、更直观的表示MMA8451Q的工作状态。在演示程序中,需要用到8个PWM通过,分别属于两个Timer/PWM模块。下表是具体的Timer/PWM模块和IO口的映射关系:

GPIO Pin         TMP Module/Channel
PTD5               TPM1CH3
PTD4               TPM1CH2
PTD3               TPM1CH1
PTD2               TPM1CH0
PTE7               TPM2CH3
PTF0               TPM2CH2
PTF1               TPM2CH1
PTF2               TPM2CH0
发表于 2014-12-25 17:40:36 | 显示全部楼层
看看 參考參考
发表于 2014-12-26 23:18:37 | 显示全部楼层
看看 參考參考看看 參考參考
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 01:33 , Processed in 0.029919 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表