得到的的英文翻译英语怎么说-怪物史莱克4下载


2023年4月3日发(作者:wa ga)

CH341中文手册(二)1

USB总线转接芯片CH341

中文手册(二):并口及同步串口说明

版本:2C

1、并口功能说明

1.1.一般说明

CH341的并口是主动式并口,在计算机端的程序控制下,可以直接从外部电路输入输出数据,一

般不需要外接单片机/DSP/MCU。

CH341的并口主要有2种接口方式:EPP方式和MEM方式。EPP方式类似于EPPV1.7或者EPPV1.9

规范,MEM方式类似于INTEL时序存储器的读写方式。芯片复位后的默认方式是EPP,在USB配置完

成后,计算机端的程序可以随时控制CH341在上述2种方式之间进行切换。另外还有一种BUS方式,

以地址和数据复用总线的方式提供7位地址和8位数据。

并口

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的EPP数据读写操作DS#支持WAIT#等待信号,在CH341开始输出低电平选通信号后,如

果WAIT#为低电平,那么选通信号将继续保持低电平直到WAIT#恢复为高电平或者85uS等待超时后才

结束输出。

CH341A的EPP地址读写操作AS#不支持WAIT#等待信号,所以EPP地址读写操作比数据读写操作

略快一些。

写操作的选通信号的低电平有效宽度最小是0.16uS或者0.25uS,读操作的选通信号的低电平有

效宽度最小是0.25uS或者0.33uS,理想状态下的最大传输速度是800KB/S,在WINDOWSXPSP2环境

下使用连续的大数据块进行速度测试,实测传输速度约为:下传510KB/S,上传560KB/S。

并口

MEM并口的主要引脚包括WR#引脚、RD#引脚(DS#引脚的别名)、A0引脚(AS#引脚的别名)、WAIT

#引脚。

MEM方式类似于存储器的读写方式,WR#和RD#都是低电平有效的脉冲信号。MEM的实际操作发生

于WR#或者RD#有效期间,对计算机端而言,当WR#有效时对外部电路执行写操作,当RD#有效时对外

部电路执行读操作。A0用于指示当前读写操作的地址,例如:将A0和A0的反相分别用于两个外部

设备的片选;或者将A0=1时的操作指向外部设备的命令端口,而将A0=0时的操作指向数据端口。

CH341A的MEM读写操作支持WAIT#等待信号。

WR#的低电平有效宽度最小是0.25uS,RD#的低电平有效宽度最小是0.33uS,理想状态下的最大

传输速度是800KB/S。实测传输速度与EPP数据读写差不多,但略低于EPP地址读写操作的速度帏怎么读 。

并口(该功能未经完全测试)

BUS并口的主要引脚包括WR#引脚、RD#引脚(DS#引脚的别名)、ALE引脚(AS#引脚的别名)、WAIT

#引脚。

CH341中文手册(二)2

BUS方式相当于更多地址线的MEM方式,WR#和RD#都是低电平有效的脉冲信号,在每次读写脉冲

发生之前,数据总线D0-D7先输出7位将要操作的目标地址,接着ALE信号输出高电平,使外部的地

址锁存器电路(例如74LS373)将7位地址锁存后输出,用于外部设备的片选,然后,WR#或RD#其中

之一输出有效的读写脉冲。BUS的实际读写操作发生于WR#或者RD#有效期间,对计算机端而言,当古诗村晚全文朗读

WR#有效时对外部电路执行写操作,当RD#有效时对外部电路执行读操作。

CH341A的BUS读写操作支持WAIT#等待信号。

WR#的低电平有效宽度最小是0.33uS,RD#的低电平有效宽度最小是0.51uS,理想状态下的最大

传输速度是300KB/S,但在进行多个I/O地址的独立读写操作时速度可能只有1K/S。

1.5.辅助引脚

辅助引脚包括RST#引脚和INT#引脚,以及ERR#、SLCT、PEMP等引脚。

RST#引脚是复位输出引脚,当其为低电平时,说明CH341芯片正在复位或者计算机端的程序要求

复位外部电路。INT#引脚是中断请求输入引脚,当其检测到上升沿时,计算机端的程序将会收到中断

通知。其它引脚都是自定义的通用输入引脚,计算机端的应用程序可以查询其引脚状态。

2、同步串口功能说明

2.1.一般说明

