开发产品过程中,经常遇到用用同1款芯片开发不同功能的设备,如CH365同时开发了I/O控制卡、通讯接口卡、以及数据采集卡,当产品投入应用时,尤其是在同一台电脑中使用,需要分别识别出不同的PCI卡。

识别区分卡可以分2种情况:第一种情况,需要从驱动的安装就明确区别不同的卡,设备管理器中要求看到得是不同的设备。另一种情况,对设备管理器中的产品名称不做要求,只在程序操作时候,需分开识别不同的卡。以下针对这2种情况的实现进行分别说明:

一、区分产品名称:不同设备,不同ID

针对区分产品名称的情况,需要3步走:1- 启用外部ID模式;2- 修改CH365硬件ID;3- 修改驱动。

1- 启用外部ID模式

一般情况下,PCI 板卡直接使用CH365 芯片的默认设备ID。如果产品制造商需要设定为自己的设备ID 或者专用的设备ID,可以在系统复位后将数据线D1 下拉,对CH365 进行工作模式设定,使之工作于外部ID模式,并由外围电路提供新的设备ID。

2- 修改CH365硬件ID

首先明确下,驱动的识别取决于被安装硬件设备的ID,所以安装不同设备名称,就需要将不同的硬件设备修改为不同的硬件ID。即不同设备,不同ID。

硬件ID查看方式:设备管理器——属性——详细信息——硬件ID。

   具体修改硬件ID方法:

A)CH365的D1引脚下拉,启用外部ID模式;

B)自定义的PCI 板卡的设备标识(Vendor ID,Device ID,Class Code等),写入可编程器件  (例如16V8 等);具体编程可参考:CH365EVT/PUB/PCI_ID/SPLD/CH365ID.PLD

C)CH365可以通过可编程器件模拟ROM 芯片,设定为自定义的ID。

3- 修改驱动

根据不同的ID以及不同功能板卡的命名要求,修改CH365DRV中的INF,和所设置的自定义ID一致。具体修改可参考:CH365DRV/EDIT_INF/SAMPLE/CH365INF.INF

二、不区分产品名称:不同设备,相同ID

由于硬件ID相同,那么驱动不做改动,也不用设置外部ID,在调用程序操作时候,识别不同的卡可将不同的本地端8位数据信号线D7~D0 采用上拉或者下拉的方式设定为所需的高电平或者低电平,再通过程序读取即可判断不同的板卡。

CH365 被复位后根据D7~D0信号线的默认状态设定工作模式以及参数;而这些信号线在作为8 位数据总线被驱动时,因为一般外部设备的驱动电流不小于1mA,所以上拉或者下拉不会影响其对数据总线的驱动;另外,CH365 仅在被复位后的1uS 内一次性设定工作模式以及参数,所以,如果外部设备的驱动能力很小或者是OC 集电极开路驱动,则可以仅在复位后的短时间内实现下拉,而在其余时间屏蔽下拉或者转换成上拉。数据线的状态可以从PCI 设备配置空间41H 中读取,例如:在D2、D5、D6、D7 引脚上可选地连接下拉电阻,供应用程序识别板卡功能。

以上为用同样的芯片、识别出不同的PCI卡具体操作方法,希望对您的需求有所帮助。

