1、并口功能说明
1.1. 一般说明
CH341 的并口是主动式并口,在计算机端的程序控制下,可以直接从外部电路输入输出数据,一般不需要外接单片机/DSP/MCU。
CH341 的并口有 3 种接口方式:EPP 方式和 MEM 方式以及 BUS 扩展方式。EPP 方式类似于 EPP V1.7或者 EPP V1.9,MEM 方式类似于存储器的读写方式,BUS 扩展方式与 MEM 方式类似,区别是 BUS 扩展方式具有更多的地址线。
芯片复位后的默认方式是 EPP,在 USB 配置完成后,计算机端的程序可以随 时控制 CH341 在上述 3 种方式之间进行切换。
1.2. EPP 并口
EPP 并口的主要引脚包括 WR#引脚、DS#引脚、AS#引脚、WAIT#引脚,相关信号的时序说明可以参 照 EPP 规范 V1.7 和 V1.9。
EPP 方式通过 WR#、DS#和 AS#的逻辑组合执行具体操作。WR#用于指示当前的数据或地址传输方向,对计算机端而言,高电平是对外部电路执行读操作,低电平是对外部电路执行写操作。选通信号是低电平有效的脉冲信号,选通信号包括数据选通 DS#和地址选通 AS#,DS#有效执行数据操作,AS#有效执行地址操作。EPP 的实际操作发生于选通信号有效期间,例如:在 WR#为高电平期间 DS#输出脉冲,则执行一个数据读操作;在 WR#为低电平期间 AS#输出脉冲,则执行一个地址写操作。
CH341A 支持 WAIT#等待信号,在 CH341 开始输出低电平选通信号后,如果 WAIT#为低电平,那么选通信号将继续保持低电平直到 WAIT#恢复为高电平才结束输出。
写操作的选通信号的低电平有效宽度最小是 0.33uS 或者 0.5uS,读操作的选通信号的低电平有效宽度最小是 0.5uS 或者 0.66uS,理想状态下的最大传输速度是 660KB/S,实测传输速度约为:下传370KB/S,上传 560KB/S。
1.3. MEM 并口
MEM 并口的主要引脚包括 WR#引脚、RD#引脚(DS#引脚的别名)、A0 引脚(AS#引脚的别名)、WAIT#引脚。
MEM 方式类似于存储器的读写方式,WR#和 RD#都是低电平有效的脉冲信号。MEM 的实际操作发生于 WR#或者 RD#有效期间,对计算机端而言,当 WR#有效时对外部电路执行写操作,当 RD#有效时对外部电路执行读操作。A0 用于指示当前读写操作的地址,例如:将 A0 和 A0 的反相分别用于两个外部设备的片选;或者将 A0=1 时的操作指向外部设备的命令端口,而将 A0=0 时的操作指向数据端口。WR#的低电平有效宽度最小是 0.5uS,RD#的低电平有效宽度最小是 0.83uS,理想状态下的最大传输速度是 600KB/S。实测传输速度略低于 EPP 并口方式。
1.4. BUS 扩展并口
BUS 并口的主要引脚包括 WR#引脚、RD#引脚(DS#引脚的别名)、ALE 引脚(AS#引脚的别名)、WAIT#引脚。BUS 扩展并口方式仅适用于 CH341A 芯片。
BUS 方式类似于存储器的读写方式,WR#和 RD#都是低电平有效的脉冲信号。MEM 的实际操作发生于 WR#或者 RD#有效期间,对计算机端而言,当 WR#有效时对外部电路执行写操作,当 RD#有效时对外部电路执行读操作。ALE 用于通知外部锁存器记忆将要读写操作的地址,高电平有效,例如:用 ALE控制锁存器 74LS373 或者 74HC573,可以产生 7 位地址 A0~A6(已经去掉了最高位地址 A7,因为 A7为 0 代表将要执行写操作,A7 为 1 代表将要执行读操作)。BUS 扩展方式适用于 I/O 扩展,例如连接具有较多地址线的并口 A/D 或者 D/A 芯片以及数字 I/O 电路(例如 8155、8255),另外,BUS 扩展方式还可以用于转换 ISA 总线的板卡,当然,软件中的 I/O 接口方法需要修改。
ALE 的高电平有效宽度是 0.16uS,WR#的低电平有效宽度是 0.33uS 或者 0.5uS(当 WAIT#为低电平时),RD#的低电平有效宽度是 0.66uS 或者 1uS(当 WAIT#为低电平时)。由于每个读写操作之前都要锁存地址,所以速度较慢。理想状态下的最大传输速度是 300KB/S,实测传输速度约为 160KB/S。
1.5. 辅助引脚
辅助引脚包括 RST#引脚和 INT#引脚,以及 ERR#、SLCT、PEMP 等引脚。
RST#引脚是复位输出引脚,当其为低电平时,说明 CH341 芯片正在复位或者计算机端的程序要求复位外部电路。INT#引脚是中断请求输入引脚,当其检测到上升沿时,计算机端的程序将立即收到中 断通知。其它引脚都是自定义的通用输入引脚,计算机端的应用程序可以查询其引脚状态。
2、同步串口功能说明
2.1. 一般说明
CH341 的同步串口是主动式串口,只能作为 Host/Master 主机端,在计算机端的程序控制下,可以直接从外部电路输入输出数据,一般不需要外接单片机/DSP/MCU。
CH341A 采用 FlexWire(TM)技术,通过计算机相关程序控制进行组合可以实现:2 线串口、3 线串口、4 线串口、5 线串口,其中以 2 线串口及 4 线串口较为常用。
2.2. 2 线串口
2 线串口的主要引脚包括 SCL 引脚、SDA 引脚。SCL 用于单向输出同步时钟,开漏输出且内置上 拉电阻,SDA 用于准双向数据输入输出,开漏输出及输入且内置上拉电阻。 2 线串口的基本操作元素包括:起始位、停止位、位输出、位输入。
起始位定义为当 SDA 为高电平时,SCL 输出下降沿(从高电平切换为低电平)。
停止位定义为当 SDA 为高电平时,SCL 输入上升沿(从低电平切换为高电平)。
位输出定义为当 SCL 为低电平时,SDA 输出位数据,然后 SCL 输出高电平脉冲。
位输入定义为 SCL 输出高电平脉冲,在下降沿之前从 SDA 输入位数据。
字节输出定义为 8 个位输出及 1 个位输入用于应答。
字节输入定义为 8 个位输入及 1 个位输出用于应答。 2 线串口的数据输入和输出以字节为单位,每个字节含 8 个位,高位在前。
CH341 的 2 线串口支持两线串口的 A/D、D/A、存储器及 I/O 扩展芯片。例如,常见的 24C 系列串 行 EEPROM:24C01A 到 24C16、24C32 到 24C1024 等。
2.3. 4 线串口(该功能未经完全测试)
4 线串口的主要引脚包括 DCK 引脚、DIN 引脚、DOUT 引脚、片选引脚 CS0、CS1、CS2。DCK 用于 单向输出同步时钟,DIN 用于单向输入数据,DOUT 用于单向输出数据,片选引脚 CSn 用于选择设备。 4 线串口的基本操作元素包括:片选选中、片选结束、位输出、位输入。
片选选中定义为片选引脚 CSn 输出有效电平(可以定义为高电平或低电平)。
片选结束定义为片选引脚 CSn 输出非有效电平。
位输出定义为当 DCK 为低电平时,DOUT 输出位数据,然后 DCK 输出高电平脉冲。
位输入定义为 DCK 输出高电平脉冲,在下降沿之后从 DIN 输入位数据。
字节输出定义为 8 个位输出,字节输入定义为 8 个位输入。
4 线串口的数据输入和输出以字节为单位,每个字节含 8 个位,低位在前。
更多详细内容请下载附件查看