CH341的同步串口是主动式串口,只能作为Host/Master主机端,在计算机端的程序控制下,可

以直接从外部电路输入输出数据,一般不需要外接单片机/DSP/MCU。

CH341A采用FlexWire(TM)技术,通过计算机相关程序控制进行组合可以实现:2线串口、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个位输入。

CH341中文手册(二)3

4线串口的数据输入和输出以字节为单位,每个字节含8个位,支持低位在前和高位在前。

2.4.5线串口(该功能未经完全测试)

5线串口的主要引脚包括DCK谚的拼音 引脚、DIN引脚、DIN2引脚、DOUT引脚、DOUT2引脚、片选引脚CS0、

CS1、CS2。DCK用于单向输出同步时钟,DIN和DIN2用于单向输入数据,DOUT和DOUT2用于单向输

出数据,片选引脚CSn用于选择外部设备。

5线串口是4线串口中增加一组数据输入DIN2和一组数据输出DOUT2的版本。

5线串口的基本操作元素包括:片选选中、片选结束、双位输出、双位输入。

双位输出定义为当DCK为低电平时,DOUT和DOUT2输出位数据,然后DCK输出高电平脉冲。一

个字节8位数据,高4位从DOUT输出,低4位从DOUT2输出。

双位输入定义为当DCK为高电平时,从DIN和DIN2输入位数据。一个字节8个数据,高4位来

自DIN输入,低4位来自DIN2输入。

字节输出定义为一个字节8位分为两组各4位分别输出。

字节输入定义为分别输入两组各4位组合成一个字节。

5线串口的数据输入和输出以半字节为单位,每个半字节含4个位,支持低位在前和高位在前。

要分别在DOUT和DOUT2产生字节输出,那么需要两个字节输出组合。

CH341的5线串口用于仿真具有较多I/O的同步串行接口。

2.5.位操作(该功能未经完全测试)

正常情况下,CH341的同步串口操作是以字节为基本单位的,一次操作可能是1个字节或者几个

甚至几十个字节。而实际应用中可能需要输入或者输出非8倍数的数据位,例如某A/D采集芯片需要

输入10位数据,为了方便这种应用,CH341的FlexWire(TM)技术提供了一个基本操作,能够一次

输入或者输出1位数据,重复使用该操作能够输入2位数据,再加上一个字节操作,从而实现10位

数据的输入输出。该方法仅适用于4线串口或者5线串口,能够控制DCK、DOUT、DOUT2、CS0、CS1、

CS2引脚产生一个位输出,能够从DCK、DIN、DIN2、DOUT、DOUT2、CS0、CS1、CS2引脚实现一个位

输入。

2.6.辅助引脚

同步串口应用下的辅助引脚与并口应用下的相同,请参考并口功能说明。

3、计算机端的软件

在计算机端的Windows操作系统下,CH341的并口驱动程序和动态链接库DLL向应用程序提供了

应用层接口,包括:设备管理API、并口数据传输API、同步串口数据传输API、中断处理API。

有关API参数的说明请参考CH341DLL.H,主要API如下。

3.1.设备管理API

CH341OpenDevice(//打开CH341设备,返回句柄,出错则无效

ULONGiIndex);//指定CH341设备序号,0对应第一个设备

将CH341作为设备,使用前必须先打开,然后才能使用

CH341CloseDevice(//关闭CH341设备

ULONGiIndex);//指定CH341设备序号

用完CH341后,或者应用程序退出前,应该关闭CH341设备

CH341中文手册(二)4

CH341SetDeviceNotify(//设定设备事件通知程序

ULONGiIndex,//指定CH341设备序号,0对应第一个设备

PCHARiDeviceID,//可选参数,指向字符串,指定被监控的设备的ID,字符串以0终止

mPCH341_NOTIFY_ROUTINEiNotifyRoutine);//指定设备事件回调程序

用于应用程序监控CH341设备的插拔事件,确保应用程序随时知道USB设备是否存在,防止在USB设

备拔出后收发数据,并及时响应USB设备的插入

CH341GetStatus(//通过CH341直接输入数据和状态,类似的API还有CH341GetInput

ULONGiIndex,//指定CH341设备序号

PULONGiStatus);//指向一个双字单元,用于保存状态数据

获取的状态数据中:位7-位0对应CH341的D7-D0引脚,位8对应CH341的ERR#引脚,位9对应CH341

