ABB PLC AC31模块,07KP53
ABB PLC AC31模块,07KP53
ABB PLC AC31模块,07KP53
===============================================================
AT89C51SND1C及ISP1362的初始化
在开始播放MP3文件之前,需要一系列初始化操作。这些操作是通过设置AT89C51SND1C及ISP1362内部的相关寄存器来完成的。
AT89C51SND1C的初始化
为了正常播放MP3文件,首先要对主控制器AT89C51SND1C进行以下几方面的设置。
锁相环初始化
MP3***器和音频输出接口使用的都是内部锁相环提供的时钟。锁相环的初始化是通过设置PLLCON、PLLNDIV和PLLNDIV来完成的。其输出频率的计算公式为:PLLclk=OSCclk×(R+1)/(N+1)。
MP3***器初始化
MP3***器的初始化需要对MP3CON和MP3CLK进行设置。MP3***器分缺少数据中断和校验中断两类中断,在MP3CON中可以对其进行设置。简单处理可以采用查询标志位方式,避免使用中断。MP3***器对时钟有一定的要求,MPEG I格式的MP3数据要求***低时钟为21MHz,MPEG II格式为10.5MHz。该时钟计算公式为:MP3clk=PLLclk/(MPSD4:0+1)。
音频输出接口初始化
得到两个声道串行数据前需先对音频输出接口的AUDCON0和AUDCON1中的相关部分进行正确的设置。配合DAC芯片CS4330,其设置如下:输出32位数据格式(DSIZ=1),声道选择信号中的高电平为左声道(POL=1),选择256·Fs的数据速率(HLR=0),选择MP3***器的输出为数据源(SRC=0),18位数据右对齐(JUST4:0=14)。为了听到正常的声音,还需根据MP3的采样率设置MP3CLK来得到正确的音频输出接口的时钟,该时钟的计算公式为:AUDclk=PLLclk/(AUCD4:0+1)。
按键初始化
要实现播放MP3的人机交互功能,就需要键盘的支持,AT89C51SND1C专门提供了4个中断的按键接口,当这些中断被使能后就可以简单地通过读取KBSTA得到按键的状态。按键初始化的时候只需要在KBCON开启相应接口的中断,再开启总中断的EA即可。
ISP1362的设置
为了能正确地从U盘中读取MP3文件,首先要对USB控制芯片ISP1362进行以下几方面的设置。
数据缓冲区的划分
ISP1362内部有4KB的数据缓冲区,可划分为4部分以供USB的四种传输方式使用。其中同步传输为双缓冲,占用ISTL0和ISTL1,一般二者大小是一样的。中断传输占用INTL。控制传输和块传输共用ATL。分别通过HcISTLBufferSize 、HcINTLBufferSize和HcATLBufferSize 来设置ISTL、INTL和ATL的大小。
中断的设定
这里的中断并不是指USB中的中断传输,而是传统意义上的硬件中断。如果不使用中断,则应该将其关闭,具体操作为将HcuPInterruptEnable置0,而 HcInterrup***sable中所有位都置1。
ATL 缓冲的设定
控制传输是任何USB设备都有的数据传输类型,而在ISP1362中,它占用的是ATL缓冲区,因此对ATL 缓冲的设定是必不可少的。具体的操作是设置以下几个寄存器:HcATLPTDSkipMap、HcATLLastPTD、HcATLBlkSize、HcATLPTDDoneThresholdCount和HcATLPTDDoneThresholdTimeOut。
其它相关寄存器
ISP1362还有一些关于硬件的设置,比如端口设定以及过流保护等。除此之外,还需要确定一个帧所发送的***大数据量等信息,这些操作通过设定HcHa***areConfiguration和HcFmInterval两个寄存器完成。
读取U盘
U盘在使用USB传输时使用的是块传输方式,操作相对比较复杂。除了***基本的USB协议之外,还需要实现许多其它相关协议,比如Mass Storage、Bulk-Only、SCSI-2、UFI等。但对USB接口芯片ISP1362而言,需要完成的仅是按照协议规定进行数据的传送。
相关描述符和设置
U盘一般使用Mass Storage协议进行通信。然而在使用Mass Storage协议通信之前,应首先关注传输协议和U盘的端点描述符。
Mass Storage中的传输协议常用Bulk_Only,然而在这种传输方式下又可分多种指令集,而U盘常用SCSI指令集。 Bulk_Only的传输方式在通信时应首先读取端点描述符来获取Bulk_In和Bulk_Out这两个端点号,之后才能进行USB的正常通信。
FAT文件系统
由于现在U盘的容量普遍较大,对U盘的操作往往都是按块来进行的,其大小一般均为512B。但实际U盘上的数据是以文件系统的方式来存储的,目前U盘常用的文件系统有FAT16和FAT32。而这两种文件系统在很多内容方面都是相同的,因此,在实际访问中可以对其简单的区分,然后分别进行不同的操作,就能实现对不同文件系统的U盘进行访问,提高通用性。
播放MP3文件
播放一个MP3文件需要经过以下几个环节:解析U盘的文件系统,获取MP3文件的信息,从U盘中读取指定的MP3文件,将文件中的数据送至AT89C51SND1C内嵌的MP3***器,***后的数据经音频输出接口调整格式后输出两个声道的串行数据,再经过DAC芯片CS4330将数字信号转换为模拟信号,***后经集成运放MC33202将信号放大输出。
初始化相关芯片
对主控器AT89C51SND1C和USB接口芯片ISP1362的初始化是至关重要的,除了上述一些需要初始化设置的地方,还应注意单片机和ISP1362复位要同步。另外还应对MP3***器音量控制的相关寄存器进行初始化,默认情况下它们都是0,即处于静音状态。
获取MP3文件中的数据
从U盘中获取MP3文件是一个相对烦琐的过程,首先应能按照USB的相关协议读取U盘上指定块的数据,之后还要根据得到的数据解析文件系统,从而得到指定MP3文件的起始块地址,然后通过查FAT表的方法得到后继的数据。并且还应将得到的数据存储在AT89C51SND1C内部开设的数据缓存中,等待MP3***器缺少数据时使用。由于MP3***器内部的数据缓存较小,因而就要求获取MP3文件数据的时间要尽可能的少,这就需要该部分的代码要尽量精简。
MAC PR82A-GADA *USED*
LOT OF 8 SPRAYING SYSTEM CO. 1/8 GGA *USED*
MARSHALLTOWN RF-Z-4805-36A 0-30 GAUGE *USED*
ALLEN BRADLEY 1492-CB1-G150 SERIES C *USED*
ALLEN BRADLEY 1492-CB1H100 SERIES B *USED*
LOT OF 7 LAMP INDICATOR (RED) 1090A1 28V1W *USED*
SWAGELOK B-1VF4 VALVE *NEW IN A FACTORY BAG*
EUPEC AA-104X125DC054 *USED*
IFM SI1006 *USED*
ALLEN BRADLEY 700-HA32A14 SERIES C *USED*
GOULD USCC1 *USED*
ALLEN BRADLEY 595-A SERIES B *USED*
ALLEN BRADLEY100-FL SERIES A 110V *USED*
SPEEDAIRE 1Z838D REGULATOR *NEW IN A BOX*
ALTECH CORP. MA6.3U MOTOR PROTECTOR *USED*
366A773G013 120V COIL *USED*
ALLEN BRADLEY PROGRAMMING TERMINAL 1201-HAP SERIES B *U...
GE 15D1G004 COIL *USED*
BALDOR GPP7460 MOTOR *USED*
WADMANN LIGHTING TRANSFORMER 150127019 *NICE*
GENERAL ELECTRIC IC3603A177AC1 *USED*
ANDERSON SA510050170000 *USED*
ROSEMOUNT ANALYTICAL DIVISION 0230A *USED*
INDUSTRIAL INDEXING SYSTEMS INC. IOE-850 *USED*
STE***N 4626WSR00000 *USED*
TEXAS INTRUMENTS 305-01S INPUT SIMULATOR *USED*
KURODA AS-2300 *USED*
CORCOM 10S1 EMI FILTER 120/250V *USED*
LOT OF 4 OMRON LACHING RELAY MY2K-US *NEW OUT OF BOX*
OPTO 22 SNAP-AIMV-4 *NEW OUT OF A BOX*
LOVATO CONTACTOR 11BF32 00 24 *NEW IN BOX*
LOVATO 11DPBF20-10-120?-60 CONTCTOR 120V *NEW IN A BOX*
EATON CORP. 145106BQ SIZE B3 ROTOSEAL *USED*
MAC 224B-111NA *USED*
FESTO ***E-1-LED-24 *USED*
CLARK COIL TB135-2 220-240V *USED*
DURANT 1900-512 *USED*
IFM ELECTRIC LK-250-IRF/PU CO***ET 5PIN *USED*
TEXAS INSTRUMENTS 530C-1104 *USED*
SIEMENS 6ES7414-3XM05-0?AB0 PROCESSOR *NEW IN A BOX*
TSUBAKI RS35-SS-1 STAINLESS STEEL ROLLER CHAIN 10FT. *N...
ALLEN BRADLEY 1771-IB *USED*
BROOKS FLOW METER 1147B13H6L4Z *NICE*
POTTER & BRUMFIELD R10-E2-P2-V185 12VDC *USED*
TURCK Bi2U-M12-AP4X-H?1141 *USED*
CUTLER-HAMMER E57MAL18AB1 SER.D2 *USED*
BALLUFF CY9ANE00VY050M CABLE
APEX USA-HFSF-7724 *USED*
ALLEN BRADLEY 1492-CB3-G060 SERIES A *USED*
HAMAMATSU C3704 *USED*
REGATRON AG *USED*
SPECTRUM CONTROLS 1746SC-IA8I SERIES B *USED*
CUTLER-HAMMER D26MPF *USED*
SPRECHER + SCHUH CT3-16-P-A OVERLOAD RELAY SOCKET *NEW ...
LOT OF 20 ***C FITTINGS KQ2L04-01S *NEW IN FACTORY BAG*
MENNEKES TYPE 1399 32-6H/380-415 *USED*
AUTOMATIC VALVE L0703AAWR PNEUMATIC VALVE (AS PICTURED)...
FESTO MOFH-3-1/8-NPT *USED*
EUCHNER NZ1VZ-528E3VSE0?4 *USED*
POTTER & BRUMFIELD KCP5 *USED*
CORCOM 5VR1 F7202 EMI FILTER 120/250V *USED*
DAYTON 5ZC08 RELAY 120VAC *NEW IN A BOX*
MG ELECTRONICS MGT12300R PLUG FULLY REGULATED POWER SUP...
ALLEN BRADLEY 1492-PDL3161 SER.A POWER DISTRIBUTION BLO...
NUMATICS 139-145P 115-120/60 COIL *USED*
SOLA SLS-24-024 POWER SUPPLY *USED*
ETA 2210-T210-K0M1-?H131 1A CIRCUIT BREAKER *USED*
TELEMECANIQUE LA1LB021 *USED*
ALLEN BRADLEY 196-FTB SER.B *USED*
ASCO 8210B20 *USED*
CONTACT 10.1580NP *USED*
POTTER & BRUMFIELD KAP-11DY-12 *USED*
MICRO SWITCH ***1A *USED*
OPTO 22 PB8 *USED*
EFECTOR OG5053 *USED*
***C NCDME106-0675 *USED*
***C NCMC125-0300CS *USED*
FESTO ES570 *USED*
EFECTOR U80200 *USED*
POTTER & BRUMFIELD PRD3AH0-120V *USED*
MICRO SWITCH 1ML10 *USED*
TURCK BI2-G12-AN7X *NICE*
GE CIRCUIT BREAKER TEB132020 *NICE*
MICRO SWITCH 102ML1 0151 *USED*
PHOENIX CONTACT 17 72 09 4 *USED*
ALLEN BRADLEY COIL 0A11 440V *USED*
ASCO MP-C-080 *USED*
***C NVS3135-0309D *USED*
SCHMERAL TZFMSP/J24VDC/9?6 *USED*
JOHNSON CONTROLS P20DB-1C LIMIT CONTROL *USED*
FUJI ELECTRIC SA33B BB3ASB-020 *USED*
LOT OF 3 MICRO SWITCH BA-2R708-P7 *NEW IN BAG*
LOT OF 2 BALLUFF C04BNL7 *NEW IN A FACTORY BAG*
ALLEN BRADLEY 1492-CB2 5AMPS *USED*
SQUARE D CIRCUIT BREAKER KA36125 *NEW IN BOX*
RIELLO BURNERS 509SE/K *NEW IN BOX*
REPLACEMENT COMPONENTS HK02AC027 *USED*
TURCK NI10-G18-AP6X-B?1441 40MM *USED*
ANDREW F4PNMV2-HC *USED*
ENTRELEC DL 10/17,5.SF *USED*
INTERCON INC. 44C742236-004R0?2 CONTROL CABLE *USED*
TOTAL CONTROL PRODUCTS CRTXXXXXC1A SERIES E *USED*
OKUMA ER-FC-2048D *USED*
TURCK BI5-G18-AN6X 50MM *USED*
TURCK BI5-G18-AZ3X-B1?431 *USED*
TURCK Bi5-G18-AP6X-B1?341 *USED*
TEDEA-HUNTLEIGH MODEL 240 *USED*
AERA FC-7710CU MASS FLOW CONTROLLER *NEW*
INSTRUMENT TRANSFORMERS INC. 5SFT-301 TRANSFORMER 600V ...
GE 15D21G002 115-120V *USED*
ENDRESS + HAUSER 83F25-AFTSA9RAB?AAA FLOW METER TRAN***IT...
LOT OF 5 O5E-J04 STEEL HYDRAULIC HOSE ENDH436 *USED*
BEI H20DA-37-50-A-3?904-SCS132-24V-?S *USED*
I-T-E TYPE ET100 AMPERE "F" FRAME 3POLE 600VAC CIRCUIT ...
PARKER PS1-E19 DOUBLE ACTING BODY 240V (AS PICTURED) *U...
MTZ2 148 G *USED*
LOT OF 2 AMPHENOL CORPORATION 57-30240 0047 *NEW IN FAC...
SEMIKRON SKKT161/16E 1600V 160A *USED*
CARBONE OF AMERICA 3" SERIES 3 BURST DISC *USED*
AS IS GE BOARD IC600YB904B
AUTOTECH CONTROLS ***C-PS111-30SEC *USED*
ALFA L***AL 9611920019 SERVICE KIT *USED*
SIEMENS 3RU1116-1EB0 *USED*
SIEMENS 3RU1116-1GB0 *USED*
LOT OF 4 ARROW-M H***E-DC6V RELAY *USED*
LOT OF 3 HONEYWELL 973AA3XM-A7T-L *USED*
GE I***486CNV4LF *USED*
LOT OF 4 HONEYWELL TOGGLE SWITCH 1TL1-3 *NEW IN FACTORY...
MICRO SWITCH BZE6-2RN *NEW IN A BOX*
WESTINGHOUSE CIRCUIT BREAKER FB3020 *USED*