阅读:2136回复:26
多问题,多分
1、P0^4设置为nRST,是51芯片的P0口吗?怎么可以既做数据传输又做复位引脚?你用的什么芯片是什么封装。
2、EZUSB中EZ代表什么?为什么我们都用51芯片,却都在提这个词汇? 3、在sl811.h中定义了sl811的寄存器,用#define CtrlReg 0x05 这样的语句,就这样直接定义,在引用的时候就可以找到这个寄存器而没有找到片内ram 中? 4、其中还有许多其他定义,如chapter9,是做什么的? 5、EP0_BUF=0X10; EP1_BUF=0X40;这两个地址分别是data0和data1的缓冲器首地址吧,上面说这两个数据都是64个字节,可是这两个地址差是48, 6、u盘是mass storage 设备,就一定要做全速设备处理是吧。 |
|
最新喜欢:![]()
|
沙发#
发布于:2004-08-21 13:50
这些天我一直在看程序,随着一个问题的解决,就有几个问题的出现,现在我又要问几个问题了,希望大侠帮忙
1.SL811的A0口是不是随便和哪个I/O口相连,能对它进行置位,清零就好了? 2.我把A0口和P2.7相连,那么译码得到的sl811地址就是0x8000和0x8001是吗?分别是读和写? xdata unsigned char SL811H_ADDR _at_ 0x8000 这样的命令 3.sl811(28脚plcc封装的)的第7脚是时钟模式,置1时为4倍始终模式,这个模式是干吗的?始终模式和外部晶振有什么关系? |
|
|
板凳#
发布于:2004-08-20 18:29
我没有你那个芯片的原理图.
"要48M的晶振",是谁要?如果是芯片的话我建议你还是买一个吧.因为 大多数芯片对频率的要求都是很严格的,象我用的1581是12MHZ,那你 就只能用12MHZ的. "我不是兄台",难不成是英台?呵呵. |
|
|
地板#
发布于:2004-08-20 17:22
你好,我已经在QQ上请求通过你验证了,你在的话就上线,我发给你。
而且我不是兄台。 |
|
|
地下室#
发布于:2004-08-20 16:45
我在WWW.USB.ORG上下载到了一些源程序,可是我不知道我做的是叫做嵌入式主机还是其他的主机,里面分三个部分:主机,嵌入式主机和设备,我不知道我该看哪个,目前我看了嵌入式主机,已经看完了两个程序,CH811.C和CH811.H,积攒了一大堆问题想问。 兄台,我也去了www.usb.org,可是我没有找到源程序啊,可能我的E文实在是太差了,你能够指点一二吗??我是刚刚入门USB的,希望和你多多交流,共同进步!!qq:44948016 |
|
5楼#
发布于:2004-08-20 11:17
知道啦,我在做,有人有原理图可以提供给我吗?我从usb.org上下的那个太复杂了,有许多其他的东西。而且要48M的晶振,我没有,只有12m的16M的和24M的,我自己画的我怕错,我们这里没有人懂这个,没有人给我指点,如果硬件错的话,怎么调试也都不行的阿。
|
|
|
6楼#
发布于:2004-08-19 13:28
对于HOST来说,当一个设备接入后,你的USB控制芯片应当收到一个中
断.然后发送一个总线复位信号给设备(你发还是芯片自己发?),然后, 获取设备描述符和设置描述符,你根据获得的信息,判断该干什么. |
|
|
7楼#
发布于:2004-08-19 12:26
metalwin,呵呵,又是你在回答我的问题,谢谢你哦,我做的是HOST,
|
|
|
8楼#
发布于:2004-08-19 11:28
"这时候就要进入软件中断?在软件中断中进入枚举?或者是在主程序中进入枚举",??
在设备接入后,产生中断,进入中断处理程序,你可以在这里处理中断, 也可以在这里作简单的处理(如:设置状态),然后跳出中断,在你的主 程序里处理事件. 另:你做HOST还是DEVICE?呵呵,不记得了. |
|
|
9楼#
发布于:2004-08-18 18:05
感谢两位的回答,不过现在我还没有空去看模拟电路,我没有学过模拟电路和数字电路,没有学过电路分析,甚至连单片机接触的都几乎没有就开始做USB,真的是一团糟,所以经常问一些不该问的问题,呵呵,很不好意思。
我在WWW.USB.ORG上下载到了一些源程序,可是我不知道我做的是叫做嵌入式主机还是其他的主机,里面分三个部分:主机,嵌入式主机和设备,我不知道我该看哪个,目前我看了嵌入式主机,已经看完了两个程序,CH811.C和CH811.H,积攒了一大堆问题想问。 里面有枚举的部分,而且很完备,是不是我只要把U盘插入,硬件电路就自动检测到有USB设备插入,这时候就要进入软件中断?在软件中断中进入枚举?或者是在主程序中进入枚举? 我用的是28脚的SL811HS芯片,PLCC封装,和51芯片组成电路图,我很担心自己硬件电路搞错了,上次差点搞坏了我们的仿真器。 |
|
|
10楼#
发布于:2004-08-18 14:21
漏级开路是指场效应管(他包含源,漏,栅三级)的漏级丢空,在这种情
况下,一般是将漏级接一个上拉电阻.这时,低电平导通,高电平阻塞. 与此有关的还有集电极开路(就三极管而言). |
|
|
11楼#
发布于:2004-08-18 14:14
还问一个别的问题,请问什么是漏极开路 呵呵,这个问题恐怕要查一下模拟电路了,或者到数字电路板去问问,这个版估计现在还记得这个的人不会太多! :) |
|
12楼#
发布于:2004-08-18 09:27
还问一个别的问题,请问什么是漏极开路
|
|
|
13楼#
发布于:2004-08-18 08:54
正确.
|
|
|
14楼#
发布于:2004-08-18 08:20
每一个USB接口芯片都会提供几个(不同芯片个数不同)端口(ENDPOINT).每个端口又对应几个寄存器(如:BUFF). “几个寄存器”,明白了,我以为是一个寄存器的。我只要发送命令控制sl811的端点,让它明白我要它做什么就可以了对吧 |
|
|
15楼#
发布于:2004-08-17 16:47
每一个USB接口芯片都会提供几个(不同芯片个数不同)端口(ENDPOINT).每个端口又对应几个寄存器(如:BUFF).这些端口准确的
说是属于该接口芯片的.而你发送的命令准确的说也是发送到相应的 端口.然后你的固件程序再根据你的命令作出不同的反应(操作设备 或端口),所以从宏观上来说,你的命令发送对象可以是设备或是端口. |
|
|
16楼#
发布于:2004-08-17 16:01
metalwing,谢谢你哦,经常都是你和其他几个高手在回答我提出的问题,呵呵,谢谢你们的耐心指点。
我对端点一直都觉得不是很了解,比如,我做的系统中应该有三个端点,一个是读,一个是写,还有一个是中断,这三个端点是在我主机中sl811的寄存器中吗? 还有,我的命令发送对象可以是设备或者端点,那么我命令发出去之后,应该是设备或者其中的某个端点接受是吗?这个端点是设备自己的是吗? |
|
|
17楼#
发布于:2004-08-17 15:48
??你的问题和假定我怎么对不上号?呵呵.
00H不是你分配的吧,好象是默认的地址,任何一个USB(2.0)设备在接 入时都是00H地址,HOST通过这个地址对设备进行枚举,并在枚举成功 后给设备分配一个系统唯一的地址(这个地址在设备拔除后被释放), 以便与再次分配.而且,他也不一定是01H,具体要看当时系统的负载 情况. |
|
|
18楼#
发布于:2004-08-17 12:29
谢谢你们,我还想问一个,书上说许多USB芯片本身都已经确定了端点的数量和属性,用户只能按照既定的端点进行编程,我用SL811做主机,假定有一个U盘插入接口(第一个设备),HOST检测到有USB设备插入,就会给它分配地址00H,然后进行枚举,枚举成功后给它分配地址01H,对吗?
|
|
|
19楼#
发布于:2004-08-17 12:17
2,EZ是cypress为他的一个系列芯片起的名字的一部分,你可以不用在意他的具体含义,它就像一款芯片的型号一样。
4,chaper9 指的是usb协议的第9章,协议上这一章主要讲了枚举的过程及实现,具体描述符的含义等内容,如果你用ez系列的芯片,那么这一章的内容你不需要了解很深,因为cy给你完整的例程,作的非常好,你不需要修改就可以使用。 |
|
上一页
下一页