c语言sscanf函数的用法是什么
289
2022-11-18
基于CY7C68013和MAX115芯片实现高速同步数据采集系统的应用方案
1 基本原理
2 硬件部分
2.1 芯片介绍
CY7C68013与外设有两种接口方式:可编程接口GPIF和Slave FIFOs。
2.2 电路原理及设计
考虑CY7C68013与MAX115接口时,采样模式不同,控制波形有所差别,笔者选择主机方式即可编程控制接口(GPIF)。
本数据采集系统只用到了两个输出控制CTL0、CTL1和一个外部输入RDY0,它们分别接MAX115的CONVST#、WR#和INT#。数据总线用双字节,其中FD0~FD11接MAX115的数据输入端D0~D11,FD12和FD13接控制字输入端的A2和A3,FD0和FD1复用做控制字输入端的A0和A1。MAX115的采样基准时钟由FX2的输出时钟经三分频得到,为16MHz。对应四种数据传输方式(八种不同的采样模式),GPIF的控制及握手信号波形有所不同。四通道同步采样的时序图如图3所示。
在第一个判决点,若采样数据已准备就绪,MAX115传给GPIF一个负脉冲信号RDY0;根据此信号,波形按顺序转入2、3、4、5状态,使指向内部FIFO的指针在每个时钟上升沿加1,依次读取四个数据,取完数据后利用CTL0的上升沿启动下一次采样。若在状态1时没有出现负脉冲,则直接跳转到状态6,之后重复执行此波形描述符。
三通道同步采样时,读取数据的状态只需要持续三次。其它采样模式控制波形的设计依此类推。
2.3 固件程序设计
3 用户程序和驱动程序
3.1 驱动程序的编写
通用驱动程序一般不需要重新编写,用Cypress公司已经编好的驱动ezusb.sys;而下载固件的驱动则必须定做,其详细操作过程见参考文献[2]。
3.2 用户程序的编写
hDevice = CreateFile(″\\\\。\\EZUSB-0″)
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
If (hDevice == INVALID_HANDLE_VALUE)
{
Application-》MessageBoxA(“无法创建设备,请确认设备是否连上!”,NULL,IDOK);
}
else
{
DeviceIoControl (
hDevice,
IOCTL_EZUSB_BULK_WRITE,
&blkctl,
sizeof(BULK_TRANSFER_CONTROL),
&inBuffer, //定义的数据缓冲区
sizeof(inBuffer),
&nBytes,
NULL);
……
}
程序框图如图5所示。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~