当前位置:首页 > 10614 - 200620703027梁璨 - 2003
第二章 虚拟频谱仪硬件电路设计
图2-11 CH341外部连接电路图
由于我的目的主要是将USB转成EPP的通信方式,并且在电路设计的时候采
用了直接组合的方式,不外加任何的外部芯片,因此从表2-2可以知,在直接组合方式下,采用对SCL和SDA引脚连接方式为SDA接低电平,SCL悬空。X1与X2之间加上一个12M的晶体振荡器,并用两个电容来去交流。 2.5.2.2 通信接口的软件设计
在计算机端的Windows操作系统下,CH341的并口驱动程序和动态链接库DLL向应用程序提供了应用层接口,包括:设备管理API、并口数据传输API、同步串口数据传输API、中断处理API。
API参数的说明可参考CH341DLL.H。这里简单介绍几个API函数 设备管理API,主要是对CH341进行开启关闭的控制函数, CH341OpenDevice( //打开CH341设备,返回句柄,出错则无效
ULONG iIndex); //指定CH341设备序号,0对应第一个设备 将CH341作为设备,使用前必须先打开,然后才能使用 CH341CloseDevice( //关闭CH341设备
ULONG iIndex); //指定CH341设备序号
用完CH341后,或者应用程序退出前,应该关闭CH341设备并口数据传输API,用于数据的传送
CH341InitParallel( // 复位并初始化并口,RST#输出低电平脉冲
ULONG iIndex, //指定CH341设备号
ULONG iMode); //指定并口模式:0为EPP模式,2为MEM模式,
19
电子科技大学硕士学位论文
>=256保持当前模式
在CH341上电时自动化并口,如果需要,也可以重新初始化开口,以清除缓冲区。在初始化话过程中,RST#引脚会输出100us左右宽度的低电平脉冲,用于通知外部设备复位。
CH341EppReadData(//EPP方式读数据:WR#=1,DS#=1,D0-D7=input
ULONG iIndex, //指定CH341设备序号
PVOID obuffer //指向一个足够大的缓冲区,用于保存读取的数据 PULONG iolength;) //指向长度单元,输入时为准备读取的长度,返回
后为实际读取的长度以EPP时序连续读取数据,长度为0到4096字节
CH341EppReadAddr(//EPP方式读地:WR#=1,DS#=1,AS#=0,D0-D7=input ULONG iIndex ,// 指定CH341设备序号
PVOID Obuffer, //指向一个足够大的缓冲区,用于保存读取的地址数据 PULONG ioLength);//指向长度单元,输入时为准备读取的长度,返回
后为实际读取的长度
将上面的函数变为动态链接库函数,用于LabVIEW调用,以此实现通信功能。另外写数据、写地址和读数据、读地址都是相同的[4]。
对于这个转接的通信接口还需要驱动程序,我只需把连接有CH341的电路板DRIVER//目录下的文件即可。安装完成后可在设备管理器里看到外部接口。
在软件编程的时候,把CH341DLL.LIB文件拷到工程目录下,利用LabVIEW调用外部模块的方法,完成对CH341DLL.H中相关函数的调用,以此来实现通信功能。
图2-12是转接芯片CH341的软件设计流程图。如图所示,首先,当启动电源
接到计算机的USB接口时,会提示找到新硬件,然后选择厂家提供CH341PAR//
后,打开接口设备,倘若没打开设备则仍只是处于通电状态,并不能执行数据的传递。当开启设备后,再对设备进行复位操作,这个过程中主要是对设备读写控制方面的复位。当复位完成后对EPP初始化;初始化过后就可以进行写地址和读数据的操作,以此实现数据的通信过程,将送入的数据送入到采集和频谱分析模块当中进行处理,处理完毕后判断是否需要关闭设备,如若不关,则再次对设备复位,继续进行数据读写操作,直到关闭设备为止,整个过程才会结束。
20
第二章 虚拟频谱仪硬件电路设计
准备否打开设备是复位设备初始化EPPEPP写地址读数据否数据采集处理过程关闭设备是结束
图 2-12 转接芯片CH341的软件设计流程图
2.6 本章小结
本章依次介绍了设计的采集通道的增益电路、差分电路,然后详细说明采集部分的A/D转换器的选择,将以前的8bitA/D9288换成了现在的12bit的A/D9224,以此来提高测试平台的精度。另外在通信方式上,通过对CH341的串行转并行的通信接口的软硬件设计,实现了不同通信方式。
21
电子科技大学硕士学位论文
第三章 采集时序控制逻辑设计
采集是通过FPGA内部的逻辑操作来对采集的起始与停止,数据的写入与读出等全过程进行管理控制,它决定了采集过程的定时、触发和读写的时序关系及逻辑关系。
3.1 ADC采样时钟的选择和使用
由于本课题项目背景设计决定了晶振频率不是太高,因此在这里的时钟信号产生方式相对比较简单,如图3-1所示,首先通过D触发器对一个40M的晶体振荡器进行2分频,以此类推,一共进行4次的2分频,就得到20M、10M、5M、2.5M的时钟分频信号,然后再分别对10M、5M和2.5M通过一个三选一的选择器分别进行十分频得到1M、500k、250k的信号,此后对1M、500k、250k在进行一次十分频并得到100k、50k和25k,最后只对25k信号进行一次2分频得到12.5k,这样就产生了我们所需要的11种频率的采样信号:20M,10M,5M,2.5M,1M,500K,250K ,100K,50K,25K,12.5K。
40M÷220M÷210M÷25M÷22.5M÷101M500K250K÷10100K50K25K÷2CLK12.5K
图3-1采样时钟分频方式
3.2触发控制电路
采集中除了需要时钟信号以外,为满足不同的采集需要,采集通道预设了多种触发方式和触发源,这两部分相配合就可以实现灵活丰富的触发功能。 3.2.1 触发方式的设计
22
共分享92篇相关文档