用同样的芯片,如何识别出不同的PCI卡?相关推荐

  1. 有“嗅觉”的电脑:英特尔神经拟态芯片能嗅出危险化学品气味

    2020年3月17日,英特尔研究院与美国康奈尔大学的研究人员在<自然-机器智能>(Nature Machine Intelligence)杂志上联合发表的一篇论文,展示了英特尔神经拟态研究 ...

  2. 解决j-link无法使用以及keil识别出山寨j-link的解决方法

    当我们拿着TB上卖的80块钱一个的J-link ARM山寨调试仿真器做学习或者开发时,突然,你的J-link指示灯停止闪烁了.这时候请不要着急,这很可能是J-link内部固件损坏的问题,只要我们重新给 ...

  3. quartus编译错误不支持芯片_硒鼓粉盒芯片不识别、耗材佘量错误、打印机亮红灯问题解决方法...

    硒鼓的正确使用方法 一.准备更换新的硒鼓粉盒前,应先把粉盒左右上下来回摇晃几下,再将密封条完全抽出,(作用,主要是因为粉盒长时间没有使用,粉盒内的碳粉已经沉淀,硒鼓在使用前充分摇晃后使到粉盒内的碳粉有 ...

  4. android开发期间使用真机调试但系统无法识别出真机

    前言 前些天重装了系统,好不容易把所有的软件装好,结果发现打开android studio真机调试却出了问题. 一.症状: 1.手机端设置完全没问题(打开了调试模式......) 2.电脑端右下角不出 ...

  5. java写出http数据包_java用jpcap怎么识别出http和https的数据包?

    问题简述: 利用java的第三方库jpcap写抓包程序,求解怎么识别出http和https的数据包(就只要能判断出是http协议或https协议即可). 测试的解法: 1.在tcp包(jpcap自带T ...

  6. 并且确定已经识别出了主要的HTML5技术风险

    他们完成了哈德逊湾式启动,并且确定已经识别出了主要的HTML5技术风险.他将风险和日程安排告诉了他的上司诺姆.你就不能再早点完成项目了吗?诺姆的一句话将克里夫送回了团队,步履蹒跚.克里夫与团队又花了一 ...

  7. java 检测表情符号_一个能在字符串中识别出 Emoji 的简单工具 (支持JavaScript和Java)...

    一个能在字符串中识别出 Emoji 的简单工具 特性 支持 Unicode12 规范 基于 EBNF 状态机的 Emoji 判断,比正则表达式更易维护 准确判断含有 Emoji 的字符串长度 准确切割 ...

  8. 查询手机号段对应地区编码_Elasticsearch实战 | 如何从数千万手机号中识别出情侣号?...

    1.问题描述 您好,请教个问题.我现在有2千多万的手机号码信息保存在es里.5个分片,3个节点. 现在的需求是将后八位相同的号码匹配到一起,重新放到一个index里.组成情侣号.方便后续查询情侣号列表 ...

  9. 识别出脸部以及给脸部打马赛克

    识别出脸部以及给脸部打马赛克 原始图片 & 打马后的图片   说明 1. 通过CIDetector来识别出脸部获取相关数据 2. 将CoreImage坐标转换为UIKit坐标 3. 将脸部区域 ...

最新文章

  1. B样条数据点反求控制点绘制曲线(源码)
  2. stm32 内部sram大小_在SRAM、FLASH中调试代码的配置方法(附详细步骤)
  3. c语言单选题大全,C语言单选题(五)
  4. 理解Spring框架中Bean的作用域
  5. java dvr_java实现海康NVR/DVR设备工作状态获取
  6. CCNP-EIGRP路由认证(附实验PDF下载)
  7. 深度学习在植物种类及病害识别领域的研究
  8. 认知时代,IBM主机与LinuxONE交付更大业务价值
  9. 博客园美化资源网站链接
  10. 帆软 填报上传和下载
  11. python卡方拟合性检验_卡方拟合优度检验
  12. 笔记本电脑禁用自带键盘
  13. python开发部署时新增数据库中表的方法
  14. 2008¸ß¿¼×÷ÎĸãЦ¼¯
  15. python numpy 版本问题:error module compiled against API version 0xc but this version of numpy is 0xb
  16. R语言与多元线性回归方程及各种检验
  17. itu ftp address
  18. 语言缩写c-a,常见的国家语言缩写以及语言的代码
  19. 基金投资组合中的夏普率
  20. C语言代码程序运行不出

热门文章

  1. 【DIY电动滑板车】
  2. 模仿 微信8.0下拉出现小程序 - 二楼页面
  3. 全球及中国运动饮料市场品牌营销状况与消费潜力预测报告2022-2028年
  4. Gbase 8a 修改 max_user_processes 参数不生效
  5. 通过TreeMap 和 冒泡算法对JSON 进行排序
  6. 大一 JAVAOOP-T2 面向 对象 进阶- 实践任务指南(美和易思)
  7. 亚马逊测评有哪些好处?亚马逊测评该怎么做?
  8. 手机里堪称神器的APP,你用过多少个?
  9. JDBC 获取数据库的连接方式
  10. 【微服务|Spring Security⑱】spring security授权汇总