您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > LTE-ISOIEC78163串行通信协议的FPGA实现
ISO/IEC7816-3串行通信协议的FPGA实现1引言随着导航定位中数据安全要求的不断提高,导航数据加密越来越普遍,因此用于数据解密运算的SIM卡得以大量应用。把DSP中解调数据输入到SIM卡中进行解密,就需要转换设备把DSP并行数据转换成符合ISO/IEC7816-3串行通信协议能被SIM正确接收的串行数据,转换没备还需要把SIM卡返回数据转换成并行数据写入DSP进行处理。另外,随着FPGA在性能资源的不断提高,他在导航方面开始崭露头角。由于FPGA具有可重构、可综合优化等优点,所以选用FPGA实现DSP到SIM间的数据通信是一个比较理想的方案。2ISO/lEC7816-3串行通信协议ISO/IEC7816-3规定了IC卡的电气特性和传输协议。由接口设备给IC卡提供电源、复位信号和时钟,卡和接口设备间通过I/O端口进行串行通信。I/O端口共存在两种状态:发送状态和接收状态。IC卡根据通信协议可分为接触式和非接触式两种。接触式IC卡主要采用T=0和T=1通信协议。T=0是异步半双工字符传输协议,T=1是异步半双工块传输协议。接触式IC卡以图1所示的字符帧方式传输。串行通信是按位传送的,每位信息宽度定义为基本时间单位ETU(ElementaryTimeUnit)。在复位应答期间的信息宽度为“初始ETU”,为372个时钟周期。复位应答后的信息宽度称为“当前ETU”,计算公式为:其中:F是时钟频率变换因数,D是比特率调整因数,f是时钟频率。在本方案的设计中,对协议规定字符帧格式的校验位做了调整,在本设计中以“0”为帧起始位,以“1”作为结束位。从高电平的结束位到低电平的起始位能确保字符帧正确地传输。3用FPGA实现DSP与SIM卡间串行通信的方案DSP与SIM卡间串行通信实现原理图如图2所示。由图2可知,DSP通过I/O控制、并/串转换和串/并转换完成对SIM卡的信息读写。在此系统中,两个转换起到最主要的作用,他们完成并行信息和符合串行协议的串行信息间的转换。FPGA实现DSP与SIM卡间串行通信的方框图如图3所示。FPGA设计主要包括DSP与FPGA数据通信接口设计、地址译码、FIFO缓存、并/串、串/并转换、SIM卡输入输出控制等模块。FIFO缓存DSP输入数据和串/并转换后数据,并/串、串/并实现并行数据和串行数据间的转换,SIM卡输入输出控制利用发送FIFO空标志及时地选通回路。DSP与SIM卡间操作流程如图4所示。4FPGA设计中的主要模块及其仿真结果本课题选用TI公司的DSP芯片和Altera公司的FPGA芯片(EP2S15F672C5)完成所有设计。利用两个锁相环IP核生成系统所需62MHz时钟,此时钟用作FPGA的62MHz系统时钟。利用分频模块生成SIM卡所需的5MHz时钟和生成串行数据所需的5MHz时钟的32分频。FPGA设计中选用2个FIFOIP核来对数据进行缓存以此来实现DSP与SIM卡连续通信。FIFO的仿真结果如图5所示。由于SIM和FIFO对复位时钟的要求很严格,所以本设计采用通过DSP对FPGA中一寄存器写“101”生成软复位脉冲。此种软复位方法完成复位既方便又不容易出错。此FPGA设计中最重要的两个模块就是并/串转换和串/并转换模块,并/串转换模块把DSP输入的并行数据转换成宽度为5MHz时钟32分频的串行数据。串/并转换模块再把SIM卡返回的串行数据转换成DSP接收的并行数据。并/串转换和串/并转换模块的仿真结果如图6所示。由于SIM卡采用单I/O口的方式实现数据的输入输出,利用发送FIFO的空标志输出判断所有信息指令成功写到SIM卡之后,FGPA中控制DSP写命令字来选通由SIM卡到FPGA的回路。5结语在传统设计中,ISO/IEC7816-3协议通过软件编程来实现,通信的实时性、可靠性和稳定性不好。与传统方案相比,FPGA设计方案解决了上述问题,并且他的可定制性和IP复用技术等使得开发周期和难度大大降低。随着SIM卡在各个方面的应用,本设计可以做成一个定制而又通用的功能模块直接在其他许多系统中使用。
本文标题:LTE-ISOIEC78163串行通信协议的FPGA实现
链接地址:https://www.777doc.com/doc-2881415 .html