DP系列接触式IC卡读写使用手册Word下载.docx
- 文档编号:18890683
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:68
- 大小:66.18KB
DP系列接触式IC卡读写使用手册Word下载.docx
《DP系列接触式IC卡读写使用手册Word下载.docx》由会员分享,可在线阅读,更多相关《DP系列接触式IC卡读写使用手册Word下载.docx(68页珍藏版)》请在冰豆网上搜索。
3.4.2VFP调用32位动态库的方法..................................39
3.4.3VB调用动态库的方法........................................40
3.4.4Delphi调用32位动态库的方法...............................41
3.4.5PB调用32位动态库的方法...................................42
3.4.6VC调用32位动态库的方法...................................42
3.5IC卡类型代码....................................................43
3.6函数错误类型代码.................................................43
3.7自动卡型测试函数原理说明........................................44
附录一几种常用IC卡的特性............................................45
[2000/05/10]
DP-R-XXX
第一章DP系列接触式IC卡读写器简介
1.1概述
深圳市明华澳汉科技有限公司是以生产IC卡及开发IC卡相关设备为主导产品的高新科技企业。
继1996年第一台接触式IC卡读写器问世以来,本公司经不断改进、提高,已相继推出数千台不同型号的读写器。
DP读写器是明华公司最新推出的读写设备,它功能齐全、性能稳定,在原有RD系列读写器的基础上增加了对SAM卡操作的功能。
可方便地应用于工商、邮电、税务、银行、保险、医疗及各种收费、储值、查询等管理系统中。
可读写的卡型
a.存贮器(Memory)卡
●美国ATMEL公司的AT24C01A/24C02/24C04/24C08/24C16/AT24C64,AT88SC102,
AT88SC1604/1604B,AT45D041,AT93C46/93C46A卡
●德国SIEMENS公司的SLE4432/4442,SLE4418/4428,SLE4404,SLE4406卡
●以及其他公司的兼容卡片(ISSI24C01A/16)
b.CPU卡(符合T=0/T=1通讯协议)、SAM卡
特点
●可读写多种Memory卡和支持T=0、T=1通讯协议的CPU卡;
●支持对SAM卡操作的功能;
●与PC机通讯采用RS232串口,波特率为1200115200BPS;
●对于使用SAM卡的用户,可以选择内置于读写器的小卡座,也可以选择通过卡槽操作的大卡座。
●提供诸多开发平台的接口函数和应用范例。
1.2读写器型号
DP系列
XX-XXXX
卡型选择
1:
Memory卡
2:
CPU卡
3:
混合(MEM/CPU)
SAM卡座选择
0:
无
SIM
SAM
其他:
保留
通讯接口
RS-232
PS/2
USB
协议
P:
PC/SC标准
R:
MWRD兼容标准
系列
DP:
海豚
1.3装箱清单
读写器一台
串口线一条
安装盘一张
用户手册一本(根据需要提供)
产品保修卡一张
1.4读写器连接方式
DP读写器有两个PS/2接口和一个串口,PS/2接口中的一个与计算机的PS/2口连接,另一个与键盘/鼠标相连,串口直接接至计算机的串口上。
1.5指示灯
三色指示灯:
绿色用户卡已插入,闪烁时表示正在对用户卡操作
红色未插用户卡或SAM卡
橙色用户卡未插入,SAM卡已插入,闪烁时表示正在对SAM卡操作
1.6程序安装
步骤:
●将读写器连接在计算机通讯口上;
●将随机软盘插入驱动器A:
或B:
中
●在WINDOWS95/98环境下双击MWDP.EXE;
●按照安装程序的提示和要求进行安装;
注意:
安装程序在根目录下建立MWDP的目录(缺省),所有驱动软件均在此目录下。
安装完毕后请仔细阅读README.TXT文件。
1.7用户软件(V1.0)
用户软件包括三部分:
演示系统、驱动程序、应用范例和兼容库
a.演示系统
提供WINDOWS版演示程序DEMO.EXE。
b.驱动程序
●C语言接口函数库(BorlandC3.1)
●FOXPROFORDOS(2.5/2.6)接口函数库
●WINDOWS16位动态库
●WINDOWS32位动态库
●FOXBASE(2.0/2.1)接口函数库
●UNIX函数库(SCOUNIX5.0)
●LINUX函数库(Redhat6.0)
c.应用范例
随盘应提供VB5、VB3、PB5、DELPHI3、VFP3、FORPROFORDOS(2.5/2.6)、BC3.1、
FOXBASE(2.0/2.1)、UNIX(SCO5.0)、LINUX(Redhat6.0)等的应用范例。
1.8技术指标
●通讯接口:
RS232串口
●串口的波特率:
1200115200BPS
●电源:
由键盘取电,不外带电源
●最大功耗:
100mW
●环境温度:
商业级0°
70°
C
工业级-25°
85°
C
●相对湿度:
30%95%
●抗静电干扰:
15KV
●抗磁场干扰:
19奥斯特
●抗振动能力:
振幅0.35mm,频率10-55Hz,三个轴方向扫频振动
●绝缘电阻:
湿热情况下(40°
,95%)绝缘电阻应不小于5MΩ。
●外型尺寸:
长宽高110mm85mm60mm
●重量:
约475克
第二章演示系统使用说明
该演示系统可对ATMEL、SIEMENS等Memory卡和符合T=0/T=1通讯协议的CPU卡读写操作。
图1演示系统主界面
1.演示系统主界面分五个功能区,分别说明如下:
●设备信息提示
可显示用户软件版本号、硬件版本号。
●卡片选择
卡片选择分手动选择卡型和自动检测卡型两种,卡片选择完成以后,按下卡片操作按钮,进入相应的Memory卡或CPU卡操作界面,实现各自的功能操作。
●建立连接
初次运行系统时,系统按自动测试方式建立连接,并将成功连接的参数保存在系统文件中。
下次运行时系统将自动按保存的参数建立连接。
也可以指定通讯口和波特率建立连接。
连接成功后,用户可以更换读写器端口和波特率值,指定连接方式后,执行更改连接。
自动测试将按照串口1~串口4的顺序自动测试并连接。
●提示信息
提示信息显示各项操作的结果或出错信息。
鼠标双点框内文字可清空该区域。
●帮助文件
按F1键或在卡片操作界面单击?
图标,则弹出DP读写器帮助系统。
该帮助系统功能
十分详尽,包括如何使用演示软件、明华读写设备介绍、支持卡型介绍、库函数介绍和读写器常见问题解答五大部分。
第三章IC卡读写器驱动函数说明
3.1安装程序主要目录和文件
README.TXT版本说明
MWRDP\MWRDP1.00A\DRVER\:
DP系列读写器驱动程序
\C.LIB\*.*C.DOS静态函数库
\FOXPRO.DOS\*.*FOXPROFORDOS接口函数库
\WINDOWS.DLL\*.*WINDOWS32位和16位动态库
\UNIX\*.*UNIX动态库
\LINUX\*.*LINUX动态库
\FOXBASE\*.*FOXBASE函数库
\DEMO.WIN\DEMO.EXEWINDOWS下操作演示软件
\EXAMPLES\*.*各种平台的应用范例
MWRDP\MWRD5.4\DRVER\:
RD系列读写器驱动程序
UNWISEEXE卸载安装程序
3.2函数使用规则
(1)首先调用通讯口初始化函数ic_init()或auto_init();
(2)在串口通讯方式下,调用WINDOWS16位/32位动态库或UNIX函数库时,程序退出之前要执行ic_exit()函数,关闭串口,释放句柄icdev;
否则再次初始化串口将出错。
(3)函数调用错误类型,请参照函数错误类型代码。
所有函数的错误代码均以负数形式返回;
FoxprForDos和Foxbase例外。
函数详细的使用方法,请参考EXAMPLES目录下提供的范例。
3.3各种库函数说明
3.3.1C语言接口函数库
包括:
a.通用函数库
b.AT24C01A/24C02/24C04/24C08/24C16/24C64函数库
c.AT45D041函数库
d.AT88SC102/1604/1604B函数库
e.AT93C46/93C46A函数库
f.SLE4404函数库
g.SLE4406函数库
h.SLE4418/4428函数库
i.SLE4432/4442函数库
j.CPU卡函数
k.SAM卡函数
a.通用函数库
(1)intic_init(intport,longbaud)
说明:
初始化通讯接口
调用:
Port:
通讯口号0、1、2、3分别代表串口1、2、3、4;
baud:
通讯口为串口时代表波特率,其值可为1200-115200
返回:
<
0错误
>
0通讯设备标识符
举例:
icdev=ic_init(0,9600);
初始化串口1,波特率为9600
icdev=ic_init(0x378,0);
初始化并口,半字节通讯方式
(2)intauto_init(intport,longbaud)
自动初始化通讯接口
同ic_init()
注:
无论使用串口通讯还是并口通讯,读写器都可保持最近一次设置的波特率值。
上面的Ic_init()函数是用给定的串行波特率与读写器通讯,如果读写器保存的串行波特率与上位机的进行初始化的串行波特率不同,将会出现初始化失败;
而auto_init()函数在出现不同的情况下,它可自动测试读写器当前的串行波特率值,然后重新设置成上位机要求的串行波特率并建立好连接。
(3)intic_exit(inticdev)
关闭通讯口
icdev:
通讯设备标识符
0错误
=0正确
st=ic_exit(icdev);
C库中本无此函数,在此仅作为其它函数库的参考
(4)intget_status(inticdev,int*state)
返回设备当前状态
通讯设备标识符
state:
插卡状态
state=1读写器插有卡;
state=0读写器无卡
=0正确,
intstatus;
st=get_status(icdev,&
status);
(5)intturn_on(inticdev)
对卡上电
=0正确
st=turn_on(icdev);
(6)intturn_off(inticdev)
对卡下电
st=turn_off(icdev);
(7)intsrd_ver(inticdev,intlen,unsignedchar*databuff)
读取设备版本号
len:
版本号字符串长度,其值为18
databuff:
存放读取的版本号字符串
unsignedchardatabuff[18];
st=srd_ver(icdev,18,databuff);
(8)intset_baud(inticdev,longbaud)
设置串口方式下的波特率,设置完毕后,必须重新初始化通讯口。
通讯设备标识符。
串口时代表波特率,其值可为1200-115200
st=set_baud(icdev,57600);
设置读写器串口波特率为57600。
(9)longchk_baud(intport)
自动检测通讯方式。
该函数要在初始化通讯口前使用
Port:
通讯口号0、1、2、3代表串口1、2、3、4;
=0正确。
返回串口的波特率
st=chk_baud(0x378);
unsignedchardatabuff[3]={’a’,’b’,’c’};
st=cmp_dvsc(icdev,3,databuff);
(10)intchk_card(inticdev)
测卡类型,仅适用明华公司生产的部分IC卡
=0正确;
卡类型参照IC卡类型代码
st=chk_card(icdev);
(11)intic_encrypt(char*key,char*ptrsource,unsignedint
msglen,char*ptrdest)
DES算法加密函数
key:
加密的密码,长度为8
ptrsource:
原文
msglen:
原文长度必需为8的倍数
ptrdest:
密文
0错误。
其绝对值为错误代码
=0成功
charpatrdest[16];
st=ic_encrypt(“12345678”,”abcdefghabcdefgh”,16,ptrdest)
将长度为16的”abcdefghabcdefgh”用密码“12345678”加密
(12)intic_decrypt(char*key,char*ptrdest,unsignedint
msglen,char*ptrsource)
DES算法解密函数,使用过程与ic_encrypt相反
加密的密码;
长度为8
密文长度必需为8的倍数
其绝对值为错误代码
charptrdest[16];
st=ic_decrypt(“12345678”,”abcdefghabcdefgh”,16,ptrdest)
将长度为16的”abcdefghabcdefgh”用密码“12345678”解密
(13)unsignedlongDES_Encrypt(unsignedchar*Key,intKeyLen,unsignedchar
*Source,unsignedlongSrcLen,unsignedchar*Result)
加密的密码
keyLen:
加密的密码长度
Source:
Srclen:
原文长度
Result:
加密后密文长度。
st=ic_encrypt(“1234”,4,”abcdefghabcdef”,14,ptrdest)
将长度为14的”abcdefghabcdef”用密码“1234”加密
与ic_encrypt()函数相比,它取消了对密码和加密数据长度必须为8的限制,
它对于非8倍数的处理方式为在数据后自动补‘0’,凑足8的倍数。
(14)unsignedlongDES_Decrypt(unsignedchar*Key,intKeyLen,unsignedchar
*Source,unsignedlongSrcLen,unsignedchar*result)
DES算法解密函数,使用过程与des_encrypt相反
Key:
解密的密码
Keylen:
解密的密码长度
SrcLen:
密文的长度。
解密后原文的长度。
charptrdest[14];
st=ic_decrypt(“1234”,4,”abcdefghabcdef”,14,ptrdest)
将长度为14的”abcdefghabcdef”用密码“1234”解密
与ic_decrypt()函数相比,它取消了对密码和加密数据长度必须为8的限制,
(15)intasc_hex(unsigedchar*asc,unsignedchar*hex,
unsignedlonglength);
说明:
将ASCII码转换为十六进制数据
参数:
asc:
输入要转换的字符串
hex:
存放转换后的字符串
length:
为转换后的字符串长度
=0正确
〈0错误
unsignedchardatabuff[6];
st=asc_hex(“a1a2a3a4a5”,databuff,5);
(16)inthex_asc(unsignedchar*hex,unsignedchar*asc,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DP 系列 接触 IC 读写 使用手册