CH36X系列芯片Windows系统使用教程

news2024/11/18 22:30:19

概述

CH365是一个连接PCI总线的通用接口芯片,CH367/CH368是连接PCI-Express总线的通用接口芯片。支持I/O端口映射、存储器映射、扩展ROM以及中断,提供主动并口、SPI、I2C、GPIO等硬件接口。基于如上芯片可将PCI/PCIe总线转换为简便易用的类似于ISA总线的32位/8位主动并行接口,用于制作PCI/PCIe总线的计算机板卡,以及将原有板卡升级到PCI/PCIe总线上。相较于原产品,速度更快,实时性更好,可控性更佳,适用于高速实时的I/O控制卡、通讯接口卡、数据采集卡等。

驱动和调试软件支持CH36X芯片的IO、MEMORY、CONFIG空间以字节、字、双字三种方式进行读写操 作,同时提供了SPI和I2C接口函数,可直接操作EEPROM和FLASH等器件。支持4种中断方式的配置:上 升沿、下降沿、高电平、低电平,具体操作可参考下面的调试演示。

驱动安装包:CH367DRV.ZIP - 南京沁恒微电子股份有限公司

安装包说明:CH367/CH368的Windows驱动和DLL动态库,支持32/64位 Windows 11/10/8.1/8/7/VISTA/XP, SERVER 2016/2012/2008/2003, 2000/NT4.0/ME/98操作系统,通过微软数字签名认证,用于CH367和CH368的PCIE卡。

开发资料包:CH368EVT.ZIP - 南京沁恒微电子股份有限公司

资料包说明:该资料包包含两个目录文件

DEBUG368:CH36X的调试应用程序

PUB:CH368评估板说明和原理图

驱动安装和设备识别

  1. 在主机设备断电环境下将CH368板卡插入PCIe插槽(禁止热插拔)

  2. 解压驱动安装包

  3. 打开安装包双击应用程序

  4. 点击安装,等待出现安装成功信息即可

  5. 在设备管理器中查看CH368设备(快捷键win键+x)

  6. 鼠标右击选择属性可查看驱动信息和设备ID等信息。厂商标识:[1c00]设备标识:[5824]

  7. 打开解压后的CH368EVT文件,进入DEBUG368,点击应用程序DEBUG368.exe

  8. 软件打开后界面展示

硬件展示

CH368 评估板主要由 CH368 芯片、排针引出的 IO/MEM/地址/数据信号线、FLASH 芯片、 EEPROM 芯片、电源电路以及演示用 LED 组成,用于演示 PCI-Express 总线通用接口芯片 CH368 的基本功能:IO 读写、存储器读写、SPI 读写、I2C 读写、配置空间读写以及中断 演示等。该评估板还可以测试 CH368 自定义 PCIe 板卡的 ID 功能、调节脉冲宽度以及支 持 32 位 MEM 宽度读写等。

实物展示

元器件介绍

P1 是 PCIe 总线,直接插入计算机的 PCIe 插槽。 P2、P3 是 CH368 芯片本地端的控制总线,数据总线,地址总线等信号线引出。

U1(CH368)是 PCI-Express 总线的通用接口芯片。 U2(ASM1117)是1.8V 稳压管,为 CH368 内核提供电源。 U3(24C02)是 I2C 接口 EEPROM,可为 CH368 定制 PCIe 板卡的 ID。如果 CH368 启用外部 ID,则可以在 U2 中自定义供应商标识 Vendor ID 和设备标识 Device ID 等。如果未设置为外部 ID,则使用 CH368 默认 ID,此时 U3 可以省去。 U4(25F512)是 SPI 接口 FLASH,用来保存应用数据。在不测试 SPI 读写时可以省去。 U5(74LS273)8 位数据/地址锁存器,用来锁存 I/O 端口的数据。 U6(7805) LDO 稳压到5V。

JP1 为 CH368 电源选择: 1-2 短接 CH368 通过 PCIE 3.3V 供电,默认2-3 连接。 2-3 短接 CH368 通过 PCIE 3.3Vaux 供电,当系统关机后,CH368 不断电,可通过 WAKEIN 信号唤醒计算机(需要软件支持)。 JP2 为输出电源选择 1-2 短接输出5V 电压给 P3 所接外设供电。 2-3 短接输出3.3V 电压。