的PEMP引脚,位10对应CH341的INT#引脚,位11对应CH341的SLCT引脚,位13对应CH341的

BUSY/WAIT#引脚,位14对应CH341的AUTOFD#/DATAS#引脚,位15对应CH341的SLCTIN#/ADDRS#引

脚,位23对应CH341的SDA引脚

CH341SetOutput(//设置CH341的I/O方向,并通过CH341直接输出数据

//谨慎使用该API,防止修改I/O方向使输入引脚变为输出导致与其它输出引脚之间短路而损坏

ULONGiIndex,//指定CH341设备序号

ULONGiEnable,//数据有效标志

ULONGiSetDirOut,//设置I/O方向,位清0则对应引脚为输入,位置1则对应引脚为输出

ULONGiSetDataOut);//输出数据,如果I/O方向为输出,那么位数据将通过引脚输出

上述的I/O方向和输出数据以32位数据表示,其中:位7-位0对应CH341的D7-D0引脚,位8对应

CH341的ERR#引脚,位9对应CH341的PEMP引脚,位10对应CH341的INT#引脚,位11对应CH341

的SLCT引脚,位13对应CH341的WAIT#引脚,位14对应CH341的DATAS#/READ#引脚,位15对应

CH341的ADDRS#/ADDR/ALE引脚

另外,以下引脚只能输出,不考虑I/O方向:位16对应CH341的RESET#引脚,位17对应CH341的

WRITE#引脚,位18对应CH341的SCL引脚,位29对应CH341的SDA引脚

CH341Set_D5_D0(//设置CH341的D5-D0引脚的I/O方向,并通过D5-D0引脚直接输出数据

//谨慎使用该API,防止修改I/O方向使输入引脚变为输出导致与其它输出引脚之间短路而损坏

ULONGiIndex,//指定CH341设备序号

ULONGiSetDirOut,//设置D5-D0各引脚的I/O方向,清0则引脚为输入,置1则引脚为输出

ULONGiSetDataOut);//设置D5-D0各引脚的输出数据,仅当I/O方向为输出时生效

3.2.中断处理API

CH341SetIntRoutine(//设定中断服务程序

ULONGiIndex,//指定CH341设备序号

mPCH341_INT_ROUTINEiIntRoutine);//指定中断服务程序,为NULL则取消中断服务

设置CH341的中断服务程序,iIntRoutine是一个符合mPCH341_INT_ROUTINE格式的子程序,

当CH341的INT#引脚出现上升沿时,DLL自动调用iIntRoutine,并向其提供一个引脚状态参数,

引脚状态参数中,位为1则说明对应的引脚为高电平,位为0则说明对应的引脚为低电平,

位7-位0对应CH341的D7-D0引脚,位8对应CH341的ERR#引脚,位9对应CH341的PEMP引脚,

位10对应CH341的INT#引脚,位11对应CH341的SLCT引脚

例如:主程序

main{

......

CH341OpenDevice(0);//打开设备,针对0#设备,如果有多个,可以计数

CH341SetIntRoutine(0,myInterruptEvent);//设置中断服务程序

CH341中文手册(二)5

......读写数据,或者在接收到中断服务程序的通知后处理中断

CH341CloseDevice(0);//用完后关闭设备

}

中断服务程序,当CH341的INT#引脚出现上升沿时,DLL会自动调用该子程序

