(一) PIM卡定义
SIM卡是(Subscriber Identity Module)的英文简称,PIM卡是(PHS Subscriber Identity Module)的英文简称。
(二) PIM卡的结构和类型
PIM卡是带有微处理器的智能芯片卡,它的构成是以下几个硬件模块:
* CPU
* 程序存储器(ROM)
* 工作存储器(RAM)
* 数据存储器(EPROM或E2PROM)
* 串行通信单元
这五个模块必须集成在一块集成电路中,否则其安全性会受到威胁。因为,芯片间的连线可能成为非法存取和盗用PIM卡的重要线索。
由于PIM卡带有智能功能,所以它还有以下软件特性:
* 植入了COS(Card Operating System)芯片 *** 作系统
* 以文件模型进行信息管理
* 文件标志符作为唯一标志信息
* 存储着PSNM、KI、国家代码、运营商代码、CCH、PIN、UCHV、ADM等网络参数、鉴权信息等内容。
PIM卡逻辑结构如下:
在实际使用中有两种功能相同而形式不同的PIM卡:
(a) 卡片式(俗称大卡)PIM卡,这种形式的PIM卡符合有关IC卡的ISO…7816标准,类似IC卡。
(b) 嵌入式(俗称小卡)PIM卡,其大小只有25mm×15mm,是半永久性地装入到移动台设备中的卡。
两种卡外装都有防水、耐磨、抗静电、接触可*和精度高的特点。
(三)PIM卡的电气特性
我们从卡片上看到的金属部分是封装在模块上的载带的触点,有些人把它错误地叫做芯片。其实真正的半导体芯片被封装在模块的里面。PIM卡是按照IC卡的协议规范生产的,IC卡的协议规范中最基础最重要的一套规范是ISO/IEC 7816协议。这套协议不仅规定了IC卡的机械电气特性,而且还规定了IC卡(特别是智能卡)的应用方法(包括COS中很多数据结构)。PIM卡芯片有八个触点,与移动台设备相互接通是在卡插入设备中接通电源后完成。此时, *** 作系统和指令设置可以为SIM提供智能特性。如图所示。
(四)PIM卡的存储内容
PIM卡采用新的单片机及存储器管理结构,因此处理功能大大增强。PIM卡中存有三类数据信息:
(1) 与持卡者相关的信息以及PIM卡将来准备提供的所有业务信息,这种类型的数据存储在根目录下。
(2) PHS应用中特有的信息,这种类型的数据存储在PHS目录下。
(3) PHS应用所使用的信息,此信息可与其它电信应用或业务共享,位于电信目录下。
(五)PIM卡存储结构
PIM卡的主要完成两种功能:存储数据(控制存取各种数据)和在安全条件下(个人身份号码PIN、鉴权钥Ki正确)完成客户身份鉴权和客户信息加密算法的全过程。普通的桌面计算机上我们的大容量存储装置(硬盘之类)是分块管理的,我们习惯称之为"按扇区方式"组织。但我们在通常使用过程中并不关心"扇区"这样的概念,而只是看到一个个"文件"和"子目录"。所谓"文件",其实就是保存在一系列存储块中的一组数据,而"子目录"就是将一组文件组织在一起的一种形式。"文件"与"子目录"使我们易于使用数据。7816协议规定了智能卡采用"文件"的形式管理卡内存储器,它将卡内的文件分为3类:MF、DF和EF。MF(Master File)相当于桌面系统中的"根目录",DF(Dedicated File)相当于桌面系统中的"子目录",而EF(Elementary File)则是一个个保存数据的具体文件了。与桌面系统不同的是智能卡中DF级数(相当于目录层数的概念)通常是固定的,一般为1级(MF - DF),也有的为两级(MF - DF - SubDF)结构,但7816协议本身并不严格规定DF的级数。另外,7816协议对EF文件的类型有基本的定义,所以卡上的文件很多都是有一定格式的(如"定长记录"文件),并不是像桌面系统中的文件那样给出偏移量和长度就能 *** 作的"透明"结构。对于更高层的协议(如EMV、PBOC),对EF文件的类型有更具体的规定,这种规定往往为了适应本领域的应用
不知道您用的是ISD1420P 5W功放板、ISD1420语音组合精灵板、ISD1420T开发录放实验板……,同一系列的产品比较多,功用也不同。有关功ISD1420语音组合精灵板的内容如下:
ISD1420语音组合精灵板是一块最小化的语音模块,用户可以不需要了解语音芯片及语音合成等的内部机理,只需简单的外部串口控制,就可以直接在喇叭上获得理想的语音合成效果。板上语音芯片可插拔,选用ISD1420芯片。
本精灵板结构紧凑体积仅半个烟盒大小,以标准组件模块方式灵活自如地应用在各种用户系统及各种产品空间中。该精灵板虽体积小巧但包含了大量最新的器件和技术成果,如先进数字音频录放芯片(ISD1420)音质好断电不丢信息可自由录入语音内容;片内可擦写程序存储器的单片机(AT89C2051)使控制灵活功能强大;低压差微功耗的三端稳压器(HT7251)使输入电源电压范围扩至5-12伏、板载LM386功放可提供0.5W的喇叭输出。独有语音黑匣子功能设计可以记录本板放音的历史过程,使本板不但具备语音合成输出功能,也增有数据采集、存储功能……
一、设计
1、分段录制好音源芯片ISD1420。将需要的语音单词先通过磁带录音机或多媒体电脑录制好,分成若干段(最大64段),再通过"ISD1425高级语音编程拷贝机"全部自动分段写入到ISD1420芯片中,将此音源芯片插入本精灵板。--ISD芯片可即录即放反复修改内容,内部语音及分段信息在断电后也能保持100年。
2、本精灵板上ISD1420语音芯片录好了31段如下常用字词:"幺(00)、零(01)、壹(02)、贰(03)、叁(04)、肆(05)、伍(06)、六(07)、柒(08)、捌(09)、玖(0A)、十(0B)、百(0C)、千(0D)、万(0E)、温度(0F)、度(10)、正(11)、负(12)、现在(13)、正常(14)、偏高(15)、偏低(16)、上升(17)、下降(18)、号(19)、小时(1A)、分(1B)、秒(1C)、点(1D),嘟(1E)"等。
★如需其它专业广播级语音,请另行联系。
3、根据需要编写系统串行通讯程序,指令如下:
标准5V的RS232串口协议方式(TX、RX双线,串口方式一、无校验):
串口速率: 4800 bit/s(12M晶振时置FA)
引导码: AA AA
静音延迟0.5秒:DD (在一句话中停顿一会,起逗号作用)
句结束放音存储码: FF (立刻语音合成放音,并存储该指令,以后可检查复听)
句结束存储无音码: FE (存储该指令,以后可检查复听;但现在并不组合放音出来)
TX端放音忙信号: 低电平有效 (空闲为高电平,语音合成放音期间变为低电平输出。)
数据码: 码址与语音段位序号对应,如00为第一段,01为第二段,02为第三段,…….每句话最多48段。
★厂家免费提供范例式的接口源程序供参考,也可以提供其他特定要求的接口设计。
4、举例说一句"嘟,现在温度126.5度,偏高。",应发码:AA AA 1E DD 13 0F 02 0C 03 0B 07 1D 06 10 DD 15 FF。
二、使用
1、性能:电源电压5-12V,静态电流13mA,工作电流150mA,接口电平5V,外接喇叭8W,输出音频功率0.5W。
2、合成:按需要和规定提供控制指令(5V的RS232方式),用户可使用控制单片机的任意口线模拟通讯,本板即调用ISD语音芯片的相应段语音内容连续播放出来,语音合成放音期间TX端输出低电平。
3、检听:按一下板上按钮,或给"AN"端提供高电平脉冲,即可听到最近一次的语音组合发音内容,再按则听到前一次的内容,如此可一直向前检索复听,一般可查听近2000段纪录,可方便地作为设备运行黑匣子使用。语音结束5秒钟后没有按键,系统即复位,再按键即播放最新一段的语音。持续按键不放即按从后到前的顺序依次播放以前的语音组合句的记录。
4、换片学习:如果更换语音芯片的内容或更换芯片,即需要先让系统学习一遍(将语音芯片的分段地址都搜索并存储起来)。将短路跳针置于1-2位置按一下AN按钮,喇叭里会发出一些零乱的声音,放音完毕后即将短路跳针置回2-3,系统断电再通电即可控制使用。
5、通讯问题:如果用户使用微机或主频是11.0592MHZ的单片机控制,本板上的12M晶振也应改为11.0592MHZ晶振。
ISD1420语音组合精灵板串行接口发码测试程序AT89C2051单片机 12MHz
**** 初始化 ****
ORG 0000H ;
主程序
MAIN: MOV SP,#10H ;
MOV P1,#0FFH ;
MOV P3,#0FFH ;
CLR ET1 ;
CLR ES ;
CLR EX1 ;
CLR EX0 ;
CLR EA ;
MOV R3,#0DDH ;
JJK: MOV R0,#40H ;键输入存储的首地址
MOV SP,#10H ;
MOV P1,#0FFH ;
MOV P3,#0FFH ;
MOV SCON,#50H ;串行口工作于方式1
MOV PCON,#00H ;SMOD=0=fosc/32 (SMOD=1=fosc/16)
MOV TMOD,#20H ;定时器1工作于方式2 自动装入的8位计数器
MOV TH1,#0FAH ;波特率设置4800 1位起始位 8位数据位 1位停止位
MOV TL1,#0FAH ;
WW2: SETB T1 ;
MOV P1,#0EFH ;
JB RXD,WWWL ;
AJMP FCCC ;
WWWL: JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
MOV P1,#0DFH ;
JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
MOV P1,#0BFH ;
JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
AJMP WW2 ;
WW0:MOV A,P1 ;
CLR T1 ;
MOV 30H,#100 ;
DD0: JNB P1.0,$ ;
JNB P1.1,$ ;
JNB P1.2,$ ;
JNB P1.3,$ ;
ACALL Y100 ;
DJNZ 30H,DD0 ;
SETB T1 ;
CJNE A,#0E7H,JJ1 ;
MOV A,#01H ;
JJ1: CJNE A,#0D7H,JJ2 ;
MOV A,#02H ;
JJ2: CJNE A,#0B7H,JJ3 ;
MOV A,#03H ;
JJ3: CJNE A,#0EBH,JJ4 ;
MOV A,#04H ;
JJ4: CJNE A,#0DBH,JJ5 ;
MOV A,#05H ;
JJ5: CJNE A,#0BBH,JJ6 ;
MOV A,#06H ;
JJ6: CJNE A,#0EDH,JJ7 ;
MOV A,#07H ;
JJ7: CJNE A,#0DDH,JJ8 ;
MOV A,#08H ;
JJ8: CJNE A,#0BDH,JJ9 ;
MOV A,#09H ;
JJ9: CJNE A,#0EEH,JJ0 ;每一段的结束键
MOV A,#0AH ;
JJ0: CJNE A,#0DEH,JJA ;
MOV A,#00H ;
JJA: CJNE A,#0BEH,JJB ;
MOV A,R3 ;
CJNE A,#0DDH,JJBB ;
AJMP MAIN ;
JJBB: CJNE A,#0AAH,JJBB1 ;
AJMP FMM;
JJBB1: DEC R0 ;
AJMP AA ;输入结束
JJB: MOV R3,#00H ;
MOV @R0,A ;
INC R0 ;
AJMP WW2 ;没有输入结束键继续输入
AA: DEC R0 ;
MOV 3FH,#0AH ;
MOV 26H,#28H ;
AA0: MOV 20H,#00H ;
MOV 21H,#00H ;
MOV 22H,#00H ;
MOV 23H,#00H ;
MOV R1,#23H ;
AA1: MOV A,@R0 ;
CJNE A,#0AH,AA2 ;
MOV 18H,R0 ;
结果在 25H,24H 20H 21H 22H 23H
ACALL AH ;
调四位BCD码转换十六位二进制数 千 百 十 个
MOV 19H,R1 ;
MOV R1,26H ;
MOV @R1,24H ;
INC R1 ;
MOV @R1,25H ;
INC R1 ;
MOV 26H,R1 ;
MOV R1,19H ;
MOV R0,18H ;
DEC R0 ;
CJNE R0,#3EH,AA0 ;
AJMP FMM ;
AA2: MOV @R1,A ;
DEC R0 ;
DEC R1 ;
AJMP AA1 ;
FMM: MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV R1,26H ;
DEC R1 ;
FMM2: JB T0,FMM1 ;
T0=0 1420 T0=1 2500
DEC R1 ;
FMM1: MOV A,@R1 ;
ACALL OUT ;
DEC R1 ;
CJNE R1,#27H,FMM2 ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV R3,#0AAH ;
AJMP JJK ;
发CCH CCH
FCCC: MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0CCH ;
ACALL OUT ;
MOV A,#0CCH ;
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
AJMP MAIN ;
******************** 发送子程序 **********************
OUT: MOV TMOD,#20H ;定时器1工作于方式2 自动装入的8位计数器
MOV SCON,#50H ;串行口工作于方式1
MOV PCON,#00H ;
SMOD=0=fosc/32 (SMOD=1=fosc/16)
MOV TH1,#0FAH ;波特率设置4800 1位起始位 8位数据位 1位停止位
MOV TL1,#0FAH ;
SETB TR1 ;
MOV SBUF,A ;数据在A
JNB TI,$ ;
CLR TI ;
RET ;
****************** 1mS延时 ****************************
Y100: MOV TMOD,#01H ;
MOV TL0,#20H ;10mS延时初值置入
MOV TH0,#0FCH ;(65536-X)*1=10MS
SETB TR0 ;65536-(10000/1)
JNB TF0,$ ;
CLR TF0 ;
CLR TR0 ;
RET ;
BCD码转换成二进制数
AH: MOV R7,#03H ;
MOV R0,#20H ;
MOV 25H,#00H ;
MOV A,@R0 ;
MOV 24H,A ; R2
ML10: MOV A,24H ;
MOV B,#0AH ;
MUL AB ;
MOV 24H,A ; R2
MOV A,B ;
XCH A,25H ;
MOV B,#0AH ;
MUL AB ;
ADD A,25H ;
MOV 25H,A ;
INC R0 ;
MOV A,@R0 ;
ADD A,24H ;
MOV 24H,A ;
MOV A,25H ;
ADDC A,#00H ;
MOV 25H,A ;
DJNZ R7,ML10 ;
RET ;
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)