XI 16 E1
ABBPLCAC31模块,XI16E1ABBPLCAC31模块,XI16E1ABBPLCAC31模块,XI16E1===============================================================系统采用增强型8051内核的单片机STC89C516RD+作为***处理芯片,选用南京沁恒电子公司的CH375S作为USB主机控制芯片。STC89C516RD+具有64KB的Flash程序存储器,1280字节的RAM(256字节的内部RAM和1KB的外部RAM),支持在系统/在应用可编程(ISP,IAP);CH375S是一款符合USB1.1协议规范的USB总线的通用接口芯片,支持USBHost主机方式和USBDevice/Sl***e设备方式。CH375S具有8位数据总线和读、写、片选控制线以及中断输出,因此CH375S作全速USBHost主机接口时,外围元器件只需要晶振和电容,就可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。考虑到读/写U盘或移动硬盘时一般都是以扇区模式进行的,所以要加磁盘数据缓冲区和文件数据缓冲区(都是512字节的整数倍),并且缓冲区越大,执行的效率越高,所以外扩了32KB的RAM。USB-Host电路如图2所示。图2USBHost电路框图在图2中,CH375S芯片的RD和WR可以分别连接到单片机的读选通输出引脚和写选通输出引脚。CS可以直接由单片机I/O脚驱动。INT输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通I/O引脚;单片机可以使用中断方式或者查询方式获知中断请求。这里用中断方式,使用单片机的INTO。当WR为高电平并且CS和RD及A0都为低电平时,CH375S中的数据通过D7~D0输出;当RD为高电平并且CS和WR及A0都为低电平时,D7~D0上的数据被写入CH375S芯片中;当RD为高电平并且CS和WR都为低电平而A0为高电平时,D7~D0上的数据被作为命令码写入CH375S芯片中。2.2软件设计CH375S不仅是一个通用的USBHost硬件接口芯片,而且还内置了控制传输的协议处理器和处理MassStorage海量存储设备的专用通信协议固件,支持BulkOnly传输协议和SCSI、UFI、RBC或等效命令集的USB存储设备,简化常用的控制传输。参考图1,单片机程序主要是构建FAT文件系统。设计文件系统,就是在指定的存储介质上,选择一种或几种数据***方式,实现常用的几个文件API函数功能,***终实现数据的按名存取。从***个分区数据结构的分区起始扇区数的位置读取512字节,为DBR,包括一个引导程序和BPB参数块。BPB参数块记录本分区的起始扇区、结束扇区、文件存储格式、介质描述符、根目录项数、FAT个数、保留扇区数和分配单元的大小等重要参数。根据保留扇区的数目可知FAT表的位置(分区起始扇区数+保留扇区数)。根据FAT的个数以及每个FAT表占用的扇区数,即可算出FDT的位置(FAT表位置+FAT表个数×FAT表所占扇区数)。FDT中保存着目录项,目录项中的文件首簇号就是读/写文件的入口。根据以上分析,即可设计如下文件操作:①创建文件。在FDT中申请新目录项。②写文件。当写一新文件时,需在FAT表中查找未使用的簇,并将该簇号写入文件对应目录数据结构中的起始簇号位置。当此文件长度大于一簇时,还需在FAT表中对应的起始簇号位置填入下一可用簇的簇号,直到文件的***后一簇(FAT表中的相应位置填FFFF)。若磁盘有备份FAT,则须在备份FAT表的相应位置填入正确的内容。③删除文件。除了将FDT中对应的目录项置相应标志外,还要修改FAT表及备份FAT表。将此文件使用的簇号位置清0,表示此簇当前未被使用。由于在FAT16中子目录被视为特殊的文件,对其操作类似于文件操作,所以不再赘述。构建的FAT16文件系统对用户提供文件级API函数,如CH375_Creat_File()、CH375_Write_File()、CH375_Delete_File()等,当执行文件级API函数时,将调用Seck_Empty_Cluster()寻找一个空簇、link_Cluster_List()建立簇链、Seck_Sector()***文件指针等中间函数。这些中间函数在调用CH375S专用于海量存储设备类对应的命令,如SET_USB_MODE、DISK_READ、DISK_WRITE等。下面以创建ADC.TXT,并向其中写入A/D采样数据为例,其工作流程如图3所示。WOUTOFABOX*GIDDINGS&LEWIS502-03567-00SY/MAX8030-RIM-121MODULE*NICE*SUNHYDRAULICSCSAB-XXNHYDRAULICVALVE*NEWINABOX*SIEMENS15-I71-339-MK-0?18*USED*NORBROFLOWSERVE10-RDB40-1SD1E0?-DACTUATOR*USED*GENERALELECTRICCOIL22D11G45A50V*USED****CCLAMPCYLINDERCK1T50-175Y2PN*USED*CINCINNATIMILACRONI/OBUSADAPTER3-531-4370A*USED*LOTOF2ALLENBRADLEY1771-IVNINPUTMODULE*USED*KTFEEDBACKSUBSYSTEM*USED*MOLD-MASTERSSYSTEM431966MAGNETEKDYNAMICBRAKINGRESISTOREDB4021DT*NEW*RANSBURGPOWERSUPPLY74306-02*NEW*ALLENBRADLEY871C-K8B18SER.A*USED*SICKWSU26-120*USED*PARKER4801SLIDE*USED*ELETTRONEMECCANICAT63BN/4*USED*HANNAINSTRUMENTSHI9811*USED*WARNERELECTRICMCS-203DANCERCONTROL*USED*LOTOF3IDECRR2BAU*USED*TURCKKB4T-4*USED*ALLENBRADLEY193-BSB42SERIESB*USED*TELEMECANIQUEGV2-M07*USED*OPTO22IDC5BQ*USED*MICROSWITCHBAF1-2RQ9*USED*ALLENBRADLEY193-A1D1SERIESA*USED*BESTPCL-0172CIRCUITBOARD*USED*FANUCA06B-6066-H233*USED*BOBST704-1091-04PCBOARDW/22-B-7020CONTROLCARD...BANNEROPBTEQD*USED*BANNER27142*USED*STOCKHAMB-1453/4INCHES*USED*HOLJERONMBK-SDS122*USED*BAUMERES34CP2B*USED*IFMIM3500*USED*MAC821C-PM-116AA-1?52*USED*SQUARED9012-GCW-1*USED*SOLONPRESSURESWITCH2PSW1DSS2*USED*GAST1023-101Q-G279*USED*SYLVANIA061101HEATERINFRAREDCERAMIC*NEWINABOX*ALLENBRADLEY872C-A5N18-A2SER.B*USED*ADAPTABEACON92A-N5LIGHTDUTYSTROBELIGHT*SEALED*BARKSDALECONTROLPRESSUREE1H-H500*NEWINBOX*FERRAZSHAWMUTP243E*NEWOUTOFBOX*BOBST701-1091-03PCBOARD*USED*AEROVOXZ62P4450M*USED*ALLENBRADLEY1771-KGINTERFACEMODULE*USED*POTTER&BRUMFIELDCDB-38-70012*USED*BANNEROPBT2QD*USED*VEEDER-ROOTT-120506-100*USED*AEGDAP216/AS-BDAP-216*USED*MACPME-A81PA*USED*LOTOF2CRYDOMD1210*USED*BANNER***2A312LVAG*USED*ITEE20C0L1*USED*ASHCROFT54-60-E-3-GGAUGE*USED*KEYENCEPZ-51T*USED*ATKOMATICVALVECO.31820.83224VDC*USED*GEFANUCIC610MDL101A*USED*BRADHARRISON103000A01F1201*USED*OMRON3G2A3-OC221*USED*DAYTON1EGY1*USED*OMRONE2E-X10MF1*USED*SQUARED9016-GVG1*USED*ALLENBRADLEY193-EA1ABSERIESB*USED*SCHRADERBELLOWS410551000*USED*HONEYWELL914CE3-3*USED*DECCO115/609-1191M-056*USED*OMRONMK3P5-S*USED*IDECRTY-D4NU*USED*PETERPAUL22J9DCM*USED*GEIC610MDL175A*USED*TURCKBi2-G12-AN6X*USED*MILLERRESISTORCARD053908*USED*DECCOCOIL9-12*USED*MACVALVE612B-11-111JA*USED*EUPECR55-01-072-19E5*USED****CNCME106-0100-XC?6*USED*SQUARED9007-AW16SERIESD*USED*OMRONE2E-X2E1-M1*USED*BANNERQ253EQ1*USED*OMRONE2E-X7D1-N*USED*OMRONE2E-X5E2*USED*AUTONICSPR18-5DN*USED*IFMIF5775*USED*CROUSE-HINDSCPS152NX*USED*SQUARED2183S44Q30A*USED*MORSE465803TORQUELIMIT5/8"*USED*FURNASELECTRICCO.48DC31AA2*USED*DUALLITE12-581*USED*DAYTON3X745EPOWERRELAY*USED*ALLIEDTELESYNINTERNATIONALG0BV2200G*USED*PARKERHYDRAULICVALVED1SE83BNJW*NEWOUTOFBOX*ELECTRONICSCORPORATION22DJ94001*USED*PHASETRONICS1P1-2420-B*NICE*VICKERSDGAM-3-01-10*USED*GOULDAS-***84-265*USED*DYNAPARENCODERHR6251024034A*NEW*MACVALVE414A-B0A-DM-DDA?J-1JD*NICE*6962080101*USED*ALLENBRADLEY1771-KA2COMMUNICATIONADAPTERMODULE*US...LOVATO11DPBF20-10-120?-60CONTCTOR120V*NEWINABOX*BUSSBM6033SQ*USED*AMFPRD11AY0*USED*CUTLERHAMMERD23MB*USED*ERHARDT&LEIMERDR2275*USED*ABB3HNE00313-1*USED*IDECIZUMIPS5R-F24*USED*C-COR122003-()SWITCHMODEPOWERSUPPLY*USED*)