当前位置:首页 > 单片机 > 单片机
[导读]作者Email: cai_yang@etang.com 摘要:本文主要介绍Cypress Semiconductor公司的EZ-USB FX2单片机CY7C68013,该单片机是一个带USB2.0内核、8051兼容的单片机。 关键词:USB2.0 EZ-USB FX2 单片机 CY7C68013 1 介绍

作者Email: cai_yang@etang.com 摘要:本文主要介绍Cypress Semiconductor公司的EZ-USB FX2单片机CY7C68013,该单片机是一个带USB2.0内核、8051兼容的单片机。 关键词:USB2.0 EZ-USB FX2 单片机 CY7C68013 1 介绍 Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。 FX2这种独创性结构可使数据传输率达到56Mbytes/s,即USB2.0允许的最大带宽。在FX2中,智能SIE可以硬件处理许多USB1.1和 USB2.0协议,从而减少了开发时间和确保了USB的兼容性。GPIF(General Programmable Interface)和主/从端点FIFO(8位或16位数据总线)为ATA、UTOPIA、EPP、PCMCIA和DSP等提供了简单和无缝连接接口。 2 EZ-USB FX2结构 CY7C68013结构图如图1所示。它有三种封装形式:56SSOP,100TQFP和128TQFP。

CY7C68013集成了以下特性: ● USB2.0收发器、SIE(串行接口引擎)和增强性8051微处理器; ● 软件运行:8051程序从内部RAM开始运行,可以借助下列几种方式进行程序装载: (1) 通过USB下载; (2) 从EEPROM中装载; (3) 通过外部存储器设备。 ● 四个可编程BULK/INTERRUPT/ISOCHRONOUS端点; 可选双、三和四缓冲 ● 8位或16位外部数据接口 ● 通用可编程接口(GPIF) (1) 可以直接连接到并口,8位和16位; (2) 可编程波形描述符和配置寄存器; (3) 支持多个Ready输入和Control输出。 ● 集成标准8051内核,且具有下列增强特性: (1) 可以达到48MHz时钟; (2) 每条指令占四个时钟周期; (3) 两个USARTs; (4) 三个定时/计数器; (5) 扩展的中断系统; (6) 两个数据指针。 ● 3.3V电源系统; ● 智能串行引擎(SIE); ● 矢量USB中断; ● 独立的数据缓冲区供SETUP和DATA包控制传输; ● 集成I2C控制器,运行速度可达100或400KHz; ● 四个FIFO,可与ASIC和DSP等无缝连接; ● 专门的FIFO和GPIF自动矢量中断; ● 可用于DSL Modems、ATA接口、相机、Home PNA、WLAN、MP3播放器、网络等。 3、USB启动方式和枚举 上电时,内部逻辑会检查连接到I2C总线上的EEPROM中的第一个字节(0xC0或0xC2)。如果是0xC0,就会使用EEPROM中的 VID/PID/DID来替代内部存储值;如果是0xC2,内部逻辑就会把EEPROM中的内容装入到内部RAM中;如果没有检查到EEPROM,FX2 就会使用内部存储的描述符来枚举。FX2缺省的VID/PID/DID是0x04B4/ 0x8613/ 0xxxyy。 当首次插入USB时,FX2通过USB电缆会自动枚举且下载固件和USB描述符表;接下来,FX2再次枚举,这次主要通过下载的信息来定义设备。这两个步骤就叫做重枚举,当设备插入时它们就立即执行。 4、程序/数据存储器 4.1内部数据RAM 如图2所示,FX2的内部数据RAM被分成三个不同的区域:低(LOW)128、高(Upper)128和特殊功能寄存器(SFR)空间。低128和高 128是通用RAM,SFR包括FX2控制和状态寄存器。 4.2外部程序存储器和数据存储器 FX2有8K片上RAM,位于0x0000-0x1FFF;512字节Scratch RAM,位于0xE000-0xE1FF。尽管Scratch RAM从物理上来说位于片内,但是通过固件可以把它作为外部RAM一样来寻址。 FX2保留7.5K(0xE200-0xFFFF)数据地址空间作为控制/状态寄存器和端点缓冲器。 注意:只有数据内存空间保留,而程序内存(0xE000-0xFFFF)并不保留。 5、端点缓冲区 FX2包含3个64字节端点缓冲区和4K可配置成不同方式的缓冲,其中3个64字节的缓冲区为EP0、EP1IN和EP1OUT。EP0作为控制端点用,它是一个双向端点,既可为IN也可为OUT。当需要控制传输数据时,FX2固件读写EP0缓冲区,但是8个SETUP字节数据不会出现在这64字节EP0 端点缓冲区中。EP1IN和EP1OUT使用独立的64字节缓冲区,FX2固件可配置这些端点为BULK、INTERRUPT或ISOCHRONOUS传输方式,这两个端点和EP0一样只能被固件访问。这一点与大端点缓冲区EP2、EP4、EP6和EP8不同,这四个端点缓冲区主要用来和片上或片外进行高带宽数据传输而无需固件的参与。EP2、EP4、EP6和EP8是高带宽、大缓冲区。它们可被配置成不同的方式来适应带宽的需求。 6、外部FIFO接口 EP2、EP4、EP6和EP8大端点缓冲区主要用来进行高速(480Mbits/s)数据传输,可以通过FIFO数据接口与外部ASIC和DSP等处理器无缝连接来实现高速数据传输。它具有通用接口:Slave(从)FIFO(外部主)或GPIF(内部主)、同步或异步时钟、内部或外部时钟等。图3、图 4分别为FX2 FIFO处在“Slave FIFO”模式和“GPIF Master”模式。 7、中断资源 FX2的中断结构是在一个标准8051单片机的基础上增强和扩展了部分中断资源,中断资源如表1所示: 表1 FX2中断 FX2中断 中断来源 中断向量 优先级 IE0 INT0 Pin 0x0003 1 TF0 Timer0 Overflow 0x000B 2 IE1 INT1 Pin 0x0013 3 TF1 Timer1 Overflow 0x001B 4 RI_0 %26;amp; TI_0 USART0 Rx %26;amp; Tx 0x0023 5 TF2 Timer2 Overflow 0x002B 6 Resume WAKEUP/WU2 Pin 0x0033 0 RI_1 %26;amp; TI_1 USART1 Rx %26;amp; Tx 0x003B 7 USBINT USB 0x0043 8 I2CINT I2C BUS 0x004B 9 IE4 GPIF/FIFOs/INT4 Pin 0x0053 10 IE5 INT5 Pin 0x005B 11 IE6 INT6 Pin 0x0063 12 其中27个USB请求共享USB中断,14个FIFO/GPIF源共享INT4。


