查看: 7209|回复: 4

[MQX] MQX USB STACK问题请教

[复制链接]

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
发表于 2010-5-30 17:20:34 | 显示全部楼层 |阅读模式
 hi,shenli cutworth
我最近玩mqx usb stack的时候遇到些问题,有些困惑,特请教二位。
1. mcf52259的usb otg模块的OTG_STAT寄存器,里面的bit7是"indicate the current state of the ID pin on the USB connector"我的疑惑是那种mini usb接口有5个pin,其中的ID pin的状态怎么与这个寄存器中的bit7联系起来?因为52259并没有专用的引脚与这个ID pin连接。我看M52259EVB是讲usb connector的这个IDpin连接到52259的CTS1上的,然而cts1并不是一个专门用于ID 状态检测的引脚,我的理解是,其实我可以把这个CTS1换成任意其他一个引脚的,随便用一个GPIO连接到ID PIN应该也是没问题的。那么如果是这样,cts1连接到ID PIN,这个怎么与52259内部的OTG_STAT寄存器的bit7关联起来的?
2. 我测试了MQXusb stack下面的几个example,能正常work的是device下的hid, host下面的massstroge。device下的cdc的virtual com不能正常work,host下的hid mouse不能正常工作。我碰到的问题是:
所有的example运行后,usb都能检测到设备,枚举什么的都看起来正常,比如virtual com那个example,我把板子插到PC,确实多了个串口,又比如,host的hid mouse example,插上鼠标后,通过串口调试助手可以看到mouse attach等信息。但问题是接下来就出错了。分别说明:
A。 virtual com这个example:
我试着用串口调试助手工具,往板子发数据,没有收到任何返回的数据,如果尝试改变这个虚拟串口的设置(baudrate),则串口调试助手死。跟进去发现。把板子插上pc后,会收到两个event,分别是USB_APP_CDC_CARRIER_DEACTIVATED  和USB_APP_CDC_DTE_DEACTIVATED ,最终会在条用void USB_Notif_Callback(uint_8 event_type,void* val,pointer arg) 
中处理,但是因为从来没收到USB_APP_CDC_DTE_ACTIVATED,所以start_transactions永远等于FALSE,这导致main_task里面调用的void TestApp_Init(void)函数里面最后干活的这段代码:
while (TRUE) 
    {
        /* call the periodic task function */      
        USB_CDC_Periodic_Task();           
 
       /*check whether enumeration is complete or not */
        if((start_app==TRUE) && (start_transactions==TRUE))
       
        {        
            Virtual_Com_App(); 
        }            
    }/* Endwhile */   
 
永远不会被调用,因为start_transactions!=TRUE,所以Virtual_Com_App(); 永远不会调用。
 
不知道这可能是什么原因。
 
注:我用的板子不是EVB,是自己做的板子,我这个板子上并没有用那种小的mini usb connector,而是用了两个普通的大的usb A和usb B座子,分别用作host和device接口。我也没有像evb板子上那样,弄个mic2026控制作为host时候的5V输出,我是直接把它连接到电源上去的。就是说只要查到usb a座子上,外部的设备就会被供电。
同样,因为用的是大的usb connector,它们本来就4个pin,没有ID pin,所以我也省掉了cts1与 ID pin的连接。
 
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

3

主题

87

帖子

0

中级会员

Rank: 3Rank: 3

积分
306
最后登录
1970-1-1
发表于 2010-6-3 15:54:33 | 显示全部楼层

RE:MQX USB STACK问题请教

OTG_STAT的ID 位是这个USB IP 保留位,在mcf52259上没有用到,因为它内部没有集成OTG的PHY,需要用外部OTG PHY来控制。

该用户从未签到

3

主题

87

帖子

0

中级会员

Rank: 3Rank: 3

积分
306
最后登录
1970-1-1
发表于 2010-6-3 15:58:19 | 显示全部楼层

RE:MQX USB STACK问题请教

你用超级终端试试CDC的连接,另外你的CDC的驱动正确安装了吗?

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2010-6-8 15:09:44 | 显示全部楼层

RE:MQX USB STACK问题请教

shenli你好
这几天忙,没来这里,cdc的驱动应该是没问题,用的inf文件就是MQX里自带的,应该没啥问题,驱动安装后,插上usb,可以看到windows xp的设备管理器确实多了个串口。

该用户从未签到

33

主题

441

帖子

0

新手上路

Rank: 1

积分
7703
最后登录
1970-1-1
 楼主| 发表于 2010-6-13 18:01:14 | 显示全部楼层

回复:MQX USB STACK问题请教

 shenli
 
 cdc的那个问题解决了,原因是PC上的串口工具必须要打开硬件流控制。
现在能work
 
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 20:35 , Processed in 0.091374 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表