免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入usb控制器的51系列单片机ez-usb的应用主要介绍嵌入usb控制核的51系列单片机ez-usb的特性及传输与控制机理。该内核可帮助usb外设开发者完成usb协议中规定的80%90%的通信工作,是usb外设研制者的理想选择。文中还对使用不同的usb芯片组成的应用系统作了比较。 1概述随着pc的广泛应用,其外设也越来越多,打印机、鼠标、扫描仪、游戏杆、音箱,每个外设都需要通过一个接口与pc相连。外设多了,pc的i/o插口自然也就不够用了。在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个pc插槽。pc插槽有限。采集点多了就不够用。除此之外,在个人电脑的应用中,外围设备存在很多问题。这些问题大致可以归结到成本、配置以及个人电脑的连接等几个方面,而usb正是为了解决这些问题而出现的一种方案。简而言之,usb的出现不仅解决了i/o插口不够的问题,而且还建立了一条连接和访问外设的方法。这些方法可以有效地减少总体成本,而且从终端用户的角度来看,可以增加可连接的外设数目,简化设备的连接和配置。通用串行总线usb是由intel等厂商制定的连接计算机与具有usb接口的多种外设之间的串行总线。其拓扑结构如图1所示。图1usb的层次拓扑图usb的特性有:成本低。为了把外设连接到pc上,usb提供了一种低成本的解决方案。热插拔。设备连接后由usb自动检测,并由软件自动配置,完成后可立即使用,无须用户干涉。单一的连接器类型。usb定义了一种简单的连接器,可以用来连接任何一个usb设备。多个连接器可以通过usb集线器连接。每个usb总线支持127个设备的连接。usb支持三种设备传输速率:1.5mb/s(低速设备)、12mb/s(中速设备)和480mb/s(高速设备)。外设能够直接由usb总线进行供电。不需要系统资源(如内存、i/o地址空间和中断请求线路)。usb事务处理包括错误检测机制,它们用以确保数据无错误发送。电源保护。如果连续3ms没有总线活动,usb将自动进入挂起状态。支持四种类型的传输方式:块传输、控制传输、中断传输和同步传输。2通用usb控制系统的组成结构在每一个usb设备中都有一个串行接口引擎(sie)。sie与usb数据线的d+和d-两个引脚相连,与usb设备进行字节传送。图2表示一次usb块传输,时间顺序从左到右。sie对pid信息包进行解码,并通过传送的crc位对数据进行错误检测,然后,将有效数据送到usb设备。如果sie检测到一个出错的数据,它并不是发出一个握手信号,而是自动地不进行响应,并告诉主机延时重发。图2sie的功能由于usb被设计成可以用简便有效的方法来与多种类型的外设通信,没有现有接口的局限性和缺点,这样,导致了对usb接口的设计和编程更加复杂。为了降低设计者的开发难度,使用专用的usb控制器已成为研制人员的首选方案。usb协议的复杂性意味着usb外设必须具备智能。usb控制器必须知道如何检测并对usb端口的事件做出反应。一般的做法是:usb控制器只处理usb通信,由一个外部的微控制器(mcu)来管理usb控制器的寄存器、设备描述符的获取和数据包的交换等,如图3所示。图3通用usb设备的组成结构表1所示为可与一般微控制器连接的usb控制器。usb控制器使用串行口或并行口与mcu连接。这样,外部接口可能比usb最大速度要慢,使得芯片只适合传送间歇数据。这样设计的好处是系统组成灵活,可根据不同的系统需求,搭配不同的mcu,使其具有很高的性能价格比;但同时也加大了编程设计人员的开发难度,延长了产品的开发周期。另一种可行的方法是使用嵌入mcu的usb控制器。这样,cpu只需要访问一系列寄存器和存储器,便可实现usb口的数据传输。从而简化了程序的设计,并且许多供应商还提供许多范例电路和测试代码,使设计者从复杂的协议解释中得到解脱。现在,许多芯片制造商开始生产一些基于通用mcu的usb控制器,采用研制人员所熟知的指令集,大大简化了编程的难度。如基于8051结构的usb控制器有:intel公司的8x930a、8x931a;cypress公司的ez-usb等。此外,还有基于mitsubishi740/7600/m16c的usb芯片;基于motororahc05系列的usb芯片等。受篇幅所限,本文仅介绍ez-usb2100系列单片机。3ez-usb组成结构及特性美国cypress公司是一家从事usb接口芯片和usb单片机开发和生产的公司。cypress最新推出的带智能usb接口的单片机ez-usb,极大地降低了usb外设的开发难度,为pc外设的制造商提供了一个性能优良、价格较低的设计方案。ez-usb有多个系列的产品,根据不同的速率需求,可满足不同的系统要求和价格。cypress提供三个系列的ez-usb芯片,如表2和表3所列。表2cypress的ez-usb系列产品表3ez-usb2100系列产品3.1ez-usb芯片组成结构ez-usb芯片将usb接口的控制核整合到单片机集成电路中,如图4所示。集成的usb收发模块与usb总线的d+和d引脚相连。sie进行串行数据译码和错误更正,以及其他usb所要求的信号级操作等,最后,再与usb收发模块接口进行数据字节的传输。图4ez-usb的组成框图内部的微处理器在标准8051上缩短了执行时间并增加了新的特性。它用内部sram存储程序和数据,使ez-usb系统具有软配置的特性。usb主机经usb总线将8051的程序代码和描述符装入sram中,然后,ez-usb芯片用已下装程序中定义的外设特性进行重新连接,这个过程也叫再枚举。ez-usb系列使用了强大的sie/usb接口(称为usb内核)。这个具有强大功能的内核可以自动完成usb协议的转换,简化8051的代码。ez-usb芯片在3.3v电压下就可以运行,简化了usb设备总线电压的设计。3.2ez-usb特性改进的8051内核。性能可达到标准8051的510倍,与标准8051的指令完全兼容。高度集成。传统usb外设的硬件设计通常包括非易失性存储器(如eprom、eeprom、flashrom)、微处理器、ram、sie(串行接口引擎)和dma等。ez-usb将上述多个模块集成在一个芯片中,从而减少了各芯片接口部分时序配合时的麻烦。usb内核。ez-usb可以代替usb外设开发者完成usb协议中规定的80%90%的通信工作,使得开发者不需要深入了解usb的低级协议即可顺利地开发出所需要的usb外设。ez-usb系列芯片接收全部usb的吞吐量。这种采用ez-usb的设计,不受端点数目、缓冲区大小及传输速度的限制。软配置。外设未通过usb接口连接到pc机之前,外设上的固件存储在pc上;一旦外设接到pc机上,pc先询问该外设是谁(即读设备描述符),然后,将该外设的固件下载到ez-usb的ram中并执行,这个过程叫作再枚举。这个特性给usb外设开发者带来许多方便。如开发过程中,当固件需要修改时,可以在pc机上修改好以后,下载到ez-usb,从而省去了编程芯片的麻烦。这种基于ram的软配置方法,可以允许无限的配置和升级。易用的软件开发工具。固件可独立于驱动程序被测试。驱动程序和固件的开发与调试相互独立,可加快开发的速度。4ez-usb微处理器ez-usb微处理器是一个改进的8051内核,使用标准8051指令系统,其指令执行速度比标准8051快,原因有两点:空闲(wasted)的总线周期被消去。一个总线周期仅包含4个时钟周期,而标准8051则为12个时钟周期。8051的运行速度为24mhz。除了速度的提高,改进的8051内核还有以下几处结构上的改进:第二个数据指针,可用于存储器块之间的传输;第二个uart;第三个16位计数器/定时器(timer2);与非多路复用16位地址总线的高速存储器直接接口;增加了7个中断源(int2int5、pfi、t2和uart1);可变的movx执行时间可适应高/低速的ram外设;256字节的内部寄存器ram,8k字节的程序/数据复合sram;3.3v工作电压。ez-usb集成芯片在8051的基础上又有其他改进:快速外部数据块传输(指针自动增量,快速传输模式);usb中断向量;control传输的setup和data部分有各自的缓冲器。4.1an2131q的封装和引脚描述图5是ez-usb2100系列中80引脚封装的an2131q的引脚排列图。图580引脚的pqfp(an2131q)各引脚功能分述如下:discon#:引脚1,输出。该引脚由两个位discoe和discon控制。当discoe=0时,引脚悬空;当discoe=1时,驱动引脚。当discoe=1时,驱动的逻辑级与discon位相反。usbd,usbd+:引脚77,79,高阻态。usbd+/d信号。将24振荡器与usbd+/d引脚相连。a0a15:引脚712,15,16,2629,3437输出。8051地址总线。d0d7:引脚4851,5760,i/o/高阻态。8051数据总线。该双向总线空闲时处于高阻状态,总线读时为输入,总线写时为输出。psen#:引脚80,输出。程序存储器使能端。引脚接低电平时有效,表示从外部存储器中读取程序。当ea为低电平时,程序存储器的地址从0x1b40开始;当ea为高电平时,程序存储器的地址从0x0000开始。pa0pa7:引脚6871,7376,i/o。多功能输入/输出引脚。pb0pb7:引脚4447,5255,i/o。多功能输入/输出引脚。pc0pc7:引脚3033,3841,i/o。多功能输入/输出引脚。bkpt:引脚61,输出。断点。当8051地址总线与bpaddrh/l寄存器的内容一致,且usbbav寄存器中的断点使能(bpen)时,该引脚被激活(高电平)。如果usbbav寄存器中的bppulse位为高,就产生8个24mhz的高电平的时钟脉冲;如果bppulse位为低,保持高电平直到8051清除usbbav寄存器中的break位(写1)。reset:引脚25,输入。有效高电平复位。使8051和sie复位。该引脚一般通过1个10k电阻接地,用1个1f电容接vcc。ea:引脚24,输入。访问外部存储器。该引脚有效(hi)时,8051并不是从内部程序ram中获得代码,而是从外部存储器中读取代码。当ea=0时,8051从外部存储器的0x1b40地址(an2131)开始读取代码。avcc:引脚21,电源。analogvcc(模拟电源)。该引脚为芯片的模拟部分提供电源。agnd:引脚18,电源。analogground(模拟地)。尽可能以最短路径接地。xin:引脚19,输入。晶振输入。该引脚经由12mhz晶振和2233pf电容接地。它也能用12mhz的时钟电路驱动。xout:引脚20,输出。晶振输出。该引脚经由12mhz晶振和2233pf电容接地。当xin由12mhz时钟电路驱动时,该引脚悬空。wakeup#:引脚66,输入。usb唤醒。当8051挂起时,该引脚上的一个上升沿可开启振荡器,向8051发出中断,请求推出挂起状态。维持wakeup#的低电平可避免ez-us芯片进入挂起状态。scl:引脚65,od(漏极开路)。i2c时钟。即使没有i2c设备相连,也要用2.2k电阻接vcc。sda:引脚64,od(漏极开路)。i2c数据。即使没有i2c设备相连,也要用2.2k电阻接vcc。clk24:引脚4,输入。24mhz时钟,可锁定为12mhz输入时钟。当cpucs寄存器中的outclken=0时没有输出。nc:引脚67。该引脚不连接。软配置是ez-usb系列芯片的一个重要特性。ez-usb芯片中包含内部程序/数据ram,不再需要rom或其他固定的存储器。通过usb本身将程序下载到ram中,为设备提供独特的特性,使得修改、版本更新更容易。ez-usb可作为usb设备进行连接,当内部8051处于复位状态时,将程序下载到内部ram。这一切都是由改进的sie完成的,它可以进行图2中的所有操作,甚至更多。sie包含其他逻辑,可用内部描述符表进行枚举操作。它也能响应主机发出的特殊的下载固件设备请求,将固件装入内部ram。还有一点值得一提的是,增加的sie功能可用于8051。这一特点可缩减8051程序,加快程序的执行。5ez-usb的枚举和再枚举pc机运行时,若插上或拔去一个usb设备,windows系统便会自动装载或卸去设备的驱动程序,即所谓的即插即用。这一系列动作的自动完成归因于在每一个usb设备里都有一个描述符表,记录了设备的要求和性能。当插上usb时,要经过以下几个步骤:主机向地址0发送get_descriptor/device请求(设备第一次连接时,必须响应地址0);设备响应该请求,并将id数据发送给主机;主机向设备发出set_address请求,给设备提供一个唯一的地址,以区别其他与总线相连的设备;主机发出get_descriptor请求,获取更多的设备信息。据此,主机可以了解到该设备的其他情况,如该设备的端点个数、电气要求、所需带宽,然后下载程序。为了支持软特性,ez-usb芯片能自动地作为一个不需要固件的usb设备进行枚举,所以,usb接口本身可用来下载8051的程序和描述符表。当8051复位时,ez-usb的内核进行最初(通电)的枚举和下载。这种支持程序下载的最初usb设备被称为默认的usb设备。在代码描述符表从主机中下载到ez-usbram后,8051脱离复位状态,开始执行设备程序。ez-usb设备再次枚举,这一次是作为装入的设备。第二次枚举称为再枚举。再枚举的完成是ez-usb芯片通过给usb加电,模拟物理断开和重连接来完成的。被称为renum(再枚举)的ez-usb控制位决定由内核及8051中的哪一个实体处理端点的设备请求。通电时,renum位(usbcs.1)为0,表示ez-usb内核自动处理设备请求。一旦运行8051,它能设renum=1,表示用户8051程序用它下载的固件处理子设备请求。6ez-usb端点由于usb是串行总线,因此设备端点实际上是一个fifo存储器。主机通过发出4位地址及1位方向位,选择设备端点。所以,usb可定位32个端点:in0in15和out0out15。8051从out缓冲区中读取端点数据,将通过usb传输的端点数据写入in缓冲区。usb端点有四种类型:块(bulk)、控制、中断、同步。6.1块端点块端点无方向控制,一个端点地址对应一个方向,所以,端点in2的地址不同于端点out2。ez-usb提供了14个用于块传输的端点,包括7个in端点(ep1_inep7_in)和7个out端点(ep1_outep7_out)。每一个端点都有1个64字节的缓冲区。6.2控制端点0控制端点用于传输控制信息。任一个usb设备必须有默认的控制端点0。设备的枚举(即第一次插上该设备时,主机对其进行初始化的过程)就是由端点0引导的。主机通过端点发送所有的usb请求。控制端点是双向的,它只接受setup信号。控制传输包含两个或三个阶段:setup、data(可选)和handshake。6.3中断端点中断端点与块端点大致相同。14个ez-usb端点(ep1ep7、in和out)可用作中断端点。中断端点的信息包的最大长度可达到64字节,在它们的描述符中包含一个轮询间隔字节,告诉主机为之服务的频率。8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网店代销商品合同范本
- 酒店员工聘用合同范本
- 2025年小学五年级数学应用题专项训练试卷(含答案)
- 科学苏教版2.太阳系大家族教案设计
- 监控网络平台合同范本
- 牛肉产品购销合同范本
- 运送农资用车合同范本
- 健康生活习惯从小培养实施方案
- 药品代理销售合同协议
- 租厂房租地合同协议书
- 2022浪潮信创服务器CS5260H2技术白皮书
- 植物保护专业学生的职业生涯规划
- 财务总监招聘笔试题与参考答案(某大型国企)2025年
- 山西省晋中市榆次区2024-2025学年上学期期中测试八年级数学试卷
- 人民医院附属楼康养公寓装修设计任务书
- 挡土墙施工合同
- 课件:《中华民族共同体概论》第十一讲 中华一家与中华民族格局底定(清前中期)
- DL∕T 1860-2018 自动电压控制试验技术导则
- 中国历史地理智慧树知到期末考试答案章节答案2024年泰山学院
- GB/T 43632-2024供应链安全管理体系供应链韧性的开发要求及使用指南
- 《光伏发电工程预可行性研究报告编制规程》(NB/T32044-2018)中文版
评论
0/150
提交评论