voidCALLBACKmyInterruptEvent(unsignedlongPinStatus){

if(PinStatus&mStateBitERR)printf(“发生中断时ERR#引脚为高电平”);

elseprintf(“发生中断时ERR#引脚为低电平”);

......自子在川上曰逝者如斯夫啥意思 己处理或者通知主程序处理

}

3.3.并口数据传输API

CH341InitParallel(//复位并初始化并口,RST#输出低电平脉冲

ULONGiIndex,//指定CH341设备序号

ULONGiMode);//指定并口模式:0为EPP模式,2为MEM模式,>=256保持当前模式

在CH341上电时自动初始化并口,如果需要,也可以重新初始化并口,以清除缓冲区。

在初始化过程中,RST#引脚会输出100uS左右宽度的低电平脉冲,用于通知外部设备复位,

CH341EppReadData(//EPP方式读数据:WR#=1,DS#=0,AS#=1,D0-D7=input

ULONGiIndex,//指定CH341设备序号

PVOIDoBuffer,//指向一个足够大的缓冲区,用于保存读取的数据

PULONGioLength);//指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

以EPP时序连续读取数据,长度为0到4096字节,例如:

UCHARbuf[1024];

ULONGlen=1024;

CH3相遇的拼音 41EppReadData(0,buf,&len);//针对0#设备以EPP方式读取1KB数据

CH341EppReadAddr(//EPP方式读地址:WR#=1,DS#=1,AS#=0,D0-D7=input

ULONGiIndex,//指定CH341设备序号

PVOIDoBuffer,//指向一个足够大的缓冲区,用于保存读取的地址数据

PULONGioLength);//指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

以EPP时序连续读取地址数据,长度为0到4096字节,在标准EPP时序中通常用不到

CH341EppWriteData(//EPP方式写数据:WR#=0,DS#=0,AS#=1,D0-D7=output

ULONGiIndex,//指定CH341设备序号

PVOIDiBuffer,//指向一个缓冲区,放置准备写出的数据

PULONGioLength);//指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

以EPP时序连续写出数据,长度为0到4096字节,例如:

UCHARbuf[1024];

ULONGlen=1024;

在buf中放置数据,准备以EPP方式写出

CH341EppWriteData(0,buf,&len);//针对0#设备以EPP方式写出1KB数据

CH341EppWriteAddr(//EPP方式写地址:WR#=0,DS#=1,AS#=0,D0-D山中与幽人对酌背景 7=output

ULONGiIndex,//指定CH341设备序号

PVOIDiBuffer,//指向一个缓冲区,放置准备写出的地址数据

PULONGioLength);//指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

以EPP时序连续写出地址数据,长度为0到4096字节,在标准EPP时序中通常只写一个字节的地址

CH341中文手册(二)6

CH341EppSetAddr(//EPP方式设置地址:WR#=0,DS#=1,AS#=0,D0-D7=output

ULONGiIndex,//指定CH341设备序号

UCHARiAddr);//指定EPP地址

以EPP时序输出一个地址,是CH341EppWriteAddr的简化

CH341MemReadAddr0(//MEM方式读地址0:WR#=1,DS#/RD#=0,AS#/ADDR=0,D0-D7=input

ULONGiIndex,//指定CH341设备序号

PVOIDoBuffer,//指向一个足够大的缓冲区,用于保存从地址0读取的数据

PULONGioLength);//指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

以MEM时序连续读取数据,长度为0到4096字节,读操作期间ADDR=0,例如:

UCHARbuf[1024];

ULONGlen=1024;

CH341MemReadAddr0(0,buf,&len);//针对0#设备以MEM方式从地址0读取1K数据

CH341MemReadAddr1(//MEM方式读地址1:WR#=1,DS#/RD#=0,AS#/ADDR=1,浙东赠李副使员外 D0-D7=input

ULONGiIndex,//指定CH341设备序号

PVOIDoBuffer,//指向一个足够大的缓冲区,用于保存从地址1读取的数据

PULONGioLength);//指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

以MEM时序连续读取数据,长度为0到4096字节,读操作期间ADDR=1

CH341MemWriteAddr0(//MEM方式写地址0:WR#=0,DS#/RD#=1,AS#/ADDR=0,D0-D7=output

ULONGiIndex,//指定CH341设备序号

PVOIDiBuffer,//指向一个缓冲区,放置准备向地址0写出的数据

PULONGioLength);//指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

以MEM时序连续写出数据,长度为0到4096字节,写操作期间ADDR=0,例如:

UCHARbuf[1024];

ULONGlen=1024;

在buf中放置数据,准备以MEM方式写出

CH341MemWriteAddr0(0,buf,&len);//针对0#设备以MEM方式向地址0写出1K数据

CH341MemWriteAddr1(//MEM方式写地址1:WR#=0,DS#/RD#=1,AS#/ADDR=1,D0-D7=output

ULONGiIndex,//指定CH341设备序号

PVOIDiBuffer,//指向一个缓冲区,放置准备向地址1写出的数据

PULONGioLength);//指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

以MEM时序连续写出数据,长度为0到4096字节,写操作期间ADDR=1

3.4.同步串口数据传输API

CH341ReadI2C(//从两线串口读取一个字节数据,仅适用于7位地址的设备

ULONGiIndex,//指定CH341设备序号

UCHARiDevice,//低7位指定设备地址

UCHARiAddr,//指定数据单元的地址

PUCHARoByte);//指向一个字节单元,用于保存读取的字节数据

CH341WriteI2C(//向两线串口写入一个字节数据,仅适用于7位地址的设备

ULONGiIndex,//指定CH341设备序号

UCHARiDevice,//低7位指定设备地址

UCHARiAddr,//指定数据单元的地址

UCHARiByte);//待写入的字节数据

CH341中文手册(二)7

CH341WriteRead(//执行数据流命令,先输出再输入

ULONGiIndex,//指定CH341设备序号

ULONGiWriteLength,//写长度,准备写出的长度

PVOIDiWriteBuffer,//指向一个缓冲区,放置准备写出的数据

ULONGiReadStep,//准备读取的单个块的长度,总长度为(iReadStep*iReadTimes)

ULONGiReadTimes,//准备读取的次数

PULONGoReadLength,//指向长度单元,返回后为实际读取的长度

PVOIDoReadBuffer);//指向一个足够大的缓冲区,用于保存读取的数据

先输出数据再输入数据,执行数据流命令,适用于同步串口等。

CH341SetStream(//设置同步串口流模式

ULONGiIndex,//指定CH341设备序号

ULONGiMode);//指定模式,见下行

//位1位0:I2C速度/SCL频率,00=低速20KHz,01=标准100KHz,10=快速400KHz,11=高速750KHz

//位2:SPI的I/O数/IO引脚,0=单入单出(4线接口),1=双入双出(5线接口)

//位7:SPI字节中的位顺序,0=低位在前,1=高位在前

//其它保留,必须为0

CH341StreamI2C(//处理两线串口的数据流,适用于所有两线串口的设备

ULONGiIndex,//指定CH341设备序号

ULONGiWriteLength,//准备写出的数据字节数

PVOIDiWriteBuffer,//指向缓冲区,放置准备写出的数据,首字节是设备地址及读写位

ULONGiReadLength,//准备读取的数据字节数

PVOIDoReadBuffer);//指向缓冲区,返回后是读入的数据

对两线串口设备进行操作。例如,从24C256中3200H开始的地址读出256字节的数据:

UCHAROutBuf[5],InBuf[300];//待写数据缓冲区,读出数据缓冲区

OutBuf[0]=0xA1;OutBuf[1]=0x32;OutBuf[2]=0x00;//待写数据:设备地址及单元地址

CH341StreamI2C(0,3,OutBuf,256,InBuf);//针对0#设备处理两线串口的数据流

CH341ReadEEPROM(//从EEPROM中读取数据块,速度约56K字节

ULONGiIndex,//指定CH341设备序号

EEPROM_TYPEiEepromID,//指定EEPROM型号

ULONGiAddr,//指定数据单元的地址

ULONGiLength,//准备读取的数据字节数

PUCHARoBuffer);//指向一个缓冲区,返回后是读入的数据

读写EEPROM的API支持从24C01到24C16和从24C32到24C4096的各种型号的EEPROM存储器。

CH341WriteEEPROM(//向EEPROM中写入数据块

ULONGiIndex,//指定CH341设备序号

EEPROM_TYPEiEepromID,//指定EEPROM型号

ULONGiAddr,//指定数据单元的地址

ULONGiLength,//准备写出的数据字节数

PUCHARiBuffer);//指向一个缓冲区,放置准备写出的数据

CH341StreamSPI4(//处理SPI数据流,4线接口,速度约68K字节

//SPI时序:DCK时钟输出,默认为低,DOUT在时钟上升沿之前输出,DIN在时钟下降沿之后输入

ULONGiIndex,//指定CH341设备序号

ULONGiChipSelect,//片选控制,位7为0则忽略片选控制,位7为1则参数有效

ULONGiLength,//准备传输的数据字节数

CH341中文手册(二)8

PVOIDioBuffer);//缓冲区,放置准备从DOUT写出的数据,返回后是从DIN读入的数据

有关DLL中各个API的使用实例请参考CH341评估板资料中的各个源程序及例子。

4、参数

方式时序参数(测试条件:TA=25℃,参考附图前半部分)

名称参数说明最小值典型值最大值庐山瀑布在哪里 单位

TWMEM写选通WR#的低电平有效宽度23nS

TRMEM读选通RD#的低电平有效宽度3nS

TASWR#或RD#有效前的地址建立时间80nS

TAHWR#或RD#有效后的地址保持时间230nS

TDSWR#有效前的数据输出建立时间80nS

TDHWR#有效后的数据输出保持时间300nS

TISRD#无效前的数据输入建立时间170nS

TIHRD#无效后的数据输入保持时间0nS

MEM

EPP

方式时序参数(测试条件:TA=25℃,参考附图后半部分)

名称参数说明最小值典型值最大值单位

TWEPPD数据写操作的选通的低电平有效宽度22nS

TWEPPA地址写操作的选通的低电平有效宽度nS

TREPPD数据读操作的选通的低电平有效宽度3nS

TREPPA地址读操作的选通的低电平有效宽度22025010000nS

TXS选通有效前的方向WR#建立时间500nS

TXH选通有效后的方向WR#保持时间150nS

TDS选通有效前的数据输出建立时间80nS

TDH选通有效后的数据输出保持时间220nS

CH341中文手册(二)9

TIS选通无效前的数据输入建立时间170nS

TIH选通无效后的数据输入保持时间0nS

方式时序参数(测试条件:TA=25℃,参考下图,数值单位为nS)

5、应用

5.1.基本连接(下图)

P4是USB端口,USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接

地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可以达到500mA,一

般情况下,CH341芯片和低功耗的USB产品可以直接使用USB总线提供的5V电源。如果USB产品通

过其它供电方式提供常备电源,那么CH341也应该使用该常备电源,如果需要同时使用USB总线的电

源,那么可以通过阻值约为1的电阻连接USB总线的5V电源线与USB产品的5V常备电源,并且两

者的接地线直接相连接。

电容C18用于CH341内部电源节点退耦,C18是容量为0.01F的独石或高频瓷片电容。电容C19

和C20用于外部电源退耦,C19是容量为0.1F的独石或高频瓷片电容。晶体X4、电容C16和C17

用于时钟振荡电路。X4的频率是12MHz,C16和C17是容量为15pF~30pF的独石或高频瓷片电容。

在设计印刷线路板PCB时,需要注意:退耦电容C18和C19尽量靠近CH341的相连引脚;使D+

和D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI

和XO引脚相关信号线的长度,为了减少高频干扰,可以在相关元器件周边环绕地线精巧的近义词 或者覆铜。

图中SDA引脚直接接地,所以CH341工作于并口方式。

CH341中文手册(二)10

并口方式应用(下图)

图中使用非门以及或门进行译码,产生较多的控制信号,如果实际应用只需要较少的输入和输出,

那么可以省去这些译码,而直接使用AS#、DS#等控制信号进行简单的实现。

并口方式应用(下图)

图中尚未用到A0引脚(AS#引脚),可以实现8位数字信号输入和8位数字信号输出。如果使用

A0控制74LS139分别对-READ和-WRITE进行地址片选,那么CH341可以连接两组74LS244+74LS273,

从而实现16位数字信号输入和16位数字信号输出。

CH341中文手册(二)11

5.4.两线同步串口应用(下图)

2线同步串口支持多个设备的地址识别,采用数据流方式读写数据,支持一次读写较大的数据块。

CH341的两线串口支持20KHz/100KHz/400KHz/750KHz的速度,与具有硬件两线串口的设备连接时可

以选择较高的速度,与软件模拟两线串口的单片机连接时只能选择较低的速度(例如20KHz)。

图中使用电阻R4强制ACT#引脚在CH341功能配置期间为低电平,从而禁止CH341配置时访问2

线同步串口而影响总线上的其它设备,如果不需要LED显示,那么可以省去电阻R3和发光管L2,并

且可以将R4接RST#端改为接GND。

并口方式应用(下图)

图中用ALE控制U23锁存得到7位地址A0-A6,可以用于驱动存储器或再次译码产生多个片选。

5.6.数字输入输出(下图)

如果只需要少于8个的输入输出引脚,那么还可以省掉外部的各种74LS器件,直接使用CH341

的D7~D0以及其它引脚,通过调用DLL中的CH341Set_D5_D0等API实现简单的输入输出。

更多推荐

routin是什么意思tin在线翻译读音例句