1
CH368 中文手册(一)
PCIE 总线接口芯片 CH368
手册(一)
版本:1A
http://wch.cn
1、概述
CH368 是一个连接 PCI-Express 总线的通用接口芯片,支持 I/O 端口映射、存储器映射、扩展
ROM 以及中断。CH368 将高速 PCIE 总线转换为简便易用的类似于 ISA 总线的 32 位或者 8 位主动并行
接口,用于制作低成本的基于 PCIE 总线的计算机板卡,以及将原先基于 ISA 总线或者 PCI 总线的板
卡升级到 PCIE 总线上。PCIE 总线与其它主流总线相比,速度更快,实时性更好,可控性更佳,所以
CH368 适用于高速实时的 I/O 控制卡、通讯接口卡、数据采集卡等。下图为其一般应用框图。
RD#
WR#
CS#
ADDR
本地
32 位
CPU
MCU
被动
并行 单片机
接口
D[31-0]
PCIE
总线
PCIE 信号
CH368
接口芯片
A[15-0]
IOP_RD
IOP_WR
MEM_RD
MEM_WR
本地
32 位
或8位
主动
并行
总线
INT#
RSTO
SPI/IIC
配置接口
辅助接口
2、特点
●
●
●
●
●
●
●
●
●
●
●
●
●
基于 PCIE 总线提供 8 位或者 32 位主动并行总线。
提供 32 位被动并行接口,可以挂接到其它 CPU 或者单片机 MCU 总线,支持 BusMaster/DMA。
支持 I/O 读写,自动分配 I/O 基址,支持长度达 232 字节的 I/O 端口。
支持存储器读写和 Memory 预取,直接映射支持容量为 32KB 的存储器 SRAM。
读写脉冲的宽度从 30nS 到 450nS 可选,32 位存储器突发块存取的速度可达每秒 50MB。
支持电平中断或者边沿中断请求输入,支持中断共享。
支持闪存扩展 ROM 无硬盘引导,可以提供扩展 ROM 应用的子程序库 BRM。
提供高速的 3 线或者 4 线 SPI 串行主机接口。
提供两线串行主机接口,可以挂接类似 24C0X 的串口 EEPROM 器件用于存储非易失数据。
可以在 EEPROM 器件中设定 PCIE 板卡的设备标识(Vendor ID,Device ID,Class Code 等)
。
内置 2uS 至 8mS 的硬件计时单元,用于软件运行过程中作为延时参考。
驱动程序支持 Windows 98/ME/NT4.0/2000/XP/Vista 以及 Linux,通过 DLL 提供应用层 API。
3.3V 电源电压,I/O 引脚支持 5V 耐压,支持低功耗睡眠模式。
2
CH368 中文手册(一)
● LQFP-100 无铅封装,兼容 RoHS。
3、封装
封装形式
塑体宽度
引脚间距
LQFP-100
14mm x 14mm
0.5mm
19.7mil
封装说明
订货型号
标准 LQFP100 贴片
CH368L
4、引脚
4.1. 电源线
引脚号
8,25,26,50,72,87
10,48,70
13,20
9,14,15,17,23,27,37,
49,61,71,77,86,96
2,3,24
引脚名称
VCC33
VCC18
VCC18A
类型
电源
电源
电源
引脚说明
3.3V I/O 电源
1.8V 内核电源
1.8V 传输电源
GND
电源
公共接地端
NC.
空脚
禁止连接
4.2. PCIE 总线信号线
引脚号
6,7
11,12
18,19
22,21
5
引脚名称
PERST#
PECKP/PECKN
PERP/PERN
PETP/PETN
WAKE#
类型
输入
输入
PCIE 输入
PCIE 输出
开漏输出
引脚说明
系统复位信号线,低电平有效
系统参考时钟差分输入
PCIE 接收器差分信号输入
PCIE 发送器差分信号输出
总线唤醒输出,低电平有效,未用到则不连接
3
CH368 中文手册(一)
4.3. 本地端信号线
引脚号
33-36
38-47
51-60
62-69
95-88
85-78
76
75
74
73
32
99
100
97
98
引脚名称
类型
引脚说明
D31~D0
三态输出
及输入
32 位双向数据信号线,内置上拉电阻
A15~A0
输出
IOP_RD
IOP_WR
MEM_RD
MEM_WR
INT#
RD#
WR#
CS#
ADDR
输出
输出
输出
输出
输入
输入
输入
输入
输入
16 位地址信号线,
A15~A8 可以作为通用输出 GPO 独立控制输出
I/O 端口的读选通,低电平脉冲有效
I/O 端口的写选通,低电平脉冲有效
存储器的读选通,低电平脉冲有效
存储器的写选通,低电平脉冲有效
中断请求输入,电平或者边沿有效,内置上拉电阻
被动并行接口的读选通,低电平有效,内置上拉电阻
被动并行接口的写选通,低电平有效,内置上拉电阻
被动并行接口的片选输入,低电平有效,内置上拉电阻
被动并行接口的地址输入,SPI 数据输入,内置上拉电阻
4.4. 辅助信号线
引脚号
引脚名称
类型
引脚说明
16
RREF
输入
28
SCL
输出
29
SDA
30
31
1
4
SDX
SCS
RSTO
RSVD
系统参考电流输入,需要外接 12KΩ电阻到 GND
通用输出,SPI 时钟输出,外部配置芯片的时钟输出,
可以外接串行 EEPROM 配置芯片 24CXX 的 SCL 引脚
通用输出及输入,内置上拉电阻,复位期间必须为高,
可以外接串行 EEPROM 配置芯片 24CXX 的 SDA 引脚
通用输出及输入,SPI 数据输出及输入,内置上拉电阻
通用输出,SPI 片选输出
低电平有效的复位输出,通用输出
保留引脚,禁止连接
开漏输出
及输入
三态双向
输出
输出
保留
5、寄存器
5.1. 基本约定
5.1.1. 属性简写:R=完全只读,W=可读可写,S=只读但可以事先设定,….=省略号。
5.1.2. 数据的数制:如果以 H 结尾则为十六进制数,否则为二进制数。
5.1.3. 数值的通配符以及属性:r=保留(禁止使用)
,x=任意值,….=省略号。
5.2. PCIE 配置空间
4
CH368 中文手册(一)
地址
寄存器名称
寄存器属性
系统复位后默认值
01H-00H
03H-02H
05H-04H
07H-06H
08H
0BH-09H
0FH-0CH
13H-10H
VID 厂商标识:Vendor ID
DID 设备标识:Device ID
命令寄存器:Command
状态寄存器:Status
芯片版本:Revision ID
设备类代码:Class Code
SSSS
SSSS
RRRRRWRWRWRRRWWW
RRRRRRRRRRRRRRRR
SS
SSSSSS
RRRRRRWW
WWWWWWRR
WWWWWWWWWWWWWWWW
WRRRRRRRRRRRRRRR
RRRR….RRRR
1C00H
5834H
0000000000000000
000000000001x000
10H
100000H
00000000H
00000001H
0000000000000000
0000000000001000
0000….0000H
SSSS
与 VID 相同
SSSS
WWWWWWWWWWWWWWWW
WRRRRRRRRRRRRRRW
RRRR….RRRR
RRRRRRRRRRRRRRRR
RRRRRRRRWWWWWWWW
(禁止使用)
与 DID 相同
0000000000000000
0000000000000000
0000….0060H
0000000000000000
0000000100000000
(禁止使用)
17H-14H
I/O 基址:I/O Base Address
存储器基址:
Memory Base Address
2BH-18H
2DH-2CH
2FH-2EH
33H-30H
子系统厂商标识:
Subsystem Vendor ID
子系统标识:Subsystem ID
扩展 ROM 基址:
ROM Base Address
3BH-34H
3FH-3CH
FFFH-40H
中断号和中断引脚等:
Interrupt Line & Pin
保留
5.3. I/O 基址的寄存器
寄存器的实际地址为 I/O 基址加表中的偏移地址。
偏移地址
寄存器名称
简称
E7H-00H
标准的本地 I/O 端口
IOXR
E8H
通用输出寄存器
GPOR
E9H
通用变量寄存器
GPVR
EAH
通用输入寄存器
GPIR
EBH
中断控制寄存器
INTCR
EFH-ECH
被动并行接口的数据寄存器
SLVDR
F1H-F0H
A15-A0 地址设定寄存器
ADRSR
F2H
保留
F3H
存储器数据存取寄存器
MEMDR
F7H-F4H
数据总线静态输入寄存器
DBUSR
F8H
杂项控制和状态寄存器
MICSR
F9H
保留
FAH
读写速度控制寄存器
SPDCR
FBH
被动并行接口的控制寄存器
SLVCR
FCH
硬件循环计数寄存器
CNTR
FDH
SPI 控制寄存器
SPICR
FEH
SPI 数据寄存器
SPIDR
FFH
保留
5.4. 寄存器的位
寄存器属性
WW
WWWRRWWW
WWWWWWWW
RRRRRRRR
RRRWWWWW
WWWWWWWW
WWWW
(禁止使用)
WW
RRRRRRRR
WRRRRWRW
(禁止使用)
RWWWWWWW
WRRRWWRR
RR
WWWRRRRR
WW
(禁止使用)
系统复位后默认值
连接到 I/O 设备
000rr111
00001010
11111rr1
rrr00000
xxxxxxxxH
8000H
xxH
连接到存储器
xxxxxxxxH
1rrr10r1
xxH
r0000111
000r0000
xxH
0000xxxx
xxH
xxH
5
CH368 中文手册(一)
寄存器名称
通用输出寄存器
GPOR
(I/O 基址+0E8H 地址)
通用输入寄存器
GPIR
(I/O 基址+0EAH 地址)
中断控制寄存器
INTCR
(I/O 基址+0EBH 地址)
杂项控制和状态寄存器
MICSR
(I/O 基址+0F8H 地址)
读写速度控制寄存器
SPDCR
(I/O 基址+0FAH 地址)
被动并行接口的
控制寄存器
SLVCR
(I/O 基址+0FBH 地址)
SPI 控制寄存器
SPICR
(I/O 基址+0FDH 地址)
6、功能说明
6.1. 外部配置芯片
位址
属性
位的使用说明(默认值)
位0
位1
位2
位5
位6
位7
位0
位3
位4
位5
位6
位7
位0
位1
W
W
W
W
W
W
R
R
R
R
R
R
W
W
设定 SDA 引脚的输出值(1)
设定 SCL 引脚的输出值(1)
设定 SCS 引脚的输出值(1)
使能支持被强制唤醒(0)
设定 SDX 引脚的数据方向(0)
设定 SDX 引脚的输出值(0)
输入 SDA 引脚的状态(1)
输入 INT#引脚的状态(1)
输入 RD#引脚的状态(1)
输入 WR#引脚的状态(1)
输入 ADDR 引脚的状态(1)
输入 SDX 引脚的状态(1)
MSI 中断模式使能(0)
全局中断使能(0)
位2
位值=0
位值=1
低电平
高电平
低电平
高电平
低电平
高电平
不支持
支持
输入
输出
低电平
高电平
低电平
高电平
低电平
高电平
低电平
高电平
低电平
高电平
低电平
高电平
低电平
高电平
INTA 中断 MSI 中断
禁止中断 使能中断
低电平
高电平
W
INT#引脚中断输入的极性(0)
上升沿
下降沿
W
INT#引脚中断输入的类型(0)
电平
边沿
W
中断请求重试使能(0)
禁止重试 使能重试
W
设定 A15 引脚的输出值(1)
低电平
高电平
W
中断激活状态(0)
无中断
有中断
R
输入 INT#引脚的状态(1)
低电平
高电平
W
设定 RSTO 引脚的输出值(1)
低电平
高电平
含建立时间和保持时间的读写信号总宽度(0111),
步距为 30nS,0000~1111 对应 60nS~510nS,
WWWW
该总宽度减去位 4 的建立时间,减去位 5 的保持时间,
得到读写脉冲净宽度,最小为 0nS,最大为 480nS
W
数据和地址输出建立时间(0)
15nS
45nS
W
数据和地址输出保持时间(0)
15nS
45nS
W
本地数据总线宽度(0)
8位
32 位
位3
位4
位0
位2
位3
位7
位0
位1
位2
位3
位4
位5
位6
位0
RR
来自 MCU 的识别数据(00)
自定义
位1
位2
WW
PC 到 MCU 的识别数据(00)
自定义
位3
位4
R
来自 MCU 的总线连接使能(0)
未连接 连接 MCU
位6
R
来自 MCU 的中断请求(0)
无中断
有中断
位7
W
PC 到 MCU 的中断请求输出(0)
无中断
有中断
位0
硬件循环计数的高 4 位(XXXX),
RRRR
~位 3
与硬件循环计数寄存器 CNTR 合在一起共 12 位
位4
R
SPI 传输正在进行状态(0)
空闲
正在传输
位5
W
选择 SPI 串行时钟频率(0)
31.3MHz 15.6MHz
位6
W
选择 SPI 数据输入引脚(0)
SDX
ADDR
位7
W
使能读 SPIDR 后启动新传输(0) 读后空闲 读后启动
6
CH368 中文手册(一)
CH368 芯片会在每次开机或者 PCIE 总线复位后检查外部的 24CXX 配置芯片中的数据,如果连接
了配置芯片并且数据有效则自动加载到 CH368 芯片中替换默认的 PCIE 识别信息。
配置芯片 24CXX 是一种 4 脚或者 8 脚封装的非易失串行 EEPROM 存储器,除了向 CH368 提供配置
信息之外,还可以供应用程序自行保存一些其它参数。CH368 支持以下型号的 24CXX 芯片:24C01(A)、
24C02、24C04、24C08、24C16 等。
下表是配置芯片 24CXX 中的数据定义。
字节地址
简称
数据用途说明
默认值
00H
01H
03H-02H
05H-04H
07H-06H
08H
0BH-09H
0DH-0CH
0FH-0EH
1FH-10H
其它地址
SIG
CFG
RSVD
VID
DID
RID
CLS
SVID
SID
RSVD
APP
外部配置芯片有效标志,必须是 78H
配置参数
(保留单元)
厂商标识:Vendor ID
设备标识:Device ID
芯片版本:Revision ID
设备类代码:Class Code
子系统厂商标识:Subsystem Vendor ID
子系统标识:Subsystem ID
(保留单元)
用户或应用程序自定义单元
78H
00H
0000H
自定义
自定义
自定义
100000H
自定义
自定义
00H 或 FFH
6.2. 空间映射
PC 机中包括三种空间:存储器空间、I/O 空间、配置空间。存储器空间主要包括内存、显存、扩
展 ROM、设备缓冲区等,一般用于存放大量数据和进行数据块交换。I/O 空间主要包括设备的控制寄
存器和状态寄存器,一般用于控制和查询设备的工作状态以及少量数据的交换。配置空间主要用于向
系统提供设备自身的基本信息,并接受系统对设备全局状态的控制和查询。
为了避免地址冲突,PCIE 总线要求各个设备所占用的地址能够重定位。重定位是由设备的配置
空间的基址寄存器实现的,通常情况下,各个设备的基址寄存器总是被 BIOS 或者操作系统分配为不
同的基址,从而将各个设备分别映射到不同的地址范围。在需要时,应用程序也可以自行修改基址。
CH368 的存储器空间占用 32K 字节,偏移地址是 0000H~7FFFH,可以全部提供给外部设备使用,
实际地址是存储器基址加上偏移地址。CH368 的 I/O 空间占用 256 字节,去掉 CH368 自用寄存器,还
可以提供 232 字节给外部设备使用,偏移地址是 00H~E7H,实际地址是 I/O 基址加上偏移地址。
6.3. 主动总线内部结构和信号线
下图是 CH368 内部主动并行总线的主要结构。CH368 对 PCIE 总线的各种信号进行译码后,产生
内部数据总线 D31~D0、内部地址总线 A31~A0、读 I/O 端口信号、写 I/O 端口信号、读存储器信号、
写存储器信号等。图中已经标明了各个信号的传输方向。
结构图右侧的信号是指 CH368 提供给本地端的各个外部引脚。地址线 A15~A0 用于提供相对于基
址的偏移地址,数据总线 D31~D0 在读操作时用于输入数据,在写操作时用于输出数据。IOP_RD 用
于提供 I/O 读选通脉冲信号,IOP_WR 用于提供 I/O 写选通脉冲信号,MEM_RD 用于提供存储器读选通
脉冲信号,MEM_WR 用于提供存储器写选通脉冲信号,上述引脚的读写选通脉冲信号都是低电平有效。
CH368 提供的地址线、数据总线、读写选通信号线类似于 ISA 总线的信号线,所以非常适合将 ISA 板
卡升级到 PCIE 总线上。并且从图中可以看出,CH368 提供的读写选通信号已经在芯片内部被片选控
制,CH368 输出的读写选通信号只是在其基址映射范围内有效,所以外部设备不再需要片选译码。
在 I/O 读写操作期间,CH368 的 A7~A0 输出 I/O 端口的偏移地址,提供给外部设备的有效偏移
地址范围是 00H~E7H,外部设备可以进一步对 A7~A0 进行译码产生二级片选信号。在 I/O 读写操作
期间,CH368 的 A15~A8 保持不变,但可以由内部寄存器事先设定为高电平或者低电平。
在存储器读写操作期间,CH368 的 A14~A0 输出存储器的偏移地址,提供给外部设备的有效偏移
地址范围是 0000H~7FFFH。在存储器读写操作期间,CH368 的 A15 保持不变,但可以由内部寄存器事
CH368 中文手册(一)
7
先设定为高电平或者低电平,用于存储器地址线扩展或者页面选择。
6.4. 数据宽度
CH368 支持 PC 机程序以单字节为单位对 I/O 端口或者存储器进行读写,当设置本地数据总线宽
度(读写速度控制寄存器 SPDCR 的位 6)为 1 时,CH368 支持 PC 机程序以四字节(双字)为单位对
I/O 端口或者存储器进行读写。CH368 的内部寄存器(位于 I/O 基址+0E8H 及以上地址)总是支持 PC
机程序以单字节、双字节(字)
、四字节(双字)为单位存取。
执行双字节存取时,起始地址必须是基址范围内的任意字边界的地址(2 的倍数)
;执行四字节
存取时,起始地址必须是基址范围内的任意双字边界的地址(4 的倍数)
。
6.5. 通过 I/O 读写存储器
一般情况下,CH368 的本地存储器被映射到计算机的存储器空间,读写本地存储器是在存储器空
间进行的,为了便于在 BIOS 或者 DOS 下操作寻址,CH368 还提供了一种将存储器空间转向 I/O 空间
的方法,适用于数据存取比较有序的存储器。该方法直接支持 64KB 容量的存储器,不受存储器 4GB
CH368 中文手册(一)
8
空间和存储器基址的影响。通过 I/O 读写存储器空间的步骤见下表。
寄存器
寄存器操作
读数据程序(ASM)
读数据程序(C/C++)
A15~A0
mov dx,PORT_ADDR
outport (PORT_ADDR,
地址设定寄存器 写入起始地址 mov ax,START_ADDR
START_ADDR);
out dx,ax
ADRSR
int i;
mov dx,PORT_DATA
存储器数据
顺序读写数据
char buf[LENGTH];
mov di,BUFFER_ADDR
存取寄存器
for (i=0; i
很抱歉,暂时无法提供与“CH368L”相匹配的价格&库存,您可以联系我们找货
免费人工找货- 国内价格
- 1+61.76557
- 10+56.36556
- 50+52.04556
- 150+49.16556
- 300+47.36556