数字IC设计十篇

2024-06-10

数字IC设计 篇1

随着IC制造工艺的升级换代,数字IC的集成度不断提高,设计的复杂度也越来越高。传统的采用门电路和触发器等分立元件来构造的数字系统已基本消失,取而代之的是So C或FPGA等大规模集成电路构造的数字系统。传统的设计方法已无法满足大规模集成电路设计对速度功耗等性能的要求。数字IC设计早已进入EDA时代,且设计中电路性能的优化,硬件描述语言的掌握与EDA工具的使用变得更加重要。然而多年来,数字IC设计系列课程的教学内容仅仅注重理论性和系统性。数字IC设计工程师是工作在研发第一线的应用型、技术型人才,要求具有较强的实践能力。无论从课程发展还是从教育对象的角度出发,迫切要求高校对数字IC设计人才的培养进行适当的改革以适应时代的需求。

1 企业对数字IC设计人员的要求

由于IC的多样化,不同企业对数字IC设计人才的要求各有差异,但也存在一定的共性。硬件描述语言(HDL,一般是Verilog或VHDL)既可以描述底层的门电路和触发器,也可以描述在单个门电路和触发器之上的寄存器传输级(RTL)层次设计大规模集成电路。随着现代消费电子产品对芯片速度和功耗要求的提高,迫使许多数字IC设计者要对底层门电路和触发器等基础数字电路知识有深刻的理解。因此,数字电路和HDL是优秀数字IC设计工程师必须精通的两门技术,这当然也是企业对数字IC设计工程师最基本的要求[1]。很多企业一般也要求应聘者熟悉综合、时序分析的基本概念,有FPGA的开发和验证经验。某些企业在面试过程中,往往也会考察数字电路的优化能力,这是数字IC设计工作中不可或缺的一项技能。根据所涉及IC的不同,不同的数字IC设计岗位,对专业知识的要求有所不同。多媒体类的IC设计岗位往往要求熟悉数字信号处理;通信类的IC设计岗位则往往要求熟悉各种通信协议;So C类的IC设计岗位往往要求熟悉各种总线协议、熟悉计算机体系结构等等。

电子信息类专业的学生一般都要学习数字电路的基本知识,同时有不少学生选修HDL设计。学好这两门课的学生都可以满足企业对数字IC设计人员的基本要求。但是,企业在招聘过程中往往一才难求,大量的电子信息类学生无法满足企业的要求,部分企业甚至对这类学生失望,转而招聘资质较好的数学类、物理类、医学类等学生来做数字IC设计。其实电子信息类的学生只要稍加转变就能达到企业的要求从事数字IC设计,填补这类人才的需求空缺。

2 数字IC设计系列课程的教学现状与误区

数字电路是电子信息类的传统基础课,几乎是所有该类专业学生的必修课。现有的数字电路课程和教材往往以分立电路或小规模集成电路为主,较少涉及大规模集成电路设计[2]。数字IC设计人员不仅要考虑如何实现数字系统的电路逻辑,更重要的是要考虑所实现电路的性能,如面积、速度、功耗等的要求。目前,国内高校这方面的课程寥寥无几,这严重制约着学生的数字IC设计水平。

现在HDL设计课程是高校常见的选修课之一,高校中对HDL的教学,往往注重语法的讲解,对各种关键字标识符讲解较深。然而,对HDL的综合性往往很少提及。大部分学生学完之后,没有建立起代码与电路的对应关系,几乎没有代码综合出电路的能力,分不清哪些是行为级的代码,哪些是寄存器传输级(RTL)的代码。甚至有相当大一部分学生将硬件描述语言与C/C++等语言等同起来,认为其不过是另一种软件程序设计语言。这种误区导致大量学生写出的综合代码效率低下,甚至不能综合。

数字IC设计是实践性很强的一个岗位,对经验的积累有一定的要求,应届毕业生往往在经验上达不到企业的要求。学校实验室资源的缺乏和课程设置的缺失是其中很重要的原因。数字IC设计的E-DA软件基本上运行在UNIX/Linux操作系统,EDA软件售价昂贵。学生们日常使用Windows系统,没有UNIX/Linux系统的使用经验,在UNIX/Linux上安装调试EDA软件更是不太可行。这就导致大量学生缺乏实战经验,工作中需要花大量时间来熟悉运行环境。

3 数字IC设计系列课程改革初探

3.1 数字电路结合HDL的教学方式

针对数字电路以及HDL设计教学上的误区,将数字电路课程和HDL设计课程结合起来教学是一个不错的方法。电路知识和HDL设计穿插讲解,一一对应,学生比较容易地学会使用HDL,区分RTL语句和行为级语句,知道哪些语句可以综合出硬件。同时还能在学习数字电路期间,运用Synplify等综合软件进行综合并用Model Sim等仿真软件进行仿真,加强对HDL语言RTL级语句和行为级语句的使用,加深对数字电路的理解。两门课结合起来教学还可以缩短两门课的总课时,起到事半功倍的效果。经过改革后,学生对数字电路的内部结构有了更深入的理解,同时对HDL语言的综合性有了深刻的认识,复杂数字电路的设计能力也有了较大的提高。

3.2 FPGA设计结合数字系统性能优化的教学方式

FPGA是目前广泛使用的一种可编程逻辑器件,FPGA上可以实现各种功能强大的数字系统,也可以用来验证数字IC设计的正确性。因此,FPGA设计也是大多数数字IC设计工程师必须掌握的技能之一[3]。

数字IC设计人员不能仅仅实现数字系统的逻辑功能,很多时候是要考虑所实现的系统的物理性能,如面积、功耗、速度、时滞和吞吐量等多方面的因素。在工艺进入纳米级的今天,这些性能优化技巧显得尤为重要。而国内开设此类课程的高校寥寥无几,大多数学生没有性能优化的概念,写出的代码性能较差。

FPGA设计与专用集成电路(ASIC)设计在设计流程和设计技巧上有许多相似的地方,数字系统的性能优化技巧大多可以运用到FPGA设计中,因此可以将高级数字系统设计穿插到FPGA设计的课程中,在FPGA设计过程中可以清晰地看见各种性能优化技巧的实现效果,加深学生对这些设计技巧的理解。通过对FPGA设计课程的改革,学生对数字电路的硬件特性有了清晰的认识,掌握了一定的数字电路优化技巧,可以设计出一些针对不同优化目标的电路。

3.3 ASIC设计与EDA实验室的构建

通过对FPGA设计的学习,学生可以掌握常用的数字IC设计技巧,设计出速度更快功耗更低的数字系统。然而,单纯掌握FPGA设计并不能立刻转向ASIC设计。ASIC设计与FPGA设计的本质区别在于ASIC设计可使用的资源是灵活可变的,而FPGA设计所用的资源只能是FPGA芯片中存在的资源。同时FPGA设计的EDA软件与ASIC设计的EDA软件在使用上也是不同的,FPGA设计的EDA软件通常是可以运行在Windows操作系统的集成化开发环境,而ASIC设计的EDA软件一般都是只能运行在UNIX/Linux操作系统,通过各种脚本执行各种操作。因此,学习IC设计EDA软件的使用是成为数字IC设计工程师必不可少的一环。由于IC设计EDA软件运行环境的特殊性,学生难以自己构建实验环境,学校有必要为学生创造实践机会。IC设计EDA软件价格昂贵,实验室的建设投入大,学校可利用学生资源优势,争取大学计划、科研公共平台、实验室共建等多种方式,获得EDA厂商或科研机构的支持[4]。同时学校也可以争取校企合作,组织学生到相关企业的生产研发一线去培训与实习,将学生在课堂上学到地理论知识更好地运用到企业的实际当中去[5]。

4 结语

数字IC设计工程师是集成电路设计人才中要求较高,相对紧缺的一个岗位,实际上大量的电子信息类专业只要对课程设置稍加改革,就可以培养出一批初级数字IC设计工程师。学生通过上述3门课程的学习就能达到企业的基本要求,企业只需根据所涉及IC的不同对新进员工补充相应算法知识即可让其参与到项目中来,可以极大地填补这类人才需求空缺。

参考文献

[1]John F.Wakerly.Digital Design Principles and Practices(4th Edition)[M].Prentice Hall,2005(8).

[2]李东生,尹学忠.改革传统课程教学强化EDA和集成电路设计[J].实验技术与管理,2005(4).

[3]毛文娟.FPGA课程教学研究[J].科技展望.2016(16).

[4]陈伟元,吴清鑫,吴尘,金小华.高职微电子技术专业实验室的构建[J].实验室研究与探索,2012(7).

数字IC设计 篇2

关键词:电能表,IC卡,单片机,ADE7755

1 IC卡智能电表控制系统的设计方案

1.1 IC卡智能电表控制系统的计要求

从供电部门购得所需电量后, 存入IC卡中。然后将IC卡插入IC卡座, 经过IC卡智能电表控制系统对IC卡的识别后, 开始供电。显示芯片可以把当前的用电量信息以及卡中的所剩电量清晰的显示出来, 若余额达到限定值, 系统的红色LED会闪烁进行报警, 提示对IC卡充值。如果电量用完, 系统会自动断电, 停止供电。

1.2 IC卡智能电表的硬件设计方法

