40楼#
发布于:2001-06-20 11:00
谢谢yiduz同志及yiduz同志的同事。
我指的是iowr iord信号脉宽为300ns,片选(CS1,CS2)的脉宽仅比iowr iord信号宽一点点(10几ns)。我是在PCMCIA的68针槽上测的。 yiduz同志能告诉我关于“pcmcia-to-pci的hba”的一些情况吗(型号,厂家)?你的50ns的16bit读写是“pcmcia-to-pci的hba”完成的吧?你的卡是card bus的还是pc card的? 由于ISA比PCI的速度慢多了,所以我觉得你还是用“pcmcia-to-pci的hba”好些吧! 我的读写间隔是1000ns多呢,比你的慢多了 [pony 编辑于 2001-06-20 11:02] |
|
41楼#
发布于:2001-06-20 11:40
pony:
01h 03h 00h 00h ffh 20h 04h 89h 00h 00h 01h 15h 13h 04h 01h 4dh 69h 63h 72h 6fh 00h 47h 70h 72h 73h 43h 61h 72h 00h ffh 1ah 04h 00h 04h a0h 00h 1bh 12h c1h 01h 19h 3fh 55h 55h 55h 36h 36h 6eh abh 60h 00h 06h 10h dfh 00h 0fh 14h 00h ffh 这是我最新的配置数据,用DTPL分析了一下(当然用的是文件方式)没问题. 要求很简单,一个中断驱动的I/O操作,5V,PEAK=700MA, 地址空间start=600,range=10h,CARD SIDE 芯片有11根地址线,就这么简单,用你的软件分析一下我的数据便知道了.方便的话帮我仔细分析一下这个CIS数据,我实在是被这个CIS逼疯了. 如你所说用你的数据,系统没要INF,用我的数据,ME没要安装程序INF,屏幕右下脚有一个图标,打开,是一个未知设备,当然没有CISTPL_MANFID 和CISTPL_VER_1。系统启动后插卡,也没声音,但会加载CARD SERVICE,没有显示CISTPL_MANFID 和CISTPL_VER_1。以上都是在ME下完成的. 2000中我提示我要INF,但说UNKNOWM MANUFACTURE.具体是什么一种反应我还没仔细去看. 98我的笔记本用不起来,在98中,系统根本不认识CARD BUS CONTROLLER. 你要协议,我只能改天给你发过去,因为,我必须借助一个朋友的机器(别的公司的),为什么?因为没有PC没有光驱,笔记本没有MODEM,我计算机发邮件不可以有附件. 如有别的指教,可以直接发到我在公司的信箱里 PANSS@MICRONE.COM |
|
42楼#
发布于:2001-06-20 12:44
用你的数据,能用我的程序读出CIS吗?如果能,说明你的CIS没问题了,是由于没有给系统驱动程序造成的,你可以编一个简单的INF文件,然后在系统属性-》设备管理器中对未知设备升级驱动程序就可以了,最好将注册表中关于你的卡的东东先删掉(在regeidt中找Micro或GprsCar就能找到)。
CIS中CISTPL_CONFIG的TPCC_RMSK为0,好象不对吧。应该至少为1,因为你至少有config register呀!改成1试试吧。 我也挺奇怪的,如果你吧注册表中关于你卡的东东全删掉,然后再插入,系统应该提示找到新硬件,然后找驱动程序,找不到再提示你插入驱动盘才对呀(98何ME中)!只有你取消才会出现未知设备的(大黄问号)。 |
|
43楼#
发布于:2001-06-20 12:50
这个数据可以读出来
01 03 XX 00 FF 如 果XX=05 才可以读出 XX =00 ,读不出. 另外,我不知道读出后显示就是01 01 03 03 两个两个显示,还是CARD SERVICE有问题! 关于哪个00还是01的问题,我都试过,想看看后面一大堆FF是怎么出来的?(我前面和你说过的!)问题依旧存在! |
|
44楼#
发布于:2001-06-20 14:08
关于"XX"和屁股后面一大堆FF的问题,我回家后看看协议再说,OK?
|
|
45楼#
发布于:2001-06-20 14:33
ok!
还有,系统告诉我是未知设备,但并没有98中通常的大黄问号! 对了哪个简单的INF,中关于制造者 PCMCIA\MICRONE-GPRSCAR&VEN-XXXX&DEV-YYYY 到底用谁呢? -i -a 得到的东西不一样! |
|
46楼#
发布于:2001-06-20 15:03
我用的是-i。
没有大黄问号?那你能在插入前和插入后在系统属性-》设备管理器中看到设备变化吗?只要能找到新加的设备应该也能升级驱动吧。 如果你在INF文件中的[Version]的Class=一个新的设备类型(如GPRA Card),那设备管理器中除了软盘驱动器、端口、监视器。。。。。。。。外会多出一个GPRA Card的,把它展开就应该是你的卡了。这个在ME中没试过,在95/98下是可以的。 |
|
47楼#
发布于:2001-06-20 15:37
在ME 中的PCMCIA槽的结构下多了一个CARD SERVICE
原先只有两个CARD BUS CONTROLLER,就是这个是系统自己装载的。同时上面给出了一段内存资源,但没有I/O,中断。 在2000中提示要驱动程序!但就是说指定位置不包含硬件信息! 如果,方便将你写的哪个INF给我参考以下。 e-mail: PANSS@MICRONE.COM |
|
48楼#
发布于:2001-06-21 09:38
PONY:
你好!我用了你的数据,同样是不行,依旧是“指定位置找不到硬件信息”,看来是我的硬件有问题! 可是用你的软件读CIS的时候,只要数据 01 03 05 00 ff ,除了数据显示为01 01 03 03 05 05 00 00 ff ff (每个数据都出现2次,但只要取一个,数据都是对的,显示2次正常否?),当然后面有一堆FF ,老问题了! 要说时序,我看了一下,在PC_RESET信号有效时,READY信号已经变了,而且,EEPROM中的数据已经读到属性内存中了! 所以,好象硬件又没有问题, 或者说有些问题,好象也不影响啊?哎,实在是搞不懂啊!天哪!怎么会这么难啊? |
|
49楼#
发布于:2001-06-21 14:53
jeosph同志:
我看了一下关于CISTPL_DEVICE的协议,发现一些问题。 当CISTPL_DEVICE的数据为01 03 XX 00 FF时,XX是由Device Type Code(4bit)+WPS(1bit)+Device Speed(3bit)组成的(我们做的是PC CARD,所以最低3bit不是Address Space Indicator)。当XX=00,01,02,03,04,05,06,07时,即Device Type Code=0(DTYPE_NULL=0)时,Device Speed是没有意义的,即XX=01,02,03,04,05,06,07是没有意义的! 估计我的程序在处理Device Type Code=0而Device Speed!=0时有点问题!不知道操作系统有没有BUG! 关于”只要数据 01 03 05 00 ff ,除了数据显示为01 01 03 03 05 05 00 00 ff ff (每个数据都出现2次,但只要取一个,数据都是对的,显示2次正常否?),当然后面有一堆FF “中数据显示是用我的那个程序读出CIS后存成dat文件然后用UEDIT显示的吗?如果是,那么数据出现两次是正常的,我定义DAT文件是CIS映像文件,本来就是重复的。但后面的一大堆FF我还要看看! 我给你的CIS和INF在98和ME中在我的硬件上是能用的。 “指定位置找不到硬件信息”好象是指指定的INF文件中没有硬件信息,不是指你硬件。 你的硬件我感到应该没有问题了,至少在CIS这一部分!(因为能用我的软件读出CIS,说明系统能从你的卡中读出CIS)现在的问题是让操作系统能认可你设计的硬件(CIS中说明的硬件类型)!要不你找个98的机器试试看? |
|
50楼#
发布于:2001-06-21 15:14
PONY:
你好!用你软件读出数据后,我立即存成一个a.txt文件,打开此文件,所有的数据都是重复显示的(没有存成二进制文件)。你的意思是说要存成二进制再看一看? 今天上午,我借了2台别人的98机器试了一下(不过仍旧是TOSHIBA的机器),当我卡插入的时候(用你的CIS数据)依旧没有听到你说的,“滴”的一声(我多么希望能听到这种声音啊!) 现在我正在重新配置CARD SIDE一侧芯片的积存器,希望能有所该观,不过,配置ZILOG Z86017简直比猜谜语还难,一份使用说明书就是把积存器罗列了一下,甚至就提了一次就再也找不到了! |
|
51楼#
发布于:2001-06-21 16:57
pony:
你好! 我试了一下,发现问题还上出在硬件上! 比如我的数据是01 03 00 00 ff 用软件去读CIS数据,如果存为TXT文件数据的模样是 01 01 03 03 00 00 00 00 ff ff 如果是存成DAT文件,就不得了了,数据变成了 01 01 01 01 03 03 03 03 00 00 00 00 00 00 00 00 FF FF FF FF 成了四份了,看来还是我最初提出的问题,同一个地址CARD SERVICE 送了2次(原来我说用逻辑分析仪抓过一个地址+数据的),我现在搞不懂,为什么会送两次地址呢? 我想你的软件应该去调用CARD SERVICE的函数,至于送几次地址的事好象不应该由你控制,你所要做的就是调用GetFirstTuple 之类的函数就可以了?是不? 另外,我不知道是否有什么别的地方有什么讲究,比如,HBA那边可能会去判断某个电平,以决定对应的地址该怎么发送? 现在,我真的不知道该怎么办了? |
|
52楼#
发布于:2001-06-21 17:10
bingo!
你说对了,我就是调GetFirstTuple 之类的函数。 txt文件是01 01 03 03 00 00 00 00 ff ff就不对了。你分析的对,2次地址是有问题的。你找找用过Z86017的DX问问吧,问题真的好象出在CARD SIDE一侧。 你如果速度要求不高或项目还有时间,可以用用TI的PCMCIA接口芯片试试,型号我回家给你查查,这个我用过,可以交流交流! |
|
53楼#
发布于:2001-06-21 17:22
谢了!
看来,实在不行,我的换芯片了! |
|
54楼#
发布于:2001-06-22 14:22
pony:
还有一个问题向你请教. 在读取属性内存的过程中,pin 33 是一个WP/IOIS16复用的管脚,这个时候哪个功能在起作用? 另外,有一本资料(PCMCIA SYSTEM ARCHITECHTURE )上说,在读取属性内存的时候主机是16位,还是8位(16 bit host/8 bit host)数据的路径是不一样的,那么对于X86主机(HOST)到底采用的是16BIT/8BIT,是动态的?还是固定不变的? CARD SIDE一侧对应的也应该有一个变化的机制,所以,我怀疑我的问题或许出在这个上面. 我趴在地下,等着你的答案呢!! |
|
55楼#
发布于:2001-06-22 16:59
jeosph:
快起来,地上凉。 TI的芯片是TL16PC564,和ZILOG的不一样,但应该你也能用。 关于pin WP/IOIS16的问题,我还要回家看协议才知道了,呵呵 X86主机是16还是8我也要回家看看才能肯定。 CARD SIDE一侧应该有一个变化的机制,协议中关于ATTRIBUTE MEMORY的READ时序中说了,就是CS1和CS2不同情况下地址译码方式不同。不过我试过的笔记本都是只有CS1有效,8bit偶字节地址译码方式。不知道ZILOG的芯片对CS1和CS2是怎么处理的,我也再帮你好好看看器件手册。 |
|
56楼#
发布于:2001-06-22 18:55
今天下午,实在给逼急眼了,不是同一个地址的数据读了两遍吗?
我就将地址线从高向低串了一下,就是将系统A0废弃不用, HA1->A0,HA2->A1,依次类推,用软件读CIS,结果是数据读了四遍,卡放在ME中没反应,在2K中居然是要求读出了部分字符,属性是 oooooooooooMMMMCCC,然后要求分配资源。更糊涂了! |
|
上一页
下一页