联系我们
    插件电感_大电流电感
热门搜索
点击排行
推荐电感
推荐阅读
推荐电感
推荐电感
猜猜你喜欢的
动态 您所在的位置: 电感 > 动态

MCF51JM128的类U盘方式在线编程设计

来源:    作者:    发布时间:2014-12-20 15:05:28    浏览量:

引 言
在线编程(In-Circuit Programming,ICP)是目前普遍应用的一种速度较快的MCU编程方式。对于笔者使用的Freescale半导体公司的8位MCU来讲,通过芯片本身的串行通信接口进行在线编程的速度比使用芯片自带的MON08或BDM接口进行编程的速度要快得多。除了使用串行通信接口进行编程,由于自带USB 模块的芯片增多,使用USB接口进行在线编程速度更快。同时,由于可以使用USB供电,所以使用的电缆更少。
但笔者也发现,大部分在线编程系统都包含了PC方程序和MCU方程序两部分,在线编程时需要运行PC方的程序方可进行,但很多时候会遇到因主机或操作系统平台更换而引起PC方程序无法运行的情况。针对此模压电感种问题,笔者尝试在Freescale半导体公司新推出的带有USB模块的MCF51JM128芯片上实现了类U盘方式的在线编程功能:像U盘一样直接将目标文件放入便可实现编程,省却了PC方程序,方便了用户实际使用。
MCF51JM128(以下简称“JM128”)是Freescale半导体公司于2008年推出的一款Coldfire V1内核系列的微控制器,该芯片主要特点是内含一个集成的USB控制器,支持USB2.0全速主机、设备和On-The-Go。这种配置一般出现在高端微处理器中,在其他微处理器中很少出现,可以说是JM128非常有竞争力的特色。

1 设计思路
实现类U盘方式的在线编程功能,主要的工作在于实现JM128的类U盘功能。笔者在学习期间参与过在线编程系统的开发,其中一些已有的功能模块可以借鉴使用。该设计的主要思路是,通过开发板上的某引脚状态判断是否进入在线编程状态,若进入则对USB模块进行初始化,完成与PC机的U盘枚举的交互工作。 JM128不断查询PC方对U盘的操作,用户此时可打开U盘将目标文件粘贴,JM128一边接收目标代码数据包一边对数据包进行分析,若符合要求则对 Flash编程操作,编程结束后再接收下一包数据。这种U盘可以称为“类U盘”而不是真正的U盘,因其并不具有与U盘相同的存储功能。

2 软件设计
在线编程系统的软件部分主要包括Mass Storage类协议、FAT16文件系统、S19文件解析和Flash驱动模块的设计。Mass Storage类协议和FAT16文件系统用于实现U盘功能,是软件实现的重点。Flash驱动代码的编写可以参考JM128参考手册“Flash存储器”一节。
2.1 Mass Storage类协议的实现
Mass Storage类协议需要实现以下部分:一是在设备枚举阶段,提供Mass Storage-类协议描述符,这样主机就可识别该设备为海量存储型设备;二是在数据传输阶段,实现Bulk-Only(批量传输)协议;三是实现SCSI命令集。
2.1.1 Mass Storage类协议描述符
USB主机通过枚举过程获得的USB设备描述符来获得设备类型和其他信息,并根据这些信息建立通信。这些描述符包括:设备描述符、配置描述符、接口描述符和端点描述符。
JM128芯片USB模块作为设备控制器时共有16个双向端点(endpoint),每个端点的每个方向都使用双缓冲区来达到最大的传输吞吐量。本设计中使用了3个端点。其中端点0为双向控制端点,用于控制传输,枚举过程中USB主屏蔽电感机仅与该端点进行交互,获得信息。端点1和端点2用于Bulk-Only传输:端点1为IN端点,用来传输数据至PC电感器生产厂家方;端点2为OUT端点,用来接收PC方发送过来的数据。这些在描述符中都有体现。
2.1.2 批量传输协议的实现
当设备被识别为Bulk-Only的海量存储设备后即进入批量传输方式。在此方式下,USB主机与设备间的所有数据均通过Bulk-In和Bulk-Out来进行传输,不再通过控制端点传输数据。
在Bulk-Only传输方式中,USB主机和设备之间传送3种数据,CBW(Command Block Wrapper,命令块包)、CSW(Command Status Wrapper,命令状态包)和普通数据。CBW中的命令格式遵从SCSI传输命令集,USB设备需要分解CBW中工字电感器包含的指令并执行相应命令,并向主机返回反映当前命令执行状态的CSW。USB设备方Bulk-Only传输流程如图1所示。

2.1.3 SCSI命令集的实现差模电感
SCSI有3种字长的命令:6字节、10字节和12字节。Microsoft Windows环境支持12字节的命令。SCSI命令集包含了对多种存储设备的操作命令,对U盘而言,并不是所有的SCSI命令都要进行应答和处理,实际用到的SCSI命令如表1所列。

Plating Through Hole- 沉铜沉铜原理为了使孔壁的树脂以及玻璃纤维表面产生导电性,所以进行化学镀铜即沉铜.它是一种自催化还原反应,在化学镀铜过程中Cu2+ 得到电子还原为金属铜,还原剂放出电子,本身被

电路板自动钻孔面对复杂的电路,必然有很多焊盘、过孔或定位孔,如果采用人工方式进行钻孔,工作量将非常大,而且精度不高。因此,目前工业上的钻孔均采用数控钻铣机,速度快、精度高。这里,我们同样采

磷酸铁锂动力电池特性及应用自锂离子电池问世以来,围绕它的研究、开发工作一直不断地进行着,上世纪90年代末又开发出锂聚合物电池,2002年后则推出磷酸铁锂动力电池。锂离子电池内部主要由正极、负极、电解质及隔膜组成。正、负极及电解

大电流电感
 
在线客服