ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:857.62KB ,
资源ID:5998081      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5998081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PCIe8422使用说明书.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PCIe8422使用说明书.docx

1、PCIe8422使用说明书北京慧孚达科技有限公司多路RS422/485/232通讯接口卡PCIe8422使用说明书第一章 功能概述现今社会是飞速发展的信息社会,信息技术对社会发展有着深远影响,而数据采集是信息技术的关键环节。我公司推出的基于PCI总线、PCIe总线、USB总线及嵌入式等数据采集卡综合了国内外众多同类产品的优点,以其使用的便捷、性能的稳定、性价比高,获得了客户的一致好评,是您理想的选择。第一节、 简介 PCIe8422是具有PCIe接口的8路422/485/232接口通讯板卡。接口类型可以配置成RS232、RS422、RS485任意一种,或者RS232/RS422、RS232/R

2、S485复合类型;可以配置为8路RS422异步接口模式,或配置为4路RS422同步接口模式。灵活的定制方案,极大限度地满足客户的个性化应用要求。可广泛用于航天测控、工业测控等系统中。第二节、 板卡性能指标 总线接口PCIe,总线宽度x1,支持2.5Gbit/S的双向数据传输速度。 RS422数据传输速率可调节,最高可达4Mbps。 RS485/RS232模式支持异步通讯,RS422模式支持异步、同步通讯。 支持用户自定义波特率。 RS422模式收、发独立,全双工工作方式。 通讯接口起始位、数据位、停止位及校验位均可设置。 每一路422/485/232发送及接收通道都对应有2Kbytes FIF

3、O,用于数据缓存。 板卡有16路数字IO,可扩充为外触发信号。支持外触发,软触发。 数据接收方式支持查询、中断、DMA方式。 数据发送方式可以单次发送,也可连续发送。 可根据用户需求定制传输协议,如发送时添加帧头、帧尾;接收时检测帧头、帧尾等。第三节、 软件支持 PCIe8422多路422通讯卡为客户提供丰富的软件支持, 提供集成软件和驱动程序以及编程接口、动态连接库、使用例程等。第二章 硬件详述第一节、 板卡外形第二节、 板卡构造说明1:RS422/485/232外部接口(D型头信号定义,J2)RS422_Tn_N 和 RS422_Tn_P构成第n路RS422输出差分对信号。RS422_Rn

4、_N 和 RS422_Rn_P构成第n路RS422接收差分对信号。RS485_n_N 和 RS485_n_P 构成第n路RS485差分对信号。RS232_TXn 是第n路RS232输出信号。RS232_RXn 是第n路RS232接收信号。DGND是板卡地信号。2:J3接口定义(数字IO)IO0IO7 数字输入信号。IO8IO15数字输入信号。其中IO0IO7可以用作外触发信号。4:LED指示灯LED1:用来指示系统上电复位成功。LED2:用来指示板卡接收FIFO中有数据。LED3:用来指示板卡发送FIFO中有数据。5:安装驱动 将PCIe8422.inf文件和PCIe8422.sys文件分别拷

5、贝到C:windowsinf文件夹和C:windowssystem32drivers文件夹下。将PCIe8422板卡插入计算机PCIe插槽中,打开计算机,系统的“设备管理器”中显示“PCIe8422”设备。第三章 软件使用说明第一节、 界面构成 用户界面分为3个部分:接收通道数据显示区、发送通道数据定义区、通道参数配置区。其中通道参数配置区包括通道选择、通道设置、接收模式设置、发送模式设置。第二节、 操作指南1:参数配置选项通道选择:用于选择哪些通道用于传输数据。通道设置:波特率设置选择1200、9600、115200、614400等等,可以自己输入波特率数值 数据位选择 5、6、7、8 起始

6、位选择1、2 停止位选择1、1.5、2 校验位选择 无、奇校验、偶校验 选择设置通道07如何进行通道的参数设置:波特率、数据位、起始位、停止位、校验位等参数设置完成后, 选择设置通道用来将参数写入相应通道寄存器中;然后依照相应 方法进行下一通道参数设置。接收模式:接收方式:DMA、查询、中断 启动接收:用于启动或停止接收通道数据 清除窗口:用于清除接收窗口接收到的数据发送模式:发送方式:连续发送、单次发送 HEX发送:发送数据为十六进制 启动发送:用于启动或停止发送通道数据2:接收数据显示区用于显示接收通道的数据。3:发送数据定义区用于定义选定通道的发送数据。如何定义发送通道数据:首先在发送数

