logo

有关CH365的问题解答
* 需要设计参考资料(光盘资料可以参考FILELIST.TXT文档,网上资料更新)
下载CH365评估板资料CH365EVT.ZIP,有PDF文档和例子程序,例如ISA转换的说明CH365EVT/CH365ISA
/CH365MEM,中断的说明CH365INT,与单片机连接说明CH365M4B/CH365SPI,读写速度的说明SPEED365,
I/O地址的16V8程序,调试工具DEBUG365,PCB设计说明CH365PCB,设置PCI-ID的例子,VC/VB/BC的例子
* 原理图和PCB中的PCI引脚号和ISA引脚号是如何定义的
可以参考CH365的PCB设计说明CH365PCB,我们针对32位PCI总线,我们图中引脚计数是从元件面(B侧)
的左边(小)向右边(大),然后接着到焊接面(A侧)的右边(大),再到左边(小),我们图中的
PIN1-PIN62对应于B侧的PIN1-PIN62,PIN63-PIN121对应于A侧的PIN62-PIN1。保留引脚,一般不连接。
* 有些PCI卡工作不正常
1、如果是全自动布线的PCB,信号线比较乱,容易相互干扰,那么就有可能在个别主板上不工作,
自动布线的长度不符合PCI规范,并且抗干扰能力差。请参考PCB布线说明CH365PCB。
强烈建议全板PCB铺铜,并且接地,减少干扰
2、初次做PCI卡有可能对物理尺寸把握不准,容易出现接触不良的情况,在PCI规范中有精确尺寸说明
3、焊接导致的问题,包括引脚虚焊、金手指不干净导致接触不好等。
4、用了一段时间后搬动计算机导致PCI卡工作不正常通常是接触不好导致,PCI卡PCB的厚度是1.6mm
5、PCI信号线通常只能带一个负载,例如CLK只能接CH365,不能接其它IC,如果一定需要输出,那么建
议:缩短CLK走线长度,就近用一个高速的CMOS电路缓冲后,提供给其它电路,不能用TTL电路缓冲
6、如果是接双口RAM时数据不正常,那么要检查速度是否匹配,可以参考SPEED365程序中的说明,
使用60nS脉冲60nS间隔试试,因为有些双口RAM的速度达不到30nS,或者改为全字节方式读写
* 插了PCI卡后开不了计算机?
通常是PCI信号线短路,例如焊接导致PCI信号线间短路,或者PCI卡的尺寸不准导致插偏了引脚而短路。
也可能是CH365的数据线D1被下拉,导致进入外部ID的方式,但是却没提供外部ID。
* 在WINDOWS下找到新硬件但是无法安装驱动
四种情况,1是PCI引脚接触不良,2是CH365的PCI信号引脚虚焊,3是自定义的外部ID错误,4是修改INF
产生错误。前两种结果导致计算机从CH365获得的PCI-ID中部分位始终为1(断开后默认为高电平),相
当于修改了PCI-ID,由于与驱动程序文件INF中的PCI-ID不一致,使WINDOWS认为与驱动程序不匹配。
后两种情况中,ID错误可能是自行定义了PCI-ID,但是未同步修改INF文件中的ID,或者外部电路无意
中将CH365的数据线D1下拉,导致CH365进入外部ID的方式。
* 关于WINDOWS下PCI中断共享
PCI中断在硬件上是多个中断请求线“逻辑或”,PCI中断是电平中断。假定PCI卡A和PCI卡B共用一个中
断号12,那么,卡A产生中断或者卡B产生中断时,CPU都会收到12号中断请求,CPU的12号中断描述符只
有一个,不过,为了支持中断共享,操作系统会建立一个链表,分别是卡A的中断服务程序和卡B的中断
服务程序。当12号中断产生时,CPU先调用卡A的中断服务程序,卡A的中断程序检查卡A自身的中断标志
(PCI卡硬件要自己记住中断),如果是卡A的中断,那么卡A的程序就清除卡A硬件寄存器中所记忆的中
断标志,并且让卡A的硬件撤消中断请求,(PCI是电平中断,所以要记忆直到进入中断服务,完成后要
撤消),然后执行中断服务,完成后退出卡A的中断服务,并通知操作系统“这是卡A的中断”,操作系
统收到卡A的通知,则结束本次12号中断服务。如果卡A的程序检查自身的中断记忆标志,发现不是自己
产生的中断,那么直接退出卡A的中断服务,并通知操作系统“这不是卡A的中断”,所以操作系统将在
链表中,继续调用卡B的中断服务程序,如果卡B的程序检查卡B自身的中断记忆标志,发现是自己产生
的中断,那么就会让卡B的硬件撤消中断请求以及清除记忆标志,执行中断服务...。这是WINDOWS下的
大致中断处理过程,并非所有中断号支持共享,也并非所有PCI卡都支持中断共享,Windows也允许个别
PCI卡独立占用中断。CH365的芯片控制寄存器中的中断激活标志位就是中断的记忆标志。
* 关于应用层中断服务的特点
CH365的动态锭接库DLL提供了伪中断服务,实际的中断服务仍然是在驱动程序库完成的,只是在完成后
向DLL发了个通知,由DLL再调用伪中断服务子程序。由于涉及到系统层与应用层切换以及线程切换,
所以中断频率不能太高,如果太高,虽然驱动程序能够收到中断,但是等到通知到应用层,再调用客户
的伪中断服务程序,最慢可能需要10毫秒,从而在应用层丢失中断。如果产品的中断频率大于几百次每
秒,那么建议自己写驱动程序或者改写我们的驱动,在驱动程序中实现中断服务。
* 如何做WINDOWS驱动程序,WINDOWS DDK如何获得
我们的驱动程序全部使用WINDOWS 98/2000/XP DDK编译,同时支持WINDOWS 98/ME/2000/XP。DDK可以从
微软官方网站免费下载(订购芯片时如果需要我们也可以提供刻录光盘),除此之外,只需VC 5.0或者
VC 6.0编译器,完全不需要额外软件支持。这样做出的驱动程序代码效率高并且文件短小,通常我们用
INF安装信息文件而不是SETUP可执行程序,可以算是绿色软件。用户如果希望有更友好或者更简单的编
译方法,那么可以使用第三方的驱动程序生成工具,当然,那些软件通常都不便宜。
* 在WINDOWS进行I/O操作,如何确定I/O地址
其实在WINDOWS下通过CH365的动态链接库执行I/O操作,完全不需要了解I/O地址,因为如果当您只输入
偏移地址(偏移地址的值在0到0xFF之间),那么DLL会自动替您加上I/O基址得到实际地址再进行操作
* 如何实现简单的I/O输入输出
使用一个74LS244,其G端接IOP_RD,可以输入8位数字信号,使用一个74LS273,其CLR接PCI-RESET,其
CLK接IOP_WR,可以输出8位数字信号,另外,在不使用存储器功能时,CH365的A10-A15也可以作为数字
信号输出,其中A15还可以由工作模式设置其默认电平。需要更多I/O可以用82C55A或者地址译码后扩展
* 老的ISA卡都能升级吗
如果可以修改软件,那么都能升级。如果要求完全不改软件,那么,只使用I/O的ISA卡基本上都能直接
升级,如果使用存储器MEM,那么可以参考CH365MEM工具处理升级,如果使用中断,那么必须修改软件。
对于使用I/O的ISA卡,支持I/O块地址100H-3FFH,每块16个字节,在CH365评估板资料中有16V8程序。
* 使用CH365评估板以本地定址功能直接升级老的ISA卡,原软件无法显示数据有误
1、检查本地定址功能是否启用:J3的D4必须短路(D3、D2、D1断开),J5必须短路
2、检查I/O地址是否匹配:CH365评估板的本地定址的I/O地址由U3(16V8芯片)决定,默认情况下,具
体I/O地址由J4选择,24XH、25XH、一直到2BXH,请确认原ISA的地址是否匹配,如果不匹配,可以
将CH365/EVT/PUB/IOP_HIT或者IOP_HITX目录下的其它I/O地址的16V8程序用编程器写入U3后再试。
3、如果I/O地址确定匹配,还可以用下述方法检查,去掉原ISA卡,用DOS的DEBUG或者WINDOWS下CH365
调试工具读取指定的I/O地址,默认应该是0EFH(位4因为被下拉而呈低电平,其余默认为高电平),
而插入原ISA卡后应该是原ISA卡输出的数据。例如,CH365本地定址260H-26FH,那么不插ISA卡读取
260H应该返回0EFH,插入ISA卡并且该卡地址为260H,那么返回值将来自该ISA卡。否则,如果默认
值是0FFH,那么说明CH365本地定址功能未启用或者I/O地址没有选正确。
为什么:对于使用I/O的ISA卡,支持I/O块地址100H-3FFH??
为什么是100h-3ffh?
这人很懒,什么都没留下
多数ISA卡只用10位地址译码000h-3ffh,ISA主板自用000h-0ffh,剩下0100h-03ffh
为您服务
如果原先的ISA永乐12位地址译码,升级为PCI咋办呢?
这人很懒,什么都没留下
我的CH365 连了一个FPGA ,刚开始还可以启动机子,也能进入中断,现在老是开机启不动,换了一个插槽,可以启动,也能获得中断号,但就是进不了中断.现在我把FPGA里的程序改了一下,可以启动,但不能获得中断号.请问这是什么原因,多谢你的指点.谢谢!
这人很懒,什么都没留下
我有一块ISA式的控制卡,现在加入CH365后,将它转换为PCI式的,请想,我的CH365需要烧程序吗?
这人很懒,什么都没留下
为什么在WIN98里运行正常,在WIN2000里就不行了,为什么,用什么方法可以改进吗?
这人很懒,什么都没留下
借此我也问一下,对于插好的雕刻机控制PCI卡,有几个问题:
(1)如何才能知道它此刻的I/O基址(没有定址)?若用DOS下的DEBUG命令符该如何操作?除此外还有什么办法?
(2)如何用DEBUG365调试,我从网上载下的无法用,显示:无法打开ch365设备,在测试前,我都该做什么?
(3)CH365的中断响应,介绍一下
求教斑竹!!!
谢谢..
我只要砖头,其他的都不要...
1.I/O基址是系统自动分配的,具体操作在INT1A中有。
2.无法打开设备,是 不是驱动程序就没有安装好。
3。 您想知道中断的那一部分呢?
如果你呼唤那山,那山不向你走来,你就朝那山走去。
INT1A是什么意思?我也遇到和xiaoxiao同样的问题。主要是想知道怎样获得地址。有没有现成的源程序?请求给予,以便研究。不胜感激。
菜鸟一个
中断 1A是 PCI的功能调用,获得基址的程序在CH365DOS.C里面有。
如果你呼唤那山,那山不向你走来,你就朝那山走去。
好的。谢谢,我去看看。
菜鸟一个
怎么查找我的ISA卡的基地址呀,我不知怎么做
这人很懒,什么都没留下
我要定址转换,但不知我的ISA卡的基地址,请高手指点下
这人很懒,什么都没留下
请教版主,我要做一个ch365评估板的驱动,主要实现i/o读写和中断功能,驱动程序中要用的你们提供的那个CH365DLL.DLL吗?
(在驱动方面我还是个菜鸟,我要用你们的评估板搭电路,用的是引出的PCI针脚)
学习中......
请问那位大哥有CH365CAN.ZIP里Demo的CanDLL的源码啊?给我发一份吧,谢谢了.28111760@QQ.com
我要学习
只有登录才能回复,可以选择微信和github账号登录