IS220YAICS1A
GEIS220YAICS1AUSB(通用串行总线)安装过程简单,不必考虑资源分配,不必关掉计算机电源,易扩展(可扩充至127个外部设备)。随着USB升级到2.0标准,USB2.0总线的传输速度理论上可高达480Mbit/s,不仅使USB总线完全能满足需要大批量数据交换的外设的要求,而且使USB总线可应用于实时信号处理系统。USB总线有以下4种数据传输方式:a)控制传输:主要用于主机把命令传给没备及设备把状态返回给主机。任何一个USB设备都必须支持一个与控制传输类型相对应的端点0。b)中断传输:用来支持那些偶然需要少量数据通信、但服务时间受限制的设备。c)批量传输:用来传输大量数据而没有周期和传输速率严格要求的设备上。d)同步传输:要求恒定速率,发送方和接收方都必须保证传输速率的匹配,不然会造成数据的丢失。本系统中需要传输的数据量较大,且传输时机受设备控制。因此采用中断传输+批量传输的设计方法,即PC主机起始使用中断传输端点,采用中断传输方式轮询设备,如果发现设备有数据需要传输,立即转到批量传输端点,在真正的数据传输过程中,采用批量传输方式传输数据。2ISP1581简介ISP1581是Philips公司推出的一种价格低、功能强大的USB设备接口芯片,完全符合USB2.0规范。ISP1581需外接微控制器或微处理器对它进行控制,它支持与大多数MCU和DSP的连接。ISP1581的外部接口有通用处理器模式和断开总线模式(由引脚BUS_CONF控制)。在断开总线模式下,处理器接口使用多路复用的8位地址/数据总线AD[7..0]和单独的DMA(直接存储器存取)总线DATA[15..0]。本系统采用断开总线模式、16位数据总线的***(主机DMA)方式。3硬件设计系统的总体结构框图如图1所示。其中USB接口芯片选用ISP1581,EPLD选用EPM7128S,MCU选用的是Cygnal的c8051f120单片机。系统设计思路如下:ISP1581和MCU的连接采用断开总线模式,数据传输使用***模式,ISP1581的16位DMA总线与FIFO的输出端相连,A/D模块的16位数据输出总线与FIFO的输入端相连。FIFO的写信号由定时芯片8254根据A/D采样频率产生,FIFO的读信号直接由ISP1581的DIOR给出(***模式下),***开始传输信号也由8254产生,连接到MCU的一个中断引脚,用于启动***。ISP1581和8254的片选信号以及8254的地址、数据、控制等信号均在EPLD内产生。通过8254和EPLD的设置,可以保证FIFO读和***写时序的配合。在本系统中,c8051f02x需要大量访问ISP1581的内部寄存器,因为c8051f系列采用数据空间和I/O空间统一寻址方式,必须采用fullmemory模式,即将ISP1581作为一个普通外设映射到c8051f02x外部存储空间的I/O空间。综上,***后的接口电路见图2。图中mode0、model、bus_conf等信号需要外接上拉下拉电阻。4固件程序设计本系统的固件程序包括单片机固件编程和EPLD方程设计两部分。单片机固件编程用于完成对ISP1581控制,处理主机发送来的一切请求,启动MD-MA开始传输命令等;EPLD方程设计用于产生各种外设的片选等,控制***传输及FIFO、8254等外围芯片的时序配合。4.1单片机固件编程单片机程序处理一切由主机发送来的USB请求(包括标准请求和自定义的厂商请求),并进行相应的数据接收和发送。本系统使用cygnal的e8051f系列单片机,所以相应使用该单片机配套的silieonLabora-toriesIDE集成开发环境,采用C51语言编程,使用该系列单片机配套的U-EC3仿真器,可以设断点、在线编程、即时仿真、在线查看单片机内部寄存器的值。因为c8051f系列采用数据空间和I/O空间统一寻址方式,对ISP1581所有寄存器的访问均与单片机对普遍外设的访问方式相同。需要指出的是,C8051f12x系列单片机速度很快(***快可以达到100MHz),且指令较传统ISP8051系列有很大优化,大多数指令为单指令周期,这对提高DMA传输速度很有帮助,因为每次DMA传输有很多地方需要单片机的参与,具体参见下面"处理DMA请求"部分。下面***论述使用***部分的固件程序设计。1)***传输初始化功能包括:a)设置DMA配置寄存器,指定DMA传输的数据总线位数(本系统用16位数据总线)。b)设置DMA硬件寄存器,指定DMA传输方式(***还是GDMA)以及设置DACK、DIOW、DIOR、DREQ信号的极性。本系统使用***方式,设置这些信号为低有效。c)设置DMA中断使能寄存器,***指定中断源。我们设置可以产生DMA中断的源有内部EOT信号和DMA传输结束(即DMA传输计数器值变为0)。需要注意的是,此处DMA中断使能寄存器不同于ISP1581的中断寄存器,两者的设置方法不同。d)设置选通时间寄存器,指定MDAMA方式下DIOW或DIOR的周期。应在满足ISF1581***小读写周期的前提下,使该周期尽可能小,这可以显著提高DMA传输速度。经测试,应设置该寄存器的值为001。这部分代码可以放在程序的起始部分,需要注意的是,在初始化ISP1581的各寄存器时,应首先设置DMA命令寄存器为Ox11,使其处于上电复位状态。FESTODSNU-12-25P-A*USED*TELEMECANIQUEXSA-A05521PROXIMITYSENSOR*USED*SQUAREDFA32030CIRCUITBREAKER*USED*SIEMENS6ES5430-7LA12*USED*PARKERGP10A*USED*RILEYCORP.MODEL420LCURRENTSENSOR*USED*SQUARED9070-AA0-50*USED*MACVALVEINC.6311D-000-PP111?DASOLENOIDVALVE*USED*TURCKNI15-S30-RZ3X7M*USED*PARKERHYDRAULICVALVED1SE83BNJW*NEWOUTOFBOX*SIKOMA02-0101*USED*BIMBARSU-1CYLINDERSWITCH*USED*MICROSWITCH0P-AR*USED*DECCOCOIL9-22115/60*USED*IFMIG5822*USED*EFECTORIF5908*USED*EFECTORSENSORPB5224EFECTORII0227PROXIMITYSWITCH*USED*EFECTORII0295PROXIMITYSWITCH*USED*EFECTORII5785*USED*EATONHEINEMANNCF3-G8-AB0015-1?08CIRCUITBREAKERHOLJERONZL.S-DK101-35POWEREDROLLERSENSOR*USED****CSY7140-3DZPNEUMATICVALVE*USED*SIEMENS3RH1140-1BB40*USED*ABBK16A*USED*POTTER&BRUMFIELDKRPA-14AG-120*NEWINBOX*EDDYTACII08-2005-0653CURRENTBRAKECONTROLLERZENITHPUMPS11-55660-3012-0*NEWOUTOFBOX*OMRONDTS-100VACSOLIDSTATETIMER100VAC*NEWINABOX...LOTOF7GEFANUCIC610MDL125A*USED*ALLENBRADLEY871C-P15B30SER.A*USED*OMRONE2E2-X2Y1-M4PROXIMITYSENSOR*USED*PEPPERL+FUCHSNBB5-F33M-A2*USED*CUTLER-HAMMERA10CN0SER.A1120V*USED*LOTOF2TELEMECANIQUELB1LB03P05*USED*ALLENBRADLEY700DC-M310*SERIESA24V*USED*FPE2B100CIRCUITBREAKER120/240VAC*USED*FAIRCHILD30252PRESSUREREGULATOR*NEWINABOX*CLAYTONVALVE122-01A*NEW*BAILEYIIMCP01*NEW*LOTOF2PECOC3042*USED*GECR120A06002AA*USED*GEMU55425D19511*USED*PARKERP1D-S063MS-0025*USED*SIEMENS3TX7004-3AC03*USED*PACIFICSCIENTIFIC105-524002-01*USED*SEW-EURODRIVE194-183-3*USED*SOLTECWGA-710ASTRAINAMP*NICE*HONEYWELLMPD6HDW/MPV14HD*USED*FANUCA20B-0009-0150/?06B*USED*SENCO,INC.A500-113*USED*ALLENBRADLEY1791-16A0SERIESB*USED*MAC225B-781JAVALVE*USED*YASKAWAJVOP-121*USED*PARKER16L32BE*USED*DOUBLEAQG5C10A3*USED*GEMSB6027-1*USED*ECLIPSEFLAMERODSPARKELECTRODE11941*USED*DYNAMATIC15-240-14*USED*PROTECTIONCONTROLSINC.P-CII-WRA*USED*HUMPHREY31039RC*USED*FESTODSN-25-160-PPV*USED*GOULDAS-B551-001*USED*ARROWHARTAH30MS1B*USED*BURKERT251-A-13-E-RG2*USED*CKDAPE-8N-FL193359*USED*DURANT57601-400*USED*MERCOIDCONTROLFM-437SS-153*USED*PARKER4532BF40ABBB53*USED*DAYTON4Z459*USED*WATLOWGORDONTEMPERATURESENSOR40EJSGM120A*USED*CANFIELDCONNECTOR810-200-004C*USED*ALKON21821-5*USED*APPLETONACP3034BC*USED*I***9918-26*USED*BARKSDALE96211-BB5-T4*USED*PINN***EMG-60-OF1-07*USED*LAKEMONITORSR3A-6HG-10*USED*PARKER422CA021A53*USED*J238-1311748V*USED*OLFLEX73528035*USED*EMERSONPCM-1*USED*CDKF3000-10N*USED*DAYTRONIC9178A/000*USED*DAYTRONIC9178A*USED*GOULDAS-884A-101*USED*LOTOF3FESTOBMSFW-CSA*USED*DEUBLIN1005-000-038*USED*SIEMENS3VE1000-8.H.*USED*VEEDOR-ROOT744195-221*USED*ROBERSHAW33-02950EM2*USED*INTERTECH11-26-0780X460CFF*USED*JARDISINDUSTRIESPCB0008A*USED*PANIXSD63*75-X*USED*MERCOIDCONTROLFM-437-33511*USED*HAMMONDPH150SP*USED*NUMATICACTUATORPJ-421255-1*USED*REXROTHLR37554*USED*DORNER820-272*USED*)