[发明专利]一种基于HDLC协议高性能高速同步422仿真器板卡有效
申请号: | 202110051272.4 | 申请日: | 2021-01-14 |
公开(公告)号: | CN112732511B | 公开(公告)日: | 2022-10-25 |
发明(设计)人: | 汪静;倪启明;常贵阳 | 申请(专利权)人: | 上海镭隆科技发展有限公司 |
主分类号: | G06F11/26 | 分类号: | G06F11/26;G06F13/42 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201612 上海市松江*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdlc 协议 性能 高速 同步 422 仿真器 板卡 | ||
1.一种基于HDLC协议高性能高速同步422仿真器板卡,其特征在于,由HDLC协议模块、UART协议模块、收发接口电路、PXI桥接总线模块、HDLC功能模块和CRC校验模块组成;
HDLC协议模块:
发送模块:产生本路HDLC数据发送时钟;锁存写入的发送数据并按指定时序启动发送;在发送数据段前加上7E起始标志;对发送数据逐位做CRC计算并将计算结果附在发送数据之后;对包括CRC计算值在内的数据进行插零操作并附上7E结束标志把结果输出;
接收模块:产生与本路HDLC接收数据时钟同步的FPGA工作时钟;在接收的数据流中检测有无7E标志;当检测到数据流中有1F信号时,对数据进行删零操作;对经删零后的数据进行CRC校验;把接收到的数据存入FPGA内部RAM中;当接收到结束标志后,检查CRC校验值是否正确;
采集模块:对总线上的数据进行实时采集,并将数据锁存到FPGA内部RAM中,由上位机进行读取;
UART协议模块:
UART数据流的一个字符中的每一位意义如下:
■起始位:先发出一个逻辑“0”的信号,表示传输字符的开始;
■数据位:紧跟起始位之后,数据位的个数是4或5或6或7或8,构成一个字符,采用ASCII码,从最低位开始传送,靠时钟来定位;
■奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性;
停止位:它是一个字符数据的结束标志,是1位或1.5位或2位的高电平,空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送,波特率:是衡量数据传输速率的指针,表示为每秒钟传送的二进制位数(bit数);
收发接口电路:
由两个高速半双工收发器ISL3259E组成;
PXI桥接总线模块:
采用PXI9054芯片;
HDLC功能模块:
HDLC规定采用“零比特填充法”使一帧中两个字段之间不会出现6个连续1;
CRC校验模块:
由16个带使能端的D触发器组成,按照x16+x12+x5+1的生成多项式进行16位CRC计算;
将板卡工作中的每个独立过程以函数的形式封装成一个函数库,将接口函数(API)提供给用户可以减少用户开发应用程序的周期,提高程序的可靠性,还能让不了解板卡硬件组成原理的用户更方便的使用该板卡;
驱动函数功能:
a)设备打开(HDLC_Open)
函数原型:DLL BOOL__stdcall HDLC_Open(HANDLE*phSYNC422,BYTE CardId);
函数功能:找板卡、分配板卡资源
参数说明:phSYNC422:板卡的句柄
CardId:板卡编号
返回值:可找到板卡且板止资源分配成功,返回值为真;否则为假;
b)设备关闭(HDLC_Close)
函数原型:DLL BOOL__stdcall HDLC_Close(HANDLE*phSYNC422);
函数功能:关闭板卡,释放板卡资源
参数说明:phSYNC422:板卡的句柄
返回值:若板卡关闭成功,返回值为真;否则为假;
c)通道同步/异步配置函数(HDLC_SetSync)
函数原型:DLL BOOL__stdcall HDLC_SetSync(HANDLE*phSYNC422,BYTE ch,BYTEsync,BYTE isInteral);
函数功能:配置板卡同步/异步模式,以及内部同步时钟/外部同部时钟
参数说明:phSYNC422:板卡的句柄
ch:目标通道号
sync:等于1时同步,等于0时异步
isInteral:等于1为内部时钟,等于0为外部时钟
返回值:板卡配置成功,返回值为真,否则为假;
d)通道发送/接收配置函数(HDLC_ChConfig)
函数原型:DLL BOOL__stdcall HDLC_ChConfig(HANDLE*phSYNC422,BYTE ch,BYTEisRcv);
函数功能:配置板卡通道收发
参数说明:phSYNC422:板卡的句柄
ch:目标通道号
isRcv:等于1为接收,等于0为发送
返回值:板卡通道配置成功,返回值为真,否则为假;
e)接口速率配置函数(HDLC_BaudRateConfig)
函数原型:DLL BOOL__stdcall HDLC_BaudRateConfig(HANDLE*phSYNC422,BYTE chWORD baudRate);
函数功能:配置板卡波特率
参数说明:phSYNC422:板卡的句柄
ch:目标通道号,等于-1时设置所有通道
baudRate:设置波特率
返回值:板卡配置成功,返回值为真,否则为假;
f)发送数据函数(HDLC_Send)
函数原型:DLL WORD__stdcall HDLC_Send(HANDLE*phSYNC422,BYTE ch,BYTE*data,WORD length);
函数功能:数据发送
参数说明:phSYNC422:板卡的句柄
ch:目标通道号
data:发送数据指针
length:发送数据长度
返回值:为实际发送的数据长度;
g)接收数据函数HDLC_Receive
函数原型:DLL WORD__stdcall HDLC_Receive(HANDLE*phSYNC422,BYTE ch,BYTE*data,WORD length);
函数功能:数据接收
参数说明:phSYNC422:板卡的句柄
ch:目标通道号
data:接收数据指针
length:接收数据长度
返回值:为实际接收的数据长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海镭隆科技发展有限公司,未经上海镭隆科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110051272.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种判级算法调度监控系统
- 下一篇:一种数控机床轴类零件夹具