ABB SB821 3BSE018109R1
该部分实现S3***4B0X对SL811HS芯片的直接底层数据的读写,包括对SL811HS的初始化及读/写一个字节的函数。限于篇幅,此处只列出对SL811HS芯片的初始化程序:
voidSL811_Init(void){
//初始化U盘为未插入状态
ts.SL***E_onLINE=FALSE;
ts.SL***E_FOUND=FALSE;
ts.SL***E_REMOVED=FALSE;
ts.SL***E_ENUMERATED=FALSE;
ts.SL***E_IS_ATTACHED=FALSE;
//允许硬件产生SOF(Startofframe)
SL811Write(CtrlReg,004);
DelayMs(100);
SL811Write(CtrlReg,001);
//设置SOF,1ms中断
SL811Write(cDATASet,0e0);
//设置为主机工作模式
SL811Write(cSOFcnt,0ae);
SL811Write(E***tatus,050);
//地址设为0
SL811Write(EP0Counter,0);
//允许数据发送
SL811Write(EP0Control,001);
SL811Write(IntEna,020);
//清中断
SL811Write(IntStatus,INT_CLEAR);
}
2.1.2USB设备协议层的实现
该部分实现对优盘扇区的直接读写,其中两个很重要的函数为Bulkin和Bulkout。此处只列出Bulkin函数的实现:
unsignedcharepBulkRcv(unsignedchar*pBuffer,unsignedintlen){
baddr=0x1;
usbstack.endpoint=usbstack.epbulkin;
usbstack.pid=PID_IN;
//设置包长度为64
usbstack.wPayload=64;
usbstack.wLen=len;
usbstack.buffer=pBuffer;
if(usbstack.wLen){
if(!usbXfer())
returnFALSE;
}
returnTRUE;
}
2.1.3FAT16/FAT32文件格式的实现
该部分程序是根据FAT16/FAT32文件系统的结构,实现对文件的读、写、创建、删除等操作。优盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区(主引导记录区)、DBR区(系统引导记录区)、FAT区(文件分配表区)、FDT区(文件目录表区)和DATA区(数据区)。
在实现对文件的读/写时,首先根据MBR区和DBR区的大小,找到FAT表的位置,然后根据FAT表找出相应文件的数据位置,即可对此文件进行相应的处理。其具体实现涉及FAT文件系统的结构,此处不再详述。
2.2VS1011B的控制与音乐文件数据输入
本方案MP3播放器的实现原理就是控制器从优盘读取MP3文件数据,当VS1011B的数据缓冲区需要数据时,将数据送入VS1011B进行***。VS1011B采用串行接口,有两种接口模式:
NativeModes(新模式)和Compatibility;
Mode(兼容模式)。当地址为0x0的MODE寄存器的***_SDINEW位为1时为新模式;反之为兼容模式。上电时默认为新模式。
在播放音乐之前,首先需要对VS1011B进行初始化,然后输入音乐文件即可播放歌曲。其控制步骤如下:[3]
Rexroth 4WRZ25W8-325-70
Rexroth 3WEH16A7-71
Rexroth 4WRZ10W8-50-70
H+L SLE02.1-120
Pall HH3343F20
Rexroth PV7-17
BERARMA 02PVS363FLRM
JAHNS-HYDRAULIK MTZ4M11EA7
Racine PVT-PSS0-25CR-01
VISCOTHERM 107SV
ALFA FeldmannnC50
Rexroth PGP2-22
Rexroth ZDRE6VP3-10
Rexroth C14
Rexroth DB20-3-50
HERION 2410400 0-25
FluidTeam 01700124V
HERION 7033130
ALFA C6231X10
Rexroth R900512505
Rexroth DB15G1-52
Rexroth DBDS15G18
Parker GR-2HRLS23M
BOSCH 0810091242
Kugelhahn PN400
ASCO DMXX-2FT
ALFA C6171X10
Rexroth 2FRM6B7630
Römheld 1815304904
Rexroth 4WE6D62
Rexroth DR6DP3-53
Rexroth LFA25DB2-71
Rexroth 4WE6J62
Parker 3309111070
CARTER PBSC38.1-350
Parker CTC-2HRL24MC
HYDRAULIK HRYA10C2
Hydac HDA3700-E-250-156
MAHLE PIS-3060
WIKA 23330100
adix CPV10-MG14-T-NC
GÖTZE TÜVSV1131815D
Rexroth Z2S6264
Rexroth HSZ06A21731
Rexroth Z2DB6VD342
BOSCH 0510515004
MeWesta NG68312640
Rexroth Z2FS 6-5-44
Rexroth R901086081
Rexroth R901086051
Boch HED8OA20
SUN RBAP-MAN
Parker PSB160***1A5
SUN CBBCLAN9DW6
SUN PRDBLDN0KX4
SUN DAAAMHN
SUN RB***BNDKL8
HAWE MVG13HR-PYD
SUN PRDB-LWN
SUN DTDA-MCN
PIAB P3010104272
SUN CCCA-LAN
Hydac 0160MA003BN314609
Rexroth R900316232
Herion 08101071081
SUN ECV9FX8
SUN UKWO0104478
SUN DFCA8DN
MAHLE HC347504194
SUN 760224
Hydac 0060D003BNHC
Hydac 0060D003BN3HC
Hydac 0030D020BH4HC
Hydac 0060D005BN3HC
SUN CXCD-XCN
SUN 770-224
Mann W940/1