阅读:3601回复:12
关于PDIUSBD12(help me!!!)
大家好,me是一个兵,正赶上科技练兵的大好时代。想为某仪表作个USB接口,任务很紧,看了一个月的WDM,USB(简直是越看越头晕,别笑话,me基础差,再看下去恐怕要做恶梦了)用的是philips的PDIUSBD12芯片(不要问我为何偏偏喜欢她,在武汉的芯中只有她)me copy了40多页的interface和firmware说明,其他的什麽都没有。me向店主要例子程序和例子电路,他说要订50K才给天哪me又不是倒爷。现在me真的一筹莫展,期待着各路英雄拔刀相助。给me提供点PDIUSBD12资料例子什麽的,好像USB芯片很多。北京的朋友能否指点一下不管什麽芯,北京哪儿有卖,最好买几片就能得到例子、详细资料过阵子我要去北京。另外有个问题请教一下各位,写WDM的工具很多如98ddk、windriver、driverstudiodriverworks.写usb驱动那个比较好,特别是对像me这种新手、vc++1.52是什麽(是VC1.52版吗?)
|
|
沙发#
发布于:2001-07-30 16:10
过两天你就可以下载我的设计,一看就明白了。实在等不及的话,给我发妹儿。
|
|
|
板凳#
发布于:2001-07-29 22:53
请问“其次, 用p2.7接cs,在你每次movx的时候,地址都要调整,否则会改变cs的电平,这样太麻烦.对p2.6也一样.你应该把cs接p1或p3的一个i/o,a0接VCC,ale,wr,rd互接,这样是总线方式; ”中“a0接VCC,ale,wr,rd互接”是什么意思啊?怎么具体接啊?
如果我用I1.1口接CS,那么我们访问其内部寄存器时,地址应该怎么写啊? |
|
|
地板#
发布于:2001-07-27 11:02
没有DIP的,全都是SOP。做实验的时候很烦。
|
|
|
地下室#
发布于:2001-07-25 20:58
大家好,我在北京出差,北京朋友谁能帮我找找北京哪儿有PDIUSBD12 DIP封装的芯片卖?
|
|
5楼#
发布于:2001-06-20 08:45
D12只认LSB,所以你给它1和ff是一样的.
不管你用是否用总线方式,0x0000和0x4000都是错的!你现在的错误和我当初一样,就是把它的工作方式都弄混了.应该记住:如果用总线方式,就不要用I/O口方式. 首先, A0=1是command,=0是data,你的0x0000和0x4000正好反了; 其次, 用p2.7接cs,在你每次movx的时候,地址都要调整,否则会改变cs的电平,这样太麻烦.对p2.6也一样.你应该把cs接p1或p3的一个i/o,a0接VCC,ale,wr,rd互接,这样是总线方式; 如果用i/o方式,a0,wr,rd,data0-7都是要用i/o来操作,ale不用,你就对着d12的datasheet来模拟时序吧! |
|
|
6楼#
发布于:2001-06-19 20:28
请教rayyang2000大哥,你的那个#1,#0是哪儿来的呢?
我也是想做一个最简单的收发数据的东东,我将p2.7接到片选脚,将p2.6接到A0脚,那么我的D12Command和D12data分别是0x0000,0x4000,对吗?所以发命令的时候就是outportbD12Command,0xF0),数据就是outportb(D12data,DATA)不知这样想对不对?请各位指点一下! |
|
7楼#
发布于:2001-06-18 09:41
1. 如果你是用总线方式和D12通讯:
inportb -> movx dptr, a outportb -> movx a, dptr 其实,就是把D12当作一个外部RAM来读写; 2. yes.Interrupt Register的bit 0; 3. 如果是用51的总线方式,就是把51的ALE,RD,WR和D12的ALE,RD,WR对应相连,P0接D12的D0-7,就把A0接VCC,用下面的代码发送SetAddress: mov dptr, #1 ; 给奇数地址发送命令 mov a, #d0h movx dptr, a mov dptr, #0 ; 给偶数地址发送数据 mov a, ADDRESS or a, #80h ; 把地址的最高位设为1(Enable Address) mov dptr, a 如果你没有用总线方式,比如没有把ALE,RD,WR相连,就要控制A0并且把P0当作普通的I/O口来操作。 |
|
|
8楼#
发布于:2001-06-18 00:21
有几个问题请教一下各位大虾:
我正在用d12做个usb接口。现在还是测试阶段。实现最基本的I/O就行了(用msc51做cpu)。 1、我在philips网上down了它的评估电路和firmware的例子。它使用两台pc机做调试用。对我这么简单的问题是不是没多少帮助还是是我没有发现它的价值请各位指点。它的inportb(),outportb()是怎么会事,是怎么实现"All I/O access to PDIUSBD12should be implemnted by the two function" 2、usb设备上电、主机对其列举。如主机送一个set_address信号给d12,d12是否使51产生一个中断。51读哪个register知道是set_address。 3、d12 interface 说明上的command description对command的具体操作不是很明白。 如: Set Address/Enable Command :D0h Data : Write 1Byte 具体是否这样: 1、51设A0=1 2、再给DATA端口送D0h 3、51设A0=0 4、再给DATA端口送地址 |
|
9楼#
发布于:2001-06-16 10:33
在www.usb.org\developer的webboard上有很多关于PDIUSBD12的讨论,你用D12搜索一下。我最近正在写它的firmware,欢迎你来信讨论。
|
|
|
10楼#
发布于:2001-06-15 22:16
我也当过兵, 但没什么好印象, 不过忙还是可以帮的.
看:www.semiconductors.philips.com/usb/products/interface/pdiusbd12/ |
|
11楼#
发布于:2001-06-15 19:28
heming:
谢谢你的HELP,但是我到PHILIPS网站逛了半天;也没找到一个例子,好人做到底吧,帮我找找。为我们的国防现代化做点贡献吧。 我去的网址 http://www.semiconductors.philips.com/similar/PDIUSBD12D [url]http://www.semiconductors.philips.com/pip/PDIUSBD12D [/url] |
|
12楼#
发布于:2001-06-15 17:43
到 philips 网站看看, 那里有多种 D12 的例子, firmware源码,
评估电路, 还有 PCB版图. |
|