完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 本帖最后由 IFLabs 于 2015-6-21 16:34 编辑 大家使用Cypress公司的USB接口芯片CY7C68013A觉得资源够用吗?我们知道CY7C68013A系列USB接口芯片采用的是Cypress修改版的8051哈佛构架,芯片外部的程序存储器和数据存储器是分开的,而在芯片内部两者是共用的,也就是采用的是冯·诺依曼体系结构。CY7C68013A内部提供了16KB的程序/数据RAM,即可以作为程序存储器也可以作为数据存储器。如果用户程序代码大,则可以自由使用的数据RAM就少。也就是说如果单纯使用CY7C68013A片内的资源,那么程序最大16KB,数据存储器就为0了。这在现在的某些场合显然是不够用的。那么如何扩展CY7C68013A的程序存储器和数据存储器呢? 我这里先简单介绍一下CY7C68013A的存储结构,更详细的还需要参阅Cypress官方手册。作为Cypress全功能的USB2.0芯片,CY7C68013A-128AXC提供了片外程序存储器和数据存储器扩展能力。注意,只有CY7C68013A-128引脚的才有哦,其他精简版的芯片不具备扩展能力的。 CY7C68013A-128AXC有一个EA引脚。EA=0表示首先使用片内的RAM作为程序存储器,如下图所示: 这里,程序从片内的0x0000地址开始存,片内16KB。如果程序不足16KB,则只使用片内的就够用了,16KB中剩余的就可以用于数据存储器(注意,是使用XDATA保存的数据)。如果程序超过16KB,那么超过的部分只能保存到片外的存储芯片中,由于统一编址,所以片外的程序存储器只能使用48KB。这样片内和片外总共可以达到64KB的程序存储空间。而对于数据存储器来说,片外扩展的数据存储器与片内也是统一编址的,所以只能使用40KB的地址空间,需要避开低16KB的片内RAM和高8KB的USB端点BUF等。 在这种方式下,一个极大的好处是可以使用Cypress的固件自动下载功能,可以通过上位机下载固件或者I2C EEPROM来加载固件。这个功能只限片内的16KB RAM,片外扩展的可没有这个福利哦。 如果EA=1,则表示直接使用片外的程序存储器,如下图所示: 这里,程序只能存储在片外的存储器,可以直接使用连续的64KB的存储空间。片内的16KB则专用于数据存储器。当然,此时也可以在片外继续扩展数据存储器,其有效地址空间也只有中间的40KB。这种方式虽然可以使用很大的程序存储器和数据存储器,但是其有一个很大的不方便。也就是不能使用Cypress的固件自动下载功能。这就需要用户直接通过第三方烧写器将程序先写入程序存储器,然后上电运行,否则是无法工作的。 通过以上介绍,大家应该知道如何扩展程序存储器和数据存储器了吧。哦对了,还有一些细节哦。向片外数据存储器/程序存储器的访问可以结合RD#、WR#、PSEN#、OE#、CS#这几个芯片,和一般的单片机扩展存储是类似的,特别的是不再需要增加锁存器,很简单方便的哦。再有就是一定要选择满足时序要求的程序存储器和数据存储器芯片哦,高速运行的CY7C68013A对片外存储器的要求还是比较高的。有需要的还是需要多多看看Cypress官方的说明。 如果你还是不知道怎么做,那就试试IFLabs的全功能USB核心板吧,基于Cypress公司的CY7C68013A-128AXC设计,集成了高容量的数据存储器,可以使用Cypress的固件自动下载/加载功能。用户程序代码最大可以到16KB,数据存储器除了使用片内的之外,还可以使用片外的高速数据存储器,这样就可以在程序中操作超大数据了,例如定义多个超大数组。重要的是,可以通过分页控制来实现超过手册限定的更大数据存储空间。可以说,这种设计兼顾的学习开发调试的方便性和资源的最大化扩展。同时,继承IFLabs一贯的作风,IFLabs全功能USB核心开发套件提供了全网最丰富、最权威的USB学习开发资料,包括USB基础知识、多平台驱动开发、多平台上位机开发、庞大的实例,并且还将不断更新哦。第一批客户已经感受到了IFLabs的诚意,一个重磅的Android智能手机USB接口开发实例已经为各位订单用户更新了,后期还将有更多服务资源更新给大家。 有了它,从此再也不用买USB书了,也不用报各种昂贵的培训班了,因为这里面包含了所有你需要的,甚至远超你买到的书。 来张美图吧: |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2062 浏览 1 评论
1818 浏览 1 评论
3629 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1757 浏览 6 评论
1504 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
491浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
347浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
407浏览 2评论
352浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
844浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 01:18 , Processed in 0.715825 second(s), Total 42, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号