CH372传输速率的问题。

查阅CH372资料,它支持USB2.0,请问下实际运用中它的速率能达到多少,能达到480MBPS么?实验板中给的程序传输速率能达到多少呀?

呵呵,这种支持不过是可以兼容罢了,实质上芯片是运行在12M的速率(即所谓全速)上,因为要让出USB数据包头等的占用,本来就不可能达到1.5M,另外因为外设组织数据和USB传输不能同时进行,实质传输速度应该不会高于640K字节。


我们实际测试的时候,采用CH374芯片,和计算机通信的速度可以做到1M字节/S,并不是象楼上所说的不会高于640K字节/S.


另外: CH372由于本身有固件,不考虑MCU的影响,速度能达到500KB,如果MCU速度比较快的话,推荐使用CH374,楼上所说的速度是实际测试的速度,不知道一楼的金碗乞丐你是怎么理论算出来的.


回复2楼hcn老师的指责:

  不好意思!楼主提出的芯片是“CH372”而非老师所指的“CH374芯片”。这“640K字节/S.”也已经高于以前看到贵公司公开的实测数据(红桃六老师也在3楼重新给出了同样“500KB”的结论)。

  因为混了五年的论坛,养成回复网友帖子的习惯,所以看到网友提出的问题又恰好知道一些公开的情况,所以顺手回复了几句,期望能够帮到他们而非故意贬低贵公司产品,事实上我自己正在使用贵公司的产品,且准备在今后的实践中全力推广贵公司产品,更不会本末倒置反倒跟自己过不去的哈。


  引用红桃六老师的问题:[CH372由于本身有固件,不考虑MCU的影响,速度能达到500KB,如果MCU速度比较快的话,推荐使用CH374,楼上所说的速度是实际测试的速度,不知道一楼的金碗乞丐你是怎么理论算出来的.]

  其实正如我楼上所述本来是根据公司以前公开的说法和一般推测回复了楼主的帖子。不过既然老师提出计算的理论,恰好前段时间自己确也因为需要曾经进行过简单的计算,公开在这里算是“班门弄斧”吧:

  首先CH372硬件结构决定了在实际运行中,分时进行下位单片机与上位机数据组织和传递的过程;单片机组织一个64字节的数据包,需要进行“获取中断状态”和“写入要发送的数据”两条命令和包括数量字节在内的65个数据,按最低要求数据之间的64个间隔和两个命令附加的3nS总时间为41.4nS。

  根据USB接口数据流传输对连续“1”逢六插一的标准,按“从最恶劣状态进行计算”的基本原则,按平均每字节9BIT来简化计算,已经不是最高的标准了,于是65个字节的数据包就有585BIT,占用48.75nS的时间,两者相加已经超过90nS!就是说即使按最理想的计算,在每1mS时间组织的一帧资料包中,最多也只能包含11个完整的数据包,即704个字节。

  实际应用中单片机指令速度一般不会正好符合整数标准、上述理想计算中也未包每帧资料包中还有其它因素的占用,所以把传输标准定在每帧10个包已经是最大限度了,这就是我的推算依据。


在每1mS时间组织的一帧资料包中,最多也只能包含11个完整的数据包,即704个字节。?这个数据是不对的,实际的UB批量传输的一帧最大的字节书为1500个字节,实际有效数据长度为1023个字节,其他为协议开销. 另外在推数据的过程中,其实不是发完一包才去推另一包数据,双缓冲模式下,可以在发送上一包数据的是就把这次发的数据包推到缓冲区里面去了,USB发送和MCU写不分时的,USB发送的同时可以把数据写到另一个缓冲区. 这种方法可以用来大概计算372,但是不适合计算CH374.CH372写一个字节的时大概1US,剔除其他时间大概为500KB/S


  呵呵,刚刚重新认真分析了一下,发现3楼的红桃六老师同样包含了指责的意思。

  首先对一个公司的员工自觉维护公司产品的声誉这种行为表示赞赏,然后是感觉到自己被误会了的委屈!实在说起来,本人是一个典型的“土八路”,所以一直以来提出的一些疑问或许与别人有不同,经常得不到预期的帮助也在情理之中,我还不至于因此而有什么怨言,相反到是在许多其他场合大力宣扬贵公司的优势。

  事实上我一直把贵公司当作自己的朋友,期望得到更多的帮助和指导,也愿意尽自己微薄的能力做一些对公司有利的事情,有时候提出一些建议或许在方式和言辞上不够恭敬,但至少动机还是积极的,希望公司不断发展壮大。而这个愿望恰恰建立在更好服务的基础上,所谓“忠言逆耳”,其他的就不多言了……


并没有指责,感觉你提出的问题都很精辟,只要您有疑问,我们会尽力解答.


金碗乞丐: 您好,首先我个人认为您具备很专业的技术,实际上我们回复客户的时候包括回复您的帖子的时候本身不包含任何的指责的意思,如果您理解出我们有指责的意思,那我在这里代表我和红桃六表示我们的歉意. 我们在论坛上面回复的任何数据都是经过我们自己测试得出的实际值,而非理论值. 实际在您一楼里面所说的"另外因为外设组织数据和USB传输不能同时进行,实质传输速度应该不会高于640K字节"只适合于CH372芯片,而并不适合于CH374芯片,所以才会出现我下面回复的CH374芯片的测试速度.由于在CH374芯片内部采用了双缓冲的方式,所以可以在进行USB传输的过程中将第2包的USB数据打包好,等待前一包的数据传输完成,这样相对于CH372来说,速度上面将近提高了一倍.(也就是实际测试的速度在1M字节/S左右) 对于您支持我们的芯片以及对我们提出的建议,我们表示忠心的感谢!!


  呵呵,衷心感谢两位老师这么快就做出反应!其实我的回复是因为楼主明确提出的疑惑是CH372芯片,所以其实应该说还是hcn老师误会了我回复的本意。

  地位不同当然回答问题的立场会有所不同。老师站在公司内部的角度考虑问题,向用户积极推荐更适合应用的芯片当然是正确的做法,而我只不过就具体问题泛泛而谈罢了^_^

  其实老师在2楼的帖子解决了我下一课题最大的传输速率问题!因为前些时间看到忘记是哪位老师回复的一个帖子,询问用户是否考虑到0.6nS的数据间隔,虽然感觉似乎与手册提供的数据不符,但却估计公司生产的芯片结构之间或许沿袭同类设计,甚至准备放弃对CH374芯片研究,也就自然损失了“速度在1M字节/S左右”这样本来可以做到的好成绩(根据手册提供的参数个人感觉实质应该可以达到1.2M字节/S以上)。


只有登录才能回复,可以选择微信账号登录