7、据定义区写入要发送的数据,然后在选择通道选项选择要发送通道,接下来点击设置通道数据按钮,数据写入通道数据缓冲区中,等待发送。依照此方法设置下一通道数据。第三节、 二次开发指南1:编程接口 PCIe8422提供驱动文件为PCIe8422.inf和PCIe8422.sys,提供高级应用程序例程。用户在此基础上二次开时,工程文件中需要包含PCIe8422.lib及头文件PCIe8422.h。2:PCIe8422.lib库函数简介/ 用于传输的实际硬件参数typedef struct _PCIE8422_CHANNEL_PARAMETER int m_BaudRate; int m_DataBit;

8、int m_StartBit; double m_StopBit; int m_ParityBit; BOOL m_channel_enable8; BOOL m_rxbuffer_status8;PCIE8422_CHANNEL_PARAMETER,*PPCIE8422_CHANNEL_PARAMETER;typedef struct _PCIE8422_STATUS_SEND LONG bNotEmpty; / 板载FIFO存储器的非空标志,=TRUE非空, = FALSE 空 LONG bHalf; / 板载FIFO存储器的半满标志,=TRUE半满以上, = FALSE 半满以下 LON

9、G bDynamic_Overflow; / 板载FIFO存储器的动态溢出标志,= TRUE已发生溢出, = FALSE未发生溢出 LONG bStatic_Overflow; / 板载FIFO存储器的静态溢出标志,= TRUE已发生溢出, = FALSE未发生溢出 PCIE8422_STATUS_SEND, *PPCIE8422_STATUS_SEND;typedef struct _PCIE8422_STATUS_RECEIVE LONG bNotEmpty; / 板载FIFO存储器的非空标志,=TRUE非空, = FALSE 空 LONG bHalf; / 板载FIFO存储器的半满标志,

10、=TRUE半满以上, = FALSE 半满以下 LONG bDynamic_Overflow; / 板载FIFO存储器的动态溢出标志,= TRUE已发生溢出, = FALSE未发生溢出 LONG bStatic_Overflow; / 板载FIFO存储器的静态溢出标志,= TRUE已发生溢出, = FALSE未发生溢出 LONG ulRemainCount; / 板载FIFO存储器里剩余数据个数 PCIE8422_STATUS_RECEIVE, *PPCIE8422_STATUS_RECEIVE;/# 常量定义 #/ CreateFileObject所用的文件操作方式控制字(可通过或指令实现多

11、种方式并操作)#define PCIE8422_modeRead 0x0000 / 只读文件方式#define PCIE8422_modeWrite 0x0001 / 只写文件方式#define PCIE8422_modeReadWrite 0x0002 / 既读又写文件方式#define PCIE8422_modeCreate 0x1000 / 如果文件不存可以创建该文件,如果存在,则重建此文件,并清0#define PCIE8422_typeText 0x4000 / 以文本方式操作文件/#/ 用户函数接口/# 常规通用函数 # / 适用于本设备的最基本操作 HANDLE DEVAPI F

12、AR PASCAL PCIE8422_CreateDevice(int DeviceID = 0); / 创建设备对象 HANDLE DEVAPI FAR PASCAL PCIE8422_CreateDeviceEx(int DevicePhysID = 0); / 用物理号创建设备对象 int DEVAPI FAR PASCAL PCIE8422_GetDeviceCount(HANDLE hDevice); / 取得设备总台数 BOOL DEVAPI FAR PASCAL PCIE8422_GetDeviceCurrentID(HANDLE hDevice, / 取得当前设备相应的ID号

13、PLONG DeviceLgcID, PLONG DevicePhysID); BOOL DEVAPI FAR PASCAL PCIE8422_ListDeviceDlg(HANDLE hDevice); / 列表系统当中的所有的该PCI设备 BOOL DEVAPI FAR PASCAL PCIE8422_ReleaseDevice(HANDLE hDevice); / 关闭设备,禁止传输,且释放资源 /# 发送器传输控制函数 # / 适于大多数普通用户,这些接口最简单、最快捷、最可靠,让用户不必知道设备 / 低层复杂的硬件控制协议和繁多的软件控制编程,仅用下面的启动设备和写 / 数据两个函数