IC卡智能电能表控制系统中含有微处理器或微控制器, 在微处理器或微控制器的外围进行设备的扩展如程序存储器ROM、数据存储器RAM、显示器、报警装置。作为一个完整的智能电能表还应包括输入通道和输出通道。

智能电能表实际上是一个微型计算机系统, 它具有微处理器或微控制器, 并有标准总线接口, 不同功能的智能电能表由不同部件组合而成。智能电能表的监控程序固化在程序存储器EPROM、ROM、EEPROM等中, 被测参量通过传感器采集电量, 然后经过模数转换后变为微处理器能直接识别的数字信号。

2 硬件选择

2.1 系统硬件设计框图

2.2 控制芯片AT89S52单片机

AT89S52是一种低功耗、高性能CMOS8位微控制器, 具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造, 与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程, 亦适于常规编程器。在单芯片上, 拥有灵巧的8位CPU和在系统可编程Flash, 使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。因此, 综合考虑功率、系统稳定性等因素后, 选用AT89S52单片机。

2.3 电能计量芯片

ADE7755是一种高准确度电能测量集成电路。ADC和基准源为模拟电路, 乘法器和滤波器都是数字电路, 这可以使ADE7755能够保持极高的准确度和长期的稳定性。

2.4 IC卡SLE4442

选择合适IC卡的时候主要考虑了以下几个方面:卡片类型、存储模式、存储容量、安全性要求和综合价格因素。综合以上因素, 结合当前市场上流行的IC卡的使用, 考虑到预付费电表推广所受到的价格方面的影响, 本设计采用逻辑加密型存储卡。并以德国西门子 (SIEMENS) 公司设计的逻辑加密存储卡SLE4442为所选IC卡。

2.5 数据存储

选择AT24C08, 可提供8192位的串行电可擦写可编程只读存储器 (EEPROM) , 组织形式为1024字×8位字长。适用于许多要求低功耗和低电压操作的工业级或商业级应用。可选节省空间的8脚PDIP, 8脚JEDEC SOIC, 8脚Ultra Lead Frame Land Grid Array (ULA) , 5脚SOT23, 8脚TSSOP, 和8触点d BGA2封装, 并通过2-wire串行接口存取。

3 电路主要模块设计

3.1 电源模块

电源模块原理图如图2所示。从220V的居民常用电的主网中接入, 然后经过桥式整流电路整流后, 电解电容储能、平波。滤波电容滤除高频纹波, 再经过三端稳压即获得直流+5V和+12V为各种芯片和器件的正常工作提供必要的电源。

3.2 IC卡电路模块

IC卡的接口电路由R14、R15、R6, 按钮B1和IC卡组成, 如图3所示。其中, 管脚1接+5V电源, 单片机的P23、P24、P25外接上拉电阻后分别和IC卡的2、3、8引脚连接, 6, 9为常开触点, 10脚接地, 6脚和按钮B1连接后接到单片机的P33口。当插入IC卡时, 单片机并不立即对卡进行操作, 为了避免插卡的不稳和有效去抖动, 提高系统的稳定性, 此时需要按下B1按钮, 单片机获得中断申请才开始对IC卡进行读写操作。

3.3 看门狗电路

设计中的复位电路是由MAX706构成, 负责监控电路的通电、断电、单片机程序跑飞或意外进入“死循环”, 产生一个单片机复位脉冲, 将单片机复位, 如图4所示。

MAX806通过内部的比较监控器监控Vcc, 为单片机产生上电复位信号;在MR外部连接一个手工复位按钮, 当复位按钮按下时, 在MR引脚出现低电平, 为单片机产生一个手工复位信号;另一个电压比较器可以对单片机的供电电源进行监控, 该比较器的反向输入端已经与1.25V的内部基准电压源连接, 使用时只需外接2只电阻以监控单片机的供电电源, 一旦电源电压低于门限电压, MAX806即可产生一个“电源过低”的报警信号输出;MAX806内部包含一个1秒的定时器的Watchdog定时器, 单片机在运行程序时用周期小于1秒的脉冲信号不断地发送给WDI以清除Watchdog定时器, 使其不会溢出。一旦出现单片机失控、程序“跑飞”或陷入意外“死循环”等情况, MAX806的Watchdog定时器不能被及时清零, 1秒后Watchdog定时器溢出, MAX806将输出一个Watchdog定时器溢出的复位信号给单片机。

3.4 报警电路

报警电路由发光二极管D3、电阻R17、电阻R18和一个三极管Q3组成。

报警单路的主要功能是:当用户电表里的剩余电量小于报警限定值时, 单片机的P27口会输出低电平, 发光二极管被点亮报警, 如图5所示。

3.5 供电控制电路

当用户IC卡电表的数据存储模块中的剩余电量没有达到剩余电量跳闸极限值时, 该电路通过继电器让用户保持供电;当用户剩余电量达到跳闸限值时, 本电路通过继电器停止向用户供电。

参考文献

[1]刘守义.智能卡技术[M].西安电子科技大学出版社, 2004:5-7.

[2]黄淼云.智能卡应用系统[M].清华大学出版社, 2000:9-10.

[3]阎石.数字电子技术基础[M].清华大学出版社, 2006:11-12.

[4]胡宴如, 耿苏燕.高频电子线路[M].高等教育出版社, 2009:10-11.

[5]童诗白, 华成英.模拟电子技术基础[M].高等教育出版社, 2006:12-13.

数字IC设计 篇3

关键词:ADP1047;PFC;功率计量;ADP1043

在设计AC/DC时,不但要有数字控制的全桥控制IC—ADP1043,而且其功率因数校正部分也需要数字控制型的器件,ADP1047即是这样一款新产品,它不但可以完成功率因数校正,还能精确计量交流功率,控制接通电源时抗冲击的能力。

数字PFC功能是基于传统升压模式的PFC拓朴,将多个输出电压反馈组合在一起,提供最佳的谐波校正及良好的PF值,全部信号控制都进入数控领域并提供最大的柔性——全部关键参数都能报告并通过PM总线接口给出,这样可以使用户获得最佳性能,最高效率的功率因数校正电路,而且可以大幅度减少设计时间。

数字PFC控制特别适用于智能电源管理系统,并容易计量,通过智能电源管理系统改善终端用户系统的效率。通过调节频率进一步减小轻载时的功耗,并能减少输出电压给低压负载。

1 主要特点

ADP1047可以提供精确的均方根输入电压、电流及功率的测量,并可以通过PM总线报告到电源的二次侧。ADP1047具有增强的集成度和功能应对浪涌冲击,可以大幅度减少外围元件数量,极易达到最佳化设计。

器件数字化的目标还为了更高的可靠性,为了多种电源应用开路。该电路有坚固耐用的保护功能,有过压保护,过流保护,接地连续计量,AC检测,内部过热保护,外部温度报告。

ADP1047内部有8KB 的EEPROM存储调整器,并允许不用微控制器独立地控制,通过容易使用的GUI调节。ADP1047以3.3V电源供电,为24PIN外引脚,工作环境为-40~+85℃。

2 引脚功能

ADP1047的引脚排列如图1所示。以下为ADP1047的各引脚介绍。

1PIN:AGND。模拟地,直接接到DGND,这里将模拟电压送至模数变换器ADC。

2PIN:VAC。输入的线路电压检测,此信号参照PGND。

3PIN:VFB。反馈电压检测端,从PFC输出电压取样送到此处,参照功率地,用作模拟电压送至模数转换器ADC处。

4PIN:OVP。过压保护,这个信号参照PGND,用作OVP功能。

5PIN:PGND。功率地,接至输入和输出功率的轨线上。

6PIN:ILIM。电流限制端,限制峰值电流,参照PGND。

7PIN:NC。空脚。

8PIN:CS-。电流检测负输入端,用于电流测量,计量及保护。

9PIN:CS+。电流检测正输入端,用于电流测量,计量及保护。

10PIN:DGND。数字地,确保与模拟地AGND低阻抗连接。

11PIN:PSON。电源使能信号,此信号用于使能或禁止PFC控制器。

12PIN:VCORE。2.5V输出稳压器,外接0.1μF电容旁路到DGND。

13PIN:PWM。对PFC的脉宽调制输出。

14PIN:PWM2。辅助PWM,此信号参照DGND。

15PIN:AC-OK。开路漏极输出,用于信号标志输出,参照DGND。

16PIN:PGOOD。开路漏极输出,用于信号标志输出,参照DGND。

17PIN:INRUSH。浪涌控制信号,用于对外部浪涌的控制驱动器。

18PIN:SYNC。控制器外同步端,此端允许与之并联的PFC控制器去同步,以减小干扰。

19PIN:SCL。I2C串联时钟输入,参照DGND。

20PIN:SDA。I2C信号数据输入输出端,参照DGND。

21PIN:ADD。地址选择输入,从此端外接一支电阻到AGND。

22PIN:RTD。温度信号输入,将一个热敏器件放于此处接至AGND。

23PIN:RES。内部电压基准,外接一支50kΩ电阻到AGND。

24PIN:VDD。IC供电端,从3.0~3.6V。外接电容旁路到AGND。

3 工作原理及应用

ADP1047的内部功能方框图如图2。ADP1047是一款执行AC功率因数校正的数字PFC控制器,有着众多的传统PFC特色:采用BOOST拓朴,可产生检测电压和检测电流,能产生可调节的PWM输出。