F1 是保险丝 C1、C17 是100UF 电源退耦电容。 C2、C4 是10UF 电源退耦电容。 C3、C5~C16、C18~C23 为0.1UF 电源退偶电容。 RP1~PR3 为2K 欧姆排阻,用于限流。 RP4~RP19 为200 欧姆排阻。 R1、R2 为0 欧姆电阻,其中 R2 用于支持 PCIe 唤醒信号线,不用时可以省去。 R3 为外接12KΩ电阻到 GND,用于系统参考电流输入。 R5 10K 欧姆电阻 L1~L11 为 LED,用于演示总线 I/O 写、通用输入输出信号读写,对应的信号包括: INT/SDX/SCL/SDA/SCS/ADDR/RSTO。

功能演示

点击界面底部的“打开设备”,软件自动显示设备信息

可在设备管理器中进行比对,设备管理器->右击PCIe扩展板卡CH368->属性->资源

IO/MEM脉冲宽度设置

a-功能

通过更改读写速度控制寄存器的位,来控制脉冲宽度。

b-实现

使用 DEBUG367/368.EXE 程序“脉冲宽度设置”功能来查看当前脉冲宽度和设置 所需脉冲宽度。

c-验证

读写脉冲的宽度从 30nS 到 450nS 可选。读写脉冲净宽度最小为 0nS,最大为 480nS;含建立时间和保持时间的读写信号总宽度步距为 30nS,最小为 60nS,最 大为 510nS

d-演示

当前脉宽为240ns,设置为30ns

IO读写演示

a-功能

CH368 支持以字节/字/双字为单位对 I/O 端口访问,支持直接地址/偏移地址访问 I/O 端口。

b-实现

使用 DEBUG367/368.EXE 程序“IO 读写”功能可以演示通过直接地址或者偏移地 址对 I/O 端口进行访问。

c-验证

U5 可以用于简单测试 I/O 输出功能,CH368 的任何 I/O 的输出数据都会在 IOWR 脉冲结束时被锁存器 U5 保存,然后驱动 L1~L4 这 4 个 LED,显示 I/O 数据端口 D3~D0 位的状态。灯亮代表 1,灯灭代表 0。 第二种方法通过外接逻辑分析仪等监控设备抓取数据线上的输出数据验证输出功能。

d-注意

当选择字,双字模式进行读写 IO 时,输入的地址和长度需分别为 2 和 4 的倍数, 块读写的最大长度为 32K。

e-演示

测试IO读供能,由于双向数据信号线内置上拉电阻,默认为高电平,所以通过D0数据信号线外接GND拉低电平,D1~D31保持不变,利用调试工具读取一字节数据为0xFE,验证成功

IO写数据演示:往IO空间00端口写入数据0x05,使用逻辑分析仪抓取D3~D0数据位的值为0101 验证写数据成功。

Memory空间读写演示

a-功能

和 IO 读写功能类似,CH368 支持支持以字节/双字为单位对 MEM 进行读写。

b-实现

使用 DEBUG367/368.EXE 程序“Memory读写”功能可以演示通过偏移地址对存储器端 口进行访问。

c-验证

可连接外部 Memory器件来写入和回读数据,当不连接外设时可使用逻辑分析仪/示波器等硬件仪器监控总线数据(参考以下测试举例)。

d-注意

选择双字进行读写双字进行读写时,输入的地址和数据长度需为4的倍数,输入的 地址和数据长度的和应小于等于 0x7FFF,进行双字读写前需勾选32bit勾选框。

e-演示

以字节为单位写数据0x03H,硬件上逻辑分析仪连接双向数据线D0~D3抓取输出值为0011,验证写数据成功。

双向数据端口D0~D31默认高电平,将D0接地拉低电平,此时进行Memory读取信号线D7~D0的数据为1111 1110(0xFE),利用软件读取验证

I2C 读写功能演示

a-功能

CH368 支持 I2C 接口与外设通讯,支持读/写 EEPROM。

b-实现

使用 DEBUG367/368.EXE 程序“I2C 字节读写”功能可以演示 24CXX 中数据的变化。

c-验证

外接配置芯片 24CXX 是非易失串行 EEPROM 存储器,除了向 CH368 提供配置信息 之外,还可以供应用程序自行保存一些其它参数。

d-注意

CH368 支持以下型号的 24CXX 芯片:24C01(A)、24C02、24C04、24C08、24C16 等。 CH368 芯片会在每次开机或者 PCIE 总线复位后检查外部的 24CXX 配置芯片中的数据,如果连接 了配置芯片并且数据有效则自动加载到 CH368 芯片中替换默认的 PCIE 识别信息。所以当不需要修改芯片的 ID 时,外部配置芯片有效标志不能为 78H,具体参考CH368芯片手册。