8、结束语 我们用EZ-USB FX2 CY7C68013单片机来实现多串口转USB,并开发了windows操作系统下的USB驱动。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在现代汽车电子控制系统和工业自动化领域,CAN(Controller Area Network)总线作为一种高效、可靠的通信协议,扮演着至关重要的角色。然而,在CAN网络运行过程中,由于各种内外因素,节点可能会进入BUS...

关键字: CAN总线 缓冲区 BUS OFF

北京2024年8月30日 /美通社/ -- 亚马逊云科技宣布在中国支持首批两个水回馈项目,北京怀柔二台子村河段修复工程项目以及广东仙坑村和左滩村污水处理及人工湿地建设工程项目。北京怀柔水项目预计今年竣工,每年将为当地增加...

关键字: 亚马逊 污水处理 可持续发展 缓冲区

循环缓冲区是嵌入式软件工程师在日常开发过程中的关键组件。多年来,互联网上出现了许多不同的循环缓冲区实现和示例。我非常喜欢这个模块,可以GitHub上找到这个开源的CBUF.h模块。地址:https://github.co...

关键字: 缓冲区

1. 缓冲区概述 标准I/O提供了三种类型的缓冲: 1、全缓冲: 在填满标准I/O缓冲区后才进行实际I/O操作。常规文件(如普通文本文件)通常是全缓冲的。 2、行缓冲: 当在输入和输出中遇到换行符时,标准I/O库执行I/...

关键字: 缓冲区 IO

点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记! 常规打印方法 在STM32的应用中,我们常常对printf进行重定向的方式来把打印信息printf到我们的串口助手。 在MDK环境中,我们常常使用Mi...

关键字: 串口打印 BSP BUF 缓冲区

现场总线技术以其独有的技术优势和特点,在现代分布式测量与控制技术领域中的应用已愈来愈广泛。各种现场总线的主控制器一般都内嵌有相当完善的、开放式的互联通信协议,它具有通信速度快、误码率低、开发设计

关键字: 总线系统 端口 缓冲区 CANBUS

在C语言中,用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。定义文件指针的一般形式为:FILE  *fp;这里的FILE,实际上是在stdio.h中定义的

关键字: C语言 缓冲区 file结构体

一.缓冲区知识1.什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的

关键字: c++ io 缓冲区

作者:曾宏安,华清远见嵌入式培训中心高级讲师 学习过编程的朋友都知道ANSI C里定义的标准I/O是一种带缓冲的高级磁盘I/O,目的是尽可能减少使用read和write系统调用的次数,从而提高I/O效率。标准I/O提供了...

关键字: 标准 缓冲区

在图像处理、瞬态信号测量等一些高速、高精度的应用中,需要进行高速数据采集。USB 2.0接口以其高速率等优点渐有取代传统ISA及PCI数据总线的趋势,热插拔特性也使其成为各

关键字: USB CY7C68013 芯片 系统方案
关闭