14、便能轻松高效地实现高速、连续的数据传输 BOOL DEVAPI FAR PASCAL PCIE8422_SetChannel(HANDLE hDevice, UCHAR m_ChannelSelect);/set channel_select_reg BOOL DEVAPI FAR PASCAL PCIE8422_ConfigChannel(HANDLE hDevice,UCHAR ChannelNum,PCIE8422_CHANNEL_PARAMETER m_channel_parameter); HANDLE DEVAPI FAR PASCAL PCIE8422_CreateSystemE

15、vent_Int(void); BOOL DEVAPI FAR PASCAL PCIE8422_InitDeviceInt(HANDLE hDevice, HANDLE hEvent, PTHREAD_PARA pPara); BOOL DEVAPI FAR PASCAL PCIE8422_ReleaseSystemEvent_Int(HANDLE hEvent);/ 释放内核事件对象 BOOL DEVAPI FAR PASCAL PCIE8422_InitDeviceDmaAD( / 初始化设备,当返回TRUE后,设备即准备就绪. HANDLE hDevice, / 设备对象,它由Creat

16、eDevice函数创建 HANDLE hDmaEvent, / DMA事件句柄,它由CreateSystemEvent创建 PPCIE8422_STATUS_RECEIVE pDMAStatus); HANDLE DEVAPI FAR PASCAL PCIE8422_CreateSystemEvent_Dma(void); / 创建内核事件对象,供InitDeviceDma和VB子线程等函数使用 HANDLE DEVAPI FAR PASCAL PCIE8422_ReleaseSystemEvent_Dma(HANDLE hDmaEvent);/中断读数据消息 BOOL DEVAPI FAR

17、PASCAL PCIE8422_StartDeviceSend( / 使能发送器设备(如果发送器连接成功返回TRUE,否则返回FALSE) HANDLE hDevice); / 设备对象句柄 BOOL DEVAPI FAR PASCAL PCIE8422_ClrDeviceSendFifo( HANDLE hDevice); / 清发送器FIFO BOOL DEVAPI FAR PASCAL PCIE8422_GetDevStatusSend( HANDLE hDevice, / 设备句柄 PPCIE8422_STATUS_SEND pSendStatus);/ 发送器状态 BOOL DEVA

18、PI FAR PASCAL PCIE8422_WriteDeviceData_Pro( HANDLE hDevice, / 设备对象句柄 PULONG pDataBuffer, / 数据用户缓冲区 ULONG nWriteSizeWords); / 写入的点数(以字为单位) BOOL DEVAPI FAR PASCAL PCIE8422_WriteDeviceData_Dma( HANDLE hDevice, / 设备对象句柄 PULONG pDataBuffer, / 数据用户缓冲区 ULONG nWriteSizeWords); / 写入的点数(以字为单位) BOOL DEVAPI FAR

19、 PASCAL PCIE8422_StopDeviceSend( / 禁止发送器设备 HANDLE hDevice); / 设备对象句柄 /# 接收器传输控制函数 # / 适于大多数普通用户,这些接口最简单、最快捷、最可靠,让用户不必知道设备 / 低层复杂的硬件控制协议和繁多的软件控制编程,仅用下面的启动设备和读取 / 数据两个函数便能轻松高效地实现高速、连续的数据传输 BOOL DEVAPI FAR PASCAL PCIE8422_StartDeviceReceive( / 使能接收器设备(如果接收器连接成功返回TRUE,否则返回FALSE) HANDLE hDevice); / 设备对象句

20、柄 BOOL DEVAPI FAR PASCAL PCIE8422_ClrDeviceReceiveFifo( HANDLE hDevice); / 清接收器FIFO BOOL DEVAPI FAR PASCAL PCIE8422_ReadDevicePro_Npt( / 用非空标志读取设备上的AD数据 HANDLE hDevice, / 设备句柄 PULONG pDataBuffer, / 将用于接受数据的用户缓冲区 ULONG nReadSizeWords, / 读入的数据长度 PLONG nRetSizeWords); / 返回实际读取的数据长度 BOOL DEVAPI FAR PASC

