资源描述:
《上位机编程示例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、WinDriver安装与使用1.获取安装文件和序列号Win32平台使用WD1020X86.EXE安装Win64平台使用WD1021X64.EXE安装序列号文件sn.txt2.安装向导,[NEXT>]3.许可声明,[IAgree]1.安装选项,[Next>]2.安装目录,[Install]1.安装…2.WindowsVista及以上版本会弹出Windows安全提示,勾选始终信任来自”JungoLTD”的软件,点击[安装]1.安装完成,[Finish]2.注册提示,[RegisterNow]3.输入licensestring,[Activatelic
2、ense]1.注册成功后CurrentActiveLicens发生变化,点击[OK]2.安装成功DRFM板驱动说明接口说明1.DRFM_Board_num函数intDRFM_Board_num();描述获取DRFM板数量参数无返回值板卡数量备注DRFM板对上位机是一个PCI设备,上位机通过两个ID号(VendorID&DeviceID)识别PCI设备,获取板卡数量实际上是扫描指定ID号的PCI设备数量。2.DRFM_Open函数boolDRFM_Open(intboard_id);描述打开板卡参数board_id=板卡号返回值true=成功fal
3、se=失败备注对板卡进行操作前,需要打开板卡;板卡号可根据DRFM_Board_num返回值确定取值范围,[0,板卡数量);3.DRFM_Close函数intDRFM_Close(intboard_id);描述关闭板卡参数board_id=板卡号返回值0=正常非0=异常备注对板卡操作完成后,需关闭板卡;板卡号可根据DRFM_Board_num返回值确定取值范围,[0,板卡数量);1.DRFM_Load_FPGA函数intDRFM_Load_FPGA(intboard_id,char*path);描述加载XC6VSX315T芯片FPGA程序参数bo
4、ard_id=板卡号path=加载文件返回值0=正常非0=异常备注2.DRFM_Load_9520函数intDRFM_Load_9520(intboard_id,char*stp_path,DWORDbaseAddr);描述配置AD9520时钟文件参数board_id=板卡号stp_path=时钟文件baseAddr=基址返回值0=正常非0=异常备注3.DRFM_Load_9739函数intDRFM_Load_9739(intboard_id,DWORDbaseAddr);描述配置AD9739参数board_id=板卡号baseAddr=基址返回
5、值0=正常非0=异常备注4.DRFM_Read_Memory函数voidDRFM_Read_Memory(intboard_id,intBar,DWORDaddr,DWORD*data,intlength);描述读XC5VLX30T寄存器参数board_id=板卡号bar=BAR空间addr=偏移地址data=内存首地址length=长度(DWORD)返回值无备注5.DRFM_Write_Memory函数voidDRFM_Write_Memory(intboard_id,intBar,DWORDaddr,DWORD*data,intlength)
6、;描述写XC5VLX30T寄存器参数board_id=板卡号bar=基地址addr=偏移地址data=内存首地址length=长度(DWORD)返回值无备注1.DRFM_Load_ADC函数intDRFM_Load_ADC(intboard_id);描述配置ADC10D1500参数board_id=板卡号返回值0=正常非0=异常备注2.DSP_Load函数intDSP_Load(intboard_id,CStringm_HPILoaderFilePath);描述加载DSP参数board_id=板卡号m_HPILoaderFilePath=加载路径
7、返回值0=正常非0=异常备注板卡控制流程代码1.准备工作基于WinDriver实现使用已有的DRFM板卡驱动DeviceBase.hdrfm.hDEVICE.lib将以上三个文件加入工程在对话框类中声明DRFM_BOARD类对象;2.初始化在CDRFMSYSDlg::OnInitDialog中添加板卡初始化操作RegistDevice(NULL);//注册驱动库ConnectToDevice();//连接至板卡intnum=m_drfm.DRFM_Board_num();//获取板卡数量CStringstrBoardNum;strBoardNum
8、.Format("检测到%d块DRFM板卡",num);//格式化字符串PrintMessage(strBoardNum);//打印消息