咨询USB-MIDI转接的设计

您好,我需要开发的产品是USB-MIDI接口的转换器嵌入到我们的产品中替代MIDI接口,现有类似的产品单纯USB-MIDI转接盒,接入PC后WIN98自动识别为USB Audio Device,可以不需要单独的驱动,可以兼容工作在已有的应用软件中,这些软件可以和USB—MIDI接口也可以和传统MIDI接口(就是高档声卡带的一对5芯德标大圆口)。我已经在WWW。USB。ORG网页上找到有关规范,请指教如何开发此产品或如果我定购一定数量的CH372、CH375芯片是否可以协助我完成设计,谢谢!我的EMAIL:个人信息保护,已隐藏

应该可以吧!!


这一部分好象要理解多层协议,包括: · Universal Serial Bus Specification · Universal Serial Bus Device Class Definition for Audio Devices · Universal Serial Bus Device Class Definition for Audio Data Formats · Universal Serial Bus Device Class Definition for MIDI Devices · Universal Serial Bus Device Class Definition for Terminal Types · Complete MIDI 1.0 Detailed Specification as defined by the MIDI Manufacturers Association. · General MIDI System Level 1 as defined by the MIDI Manufacturers Association.

大体看了一下关于牵扯到USB的协议感觉还可以处理,只要将相关的描述符送进PC就差不多了.下面就是从批量端点传输数据,从控制端点发相关的类请求就可以了. USB固件要用外置,你可以参考公司网上提供的外置固件例程.


做一个USB转MIDI的产品,硬件上只需要CH372(或CH375)和一个MCS51例如89C51,成本很低,另外,如果是做在整个产品中,还可以省掉该89C51,直接用你的单片机控制CH372


引用回复:做一个USB转MIDI的产品,硬件上只需要CH372(或CH375)和一个MCS51例如89C51,成本很低,另外,如果是做在整个产品中,还可以省掉该89C51,直接用你的单片机控制CH372

您说的没错,外面我们使用PIC单片机,如果我一次订购多少片CH372来做样品,是否可以帮我把单片机这边的底层设计好?我不关心底层是怎么干的,原始程序我不关心,只要能接口被WIN识别出来是USB AUDIO DEVICE,能在MIDI侧收发数据就可以了,MIDI本身的数据协议我们清楚的,最终是两个模块:第一:PC-USB转成MIDI接口一进一出。第二:用户机的单片机USB和PC的USB接口,被PC识别是和第一一样的:USB AUDIO DEVICE,软件识别为USB-MIDI就可以。如果您不方便作成PIC单片机的程序,也可以告诉我程序数据框架,我移植到PIC,或参考您的U盘模块方案(98元那个),用一个CH372加一个您的51单片机,将USB转成31.25K标准异步串口,PC识别是USB AUDIO DEVICE,软件识别是USB-MIDI就可以,我不关心那个51里面的程序,只要能用就成,我直接购买模块也可以。请指教!


另问一下,是否可以作拟向工程,我用CH375做个主机,然后把已有的USB-MIDI接口产品插上去,然后用仿真器读出CH375接收到的数据,然后模仿下来他的过程?


帮你做一个也不成问题.只是现在没有时间,可能要等上一段时间,你可以先参考一个外置固件的程序来自己写.有问题和技术支持联系.用CH375来读USB-MIDI的数据是可以的,你可以这样做.


做逆向工程意义不大,一是这个东西本身有规范,规范中写清楚的东西何必逆向,二是自己设计也不难,三是逆向有什么用,只能知道收发的数据是什么,而不知道为什么是这个数据,所以还是要看规范,逆向不如正向,快得多,除非你不能理解规范内容


我怎么做的原因是MIDI本身是个实时的低速串口,简单说就是接到琴上,按一个键他就发几个MIDI数据,不按键就不发,我们对MIDI数据很了解,USB-MIDI要和传统MIDI兼容就不会修改MIDI本身的数据结构,那么我们如果用CH375作主端口,用一个USB-MIDI成品对它连接,就可以采样下初始化的数据和通信时候的数据结构了,这可能更简单些,请指教了。


我看了一下USB-MIDI的进口成品合,里面用的是TI的芯片tas1020b和一片EEPROM 24LC64,及两个小芯片,对照TI的文件是典型的tas1020b应用电路,它里面是8052的内核,24lc64里是BOOT表,数据格式是公开的,这是一片USB AC97的接口芯片,就是一USB声卡,在这里只是用了其中的一部分功能,不知道里面的程序是否是加密的,或者利用这个24LC64里的BOOT表就可以容易移殖到CH375上?请指教


现在作的怎么样了? 出来了吗?


不能移,自己写很快的


我饶了个弯,用罗兰的串口驱动把它绕过去了


不用usb了?


用USB,用CH341加上WIN上的串口-MIDI的免费驱动一样解决了


引用回复:这一部分好象要理解多层协议,包括: · Universal Serial Bus Specification · Universal Serial Bus Device Class Definition for Audio Devices · Universal Serial Bus Device Class Definition for Audio Data Formats · Universal Serial Bus Device Class Definition for MIDI Devices · Universal Serial Bus Device Class Definition for Terminal Types · Complete MIDI 1.0 Detailed Specification as defined by the MIDI Manufacturers Association. · General MIDI System Level 1 as defined by the MIDI Manufacturers Association.

大体看了一下关于牵扯到USB的协议感觉还可以处理,只要将相关的描述符送进PC就差不多了.下面就是从批量端点传输数据,从控制端点发相关的类请求就可以了. USB固件要用外置,你可以参考公司网上提供的外置固件例程.

usbxf,tech:你们好! 国内有关USB-MIDI的BBS贴很少,今天看到此贴,想寻求各位的帮助,我在USB开发网发了贴,没人回.我做的实验也是USB-MIDI的转换,是根据USB-MIDI协议开发固件的,实验与应用程序(例如SONAR等)通信.WINDOWS系统已有AUDIO的基本驱动,包括MIDI.我是用PDIUSBD11做USB接口,按AUDIO-MIDI协议写了描述符.实验结果是:枚举通过,从主机往下传MIDI流是正常的,从设备往主机传不行,我们知道根,据USB协议,不管是上传还是下传,下面的设备都是被动的,也就是有主机的事务请求,才可以向主机发数据,我检查了,根本就没有端点输入的中断产生,怎么让主机发输入事务请求?我不知我的程序中少了什么?现在很想知道驱动和应用程序(例如SONAR等)与USB口勾通时干了些什么?希望得到高人指点,谢谢!


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