21、AL PCIE8422_GetDevStatusReceive( HANDLE hDevice, / 设备句柄 PPCIE8422_STATUS_RECEIVE pReceiveStatus);/ 接收器状态 BOOL DEVAPI FAR PASCAL PCIE8422_ReadDevicePro_Half( / FIFO半满读AD数据 HANDLE hDevice, / 设备句柄 PULONG pDataBuffer, / 将用于接受数据的用户缓冲区(该区必须开辟65536个字的空间) ULONG nReadSizeWords, / 读入的数据长度 PLONG nRetSizeWords)

22、; / 返回实际读取的数据长度 BOOL DEVAPI FAR PASCAL PCIE8422_ReadReceiveDeviceDma( / 直接内存(DMA)方式函数 HANDLE hDevice, / 设备对象,它由CreateDevice函数创建 PULONG pADBuffer, / 用户缓冲区 LONG nReadSizeWords, / 每次DMA时,用户从指定缓冲应读取的实际长度 PLONG nRetSizeWords); / 返回实际读取的数据长度 BOOL DEVAPI FAR PASCAL PCIE8422_StopDeviceReceive( / 禁止接收器设备 HAN

23、DLE hDevice); / 设备对象句柄 /#中断实现计数器控制函数 # /DEVAPI BOOL FAR PASCAL PCIE8422_InitDeviceInt( / HANDLE hDevice, / 设备句柄 / HANDLE hEventInt); / 非空中断事件(FIFO从空到非空产生一个中断) DEVAPI BOOL FAR PASCAL PCIE8422_GetDeviceIntCount(HANDLE hDevice, PULONG pIntSrc);/ 得到中断次数 DEVAPI BOOL FAR PASCAL PCIE8422_ReleaseDeviceInt(H

24、ANDLE hDevice); / 释放中断/# 数据读取函数(DMA方式)(上层用户函数) #/# 内存映射寄存器直接操作及读写函数 # / 适用于用户对本设备更直接、更特殊、更低层、更复杂的控制。比如根据特殊的 / 控制对象需要特殊的控制流程和控制效率时,则用户可以使用这些接口予以实现。 BOOL DEVAPI FAR PASCAL PCIE8422_GetDeviceAddr( / 取得指定的指定设备ID号的映射寄存器的线性基地址,返回设备总数 HANDLE hDevice, / 设备对象句柄 PULONG LinearAddr, / 返回指定映射寄存器的线性地址 PULONG Phys

25、Addr, / 返回指定映射寄存器的物理地址 int RegisterID); / 设备映射寄存器的ID号(0-5) BOOL DEVAPI FAR PASCAL PCIE8422_GetDeviceBar( / 取得指定的指定设备寄存器组BAR地址 HANDLE hDevice, / 设备对象句柄,它由CreateDevice函数创建 ULONG pulPCIBar6); / 返回PCI BAR所有地址,具体PCI BAR中有多少可用地址请看硬件说明书 BOOL DEVAPI FAR PASCAL PCIE8422_GetDevVersion( / 获取设备固件及程序版本 HANDLE hD

26、evice, / 设备对象句柄,它由CreateDevice函数创建 PULONG pulFmwVersion, / 固件版本 PULONG pulDriverVersion);/ 驱动版本 BOOL DEVAPI FAR PASCAL PCIE8422_WriteRegisterByte( / 往设备的映射寄存器空间指定端口写入单节字数据 HANDLE hDevice, / 设备对象 ULONG LinearAddr, / 指定映射寄存器的线性基地址 ULONG OffsetBytes, / 相对于基地址的偏移位置 BYTE Value); / 往指定地址写入单字节数据(其地址由线性基地址和

27、偏移位置决定) BOOL DEVAPI FAR PASCAL PCIE8422_WriteRegisterWord( / 写双字节数据(其余同上) HANDLE hDevice, ULONG LinearAddr, ULONG OffsetBytes, WORD Value); BOOL DEVAPI FAR PASCAL PCIE8422_WriteRegisterULong( / 写四节字数据(其余同上) HANDLE hDevice, ULONG LinearAddr, ULONG OffsetBytes, ULONG Value); BYTE DEVAPI FAR PASCAL PCIE8422_ReadRegisterByte( / 读入单字节数据(其余同上) HANDLE hDevice

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1