|
发表于 2008-11-15 00:42:32
|
显示全部楼层
经过19天的来回,Cypress的工程师终于找到了问题的原因,但解决的方法还没有,他们要修改USBUART了。
原因在于USBUART不能处理0长度的CDC数据包。而XP(SP3)发送完8/16/24/32等8的陪数数据包后,跟着发送了一个0长度的数据包。这样UASUART就“死”掉了。Cypress工程师把责任归到了XP的SP3了。
我的台式PC正好是XP(SP2),我同样也试了一下。的确在SP2下是没有问题的。
不管怎样,Cypress不能让微软改动XP吧,只能他们自己更新USBUART了。怪他们自己没有经过全面的测试了。
要做到完美是不容易的。Cypress的PSoC还需要努力和完善。
以下是与Cypress工程师的交流:
Cypress Response Svyatoslav Paliy | 11/14/2008 06:17 AM | Web
Hello Ma Chao,
I'm author of USBUART user module.
This is defect appears on XP SP3 only. USBUART works fine on XP with SP2 and prior SP.
Failure reason: Starting from SP3 standard Windows driver (cdc.sys) send 0-length CDC packet after 8bytes or 16bytes or 24bytes or 32bytes packet is sent. USBUART can't able to correct resolve 0-length packet. I'll try to provide you hotfix as soon as possible.
Regards,
Svyatoslav Paliy
Level II support
Customer Comment Ma Chao | 11/14/2008 02:36 AM | Web
That is a big bug of USBUART I think. Pls. send this case to the top level support or the group who design the USBUART USERMODE.
It was 22 days past.
Thanks.
Customer Comment Ma Chao | 11/14/2008 01:08 AM | Web
Useing your Utility program and do the test.
When send 8bytes or 16bytes or 24bytes or 32bytes, the case is coming(attachments is 24bytes test). Other numbes bytes is ok.
3 students of mime have do this test with they PC, the problem is the same.
Sending 8bytes to USBUART, the USBUART will sendback zhe 1st 8bytes, then come down!
The OS version is Windows XP Professional 2002 Sevice Pack 3
24bytes.jpg
Customer Comment Ma Chao | 11/13/2008 08:25 PM | Web
my got!
8bytes.jpg
9bytes.jpg
Cypress Response Svyatoslav Paliy | 11/13/2008 07:37 AM | Web
Hello Ma Chao,
Unfortunatelly I can't reproduce case.
Please try on the other PC. And with other COM port utility.
Attached simple utility that send random data receive it back and check correctness.
Also please me know which OS version you use. Which utility use to verify USBUART ? If not standard please attach here.
Regards,
Svyatoslav Paliy
Level II support
Utility.zip
Customer Comment Ma Chao | 11/08/2008 09:29 AM | Web
I also do the same test with cy8c24894 and have the same problem. Mybe the USBUART have a bug?
Customer Comment Ma Chao | 11/05/2008 12:27 PM | Web
you can do the test: send the 8(or 16, or 24, or 32) bytes data at one time from PC to cy7c64215.
At the 1st, the 8 bytes data are come back to PC, then PC send any data to PSoC, it not works.
Customer Comment Ma Chao | 11/05/2008 12:22 PM | Web
you can do the test: send the 8(or 16, or 24, or 32) bytes data at one time from PC to cy7c64215.
Customer Comment Ma Chao | 11/05/2008 12:18 PM | Web
PSoC Designer 5.0
The Code is from USBUART Datasheet.
usbuarttest.rar
Cypress Response Svyatoslav Paliy | 11/05/2008 12:02 AM | Web
Hello Ma Chao,
Which PSoC Designer version you use ?
Plese attach your project.
Regards,
Svyatoslav Paliy
Level II support |
|