e-演示

I2C读取演示:地址[00H]

 I2C写数据演示:此时更改该地址数据为FFH,并再次回读验证写入功能

 读取该地址数据后为写入数据FFH,验证成功

配置信息读写演示

 点击配置信息可以获取/配置芯片信息,配置信息的更改需要参考上述注意事项以及CH368芯片手册。

SPI接口功能演示

a-功能

CH368 支持 SPI 接口与外设通讯。

b-实现

使用 DEBUG367/368.EXE 程序“SPI 演示”功能可以读/写/擦除 FLASH 数据。

c-验证

除了读/写/擦除 FLASH 芯片 25F512(U4)外,DEBUG367/368.EXE 程序还提供选择 IO 模式 SPI3/SPI4 和时钟频率 15.6MHz/ 31.3MHz 的设置。

d-注意

不同品牌和型号的 FLASH 芯片,命令码不同,需要参考 FLASH 芯片手册。

e-演示

SPI读取演示:DEBUG367/368.EXE 程序是以文本的形式对FLASH进行读写,可以看到FLASH中有提前写入的数据

 FLASH擦除演示:点击擦除显示擦出成功后,再读取FLASH,此时已擦出成功

 SPI写FLASH演示:在文本中输入字符串“qwertyuiopasdfghjkl”,再读取FLASH中的内容,数据相同验证成功

  回读数据:

配置空间读写

a-功能

支持字节读/写访问配置空间。

b-实现

使用 DEBUG367/368.EXE 程序“配置空间读写”功能可以演示。

c-验证

根据 CH368 芯片手册输入对应的配置空间地址,检查回读对应数据。

d-注意

配置空间的位属性不同,有些完全只读、有些可读可写、有些只读但可以事先设 定等等,具体请参照 CH368 芯片手册。

e-演示

读取配置空间01H的数据为1CH,对比数据手册验证读取成功

中断功能

a-功能 CH368 支持电平/边沿 2 种中断类型,通过打开设备时操作中断寄存器,可以选择中断类型,详细说明请查看 CH368 芯片手册中 IO 基址寄存器和硬件中断的相关说 明。 b-实现 使用 DEBUG367/368.EXE 程序“中断演示”功能。 电平中断: 程序通过"电平中断"按键来控制 A15引脚产生一个高电平信号和一个低电平信号,从而触发中断,进入中断以后产生一个高电平取消中断请求。 边沿中断: 程序通过"边沿中断"按键来控制 A15引脚模拟产生上升沿信号,当 INT#脚 收到上升沿信号后进入中断计数,进入中断以后设置 CH367/CH368 的中断激 活状态位为 0,从而取消中断。 c-验证 通过输出引脚A15 来控制 INT#触发中断,采用低电平有效的电平触发方式,和上升沿有效的边沿触发方式。 d-注意 在演示时需要把 INT#与 A15 短接。

e-演示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【车载开发系列】UDS诊断---例程控制($0x31)

【车载开发系列】UDS诊断—例程控制($0x31) UDS诊断---例程控制($0x31)【车载开发系列】UDS诊断---例程控制($0x31)一.概念定义1)RoutineControl服务2)例程的概念3)例程的…

如何使用腾讯云轻量应用服务器搭建免费开源企业CMS?

1.背景概述 腾讯云轻量应用服务器是新一代面向中小企业及开发者的云服务器产品,简单易用,一站式融合多款云服务,能帮助用户在云端快速构建网站、博客、电商、论坛等各类应用以及各类开发测试环境。 PbootCMS是一款针对企业网站开发的国产CM…

Docker+Node-exporter+Prometheus+Grafana

载docker-compose容器编排并授权x curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose && chmod x /usr/local/bin/docker-compose所有客户端服务器node-exporter的dock…

[附源码]JAVA毕业设计婴幼儿玩具共享租售平台(系统+LW)

