ilawp 发表于 2010-6-18 10:15:26

如何读出cy7c68013a板子上的程序?

先声明发到这个版也许有些不妥,但是我看到本版里讨论cy7c68013a的比较多,站长如果觉得不妥可以移走。

板子是ADI的ADISUSBZ,usb接口的,对应ADIS系列陀螺仪的开发板,如图
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_562313.JPG
(原文件名:{ABE6DA84-14D2-496D-A069-9ED9A9A4BE72}.JPG)

板子是双面板,很厚,可以直接凝自攻螺丝。
上面只有一颗cy7c68013a-128,一颗24lc001,一个L1A#005(估计就是1117,用以提供3.3v),一个三极管,若干接头。

我看到saleae logic的逻辑分析仪也是用cy7c68013a和一个eeprom,是不是这种板子只需要eeprom中的两个ID就够了?能不能直接用USB口读出,虽然读eeprom不复杂,但板子不是我的,我不敢改上面的东西。

如果哪位大哥教小弟一下,成功的话我就吧把原理图抄出来贡献给大家。这个板子硬件成本不超过100,却卖2000多,当然贵的是软件和知识,像saleae logic一样,我们没钱就只能不要脸了。

ADI的并口评估版有原理图,自己做过一个,很好用,但只支持到162xx,usb这个能支持大部分ADIS的数字陀螺仪。

ilawp 发表于 2010-6-18 10:22:38

图片是从ADIS16300_Demo_EvalTips.pdf,官方的文档上截下来的。模糊不说,连型号都错了,明明是16300,图上确是13130!而且该评估版明确表明,不支持16130,汗。。。。。
ADIS系列的官方文档错误不少,有些很简单的计算都不对,不知道ADI干什么吃的,还卖那么贵。

68000 发表于 2010-6-18 10:29:47

cy7c68013a本身内部没有FLASH,它的程序是通过PC机传到内部的SRAM中运行的,你看它的驱动inf文件,就能知道他的程序在PC机的那里放着

wkman 发表于 2010-6-18 10:30:39

应该是这样的吧:68031的“程序”是在pc驱动里面的,,另外板上那片24cXX里面存了USB的ID而已

ilawp 发表于 2010-6-18 10:50:10

回复【2楼】68000
cy7c68013a本身内部没有flash,它的程序是通过pc机传到内部的sram中运行的,你看它的驱动inf文件,就能知道他的程序在pc机的那里放着
-----------------------------------------------------------------------

意思是对于板子来说,只需要把EEPROM里的东西搞出来,就算‘山寨’完成了?有没有软件可以直接通过usb读出来这种板子上EEPROM里的内容,或者通过其它渠道获取ID,按照格式算出EEPROM里的内容?

68000 发表于 2010-6-18 11:04:34

【4楼】 ilawp
读出EEPROM里的内容有几种方法,
1。通过编程器
2。通过软件,好像是cyperr就提供这种软件
3。看cy7c68013的规格说,里面有提到EEPROM的格式,之后再看这个USB设备的PID和VID及USB设备字符串等,就应该算出EERPOM中的内容了

ilawp 发表于 2010-6-18 13:13:25

谢谢大家,我用usbview查的相关信息如下
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:         0x0456 (Analog Devices, Inc.)
idProduct:          0xEF00
bcdDevice:          0x0000
iManufacturer:      0x01
iProduct:             0x02
iSerialNumber:      0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:   Full
Device Address:       0x02
Open Pipes:            6

Endpoint Descriptor:
bEndpointAddress:   0x01
Transfer Type:      Bulk
wMaxPacketSize:   0x0040 (64)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:   0x81
Transfer Type:      Bulk
wMaxPacketSize:   0x0040 (64)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:   0x02
Transfer Type:      Bulk
wMaxPacketSize:   0x0200 (512)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:   0x04
Transfer Type:      Bulk
wMaxPacketSize:   0x0200 (512)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:   0x86
Transfer Type:      Bulk
wMaxPacketSize:   0x0200 (512)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:   0x88
Transfer Type:      Bulk
wMaxPacketSize:   0x0200 (512)
bInterval:            0x00

vid与pid应该分别是0x0456 0xEF00。原理图已经抄下,东西还回去了。晚上把图画一下贴出来吧

bbs2009 发表于 2010-6-18 14:47:47

ilawp 发表于 2010-6-18 22:13:57

我把电路的原理示意图画了一下,重开了个帖子
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4104775&bbs_id=1025
谢谢大家的帮助。虽然不知道对不对,我能得到的信息就这么多了

tercel8888 发表于 2010-8-12 12:22:48

用USBound 可以将PC下载的程序截下来。我就成功地读出过一个仿真器的程序。

mcupro 发表于 2011-2-23 12:18:25

回复【9楼】tercel8888
用usbound 可以将pc下载的程序截下来。我就成功地读出过一个仿真器的程序。

-----------------------------------------------------------------------

是这样,对命令包和数据包进行简单的分析解析就行。
页: [1]
查看完整版本: 如何读出cy7c68013a板子上的程序?