ADP1047设计有坚固耐用的保护功能,包括过压保护(OVP)、过流保护(OCP)、欠压保护(UVP)、接地连续计量、AC检测,及内部过热保护和外部温度报告,因此可以应用在多种电源中。

ADP1047的这些功能均可以通过I2C总线接口去调节,同时这个总线接口还用于校准电源各参数,包括输入电压、输入电流、输入功率、故障模式等。

ADP1047的控制环由数控系统控制,可以很容易地调节滤波特性。其建立在EEPROM中的数据用来储存调节值,可靠性通过检查总和与庸余电路来保障。在系统故障出现时,EEPROM可以捕捉第一个故障情况,以此来改善整个系统的可靠性,从而大大减少故障分析时间。

ADP1047运行软件为GUI,可以提供全部的运行软件。

图3所示由ADP1047组成的数字控制功率因数校正的典型PFC电路。?笮

作者简介

数字IC设计技术论文 篇4

摘要:随着数字电路设计的规模以及复杂程度的提高,对其进行设计所花费的时间和费用也随之而提高。根据近年来的统计,对数字系统进行设计所花的时间占到了整个研发过程的60%以上。所以减少设计所花费的实践成本是当前数字电路设计研发的关键,这就必须在设计的方法上有所突破。

关键词:数字系统;IC;设计

一、数字IC设计方法学

在目前CI设计中,基于时序驱动的数字CI设计方法、基于正复用的数字CI设计方法、基于集成平台进行系统级数字CI设计方法是当今数字CI设计比较流行的3种主要设计方法,其中基于正复用的数字CI设计方法是有效提高CI设计的关键技术。它能解决当今芯片设计业所面临的一系列挑战:缩短设计周期,提供性能更好、速度更快、成本更加低廉的数字IC芯片。

基于时序驱动的设计方法,无论是HDL描述还是原理图设计,特征都在于以时序优化为目标的着眼于门级电路结构设计,用全新的电路来实现系统功能;这种方法主要适用于完成小规模ASIC的设计。对于规模较大的系统级电路,即使团队合作,要想始终从门级结构去实现优化设计,也很难保证设计周期短、上市时间快的要求。

基于PI复用的数字CI设计方法,可以满足芯片规模要求越来越大,设计周期要求越来越短的要求,其特征是CI设计中的正功能模块的复用和组合。采用这种方法设计数字CI,数字CI包含了各种正模块的复用,数字CI的开发可分为模块开发和系统集成配合完成。对正复用技术关注的焦点是,如何进行系统功能的结构划分,如何定义片上总线进行模块互连,应该选择那些功能模块,在定义各个功能模块时如何考虑尽可能多地利用现有正资源而不是重新开发,在功能模块设计时考虑怎样定义才能有利于以后的正复用,如何进行系统验证等。

基于PI复用的数字CI的设计方法,其主要特征是模块的功能组装,其技术关键在于如下三个方面:一是开发可复用的正软核、硬核;二是怎样做好IP复用,进行功能组装,以满足目标CI的需要;三是怎样验证完成功能组装的数字CI是否满足规格定义的功能和时序。

二、典型的数字IC开发流程

典型的数字CI开发流程主要步骤包含如下24方面的内容:

(1)确定IC规格并做好总体方案设计。

(2)RTL代码编写及准备etshtnehc代码。

(3)对于包含存储单元的设计,在RTL代码编写中插入BIST(内建自我测试)电路。

(4)功能仿真以验证设计的功能正确。

(5)完成设计综合,生成门级网表。

(6)完成DFT(可测试设计)设计。

(7)在综合工具下完成模块级的静态时序分析及处理。

(8)形式验证。对比综合网表实现的功能与TRL级描述是否一致。

(9)对整个设计进行Pre一layout静态时序分析。

(10)把综合时的时间约束传递给版图工具。

(11)采样时序驱动的策略进行初始化nooprlna。内容包括单元分布,生成时钟树

(12)把时钟树送给综合工具并插入到初始综合网表。

(13)形式验证。对比插入时钟树综合网表实现的功能与初始综合网表是否一致。

(14)在步骤(11)准布线后提取估计的延迟信息。

(15)把步骤(14)提取出来的延迟信息反标给综合工具和静态时序分析工具。

(16)静态时序分析。利用准布线后提取出来的估计延时信息。

(17)在综合工具中实现现场时序优化(可选项)。

(18)完成详细的布线工作。

(19)从完成了详细布线的设计中提取详细的延时信息。

(20)把步骤(19)提取出来的延时信息反标给综合工具和静态时序分析工具。

(21)Post-layout静态时序分析。

(22)在综合工具中实现现场时序优化(可选项)。

(23)Post一alyout网表功能仿真(可选项)。

(24)物理验证后输出设计版图数据给芯片加工厂。

对于任何CI产品的开发,最初总是从市场获得需求的信息或产品的概念,根据这些概念需求,CI工程师再逐步完成CI规格的定义和总体方案的设计。总体方案定义了芯片的功能和模块划分,定义了模块功能和模块之间的时序等内容。在总体方案经过充分讨论或论证后开始CI产品的开发。CI的开发阶段包含了设计输入、功能仿真、综合、DFT(可测试设计)、形式验证、静态时序分析、布局布线等内容。而CI的后端设计包括布局、插入时钟树、布线和物理验证等内容,后端设计一般能在软件中自动完成,如SIE软件就能自动完成布局布线。

三、IC开发过程介绍

IC开发过程包括设计输入、功能仿真、综合、可测试性设计DFT、形式验证、静态时序分析、布局、插入时钟树、布线、物理验证等内容,下面分别进行详细介绍。

设计输入:一般包括图形与文本输入两种格式。文本输入包括采用verilog和vHDL两种硬件描述语言的格式,verliog语言支持多种不同层次的描述,采用硬件描述语言主要得益于采用综合器来提高设计效益;图形输入一般应该支持多层次逻辑图输入,主要应用在一些专门的电路设计中,但是图形输入耗时费力且不方便复用。

功能仿真:功能仿真的目的是为了验证设计功能的正确性和完备性。搭建的测

试环境质量和测试激励的充分性决定了功能仿真的质量和效益,仿真工具也是比较多,而且功能比较齐全。

综合:所谓综合,就是将设计的HDL描述转化为门级网表的过程。综合工具(也可称为编译器)根据时间约束等条件,完成可综合的TRL描述到综合库单元之间的映射,得到一个门级网表等;综合工具可内嵌静态时序分析工具,可以根据综合约束来完成门级网表的时序优化和面积优化。

可测试性设计DFT:目前大多数CI设计都引入可测试结构设计,一般在电路初步综合后可进行DFT设计。典型的DFT电路包括存储单元的内建自测BIST电路、扫描链电路和边界扫描电路。BIST电路是为了测试而设计的专门电路,它可以来自半导体生产厂商,也可以用商用的工具自动产生。扫描链电路一般是用可扫描的寄存器代替一般的寄存器,由于带扫描功能的寄存器的延时与一般的寄存器并不一致,所以在综合工具进行时序分析时最好就能考虑这种“附加”的延迟。边界扫描电路主要用来对电路板上的连接进行测试,也可以把内部扫描链的结果从边界扫描电路引入。

形式验证是一种静态的验证手段,它根据电路结构静态地判断两个设计在功能上是否等价,从而判断一个设计在修改前和修改后其功能是否保持一致。

静态时序分析:静态时序分析是CI开发流程中非常重要的一环。通过静态时序分析,一方面可以了解到关键路径的信息,分析关键路径的时序;另一方面,还可以了解到电路节点的扇出情况和容性负载的大小。

布局:

布局被认为是整个后端流程最关键的一步,布局首先是在满足电路时序要求的条件下得到尽可能小的实现面积,其次布局也是把整个设计划分成多个便于控制的模块。布局的`内容包括把单元或宏模块摆放到合适的位置,其目的是为了最大限度地减小连线的RC延迟和布线的寄生电容效应,此外,良好的布局还可以减小芯片面积和降低布线时出现拥赛现象的几率。

插入时钟树:时钟树又称时钟网络,是指位于时钟源和它所有扇出的寄存器时钟输入端之间的BUFFER驱动逻辑,时钟树通常根据物理布局情况生成。时钟树的插入关键在于如何控制时钟信号延时和时钟信号扭曲,因为较大的延迟对解决电路的保持时间问题不利,较大的时钟扭曲往往增加寄存器锁存不稳定数据的几率。但是时钟信号延迟和时钟信号扭曲问题是对矛盾,如果设计对两者都要求比较严格的话,时钟树的插入往往需要考虑比较多。

布线:布线分为两个阶段完成:预布线和详细布线,预布线时版图工具把整个芯片划分为多个较小的区域,布线器只是估算各个小区域的信号之间最短的连线长度,并以此来计算连线延迟,这个阶段并没有生成真正的版图连线。详细布线阶段,布线器根据预布线的结果和最新的时序约束条件生成真正的版图连线。但是如果预布线的时间比布局运行的时间还要长,这就意味着布局的结果是失败的,这时候就需要重新布局以减少布线的拥赛。:

布局布线完成之后,EDA工具根据布局布线的结果产生电路网表,产生真正的互连线延迟数据,这样以前综合工具DC根据线负载模型计算出来的延迟数据与这些互连线延迟数据相比是不够精确的,因此把这些版图提取出来的互连线延迟数据反标给DC重新进行综合优化,如果生成的网表满足了时序、面积及功耗要求后就生成电路版图,电路版图经过验证就可以制成芯片。

参考文献:

[1]王金明,扬吉斌.数字系统设计与verligoHDL[M].北京:电子工业出版社,

本土IC设计可持续发展之道 篇5

关键词:可持续发展,本土IC设计,自主创新,差异化,平台

中国IC设计业经过了前十年的飞速发展, 已经是IC业中重要支柱了。但目前, 一些设计企业也遇到了很难突破的瓶颈。例如, 部分企业曾风云一时, 但又渐渐回归平常, 究其原因, 这些企业只能专注于一两款产品却无法继续扩展其产品范围;还有一些企业的芯片缺乏原创, 偏重抄袭, 因此只好在销售环节追求价格竞争。造成这些现象的原因是什么呢?

资本与观念的力量

半导体业资深专家莫大康认为, 中国设计业目前上不去的原因错综复杂, 带有综合性的问题。而国外设计业的成功, 从机制上刚开始主要是靠VC (风险投资) , 之后靠公司的出售或者上市机制而获利。这一点非常重要, 有利益才能吸引大批人员去奋斗。而中国的股市非市场化因素较多, 并规定一家上市公司不能许多人持股, 因此从根本上不太容易吸引大批优秀的人才。

另外, 中国设计公司虽然许多人也是“海归”, 可是一到中国的土壤可能有些水土不服。因为从政府拿项目/资金容易, 导致部分设计人员浮躁, 花精力去搞关系、拿项目。

受中国的传统文化理念束缚, “宁做鸡头, 不做凤尾”, 导致公司稍大一点, 内部就闹分裂, 因此公司做大做强有一定阻力。

因此, 中国的IC设计业既要快速发展, 更要踏实。进步一定要循序前进, 一步一个脚印。

同时, 这个产业需要大批优秀的人才。从长远看, 我国的教育体系也要改革, 不仅注重知识, 还要鼓励创新, 培养正确的人生价值观。

可实施的战略和技术积累

“保持可持续发展的一个重要条件就是能够制定可操作的、可持续发展的市场技术路线, 如Intel公司的Tick-Tock路线图。”国家集成电路设计深圳产业化基地、深圳集成电路设计产业化基地管理中心主任周生明说, “有些企业没有一个包括技术和市场的清晰的发展路线, 这就是经营理念的问题;而有些企业能够制定清晰、完善的发展路线, 但是由于技术实力的欠缺无法达到既定目标, 这就涉及到技术积累的问题, 这个问题也是目前本土IC企业面临的最重要的问题之一。企业要想在激烈的市场竞争中立于不败之地, 首先要能够清楚地把握市场和技术发展的脉络, 制定出适合本企业的科学的发展路线, 并及时修正, 始终沿着正确的道路前进。”

我国IC行业的现状被称为“三个3”:消费了全球1/3左右的IC, 国产IC只占3%, 自主知识产权IC仅占0.3%。可见我们在核心技术方面十分欠缺。而注重技术积累是企业成功的一个关键。没有强大的技术实力做后盾, 任何一家科技企业都没有资格谈生存发展。

注重产业链合作

“国产单片机方面, 早在1995年时, 许居衍院士领衔承担了九五攻关任务的国产单片机研发系列产品。当时的目标要做1000万片, 千辛万苦总算是完成了。那时国产单片机为什么这么难呢?”复旦大学教授陈章龙教授谈了对中国单片机发展历程的看法[1], “我们IT (信息技术) 界涉及的领域面有较为封闭的特点:自己设计, 自己生产, 自己制造, 还要自己去开发, 自己去应用, 自己去销售, 这样的模式怎么能够生存呢?国产的C P U也好, I C也好, 一定要制造商是制造商, 一定要有大量的第三方的Designer (设计者) , 如果没有这一方Designer, 就不可能有大量的产品。如果IC不走这条路, 也就是这种生态环境, 就很难可持续性发展。”

这里看似有个悖论, 河北大学教授、北京蓝阳科技开发有限公司 (注:小型ASIC公司, 服务于消费类电子) 总工程师王龙江认为, 今后的企业要有从芯片向系统、整机发展的思路, 才能成功。因为, 最终的电子产品 (应用) 为王, 才是是芯片企业成功的关键。例如美国苹果公司, 现在就自己做CPU、操作系统和整机了。乔布斯开始只做整机和系统软件。成功后, 发现没有核心芯片是做不了老大的, 于是放弃了只做整机和系统软件, 向上游设计发展, 设计出了自己的核心芯片。因此, 获得了极大的成功。在中国芯片企业中, 有这样的现象, “国人的特点还是自己只专攻一面, 做芯片的不懂系统软件, 做系统软件的不懂芯片。软件和硬件都是分开的。这样已不行了, 因现在芯片不值钱了, 只有做整个系统与应用才具有市场价值。”王龙江说道。

笔者理解, 做芯片的人要有整个产业链的观念。但在我国, 假设所有芯片企业越界[2]、自己建立很长的产业链, 好像不太现实, 因此需要依赖合作伙伴和外部生态链。而对于一些有实力的整机企业, 从整机向上游的芯片延伸是实现整机差异化的一种方法。

同质化并非差异化的必经之路

深圳周生明分析了同质化的原因:差异化竞争通常要做别人没有做过的事情, 这就涉及到一个创新的问题, 而创新则需要深厚的技术积淀作为基础。我国的半导体产业起步较晚, 在技术基础上与国外先进国家的企业有较大的差距, 在创新能力方面更是非常欠缺。因此很多公司出于降低技术风险的考虑, 选择一些市场成熟度较高的技术产品进行研发, 这样就导致了产品同质化的问题。

但同质化其实并非差异化的必经之路, 关键还是看企业以及社会的创新能力, 如果不加大科研投入积极创新, 就很难摆脱同质化的低水平竞争。只有积极创新, 开拓思路, 才能实现产品的差异化, 在竞争中处于有利地位。

澜起科技市场总监韩晓梅也同样认为:“差异化是获得较高利润的方法之一, 人人都想做差异化的产品。但是差异化不是一蹴而就的, 是需要积累和创新精神的。当别人已经在手机行业耕耘多年, 苹果要进入该领域怎么办?只有靠用触摸屏的差异化手机来吸引眼球。”澜起科技8月曾宣布收购了摩托罗拉杭州芯片设计部, 原因之一是为了提供更全面的机顶盒解决方案。

搭建技术平台

上海海尔集成电路公司副总经理潘松认为, 在创新中, 技术创新很重要, 但与之相比, 需求创新更为重要。

在技术层面, 为何一些企业只能专注于一两款产品, 无法扩展产品范围呢?是由于系统工程的平台没有搭好, 核心竞争力还是缺失。因为大部分中国公司靠海归、靠工程师搞几个产品出来, 但是没有搭建一个平台, 这就很麻烦, 因此发展没有后劲了。

系统平台包括人才培养或技术的延续、积累, 还有整个产品的扩展。创新和系统工程没有建立起来, 就会出问题。“相对而言, 上海海尔集成电路公司的研发实力应该还是比较强的, 因为公司员工90%都是研发工程师。公司研发投入大概是每年几百万美元。”潘松介绍道。

系统工程平台包括几个方面:首先, 定位在哪里, 目标客户是谁;其次, 产品如何定义, 如何实现快速上市、技术研发平台能否实现产品的快速上市;再次, 供应链交货保证;最后, 可靠性管理体系。

应用创新的探索

中国航天科技集团第九研究院772所所长、北京时代民芯科技有限公司总经理赵元富谈了其CPU的应用探索。赵元富分析, 现在任何一个5到10人的CPU研发团队, 工作一年半载或最多两年, 肯定能拿出一款CPU, 但是这颗CPU能不能用是另外一回事。所以在国产CPU研制出来后, 要关注能否得到一系列的应用——有些应用尽管现在还不是很大, 可能还处于萌芽状态, 但也没关系, 因为只有靠应用才能真正使国产CPU走向成熟。

时代民芯的实践是:第一, 确定军用CPU和民用CPU双线发展、逐步结合的模式, 民用方向是靠市场为导向, 立足产业。CPU的研制成功可能只完成了1/5甚至1/10的工作量, CPU真正要想用, 其软件工作量极大, 必须要跟系统软件、软件的分析工具以及应用软件这些单元相融合, 才能真正建立CPU的生态环境。“这也是中国CPU在推广应用过程中遇到的最大的难题。”现在, 时代民芯已把SPARC和ARM核的芯片应用在卫星导航、多媒体处理, 用8位和16位MCU (单片机, 微控制器) 做医疗电子和仪表控制等。另外, 时代民芯尝试做电子设计大赛来推广其CPU。

“国产CPU、自主创新的名字很好听, 很鼓舞人心, 但是现在去看, 中国的IC很多是仿制国外的, 因为仿制的最大优点就是市场人家已经给你铺完了。目前, 中国的IC设计公司没有那么大的实力铺市场, 所以到底怎么能把国内自主创新的CPU甚至是一些相应的产品推广, 还是一个很值得探讨的问题。”

时代民芯定位在一些比较特殊的行业, 这种特殊行业的应用软件并不是像现在通用的CPU一样谁都在做应用软件。就像苏州国芯科技有限公司的C*Core已销售5千万个以上[3], 应用于信息安全、数字电视/机顶盒以及移动存储领域, 它几乎没有软件的再开发。

长期投入+做到最好

展讯通信 (上海) 有限公司董事长兼首席执行官 (CEO) 李力游博士总结展讯的经验有三点[5]:第一, 长期投入。“在中国大陆做企业, 尤其高科技企业, 一个比较大的毛病, 就是社会太急功近利。因此花2年时间做40nm设计, 投资几千万美元, 没有几家中国大陆的高科技企业愿意或者能够去做。”

第二点, 上下游近距离的合作, 这样定义的产品适合市场需求。

第三, 尽量将自己的东西做到全世界最好。展讯今年1月做出了全球首个40nm TD-SCDMA芯片, 并披露明年从超低端、低端、高端、功能机到智能机、WCDMA、LTE的所有产品都是40nm单芯片。“明年夏天左右, 展讯的产品将从2.5G到LTE全面超过对手, 不比任何人落后。”

小结

中国作为半导体产业的后来者, 需要踏踏实实从低端做起, 逐步创新, 逐渐摆脱先进国家的技术垄断和技术封锁, 实现从低端到高端, 从落后到先进, 从中国走向世界。这其中遇到了各种问题和挑战, 只有努力攻克, 才能有望攀上世界半导体产业之巅。

参考文献

[1]嵌入式系统联谊会.2011年5月主题讨论会[R/OL].http://www.esbf.org.cn/

[2]潘九堂.越界者谭军:电子产业链的各个环节都在越界[R/OL]. (2011-6-28) .http://www.hcsindex.com/blog/panjiutang_205674.html

[3]赵艳秋.苏州国芯:走国产CPUIP差异化之路[R/OL].中国电子报, (2010-10-30) [2011-5-26].http://www.china-core.com/news/html/?35.html

[4]王莹.我国嵌入式系统/MCU市场与技术发展探析[J].电子产品世界, 2011 (6) :23

[5]王莹.展讯的成功可以复制吗?[R/OL]. (2011-8-17) .http://wangying1.spaces.eepw.com.cn/articles/article/item/88638

[6]王莹.跨越式发展引领本土IC设计业做大作强[J].电子产品世界, 2011 (8) :22-24

数字IC设计 篇6

IC卡全称是集成电路(Integrated Circuit)卡,它将集成电路芯片镶嵌于塑料基片上,利用集成电路的可存储特性,保存、读取和修改芯片上的信息。按照卡内集成电路的不同,IC卡可分为存储器卡、逻辑加密卡和CPU卡(智能卡)。其中CPU卡即为由中央处理器CPU、EEPROM、随机存储器RAM以及固化在只读存储器ROM中的片内操作系统COS(Chip Operation System)组成的IC卡。本文以SEP4020嵌入式处理器为核心,运用IC卡接口芯片TDA8007,实现EPOS终端的CPU IC卡的读写功能。

2 CPU IC卡T=0通信协议介绍

目前T=0通讯协议的应用较广泛,国内外大多数CPU卡都支持该协议,在金融交易中也采用这种通讯协议。所谓T=0,即CPU IC卡与接口设备中数据传输方式为异步半双工字符传输模式。

从T=0协议的功能出发,该协议的实现可以分为物理层、数据链路层、终端传输层和应用层。其中物理层和数据链路层可以具体参看ISO7816标准。在T=0协议应用中,终端传输层和应用层实际上联系非常紧密,实现比较复杂,下面对其简单介绍。

终端传输层根据卡片返回的过程字节和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回的过程字节和状态字节跟应用层发送给卡的APDU(Application Protocol Data Unit,应用协议数据单元)有关。表1为终端传输层中返回的过程字节,表2为返回的状态字节。

状态字节可以指明APDU执行正确,或执行出错的错误类型

应用层即为由CLA、INS、P1、P2、P3作为命令头组成的命令消息体的APDU响应和应答处理层。其中CLA为指令类别,INS为指令码,P1、P2为参数,P3为根据APDU的不同格式为发送给卡的数据长度或期望响应的数据长度。APDU的几种情况如表3所列。

3 IC卡接口硬件设计

整个接口部分有卡座,接口芯片和以ARM主处理器为核心的CPU模块组成。硬件接口芯片选择了Philips公司的TDA8007,ARM芯片选用的是SEP4020微处理器。图1给出了IC卡接口的简单框图。SEP4020微处理器由东南大学国家专用集成电路系统工程技术研究中心(ASIC)设计的32位RISC微控制器,采用ARM720T内核。SEP4020微处理器的外部存储控制器(EMI)支持8位宽度的存储器。该处理器有丰富的I/O资源和中断口资源和其他的接口资源。TDA8007支持双智能卡读写,通过并行总线进行传输,符合ISO7816标准及GSM11-11和EMV3.1.1标准。

3.1 TDA8007控制器的编程结构

该芯片通过其内部的寄存器来实现控制操作的,TDA8007的寄存器主要有三类。第一类,通用寄存器:(1)卡槽选择CSR,(2)硬件状态HSR,(3)定时器TOR1、TOR2、TOR3。第二类,ISO7816串行处理寄存器:(1)串行状态USR,(2)混合状态MSR,(3)串行发送UTR,(4)串行接收URR,(5)队列控制FCR。第三类,卡专属寄存器:(1)可编程分频PDR,(2)保护时间GTR,(3)串行控制UCR1、UCR2,(4)时钟配置CCR,(5)电源控制PCR。

对于卡专属的寄存器,即卡接口1、卡接口2分别对应的寄存器,逻辑上具有相同的名字及访问地址,因而,对不同的卡操作,需要通过CSR选择对应的卡槽来切换卡专属寄存器映射的物理空间。所以,接口设备每次从一个卡的上下电或读写转向另一卡,都需要访CSR设定对应的卡槽。

3.2 微处理器与TDA8007的接口控制

TDA8007芯片能够提供两个能同时满足ISO7816标准及EMV和GSM11-11标准的IC卡读写接口。一个用于与应用卡通信,另一个用于与安全卡进行通信。TDA8007与微处理器的连接方式有两种:一种是总线复用方式,另一种是非总线复用方式。本设计中采用的是后一种方式。图2给出了连接方式。

其中SN74LVC1G14是一个取反器,4066包含四个独立双边模拟开关。SN74LVC1G14对nOE输入的信号进行取反。通过PA9的高低电平控制4066的两路模拟开关的打开和关闭,从而决定输入到TDA8007的/RD是nWE还是nOE经过SN74LVC1G14得到的信号。

TDA8007的片选控制信号/CS由SEP4020微处理器的nCSB片选信号产生,TDA8007占用了一个系统中断,由外部中断EX-TINT10接收控制。TDA8007的/WR连接到SEP4020的GPIO的PA8,需要读写操作时,通过PA8将其置为低电平,操作完成置为高电平。通过设定PA9的高低电平决定对TDA8007进行读写。根据TDA8007的读写时序,在读寄存器值时,/RD应该为高电平,由于SEP4020产生的片选信号nOE为低电平,因此在电路中加入芯片SN74LVC1G14,对其电平进行取反。

4 IC卡接口软件设计

目前大多数IC卡采用的T=0模式。因此,IC卡接口软件设计主要是实现T=0通信协议。根据T=0协议,软件设计可以分成三部分,上电部分,下电部分,APDU指令流程。

4.1 上电过程及实现

IC卡的上电过程就是对TDA8007内部寄存器配置,上电的时序图如图3。

具体实现过程如下:

1)在卡片选择寄存器CSR中设置SC1、SC2、SC3选择要操作的卡槽,设置/RIU对UART寄存器进行复位。

2)设置UART配置寄存器2的SAN为0,是异步卡。DISTBE/RBF和DIS-AUX都为1,关闭附加中断和收发中断。CKU为0,PSC为0。

3)设置时钟配置寄存器CCR中的AC2,AC1,AC0为010b,选择为fxtal/4。

4)设置FIFO控制寄存器FCR中的PEC2,PEC1和PEC0为000b,FL2,FL1,FL0为000b,1奇偶校验1FIFO。

5)设置UART配置寄存器1中的PROT为0,选用T=0协议。设置可编程分频寄存器PDR为0x0C,分频系数为12。

6)设置电源控制寄存器PCR中的3V/5V为0,国内比较常见的是5VIC卡。START为1,激活相关的通道。

7)复位IC卡要求管脚RST保持低电平为108个时间单位,因此向时钟定时器TOR3写入0x00,TOR2写入0x6C。然后向计数配置寄存器TOC中写入0x61,使其工作在16位的状态,并开始计数。

8)等待计数产生中断。

9)设置电源控制寄存器中的RSTIN为1,拉高管脚RST的电平,根据规范要求卡大约在120时间单位做出应答。设置TOR3为0x00,TOR2为0x78。同时向计数配置寄存器TOC中写入0x61,使其工作在16位的状态,并开始计数。

10)复位应答处理,根据返回的数据设置工作参数。

4.2 下电过程及实现

下电过程相对于上电过程比较简单,没有严格的时间要求,只要按照一定顺序置低START,RSTIN和停止CLK。下电的时序图如图4。

具体实现如下:

1)设置电源控制寄存器中START为0。RSTIN为0,卡的复位管脚保持低电平。

2)设置时钟配置寄存器中SHL为0,时钟停止于低电平。CST为1,停止时钟信号。这样就完成了IC卡的下电过程。

4.3 APDU指令流程的实现

主程序部分就是实现APDU的指令流程,其处理的流程图见图5。

5 结束语

本文主要介绍了CPU IC卡T=0的协议,以及基于SEP4020和TDA8007的IC卡接口设计,从硬件到软件都给出了必要的说明。经过测试系统能够对IC卡进行正确的读写。本文是基于EPOS的应用而做的设计,在EPOS上加上IC卡模块使在市场上更具有竞争力。随着IC卡不断推广,其技术将得到更广泛的应用,具有重要实际意义。

摘要:简要分析CPU IC卡T=0通信协议,重点介绍了SEP4020处理器和IC卡控制器TDA8007的硬件接口的设计,和CPU IC卡上/下电过程,以及APDU指令的具体实现。最后文章给出了测试结果。

关键词:SEP4020,TDA8007,IC卡

参考文献

[1]罗勇进,路林吉.IC卡接口芯片TDA8007的读写器设计[J].单片机与嵌入式系统应用,2004,1:64-67.

[2]张井合,等.CPU卡中T=0通讯协议的分析和实现[J].电子技术应用,2002(10).

[3]陈峰,等.CPU卡的接口特性、传输协议与读写程序设计[J].单片机与嵌入式系统应用,2002,3:17-19,22.

[4]孙鹏娇,黄博.一种基于ARM和TDA8007B的IC卡接口设计[J].电子技术,2008,24:287-288,286.

数字IC设计 篇7

经过多年的发展和推广, IC卡已经广泛地应用于金融、电信、国防和公共事业等领域。

IC卡按卡与外界数据传送的形式来分, 有接触式IC卡和非接触式IC卡两种。当前使用广泛的是接触型IC卡, 在这种卡片上, IC芯片有8个触点可与外界接触。非接触式IC卡又称射频卡 (Radio Frequency card) , 它与读卡设备之间无需接触, 采用无线耦合和电磁感应方式与读卡设备之间进行通信[1]。与接触式IC卡和磁卡相比, 非接触式IC卡具有操作方便、读写卡的速度快、防水、防污染、寿命长、能够适应各种恶劣环境等优点。按照工作频率, 非接触式IC卡可以分为低频卡和高频卡两类, 低频卡的工作频率为125 kHz, 高频卡的工作频率为13.56 MHz。兼容ISO14443A的非接触式IC卡的工作频率为13.56 MHz, 卡内无需电池, 其工作电源由空间电磁感应所产生的感应电池提供[2]。Philips公司的Mifare系列非接触式IC卡兼容ISO14443A规范, 具有高强度加密机制, 性能优良, 应用广泛[3]。

读写器是所有IC卡应用系统的必须基础设备, 目前市场上的绝大多数读写器都要与PC机连接才能正常使用, 而且与PC机的接口一般为传统的RS 232接口。在此将讨论采用USB技术的便携式非接触式IC卡读写器的实现方法。

1 便携式USB读写器的硬件原理

这里所设计的便携式带USB接口的IC卡读写器由微控制器 (MCU) 、射频发射和接收处理单元、USB接口电路、电源电路、液晶显示 (LCD) 模块、实时时钟以及外部Flash存储器组成。它的结构如图1所示。

读写器以8位单片机AT89S52作为主控制单元。

读写器的射频 (Radio Frequency) 发射和接收处理单元是单片机与非接触式IC卡之间的“桥梁”, 它一方面可以将单片机发送给IC卡的指令和数据调制在13.56 MHz的振荡信号上, 通过高频天线发射出去;另一方面接收来自IC卡的应答信息, 并将其解调成数字信号传送给单片机, 实现单片机与IC卡之间的双向通信, 它与单片机之间采用并行接口方式连接。

FT245BM是USB接口单元的主要元件, 它是单片机与PC机之间的通信“桥梁”, 其内部包含一个串行接口引擎 (SIE) , 实现数据的并行转串行和串行转并行过程[4]。

DS12C887为系统提供实时时钟, 液晶显示模块HY12864E平时显示时间, 读卡时显示所读到的内容。

上述元器件以周密的逻辑设计配合, 通过程序控制完成对非接触式IC卡的读写。

由于内置了锂离子电池及其充电电路, 因此读写器可以脱机使用, 大大增加了灵活性。脱机使用时, 读卡的同时将读卡记录存储在读写器的闪存中。并可以通过USB接口与PC机进行通信, 以进行PC机对读写器的控制操作, 如发送数据到IC卡、调阅读卡记录等。

2 读写器的硬件电路

2.1 微控制器

微控制器采用AT89S52芯片, 该器件使用Atmel公司的高密度非易失性存储器制造技术, 可以通过一根并口线方便地进行在系统编程 (In System Programming) [5]。

2.2 RC500芯片介绍

RC500是Philips公司为Mifare卡设计的专用读卡芯片, 它是应用于13.56 MHz非接触式通信中高集成度IC系列中的一员。该系列利用先进的调制和解调概念, 完全集成了在13.56 MHz下所有类型的被动非接触式通信方式和协议。

并行微控制器接口自动检测连接的8位并行接口的类型, 它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出。这样就为连接各种MCU提供了很大的灵活性。数据处理部分执行数据的并行-串行转换。它支持的帧包括CRC和奇偶校验, 以完全透明的方式进行操作, 因而支持ISO14443A的所有层。状态和控制部分允许对器件进行配置以适应环境的影响, 并使性能调节到最佳状态。当与MIFARE Standard产品和MIFARE产品通信时, 使用高速CRYPTO1流密码单元和一个可靠的非易失性密钥存储器。模拟电路包含一个具有极低阻抗桥驱动器输出的发送部分。接收器可以检测到并解码非常弱的应答信号。

RC500的工作频率为13.56 MHz, 它可以在有效的发射空间内形成一个13.56 MHz的交流电磁场, 为处于发射区域的非接触式IC卡提供能量, 同时卡或RC500需要传送的数据信息也被调制在这个频率上[6]。RC500与非接触式IC卡之间能量的传递和数据双向传输的过程是初级和次级两个线圈之间的耦合过程, 从读写器发射给卡的数据信息在调制前采用米勒 (Miller) 编码, 而从卡到读写器的数据信息采用曼彻斯特 (Manchester) 编码。

2.3 FT245BM芯片介绍

FT245BM是一种单片的USB到并行的双向接口芯片。它与单片机之间利用8个双向数据线和4个握手协议实现并行接口。其片内的串行接口引擎和USB协议引擎可以完成USB 2.0规范的所有协议和功能。FT245BM工作时需要一个6 MHz外部晶振, 通过片内的时钟倍频电路可以为SIE提供一个48 MHz的工作时钟, 同时还为片内的微控制器接口单元、串行存储器接口单元提供一个12 MHz的工作时钟。

2.4 硬件电路

带USB接口的非接触式IC卡读写器的硬件电路原理图的主体部分如图3所示。

FT245BM的并行数据总线和AT89S52的P0口相连;它的读写控制信号undefined分别与AT89S52的P3.0和P3.1相连;undefined为发送缓冲区空信号, 与P3.4相连;undefined为接收缓冲区满信号, 与P3.5相连。要从读写器发送数据到PC机, 只需当undefined为低时将WR由高变低即可将数据写入缓冲区, 模块可以自动处理。当PC机通过USB向读写器发送数据时, undefined会变低通知单片机有数据要接收, 通过将undefined由低变高即可读到数据。单片机可以通过中断方式接收来自FT245BM的数据, 由于两个外部中断都被占用, 所以用定时/计数器扩展了一个INT接口[7]。FT245BM的外部连接一个串行的E2PROM (93C46) , 用于存放USB器件标识码、读写器标识符和说明、设备序列号等信息。

RC500内部包含256个可寻址寄存器, 其数据总线与AT89S52的数据总线相连;其复位控制输入信号与AT89S52的P1.6相连, 单片机可以控制RC500复位[8];RC500的输出中断请求与单片机的外部中断INT1相连, 以随时接收RC500传过来的数据。

3 软件的实现

3.1 读写器中单片机的软件

读写器内软件的功能包括等待刷卡、接收并处理接收到的PC传来的数据包、存储刷卡记录、LCD显示相关信息等。软件包括主程序、IC卡读写/密码验证等操作、时间显示以及与PC通信中断服务程序[9]。

主程序和通信中断服务程序的流程图如图4所示。

3.2 PC端的软件

读写器通过USB接口与PC相连, PC端必须安装并运行FT245BM的驱动程序和读写器应用程序。

通过使用FTDI公司提供的虚拟串口驱动程序, 对应用程序, 外设看起来如同一个标准的COM口[10]。设置波特率的命令可以忽略, 因为无论波特率如何设定, 设备总是以它所能达到的最大速度进行传输。同时无需关心USB接口的枚举、端点、管道、事务和传输方式等复杂的问题。

4 结 语

该系统结构简单实用, 在实际运行中具有很高的可靠性, 同时具备一定的可扩展性, 并可以通过USB接口与计算机相连接, 以进行数据通信。由于体积小, 重量轻, 具有很好的便携性, 扩大了其使用范围。在此实现了可脱机使用的便携式的非接触式IC卡读写器。

参考文献

[1]王爱英.智能卡技术IC卡[M].北京:清华大学出版社, 2005.

[2]曹乃森, 孙亚伟.无线射频卡的原理与应用[J].电子技术, 2009 (1) :31-33.

[3]王香和.非接触式IC卡分类及特点分析[J].电子与电脑, 2007 (06) :97-98.

[4][美]Ludwig R.射频电路设计理论与应用[M].北京:电子工业出版社, 2002.

[5]萧世文.USB 2.0硬件设计[M].北京:清华大学出版社, 2006.

[6]何立民.单片机高级教程应用与设计[M].2版.北京:北京航空航天大学出版社, 2007.

[7]Philips Semiconductors.MF RC500-Highly IntegratedISO14443A Read IC[Z].2001.

[8]彭小峰, 张里.基于非接触式IC卡的考勤管理信息系统设计[J].重庆工学院学报:自然科学版, 2008 (10) :161-165.

[9]曾统一, 靳斌.一种基于Mifare卡的射频读写器的设计与实现[J].微计算机信息, 2008 (24) :293-294.

数字IC设计 篇8

TDA8007芯片能够提供两个能同时满足ISO7816标准及EMV和GSM11-11标准的IC卡读写接口。在本读写器中,一个用于与应用IC通信,另一个用于与安全IC卡通信。与上文CPU卡的触点图相对应,CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于检测IC卡是否插入。具体应用可参看TDA8007的技术文档)都直接由TDA8007提供给IC卡接口相连,MCU只需通过其接口控制并行通信来管理TDA8007,便可实现对IC卡的上电、下电及读写数据处理。其中,微处理器既可以通过总线复用把TDA8007内部的所有寄存器作为外部存储器,用MOVX寻址,也可以通过非总线复用方式访问,此时TDA8007用AD0~AD3来区分内部各寄存器。另外,TDA8007的片选信号和外部中断信号线可以方便读写器处理多个IC卡头。TDA8007的特别硬件ESD处理、接口短路处理、电源出错处理等也给IC卡和IC卡读写器提供了比较高的安全保护;同时,TDA8007内部集成的电源管理功能允许TDA8007的供电范围可达2.7~6.0V,并且TDA8007通过电源管理可以给IC卡提供5.0V、3.0V及1.8V的电源,以适合不同工作电压的IC卡应用。

图3 IC卡接口芯片TDA8007的原理框图

本读写器是通过总线复用对TDA8007的寄存器进行控制的。其中MCU的P1.5为TDA8007的片选,P0口为与之通信的8位数据线,TDA8007的各寄存器预先被宏定义的成微处理器的一个外部数据单元(下面电程序处的定义),从而方便MCU访问。下面结合TDA8007寄存器的定义和位分配,给出应用TDA8007接口芯片对IC卡进行上电激活和下电的程序。TDA8007的寄存器主要三类。第一类,通用寄存器:①卡槽选择CSR;②硬件状态HSR;③定时器TOR1、TOR2、TOR3。第二类,ISO7816串行处理寄存器:①串行状态USR;②混合状态MSR;③串行发送UTR;④串行接收URR;⑤队列控制FCR。第三类,卡专属寄存器:①可编程分频PDR;②保护时间GTR;③串行控制UCR1、UCR2;④时钟配置CCR;⑤上电控制PCR。注意:对于卡专属的寄存器,即卡接口1、卡接口2分别对应的寄存器,逻辑上具有相同的名及访问地址,因而,对不同的瞳操作,需要通过CSR选择对应的卡槽来切换卡专卡属寄存器的映射的物理空间。所以,接口设备每次从一个卡的上下电或读写转向另一卡,都需要访CSR设定对应的卡槽。对于每个寄存器的位定义不再多述,主动性者可参看TDA8007的.技术文档。

5 上下电过程及具体程序

图4为IC卡的上电时序图。要实现之,需对PCR进行写操作。其中START=PCR.0,RSTIN=PCR.2,VUP上升表示激活了TDA8007中的电压转换电路。当START置高时,只要能检测到选定卡槽中的IC卡存在,且没有TDA8007能检测到并在HSR中指示的硬件错误出现,则对应IC卡接口的VCC1或VCC2将能被提供响应的电平(5V、3V或1.8V)。随后对应卡的I/O数据线被置成高状态(Z状态),给IC卡提供设定的时钟信号,常用为3.5712MHz。大约在START置高108ETU后,RSTIN置高。因为RST为RSTIN的拷贝,则对应卡的RST被置高。然后,用TDA8007提供的定时器TOR3、TOR2设定对ATR(Answer To Request)即复位应答首字节的最大等待时间120ETU(Element Time Unit),TOC设定定时器工作方式,便开始等待ATR首字节到来后做相应处理。至此,IC卡上电激活工作完成,随后可以根据ATR字节的要求的工作方式对IC卡进行相应的读写处理。具体见上电程序。

图4 TDA8007产生满足ISO 7816标准诉IC卡上电激活时序

TDA8007寄存器访问的预定义

#include

#define XXX XBYTE[0x8000]//XXX表示CSR等各寄存器上电程序如下:

P1.5=0; //片选TDA8007

CSR&=0xf8;

CSR|=ncard; //选择卡,ncard=1,2

CSR&=0xf7;

CSR|=0xf7;

CSR|=0x08; //复位UART的寄存器

UCR2&=0xf7; //异步模式,SAN=0

CCR&=0xdf; //时钟停止于低电平

UCR2|=0x60; //关闭附加中断及收发中断

GTR=0xff; //保持时间12ETU

If(v==1) //v为函数变量

PCR|=0x08; //1.8V卡用

else if(v==3)

PCR|=0x02; //3V卡用

Else

PCR&=0xfd; //5V卡用

UCR2&=0xfc; //CKU=PSC=0,--31

FCR=0x00; //1奇偶校验1FIFO

PDR=0x0c; //Divider=12

CCR=0x00; //不分频

PCR&=0xfb; //RSTIN=0

UCR2|=0x04; //不自动转换

UCR1=0x01; //正向约定

UCR1&=0xf7; //接收模式

flag3=0; //复位定时标志

flagatr=0; //接收ATR首字节定时标志

PCR|=0x01; //激活

TOR2=0x6c;

TOR3=0x00;

TOC=0x61; //RST拉高前等待108ETU

while(flag3==0); //定时时间到,在中断中设置flag3=1

TOC=0x00; //关闭定时器

PCR|=0x04; //给复位拉高

TOR2=0x78;

TOR3=0x00;

TOC=0x61; //RST拉高前等待

flagatr=1;

ATR(); //复位应答处理函数

图5为IC卡的下电时序图。相对于上电时序,下电过程对时间的要求不是很严格,只要设计者控制TDA8007按照一定的顺序置低START、RSTIN和停止CLK即可,然后TDA8007会自动逐步释放RST、I/O、Vcc及VUP。具体处理见下电程序。

下电程序:

P15=0;

PCR&=0xfe; //START=0;下电

PCR&=0xfb; //卡的复位脚保持0

CCR&=0xdf; //停止时钟于低

CCR|=0x10; //停止时钟

P15=1;

6 使用TDA8007应当注意的问题

TDA8007对于Vcc、RST出错,芯片过热(如图IC卡为电源短路卡或金属片),或IC卡插入拔出时都会产生中断输出。每次中断处理结束,应注意把HSR中的值读入一个临时地址,以便清楚HSR中的标志。

每次发送数据到IC前,即接收IC卡的最后一个数据之前,应设置寄存器UCR1中的LCT位,以便接收完IC卡的数据后,自动切换成发送状态。

对TDA8007部分布线时应注意,时钟信号线与其它线的隔离:最好被地线包围。

对于电路板上TDA8007部分的电容应尽量靠近TDA8007,其中电容Cap、Cbp、Cup尤其如此,并最好不要在这些电容连向TDA8007引脚过程中使用过孔;同时,Cap、Cup、Cbp电容的ESR要尽量小。

对TDA8007处理的两个IC卡座中的任何一个执行上电、下电、读写卡操作之前,必须执行选择卡座的操作函数,以便选中具体的IC卡进行处理。

对IC卡操作中上电时序中的定时,读写卡字节间等待定时等都可使用TDA8007中的定时器及定时控制器操作,注意其定时器为向下计数方式。

结语

数字IC设计 篇9

关键词:低功耗,高可靠性,智能水表,电控阀

为了推动智能IC卡水表的发展,全国许多研究机构及自来水公司投入力量对智能IC卡类产品进行开发研究,并成功地开发出了自己的产品。从理论角度看,智能IC卡水表已经进入成熟期。但是,为什么现在智能IC卡水表的推动工作还很困难呢,这不难理解。因为从实际情况看,现在的智能IC卡水表确实还存在着许多影响其大规模推广使用的问题[1]。其中最主要的问题是IC卡水表的质量和可靠性问题,因此,致力于降低IC卡水表的故障率,提高IC卡水表运行的稳定可靠性,依然是广大研发单位和生产厂家的首要任务[2]。本文将提出一种低功耗、高可靠性智能IC卡水表的设计方法。

1 电控阀设计

1.1 阀门的选择

阀门是IC卡水表的关键部件,要求压力损失小,体积小,功耗低。目前市场上采用的阀门主要分为四类:电磁阀、球阀、陶瓷阀、先导阀。1)电磁阀:利用线圈通电激磁产生的电磁力来驱动磁芯开关的阀门,要求断电后阀芯仍然保持在原有位置。但此类阀门抗外界敲击能力较差,且压损大,可靠性差。2)球阀:利用直流电机驱动阀杆带动圆球,实现流道的启闭,优点是压损小,抗污能力强;缺点是驱动力矩大,功耗高,长期使用可能因为结垢或磨损出现漏水。3)陶瓷阀:主要由转轴、动片和静片等组成,电机通过减速器带动动片旋转,实现动片与静片的闭合与开启。优点是耐腐蚀性、耐磨性好,使用寿命长。缺点是压损大,功耗大。4)先导阀:先导阀安装简单,功耗低,但压力损失如果要达到行业标准是需要解决的问题。综合上述分析,从低功耗和高可靠性角度考虑,决定自行设计一款新型电控陶瓷阀,实现既能可靠开关阀门,又达到压损的要求。

1.2 电控陶瓷阀的改进设计

在IC卡表上采用陶瓷阀可延长使用寿命,密封好,无渗漏;但现在所用的陶瓷阀普遍存在压损大、功耗大的缺陷,因此我们对现有的陶瓷阀进行改动,使其压力损失合格,功耗降低;改动如下:1)将陶瓷阀的下静瓷片上孔的空间加大,则水流流量增加,压力损失减小;2)在原有结构上,在支撑垫板和下静瓷片之间增加一个支撑垫,使支撑垫板和下静瓷片之间的摩擦减小,从而降低功耗。电控陶瓷阀结构示意图见图1。

驱动器是IC卡水表控制阀门执行机构,是电控与功能纽带,所以驱动器设计与计算是很重要的环节之一。根据计算及测试结果,陶瓷阀在空载情况下,最大扭矩为0.4 N·m,在负载情况下,最大扭矩为0.6 N·m,增加2.0倍的安全系数,则陶瓷阀额定扭矩为:1.2 N·m;考虑结构和空间,取减速比范围2 000左右,按6级传动,取效率为70%,这样电机需要额定转矩:1.2/2 036×70%=8.4×10-4N·m,IC卡表阀90°开闭时间在10 s内。

2 硬件电路设计

2.1 单片机选用

单片机选用美国得州仪器公司生产的MSP430F413,该单片机在超低功耗方面有着世界领先的优势,MSP430F413具有丰富的片内资源,片内集成了LCD驱动器、高精度模拟比较器、多个时钟源、IO可设为与内部时钟同步输出等等,大大简化了外围电路的设计,降低功耗。

2.2 水表计量电路

水表计量接口电路实现与基表远传发讯装置的接口,单片机P1.6,P1.7口是片内高精度模拟比较器的输入端口,结合片内产生的1/2VCC与1/4VCC参考电压,可识别接口电路短路、开路等异常现象。P1.5口控制采样电路的电源,使电路在绝大部分时间内处于关闭状态,降低功耗。

2.3 阀门控制电路

单片机P6.3口控制开、关阀门到位信号的电源,P6.4口为关阀到位输入信号,P6.5口为开阀到位输入信号。P6.6与P6.7口平时输出点平位高,PNP三极管Q5,Q6处于截止状态,驱动电路不耗电。当P6.6输出低电平P6.7输出高电平时,JMOT输出端口的1,2端子间输出正电压;当P6.6输出高电平P6.7输出低电平时,JMOT输出端口的1,2端子间输出负电压,以此来控制阀门电机正反转,执行开关阀门动作。原理图见图2。

2.4 CPU卡接口电路

该电路实现单片机与CPU卡之间数据传输。图3中CVCC为CPU卡及接口电路电源,由P6.0口控制。ICK信号是插卡到位信号,单片机每250 ms给P2.0置1,此时若ICK为低电平,则表示卡已插到位,即接通CVCC电源,进行刷卡操作。否则继续关闭CVCC电源,以降低功耗。RST为CPU卡复位信号输出,IO为CPU卡数据输入输出,CLK为CPU卡同步时钟信号。R24~R27为限流电阻,起到一定的防静电隔离效果。

2.5 ESAM模块接口电路

该电路实现单片机与ESAM模块之间数据通讯。P6.0口控制ESAM模块及接口电路的电源,ESAM模块与CPU卡电源是同步的。P1.1由单片机提供与CPU卡及单片机本身的同步时钟信号。SAMIO为ESAM模块的数据输入输出信号,SAMRST为ES-AM模块的复位输入信号。

3 结语

本文围绕低功耗和高可靠性两个方面进行设计,首先对电控陶瓷阀进行改进,经寿命试验测试,达到了正常开关10 000次无故障的高可靠性,再以MSP430F413作为主控芯片,通过对外围电路的优化,极大程度上降低了水表的功耗。本文研制的智能IC卡式水表已经研制成功,并已经通过国家质检部门鉴定。

参考文献

[1]张亚雄.智能IC卡水表发展前景及相关问题分析[J].中国计量,2011(3):74-76.

[2]贺骏.IC卡水表应用中的几个问题[J].城镇供水,2009(34):88-89.

数字IC设计 篇10

北京2010年12月16日电/美通社亚洲/—Analog Devices, Inc. (NYSE:ADI) , 全球领先的高性能信号处理解决方案供应商和医疗成像行业的长期合作伙伴, 最近推出备受赞誉的八通道超声接收器的第四代产品--新型IC AD9278和AD9279, 可减小高端、中端和便携式超声系统的系统尺寸、复杂度和功耗。医院、诊所和急救单位日益依赖更先进的超声设备来提供诊断影像, 因而对体积更小、速度更快、功耗更低的超声设备的需求不断增长。IMS Research的医疗研究部门In Medica预测, 2012年之前, 全球超声行业收入将从2009年的49亿美元增长到60亿美元以上。

新型接收器芯片AD9278和AD9279均集成了ADI公司全球领先的数据转换技术, 可实现低噪声TGC (时间增益控制) 模式性能, 此外还具备高动态范围I/Q解调器, 可减小实现CW (连续波) 多普勒处理所需的功耗和面积。新款八通道超声接收器提供最高水平的输出端折合大信号SNR (最高可达67 d B) , 有助于提高诊断超声系统的灵敏度, 同时最多能将电路板空间缩减40%。

ADI公司医疗保健应用部门副总裁Patrick O’Doherty表示:“为了实现更高的图像质量和更高的功效, 超声设备设计人员必须在新兴的需求和不断变化的需求之间寻找平衡。新型八通道超声接收器AD9278和AD9279以最低的功耗使高端或便携式系统实现最佳的图像质量, 从而帮助系统设计人员攻克设计挑战。”

AD9278八通道超声接收器设计用于便携式超声系统, AD9279则适合高端和中端系统。两种器件的引脚和封装彼此兼容, 设计人员可利用一个通用PCB (印刷电路板) 布局设计出多个超声平台, 从而节省开发时间和成本。

ADI公司的八通道超声接收器产品系列还包括AD9271。该产品于2007年4月推出, 是首款在单芯片上集成完整八通道超声接收器的器件, 目前已广泛用于全世界的超声设备。其它八通道超声接收器包括:用于中高端手推式超声系统的AD9272、用于便携式超声系统的AD9273、以及支持高质量CW (连续波) 多普勒处理的AD9276和AD9277。

八通道超声接收器AD9278和AD9279的主要特性和优势

新型八通道超声接收器AD9278和AD9279具有45 d B的可变增益范围、全差分信号路径、有源输入前置放大器终端、最大52 d B的增益以及转换速率高达80 MSPS的ADC (模数转换器) 。各器件均针对动态性能与低功耗而优化, 适合要求小封装尺寸的应用。在CW模式下, AD9278具有每通道25 m W的超低功耗, AD9279提供每通道50 m W的低功耗。在TGC模式下, AD9278在40 MSPS时的每通道功耗仅为88 m W, AD9279在40 MSPS时的每通道功耗仅为139 m W。针对高端系统, AD9279提供高度可配置的LNA, 其折合到输入端的噪声密度低至0.67 n V/√Hz。下载AD9278或AD9279数据手册并申请样片。

其它特性和优势包括:

●八个通道提供完整的TGC路径、ADC和I/Q解调器, 所有元件均集成在一个144引脚、10mm×10mm BGA (球栅阵列) 封装中。

●集成具有可编程相位旋转的高动态范围I/Q解调器。

●数据时钟输出的工作频率高达480 MHz, 支持双倍数据速率操作。

●SPI (串行端口接口) 控制提供多种灵活的功能, 可针对所有成像模式进行特定的功耗、噪声、失真和增益优化。

●集成的二阶抗混叠滤波器置于ADC前, 编程范围8 MHz至18MHz。

●快速、可重复的过载恢复功能。

●协助医疗保健客户实现突破

上一篇:一次成功的尝试下一篇:电能表应用技术分析