[附源码]JAVA毕业设计婴幼儿玩具共享租售平台(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

C中的auto、static、register、extern、const和volitate

C语言中的每一个变量和函数有两个属性:数据类型和数据的存储类别。数据类型(整形、字符型等),存储类别是指数据在内存中存储的方法,存储方法有两大类:静态存储类和动态存储类。具体包括四种:自动…

TensorRT 高级用法

1,插件支持-转化TensorRT模型时不支持的算子 我们在做模型结构设计时,有时候自己会设计一些layer来满足任务需求,但是这些layer在使用Tensorrt优化时,TensorRT可能并不支持,如ROI Align,这时候就需要通过Pl…

vue源码分析-v-model的本质

双向数据绑定这个概念或者大家并不陌生,视图影响数据,数据同样影响视图,两者间有双向依赖的关系。在响应式系统构建的上,中,下篇我已经对数据影响视图的原理详细阐述清楚了。而如何完成视图影响数据这一关联&#xff1…

连接WiFi需要短信验证怎么做?

公共场所提供公共的无线wifi上网服务,需对用户进行实名认证。手机短信实名认证以其用户体验、综合成本等优势,成为公共无线上网认证的首选方案。 一、公共wifi需要短信验证怎么做 要实现访客无线上网短信认证功能,需要借助上网行为管理设备搭…

响应式开发基础知识以及大屏解决方案

1.响应式开发基础知识 1.1-媒体查询media: css中设置条件,基于media 媒体设备: all所有设备、print打印设备/screen屏幕设备媒体条件,符合某个条件,写对应的样式max-width、min-width、max-height、min-heigth 1.2-视口viewpo…

基于java+springboot+mybatis+vue+mysql的沁园健身房预约管理系统

项目介绍 现在无论是在PC上还是在手机上,相信全国所有地方都在进行网上健身房预约管理。随着经济的不断发展,系统管理也在不断增多,健身房预约平台就是其中一种。 本次的毕业设计主要就是在基于Java语言平台下设计并开发一个健身房预约平台…

k8s部署fabric 2.4

test-network的部署现状 dockerdocker-compose ip端口号:ip不可变,人工维护,不可冲突脚本化:程度低,部分流程需要登陆到容器中执行日志收集:无监控告警:无容器管理:无部署流程&…

4.1什么叫作PCB封装?它的分类一般有哪些? Cadence Allegro软件制作PCB封装的一般流程是什么?

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验&a…

Java中的5个代码性能提升技巧,学会之后立马提升近10倍性能

文章目录预先分配 HashMap 的大小优化 HashMap 的 key不使用 Enum.values() 遍历使用 Enum 代替 String 常量使用高版本 JDK这篇文章介绍几个 Java 开发中可以进行 性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,但是作为一名技术开发者&a…

如何通过nodejs快速搭建一个服务器

在前端开发过程中,可能某些时候需要自己搭建一台服务器用于一些文件图片请求或者进行后端相关知识的学习。本文主要讲解如何通过nodejs进行一个基础服务器的搭建,包括如何将文件布置的服务器,以及基础接口的开发。后面可能会更新关于通过node…

C# SuperSocket 手把手教你入门 傻瓜教程---9(CountSpliterReceiveFilter - 固定数量分隔符协议)使用COMMAND

C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你入门 傻瓜教程---2(服务器和客户端双向通信) C# SuperSocket 手把手教…

【Vue 快速入门系列】Vue数据实现本地存储、自定义事件绑定、全局事件总线、$nextTick的使用

文章目录一、本地存储1.概念2.接口3.实际操作二、自定义事件绑定1.自定义事件使用过程2.绑定自定义事件的语法3.其他注意事项三、全局事件总线1.全局事件总线概念2.全局事件总线的使用方式3.原理剖析四、$nextTick小技巧一、本地存储 1.概念 可以将数据临时存储到本地浏览器&…

基于适应度-距离平衡的人工生态系统优化求解暂态稳定约束最优潮流问题附matlab代码

​✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法…

数字时代,企业应该如何看待商业智能BI

新一代数字化相关技术的应用,使得数字化产品和服务覆盖了社会的方方面面,也让数据成为了构建现代化社会的核心元素,让人们明白数据不只是人类活动产生的附加品,还能够在应用过程中促进人类活动发展、优化和改变,真正成…

Python时间模块之datetime模块

目录 简介 函数介绍及运用 date:日期类 1.获取当前时间 2.日期对象的属性 3.date类中时间和时间戳的转换: 4.修改日期使用replace方法 time:时间类 time类操作 datetime:日期时间类 timedelta:时间间隔&…

【MySQL常用性能指标】

这里给大家分享一些MySQL的常用性能指标,可以对此增加一些自定义指标到数据库的监控里,如zabbix或者prometheus,来更好的检测数据库的状态。 我的MySQSL版本是5.7.19。因为是自己的测试环境,所以截图的一些指标很低,仅…