接口设计论文范文10篇

时间:2023-03-30 14:38:54

接口设计论文

接口设计论文范文篇1

现场总线是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行数字式多点双向通信的数据总线,多用于工空等领域,应用现场总线技术不仅可以降低系统的布线成本,还具有设计简单、调试方便等优点,同时,由于现场总线本身还提供了灵活而又功能强大的协议,这就使得用户对系统配置,设备选型具有强大的自主权,可以任意组合多种功能模块扩充系统的功能。在众多的现场工业总线中,CAN总线是一种具有国际标准而且性能价格比又较高的现场总线,它在当今自动控制领域中的应用极为广泛,并发挥着重要的作用。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。

CAN通讯协议描述了在设备之间信息如何传递。它对层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯是发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的结构定义了模型的最下面的两层:数据链路层和物理层。应用层通过不同的新型协议层(专门用于特殊的工业领域加上由个别CAN用户定义的任何合适的方案)和物理层连接。物理层和数据链路层对于设计者来说是透明的,并包含在所有执行CAN协议的部件中。

实际中,许多设备是RS-232接口,为了实现CAN总线数据和RS-232接口设备数据的传输,设计完成了CAN总线与RS-232转换接口电路设计。

1.CAN总线协议分析

1.1CAN总线主要特点

CAN总线是一种多主式的串行通信总线,具有极高的实时性和可靠行,最高通信速率可以达到1Mbit/s,是一种十分优秀的现场工业总线。CAN总线具有如下特点:

结构简单,只有2根线与外部相连,且内部集成错误探测和管理模块。

通信方式灵活。可以多主方式工作,网络上的其他节点发送信息,而不分主从。

可以点对点、点对多点或者全局广播方式发送和接收数据。

网络上的节点信息可分成不同的优先级,以满足不同的实时要求。

CAN总线通信格式采用短帧格式,每帧字节最多为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8字节也不会占用总线时间过长,从而保证了通信的实时性。

采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。这大大的节省了总线仲裁冲突的时间,杂网络负载很重的情况下也不会出现网络瘫痪。

直接通信距离最大可达10Km(速率5Kbit/s以下),最高通信速率可达1Mbit/s(此时距离最长为40Km),节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。

CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检测、优先级判别等多项工作。

CAN总线采用CRC进行数据检测并可提供相应的错误处理功能,保证了数据通信的可靠性。

1.2CAN总线协议

CAN总线协议主要描述设备之间的信息传递方式,从结构上可分成3个层次,分别对应OSI网络模型的最低两层数据链路层和物理层。CAN总线协议层次结构由高到低如表1-1所示。

表1-1CAN总线协议层次结构

协议层

对应OSI模型

说明

LLC

数据链路层

逻辑链路控制子层,用于为链路中的数据传输提供上层控制手段

MAC

媒体访问控制子层,用于控制帧结构、仲裁、错误界定等数据传输的具体实现

物理层

物理层

物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输

LLC层和MAC层也可以看作是CAN总线数据链路层的两个子层。其中LLC层接收MAC层传递的报文,主要完成报文滤波、过载通知以及恢复管理等工作。而MAC层则为数据报文的传输进行具体的控制,包括帧结构控制、总线仲裁、错误检测、出错界定、报文收发控制等工作。

物理层定义了信号是如何实际传输的,因此涉及到位时间、位编码、同步的解释,CAN总线协议并未对物理层部分进行具体的规定。

1.3CAN总线报文传输结构

报文传输由以下4个不同的帧类型所表示

1.数据帧:数据帧携带数据从发送器至接收器。

数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。数据场的长度可以为0。数据帧(或远程帧)通过帧间空间与前述的各帧分开。

2.远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。

远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置。

3.错误帧:任何单元检测到总线错误就发出错误帧。

错误帧由两个不同的场组成。第一个场用作为不同站提供的错误标志(ERRORFLAG)的叠加。第二个场是错误界定符。

为了能正确地终止错误帧,"错误被动"的节点要求总线至少有长度为3个位时间的总线空闲(如果"错误被动"的接收器有本地错误的话)。因此,总线的载荷不应为100%。有两种形式的错误标志,主动错误标志(Activeerrorflag)和被动错误标志(Passiveerrorflag)。

4.过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

过载帧包括两个位场:过载标志和过载界定符。

有两种过载条件都会导致过载标志的传送:

(1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。

(2)间歇场期间检测到一"显性"位。

由过载条件1而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。而由过载条件2引发的过载帧应起始于所检测到"显性"位之后的位。

1.4CAN总线错误处理

1.4.1错误检测

有以下5种不同的错误类型(这5种错误不会相互排斥)

1.位错误(BitError)

单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相合,则在此位时间里检测到一个位错误。但是在仲裁场(ARBITRATIONFIELD)的填充位流期间或应答间隙(ACKSLOT)发送一"隐性"位的情况是例外的。此时,当监视到一"显性"位时,不会发出位错误。当发送器发送一个被动错误标志但检测到"显性"位时,也不视为位错误。

2.填充错误(StruffError)

如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测到一个填充错误。

3.CRC错误(CRCError)

CRC序列包括发送器的CRC计算结果。接收器计算CRC的方法与发送器相同。如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误。

4.形式错误(FormError)

当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错误)

5.应答错误(AcknowledgmentError)

只要在应答间隙(ACKSLOT)期间所监视的位不为"显性",则发送器会检测到一个应答错误。

1.4.2错误标定

检测到错误条件的站通过发送错误标志指示错误。对于"错误主动"的节点,错误信息为"主动错误标志",对于"错误被动"的节点,错误信息为"被动错误标志"。站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出错误标志信息。只要检测到的错误的条件是CRC错误,错误标志的发送开始于ACK界定符之后的位(其他的错误条件除外)。

2.CAN控制器SJA1000分析

2.1CAN节点结构与SJA1000操作模式

SJA1000独立的CAN控制器有2个不同的操作模式:

BasicCAN模式(和PCA82C200兼容);

PeliCAN模式

BasicCAN模式是上电后默认的操作模式。因此用PCA82C200开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。

PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,例如,SJA1000支持一些错误分析功能,支持系统诊断、系统维护和系统优化,而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。使SJA1000能应用于更宽的领域。

本设计采用PeliCAN模式,因此只给出PeliCAN模式增强功能。如表2-1所示。

表2-1PeliCAN模式的增强功能

CAN2.0B(active)

CAN2.0Bactive支持带有29位标识符的网络扩展应用

发送缓冲器

有11位或29位标识符的报文的单报文发送缓冲器

增强的验收滤波器

两个验收滤波器模式支持11位和29位标识符的滤波

可读的错误计数器

支持错误分析在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化

可编程的出错警告界限

错误代码捕捉寄存器

出错中断

仲裁丢失捕捉中断

支持系统优化包括报文延迟时间的分析

单次发送

使软件命令最小化和允许快速重载发送缓冲器

仅听模式

SJA1000能够作为一个认可的CAN监控器操作,可以分析CAN总线通信或进行自动位速率检测

自测试模式

支持全部CAN节点的功能自测试或在一个系统内的自接收

通常,每个CAN模块能够被分成不同的功能块,如图2-1所示。

CAN控制器执行在CAN规范里规定的完整CAN协议。它通常用于报文缓冲和验收滤波。

通用CAN收发器实现从CAN控制器到CAN总线物理层的电气连接。

而所有这些CAN功能都由一个模块控制器控制,它负责执行应用层的功能。

元器件清单

表3-3CAN总线与RS-2232接口电路设计元气件清单

序号

元件名称

数量(个)

单价(元)

总价(元)

1

AT89C51

1

7.50

7.50

2

SJA1000

1

25.00

25.00

3

HM6116

1

1.00

1.00

4

MAX232

1

5.00

5.00

5

74HC373

1

1.00

1.00

6

PCA82C250

1

6.50

6.50

7

X25045

1

1.00

1.00

8

TLP113

2

3.00

6.00

合计

53.00

结论

本设计完成了CAN总线与RS-232转换接口设计。由于CAN总线与RS-232接口数据通信速率以及通信帧格式都不同,本设计最大优点是解决了这两点不同,实现了数据在CAN总线与RS-232接口之间的传输。且设计中由于使用了CAN总线进行数据传输这就使得通信方式多主性。网络上任意节点可以任意时刻主动地向网络上其他节点发送信息而不分主从。可以点对点,点对多点或全局广播方式发送和接收数据。

由于CAN总线标准没有定义应用层,数据链路层提供与信息内容相应的寻址能力,消息的内容完全由应用解释。且CAN总线的每个数据帧最多只能承载8个字节的数据,因而只适应提供短的变量服务。许多功能还需要扩展。

综上所述,通过此次设计,我们感受到CAN总线带来的各种便利。而且,由于CAN总线具有结构简单、实时性极高、可靠性强且本身具有强大的纠错能力。使得它在当今自动控制领域中的应用极为广泛。由于CAN协议参考OSI开放系统互联模型,可由用户定义应用层协议,通过相关的CAN转接设备,将CAN与计算机相连,利用CAN232B转换器组建一个CAN控制网络,能够很方便的实现RS-232多点组网、远程通讯,并且,不需要更改原有RS-232通讯软件,用户可直接嵌入原有的应用领域,使系统设计达到更先进的水平。

摘要............................................................................................................Ι

ABSTRACT..................................................................................................................................ΙΙ

引言1

1.CAN总线协议分析2

1.1CAN总线主要特点2

1.2CAN总线协议2

1.3CAN总线报文传输结构3

1.4CAN总线错误处理3

1.4.1错误检测3

1.4.2错误标定4

2.CAN控制器SJA1000分析5

2.1CAN节点结构与SJA1000操作模式5

2.2SJA1000内部结构及其功能分析6

3.CAN总线与RS-232转换接口电路设计11

3.1CAN总线与RS-232转换接口电路总体设计11

3.2主控制模块电路设计12

3.2.1AT89C51与6116电路设计13

3.2.2看门狗电路设计14

3.3AT89C51与RS-232转换接口电路设计16

3.3.1RS-232-C标准分析16

3.3.2RS-232与AT89C51接口电路设计18

3.4SJA1000与AT89C51接口电路设计19

3.4.1SJA1000与AT89C51接口电路设计19

3.4.2物理层接口电路设计21

3.5元器件清单22

结论22

接口设计论文范文篇2

关键词:SDRAM解复用接口

存储器是容量数据处理电路的重要组成部分。随着数据处理技术的进一步发展,对于存储器的容量和性能提出了越来越高的要求。同步动态随机存储器SDRAM(SynchronousDynamicRandomAccessMemory)因其容量大、读写速度快、支持突发式读写及相对低廉的价格而得到了广泛的应用。SDRAM的控制比较复杂,其接口电路设计是关键。

本文首先介绍SDRAM的主要控制信号和基本命令;然后介绍接口电路对SDRAM的主要操作路径及操作过程,应用于解复用的SDRAM接口电路的设计方法;最后给出了实现结果。

1SDRAM的主要控制信号和基本命令

SDRAM的主要控制信号为:

·CS:片选使能信号,低电平有效;

·RAS:行地址选通信号,低电平有效;

·CAS:列地址选通信号,低电平有效;

·WE:写使能信号,低电平有效。

SDRAM的基本命令及主要控制信号见表1。

表1SDRAM基本操作及控制信号

命令名称CSRASCASWE

命令禁止(NOP:Commandinhibit)HXXX

空操作(NOP:Nooperation)LHHH

激活操作(ACT:Selectbankandactiverow)LLHH

读操作(READ:Selectbankandcolumn,andstartREADburst)LHLH

写操作(WRITE:Selectbankandcolumn,andstartWRITEburst)LHLL

突发操作停止(BTR:Burstterminate)LHHL

预充电(PRE:Deactiverowinbankorbanks)LLHL

自动刷新或自我刷新(REF:Autorefreshorselfrefresh)LLLH

配置模式寄存器(LMR:Loadmoderegister)LLLL

所有的操作控制信号、输入输出数据都与外部时钟同步。

2接口电路对SDRAM的主要操作路径及操作过程

一个完备的SDRAM接口很复杂。由于本文的SDRAM接口应用于解复用,处理的事件相对来说比较简单,因而可以简化设计而不影响性能。接口电路SDRAM的主要操作可以分为:初始化操作、读操作、写操作、自动刷新操作。

(1)初始化操作

SDRAM上电一段时间后,经过初始化操作才可以进入正常工作过程。初始化主要完成预充电、自动刷新模式寄存器的配置。操作过程如图1所示。

(2)读写操作

读写操作主要完成与SDRAM的数据交换。读操作过程如图2所示,写操作过程如图3所示。

(3)刷新操作

动态存储器(DynamicRAM)都存在刷新问题。这里主要采用自动刷新方式,每隔一段时间向SDRAM发一条刷新命令。刷新过程如图4所示。

3接口电路的设计

(1)解复用电路

本解复用电路主要完成将1路高速数据流解复用为4路数据流,其结构框图如图5所示。1路数据流进入解复用器后,经过SDRAM缓冲,解复用为4路数据流。

由于要解复用为4路数据流,为了充分利用时隙,满足高速的要求,采用4个bank的SDRAM,各路数据缓冲对应不同的bank。为简化设计,数据流1的缓冲区定为bank0,数据流2的缓冲区定为bank1,数据流3的缓冲区定为bank2数据流4的缓冲区定为bank3。对于每路数据实际上是以高速率集中写入,然后以低速率均匀读出。

由于进行的是解复用,因此写入的数据只有1路,但是有可能4路数据同时都要读出。所以对于4路数据流,其读写地址和读写使能信号是分开的。

(2)SDRAM接口电路的时序控制

高速数据流的速率为3M字节/秒,采用的系统时钟为20倍的字节时钟。送入SDRAM的时钟为60MHz系统时钟。在一个字节时钟内对SDRAM的操作最多有5次(1次读,4次写),而且为了满足刷新的要求,每个字节时钟进行一次刷新操作。根据SDRAM的时序要求,这样的操作是难以实现的。因而要通过多bank操作,尽量做到时分复用来实现。图6给出了在一个字节时钟周期的内数据流1进行读写操作,其它3路数据进行读操作的命令排序时序图。可以看出通过多bank操作,时分复用,在20个系统时钟节拍内所需的读写操作命令刚好很紧凑地排开。

一个字节时钟内对SDRAM读写操作是随机的,这与数据流的复用比例有在。为了满足时序,根据上面的说明,需要把一个字节时钟周期内对SDRAM的命令合理排序,然后按照排好的顺序执行命令。这样就需要把一个字节时钟周期内对SDRAM的操作进行缓存,然后在下一个字节时钟周期内进行排序、与SDRAM命令相对应、将命令译码产生相应的控制信号线,完成操作。缓存排序过程如图7所示。

(3)SDRAM接口电路

SDRAM接口电路中需要专门操作缓冲区存储一个字节时钟周期内的操作,以备下一字节时钟的排序。为了方便处理,对每路数据的缓冲操作内容(或读或写)放在一个缓冲区。由于数据流的连续性,排序的同时仍然会有操作要求,因此每路的操作内容缓冲区分为两块。对一块缓冲区写入时,读出另一块缓冲区中的操作内容,进行排序、译码、执行。根据字节时钟切换对缓冲区的读写,从而避免冲突。对于从SDRAM读出的数据,每路数据写入相应的读出数据缓冲区。同样每路的读出数据缓冲区也分为两块,根据字节时钟切换读写。

由于一个字节时钟周期内,每路所需的操作最多有2次,每路的操作内容缓冲区只需两个单元(每个单元存储了此次的读写使能信号、写入数据、地址)即可。对于读出数据缓冲区,由于一个字节时钟每路数据最多执行一次读操作,所以读出数据缓冲区只需要一个字节。这两类缓冲区容量都小,因此人部用寄存器来实现,控制简单。

整个接口电路的结构框图如图8所示。

接口设计论文范文篇3

关键词:CH371USB接口AT89C52

通用串行总线USB(UniversalSerialBus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC、NerthernTelecom七家世界著名的计算机和通信公司共同推出的新一代总线接口标准。作为一种PC机与外设之间的高速通信接口,USB具有连接灵活、可热插拔、一种接口适合多种设备、速度高(USB1.1协议支持12Mb/s,USB2.0协议支持480Mb/s)、自动配置、无需定位及运行安装程序、可为外设提供电源、低功耗、低成本、高可靠性等优点,因而在数码相机、便携式仪器、便携式存储设备等产品中广泛应用。

但是,USB接口的开发一般要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对USB接口产品的开发使用。我们在便携式无线抄表系统中使用的USB接口芯片CH371,使用简单、性能卓越,价格低廉,只要熟悉单片机编程及简单的VB或VC应用程序编程,一般的硬件工程师在极短的周期内就能很容易地开发出相应的USB产品。

1USB总线的通用接口芯片CH371简介

CH371是一个USB总线的通用接口芯片,如图1所示。在本地端,CH371具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上。在计算机系统中,CH371的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如读写硬盘中的文件。CH371屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。使用CH371,不需要了解任何USB协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。它具有以下特点:

*屏蔽USB协议,在计算机应用层与本地端之间提供端对端的连接。

*两种通信模式:单向数据流模式、请求加应答模式,支持伪中断。

*自动完成USB配置过程,完全不需要本地端控制器作任何处理。

*标准的USBV1.1接口,即插即用,D+引脚内置上拉电阻。

*内置4个端点,支持USB的控制传输、批量传输、中断传输。

*通用Windows驱动程序,提供设备级接口和应用层接口。

图2

*通用的本地8位数据总线,4线控制,即读选通、写选通、写选输入、中断输出。

*占用16个地址,可选直接地址方式或者复用地址方式。

*内置输入输出缓冲区,以中断方式通知本地端控制器传输数据。

*内置硬件实现的I2C主接口,应用层可以直接读写外挂的I2C从设备。

*在主控方式下可以提供16根输入信号线或者12根独立控制的输出信号线。

*内置上电复位,提供高电平有效复位输出和低电平有效复位输出。

*内置可选的看门狗电路Watch-Dog,为本地端控制器提供监控。

2基于CH371USB接口的硬件设计

图2给出的是CH371与MCU的硬件接口简图。对MCUAT89C52的硬件连接比较简单,主要是在该系统的设计中,如晶振的选择连接以及复位电路等,没有什么特殊的要求,而CH371的复位完全可以采用单片机复位电路产生的复位信号。带I2C接口的串行EEPROM24C01的作用是存储产品的VID、PID、设备序列号等信息,只要地址不相同,就可以挂接多片带I2C接口的芯片,用户可以利用提供的动态连接库的函数,非常方便地完成对串地EEPROM的读出和写入。系统设计中,也可以没有EEPROM,CH371将使用默认的VID、PID、产品描述符和电源描述符,并且没有设备的序列号。

需要注意的是:最好在USB连接器的1和4之间跨接1个100μF的电解电容和1个0.1μF的独石或瓷片电容;12MHz晶振的外壳最好接地;阻抗匹配电阻为80Ω~150Ω。

3信息传输软件实现流程

下位机数据上传子程序流程简图如图3所示。

下位机中断服务程序流程如图4所示。

对于计算机应用层的程序,在计算机上装载WINCHIPHEAD提供的CH371的通用驱动程序后,不必再考虑USB通信协议、固件程序、驱动程序、自动配置过程和底层数据传输过程。只需要根据提供的动态连接库的接口函数,用VB或VC编制自己的应用程序即可。

接口设计论文范文篇4

关键词:触摸屏ADS7846同微控制器PIC16F876

引言

随着社会自动化程度的提高,人机交互能力急需大的转变,向着更方便使用、更直观的方向发展。激光治疗机主要应用激光的物理特性作用于人体,产生机体化学反应从而达到治疗疾病的目的。激光治疗机作为一种精密仪器需要精确的控制及防尘、防静电、防潮等方面的严格要求。激光治疗机输入设备采用触摸屏控制,既是基于以上要求也是从方便使用者操作和界面直观的角度考虑的。触摸屏的应用使得数据的显示和数据的输入结合为一体,简化了整个设备。

1触摸屏原理

触摸屏附着在显示器的表面,与显示器配合使用。通过触摸产生模拟电信号,经过转换为数字信号由微处理器计算得出触摸点的坐标,从而得到操作者的意图并执行。触摸屏按其技术原理可分为五类:矢量压力传感器、电阻式、电容式、红外线式和表面声波式,其中电阻式触摸屏在实际应用中的较多。电阻式触摸屏由4层的透明薄构成,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,附着在上下两层内表面的两层为金属导电层(OTI,氧化铟),这两层由细小的透明隔离点进行绝缘。当手指触摸屏幕时,两层电层在触摸点处接触。

触摸层的两个金属导电层分别用来测量X轴和Y轴方向的坐标。用于X坐标测量的导电层从左右两端引出两个电极,记为X+和X-。用于Y坐标测量的导电层从上下两端引出两个电极,记为Y+和Y-。这就是四线电阻触摸屏的引线构成。当在一对电极上施加电压时,在该导电层上就会形成均匀连接的电压分布国。若在X方向的电极对上施加一确定的电压,而Y方向电极对上不加电压时,在X平行电压场中,触点处的电压值可在在Y+(或Y-)电极上反映出来,通过测量Y+电极对地的电压大小,便可得知触点的X坐标值。同理,当在Y电极对上加电压,而X电极对上不加电压时,通过测量X+电极的电压,便可得知触点的Y坐标。测量原理如图1所示。

五线式触摸屏与四线式不同。主要区别在于五线触摸屏将其中一导电层的四端均引出来作为四个电极,另一导电层仅仅作为测量的导体输出X向和Y向的电压,测量时要交替在X向和Y向上施加电压。

2触摸层控制器工作原理

触摸屏控制器有多种,主要的功能均是在微处理器的控制下向触摸屏的两个方向分时施加电压,并将相应的电压信号传送给自身A/D转换器,在微处理器SPI口提供的同步时钟作用下将数字信号读入微处理器。控制器ADS7846基本结构如图2所示。

图1触摸点P处测量结果计算如下:

ADS7846内部可以通过寄存器的设置A/D转换器的分辨率设为8位或12位,在本系统中A/D转换器的分辨率取12位。则P点的二进制输出代码为:

其中:Vref_full为加在ADS6746内部A/D转换器上的参考电压。

触摸屏控制器的运行是通过串行数据输入口DIN输入控制命令进行控制的。控制的基本格式如下:

bitbit6bit5bit4bitbitbitbit

起始位(高电平)A2A1A0MODESER/DFRPD1PD0

bit7指明发送命令开始,高电平有效。A2:A0用于选择数据输入通道,101选择X坐标测量,001选择Y坐标测量。MODE将内部模数转换器的分辨率定义为8位(MODE=1)或12位(MODE=0)。SER/DFR为单端/双端参考电压选择位。PD1:PD0根据省电模式的需要进行选择设置。这些命令控制位的设置将在程序代码部分得以应用。

3系统硬件设计

激光治疗机的输入系统由三部分组成:触摸屏、触摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。内部总线采用哈佛双总线结构。在内部频率相同的情况下,加快了数据的传输速度,避免了瓶颈现象。此芯片采用精简指令集(RISC)易于使用,加快了开发速度。内部含有8KB程序存储器(分页操作),256字节EEPROM,368字节RAM,8路模数转换器,1个通用串行口(SCI),1个I2C接口,1个串行接口(SPI),3个定时器及看门狗电路(WathcDog)等许多重要资源。许多接口功能上的复用使得整个微控制器简洁,功能强大。

根据ADS7846与微控制器进行数据交换的接口特征,选用PIC16F876的SPI口。SPI口包括三个信号:SDO(串行数据输出),SDI(串行数据输入),SCK(串行同步时钟)。硬件连接关系见图3。

本文侧重于激光治疗仪输入系统的设计,其它硬件的设计仅给出接口的含义。由于PIC16F876的内部集成度较高,所以接口相当简单,但是要完成复杂的控制功能必须进行内部寄存器的设置。

图3

4软件设计

按照以上设计思想设计了应用软件。图4为主程序与触摸屏输入检测部分的程序流程图。其中,坐标数据处理通常采用查表的方法,将用户命令的坐标形成数据表,利用获得的坐标信息进行变换快速查表,从而提高软件的运行速度。

下面是PIC16F876同ADS7846接口的部分程序代码。

CMDATAEQU30H

XDATA_HEQU31H

XDATA_LEQU32H

YDATA_HEQU33H

YDATA_LEQU34H

;初始化寄存器

MOVLW02H

MOVWFTRICB;定义B口方向

MOVLW90H

MOVWFTRISC;定义C口方向

BCFSSPCON,5

MOVLW10H

MOVWFSSPCON;初始化SSPCON

BSFSSPCON,5;启动SPI

;获取X,Y坐标

GetXY

BCFPORTB,0;选口AD7846

MOVLW0D4H;获取X坐标命令

MOVWFSSPBUF;发送命令

BUSY

BTFSCPORTB,1;判忙?

GOTOBUSY

MOVFSSPBUF,W;12位数据

MOVWFXDATA_H;XDATA_H存放高字节

MOVFSSPBUF,W

MOVWFXDATA_L;XDATA_L存放低字节

································

;Y坐标数据同样处理

RETLW0

接口设计论文范文篇5

关键词:运动控制CompactPCI总线PCI9030热插拔

近年来,随着嵌入式系统的快速发展及其对硬件可靠性要求的提高,特别是带有多个运动控制卡的网络运动控制系统的发展,对运动控制卡提出了新的要求。运动控制卡应具有带热插拔功能的CompactPCI总线接口。在这样的运动控制系统中,采用可靠性高的嵌入式系统软件,上位机只需对被控对象实施总体的控制和管理;而位置反馈信号的采集、闭环控制的计算及控制量的输出则均可由以DSP为核心的运动控制卡完成,极大地提高了运算速度和控制响应速度。通过带热插拔功能的CompactPCI总线接口的上下机联接,使系统具有更高的可靠性和带电更换故障板卡的能力。

1CompactPCI接口总线概述

CompactPCI接口总线定义了更加坚固耐用的PCI版本。在电气、逻辑和软件方面,它与PCI标准完全兼容。CompactPCI接口卡安装在支架上,并使用标准的Eurocard外型。CompactPCI虽然与标准PCI属同一标准,二者还是有很大的不同。CompactPCI相对PCI来讲具有很多优点:(1)具有更好的机械特性。它增强了PCI系统在电信或其它条件恶劣的工业环境中的可维护性和可靠性。(2)采用Eurocard封装,系统中气流均匀。(3)CompactPCI连接器的电源和信号引线支持热插拔规范,这对于容错系统是非常重要的,也是标准PCI所不能实现的功能。(4)总线易于扩展,可同时支持多达256个标准的PCI总线设备。(5)CompactPCI背板的连接器插针分为长针、中长针和短针。长针是一些电源针,最短的针是BD-SEL#,其它总线信号和部分电源信号是中长针。连接器插槽J1插孔有长针插孔、中长针和短针插孔,而J2插槽都是中长针插孔。

2系统的硬件结构概述

开放式四轴DSP运动控制卡经12位DAC驱动四个伺服电机,并通过CompactPCI总线背板连接器与主机通信。其中DSP处理器与CompactPCI接口采用PLX公司的PCI9030接口芯片使之和双口RAM缓冲区进行通信。

PCI9030是业界首个支持热交换的PCI目标接口芯片,为CompactPCI接口提供了优秀的解决方案。它采用SMARTarget技术,可以保证高性能的热交换实施功能,可以支持具有热交换功能的PICMG2.1目标设备,并且符合PCIv2.2规范所规定的32位33MHz目标接口功能,可以获得高达132Mbyte/s的PCI突发传输速度,局部总线操作速度最高可达60MHz,支持5个局部地址空间到PCI总线地址空间的映射(空间0、1、2、3、4以及1个扩展的ROM),传输等待周期及总线宽度可编程。另外,PCI9030内含预充电BIOS、早期电源支持、热交换控制/状态寄存器(HS_CSR)和附加引脚资源,可利用这些资源以及ENUM#输出信号、弹出开关和表示用户插入/取出状态的LED灯实现运动控制板卡的带电热插拔的软硬件控制。

图1

其硬件结构框图如图1所示。该系统由以下几部分组成:

·核心处理器TMS320LF2407,主要完成位置速度PID控制、插补迭代运算、开关量输入和输出、PLC控制等对实时性要求高的任务,另外还完成程序和数据存储和上下机的通信任务。

·模拟量控制电路,将数字量速度信号经四路12位数/模转换芯片DAC7725转换为-10V~10V的模拟信号,输出到电机伺服驱动模块。

·反馈电路,由两片CPLD元件EPM7128SLC84构成四路12位可逆脉冲计数器,对差分光电编码器的编码脉冲进行循环计数,可实现编码器Z相点硬件中断。

·FLASH电路,用于存储数控参数和数控指令代码,也用于紧急情况下保护数据。

·开关量电路,包括通用8/8I/O点、4个电机使能输出、4个轴的左右极限输入和原点中断输入等电路。

·通讯电路,通过PCI接口从模式使3.3V芯片PCI9030和双口RAM芯片70V24与PC机的CompactPCI总线相连,可以进行高速数据传输。

本系统是一个闭环多轴运动控制硬件系统,具有快速精确的计算能力以及较强的数据通讯能力,是良好的复杂数控系统平台。

3CompactPCI接口的设计

CompactPCI接口的设计要点在于在硬件插拔过程中,不能对CompactPCI总线产生较大的冲击,不能影响CompactPCI总线上数据传输的正确。所以应具有良好的热电源切换控制电路和相应的总线电路以及便于软件处理热插拔过程的控制信号。

电源控制和PCI9030的接口原理框图如图2所示。

3.1PCI9030芯片热插拔控制信号的作用

在CompactPCI规范中规定:(1)板卡插入后,硬件初始化过程中应点亮蓝灯;(2)板卡即将拔出,软件能获知板卡即将拔出,并做好善后工作后,点亮蓝灯。

PCI9030芯片有BD_SEIL#输入信号引脚、ENUM#输出信号引脚、CPCISW输入信号引脚和LEDON#输出信号引脚,均用作CompactPn接口热插拔控制信号。其功能分别如下:

PCI9030的BD_SEL#输入信号引脚同运动控制卡CompactPCI接口的引脚BD_SEL#相连,当BD_SEL#信号变高时,使PCI9030输出引脚成高阻态,保护芯片。PCI9030的ENUM#信号是送到背板的带上拉的集电极开路信号;它通知背板主机CPU板卡是刚刚插入,还是即将拔出。并通知CPU系统配置改变,使CPU同时执行相关必要的软件操作(在板卡安装时,安装设备驱动程序;在移出板卡前,卸载设备9B动程序)。板卡的插入/拔出状态是由CPCISW信号送到PCI9030完成的,这时,PCI9030通过ENUM#信号通知背板主饥硬件配置改变情况,同时主机CPU执行相关必要的软件操作。当操作结束时,主机CPU通过PCI9030将CPCISW信号写入HS-CSR寄存器的相应位中,使LEDON#信号变化,点亮或熄灭蓝灯,通知板卡可安全取出或已安全插入。另外,PCI9030将板卡插入/拔出的状态(即CPCISW信号)写入HS_CSR寄存器的相应位中,软件可以通过这些位来查询板卡插入/拔出状态,使软件可采取各种切换措施,也可以通过向寄存器的相应位写1来清除该位。

3.2热插拔电源电路的原理设计

3.2.1热插拔电源管理器的确定

热插拔电源电路需在插拔过程中和正常工作时,对CompactPCI接口板电源进行监控,按一定的速率及时地上电和断电,把该电源的情况及时通知背板系统以便通过软件进行处理;同时需对CompactPCI接口板的总线信号提供预充电电压,使CompaetPCI接插件的插针点的预充电电压达到1V,保证CompactPCI接口板在插拔过程中,对CompactPCI总线的冲击很小;另外需对背板的PCIRST信号和CompaetPCI接口板的电源好坏情况进行逻辑处理来产生该接口板上的LOCAL_PCI_RST信号。为此,热插拔电源电路采用了芯片LTCl646作为CompactPCI热插拔电源管理器。它能够使线路板在运行中的CompactPCI总线插槽内安全地插入和拔出。两个外部N沟道通路晶体管IRF7413控制3.3V和5V电源,使电源能在电流限制或可设置速率上电。电子电路断路器可保护两组电源不受过流故障情况的损害。

图2

3.2.2LTCl646芯片的主要引脚功能

·LTCl646的3.3V和5V输入主要来自中等长度的电源插针。3.3V和5V连接器长插针在CompactPCI插卡上与中等长度的3.3V和5V电源插针短接在一起,为LTCl646的预充电电路、VI/O上拉电阻和PCI9030芯片提供初期电源。

CompactPCI背板的连接器插针中有引脚BD_SEL#、HEALTHY#用于热插拔电源电路。

·芯片PWRGD#信号引脚输出指示何时所有电源电压都在容许范围内,连接于PWRGD#引脚的HEALTHY#信号把板卡电源情况通知背板主机,当HEALTHY#信号变高时,说明板卡电源情况出了问题。

·芯片OFF/ON#输入信号引脚连接于板卡的BD_SEL#引脚,用来控制开关板卡电源或将电源断路器复位。而BD_SEL#信号应通过1.2kΩ电阻上拉至PCI9030的I/O工作电压VI/O。

·芯片PRECHARGE引脚用于产生1V的预充电电压。可在板卡插拔过程中对总线I/O引脚施加偏置。板卡上需要进行预充电的CompactPCI总线引脚(即接插件J1、J2与CompactPCI接口器件PCI9030连接的引脚)包括:ADO~AD31、C/BEO#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#。LTCl646产生的预充电信号经过较大的10kΩ电阻上拉至预充电电压(PRECHARGEOUT)。而BD_SEL#、ENUM#、INTA#信号应上拉至PCI9030的I/O工作电压VI/O。

·芯片的RESETIN#引脚输入信号PCI_RST#,在片内与HEALTHY#信号进行逻辑结合,从而在引脚RESETOUT#生成LOCAL_PCI_RST#信号送到PCI9030芯片的PCI_RST#信号引脚,用来在任一组电源超出范围时对板卡和芯片PCI9030进行复位。

3.2.3在LTCl646芯片控制下CompactPCI接口板的上电顺序

当插卡插入时,长3.3V和5V连接器插针以及长GND插针首先接触。LTCl646预充电电路在插入阶段将总线I/O插针偏置为1V。3.3V和5V中等长度的电源插针在插入的下一个阶段接触,但只要OFF/ON#引脚被1.2kΩ上拉电阻拉到VI/O,线路板电源则被关断。在线路板插入的最后阶段,BD_SEL#短连接器插针开始接触,OFF/ON#引脚被拉低。这使得通路晶体管导通;并且在内部有一个5μA电流源与TIMER引脚连接。时每个通路晶体管的电流开始增加,直至增加到各自的电流限值;然后,3.3V和5V电源被允许按一定的速率上电,一旦两组电压都在容差范围之内,HEALTHY#将拉低,LOCAL_PCI_RST#可自由跟随PCI_RST#。

3.2.4在LTCl646芯片控制下CompactPCI接口板的断电顺序

当BD_SEL#被拉高时则开始一个断电过程。LTCl646内部开关被连接于每个输出电源电压引脚,使旁路电容器向地放电。TIMER引脚立即被拉低。GATE引脚被一个200μA的电流源拉低,以防止3.3V和5V电源上的负载电流同时变为零从而对电源电压造成干扰。当任一输出电压跌落在门限以下时,HEALTHY#引脚被拉高,LOCAL_PCI_RST#将被确定为低。

一旦断电过程完成,插卡就可以从插槽内取出。在拔出期间,预充电电路继续将总线I/O插针偏置为1V,直到5V和3.3V长连接器插针分开。

3.3CompactPCI接口设计的其它电气措施

·热插拔板卡在带电拔插过程中,为了保护板卡免遭静电损坏,必须进行静电放电。所以,必须在板卡上设计放电条。

·为了减小板卡上的CompactPCI总线的信号线分支对总线的影响,必须对CompactPCI总线信号进行串联电阻匹配。需要加串联匹配电阻的引脚包括:AD0~AD31、C/BE0#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#以及INTA#。根据CompactPCI规范,对CompactPCI的信号线长度和到预充电电阻的分支线的长度必须进行限制(PCB的布线特征阻抗应设计为65Ω±10%)。线的长度越短,对CompactPCI总线的冲击越小。在CompactPCI接口板上,对于预充电的信号,从接插件J1n或J2到PCI9030器件管脚,总的信号线长度应小于38.1mm。其中,从接插件插针到串联电阻的PCB连线长度应小于15.2mm,预充电电阻的分支长度最好是零,最长不能超过2.5mm。

接口设计论文范文篇6

关键词单片机;MSP430;LCD;人机交互接口

1引言

在当今的各种实时自动控制和智能化仪器仪表中,人机交互是不可缺少的一部分。一般而言,人机交互是由系统配置的外部设备来完成,但其实现方式有两种:一种是由MCU力口驱动芯片实现,如键盘显示控制芯片SK5279A,串行数据传输数码显示驱动芯片MAX7219等等,这时显然MCU没有LCD的驱动功能。另一种就是MCU本身具有驱动功能,它通过数据总线与控制信号直接采用存储器访问形式或I/O设备访问形式控制键盘和LCD实现人机对话。这里的MCU主要有世界各大单片机生产厂商开发的各种单片机,其中TI公司的MSP430系列因其许多独特的特性引起许多研究人员的特别关注,在国内外的发展应用正逐步走向成熟。

2LCD简介

LCD(LiquidCrystalDisplay),即液晶显示器。液晶显示是通过环境光来显示信息的,它本身并不发光,因而功耗很低,只要求液晶周围有足够的光强。LCD是人与机器沟通的重要界面,早期以显像管(CRT/CathodeRayTube)显示器为主,但随着科技不断进步,各种显示技术如雨后春笋般诞生。LCD由于具有轻薄短小、低耗电量、无辐射危险、平面直角显示以

及影像稳定不闪烁等优势,逐渐占据显示的主流地位。

LCD的类型,根据其分类方式的不同而不同。如根据LCD显示内容的不同可以分为段式LCD和点阵LCD。根据LCD驱动方式的不同可以分为静态驱动和多路驱动。

3MSP430F44X简介

MSP430F44X系列是TI公司最新推出的具有超低功耗特性的Flash型16位RISC指令集单片机[2]。该系列单片机性价比相当高,在系统设计、开发调试及实际应用上都表现出较明显的优势。它主要应用在各种要求极低功率消耗的场合,特别适合用于智能测量仪器、各种医疗器械、智能化家用电器和电池供电便携设备产品之中。

3.1系统结构

MSP430F44X的系统结构,主要包括:CPU、程序存储器(ROM)、数据存储器(RAM)、FLL+时钟系统(片内DCO+晶体振荡器)、看门狗定时器/通用目的定时器(WatchDog)、ADCl2(12位A/D)、比较器A(精确的模拟比较器,常用于斜边(Slope)A/D转换)、复位电压控制/电源电压管理、基本定时器(BasicTimerl)、定时器(Timer-a和Timer-B)、LCD控制器/比较器(多达160段)、硬件乘法器、I/O口和串行口[4]。系列中各种具体的型号稍有差别。在本次设计中,具体选择MSP430F449作为人机接口电路的设计具有许多独到的优势。这一点,读者可以根据TI公司相关的数据手册进行比较。

3.2片内外模块特性

MSP430F44X具有丰富的片内模块,其明显的特点是:具有48条I/0口线的6个并行口P1-P6,其中P1、p2具有中断能力,同时具有2个可用于UART/SPI模式选择的串行口(USART0和USARTl);内含12位的A/D转换器ADCl2,快速执行8×8、8×16、16×16乘法操作并立即得到结果的硬件乘法器;多达160段的LCD控制器/比较器,可以实现多种方式的驱动显示;可以实现UART、PWM、斜坡ADC的16位Timer-A和16位Timer-B;非常灵活的时钟系统,既可用32768Hz的钟表晶振产生低频时钟,也可以用450kHz-8MHz的晶体产生高频时钟,同时还可以使用外部时钟源或者用不同控制频率的DCO;多达几十kB的Flash空间,这样数据既可以保存在片内的Flash信息存储器,也可保存在程序的Hash中的剩余空间。

4接口电路设计

4.1接口电路简图及说明

典型应用电路示意图。在该图中,LCD类型和键盘种类及数目的选择、下拉电阻的数值大小都必须认真考虑,硬件设计要满足一定的工作时序关系,复位时预留缓冲时间和悬空部分引脚,晶振的选择要在适当的数值,必须保证交流驱动的频率在30Hz-1000Hz范围内,其具体的情况请详细参考TI公司的相关资料[3]。

4.2段型液晶显示屏EDS820A简介

一般而言,LCD分为笔段型和点阵字符型及点阵图形型。笔段型主要是显示数字,常用于计数、计量和计时;点阵字符型用于显示数字和西文字符;点阵图形型用于显示图形及字符。本设计中用到的EDS820A就是由西安新敏电子科技有限公司生产的笔段型LCD。是该显示屏的各个引脚的逻辑功能表。

显而易见,该产品EDS820A是5位的液晶显示屏,它只有4个DP,用于显示小数点;COM端也只有一个,所以该LCD与MSP430F449的管脚连接应该引起足够重视.

5软件设计

硬件连接电路图为例,编写了键盘控制及显示程序,程序在IAREmbeddedWorkbench编译通过。全部主程序包括详细的发射和接收子程序,及初始化和等待键盘输入转换、显示等等,值得注意的是发射与接收的控制要适当。

该程序是用汇编编写的。程序实现的是等待按键输入,读取键值,最后进行键值处理和显示的功能。

检测是否有键按下是通过KEY是否有高电平信号。平时,KEY为低电平,当有键按下时为高电平,它发送一个脉冲给单片机MSP430F449,当单片机检测到该信号时,判断按键的功能,从而进行相应的处理。

6人机接口电路在体内电刺激器中的应用

医学上,在进行疾病控制时,通常可以通过电极以一定波形(如方波、正弦波等)、频率、幅度、占空比等电信号对神经或肌肉进行刺激,以使其支配相应的功能或肌肉产生收缩/舒张动作,从而有利于症状的减轻。由于不同部位的神经或肌肉对电刺激发生的敏感水平不同,不同强弱和不同性质的电信号所产生的刺激效果是不一样的。我们研制的体内电刺激器,可以产生手术时所需要的具有不同的频率、幅度、占空比的不同波形信号。该仪器幅度、占空比准确,频率稳定,各参数均可以精确的调节。而且,由于使用了LCD显示,它与单片机的连接简单。LCD具有质量轻、体积小、电压低、功耗小、显示内容丰富等优点,其人机界面相当友好。但人机接口电路设计的优劣直接影响到整台仪器的使用效果。

根据需要,我们设计了5个键。这里,S1表示波形的振幅,S2表示波形的频率,S3表示波形的占空比,S4为+1键,S5为-1键。通过54,S5可以调节波形的各个参数值。其中,振幅可以是在一个参考值的基础上的0-99.9%;频率可以是1Hz-999Hz;占空比调节范围可以为1.0%-99.9%[1]。

接口设计论文范文篇7

关键词:CPUIC卡TDA8007ISO7816

IC卡(IntegratedCircuitcard)即集成电路卡,是将一个集成电路芯片镶嵌于朔料基片中,封装成卡的形式,外形与常用的覆盖磁条的磁卡相似。IC卡芯片具有写入和存储数据的能力。IC卡存储器中的内容根据需要可以有条件地供外部读取,或供内部信息处理和判定。根据卡中所镶嵌的集成电路的不同,可以分成存储器卡、逻辑加密卡、CPU卡三类。其中CPU卡即为由中央处理器CPU、EEPROM、随机存储器RAM以及固化在只读存储器ROM中的片内操作系统COS(ChipOperationSystem)组成的IC卡。IC卡按与外界数据传送的形式来分,有接触式和非接触式两种。

图1T=0的CPU卡APDU指令实现流程

1CPUIC卡T=0的协议介绍

目前大多数CPUIC卡采用T=0模式。所谓T=0,即CPUIC卡与接口设备(即读写器)中数据传输方式为异步半双工字符传输模式。

从T=0协议的功能出发,该协议的实现可以分为物理层、数据链路层、终端传输层和应用层。其中物理层和数据链路层可以具体参看ISO7816标准。在T=0协议应用,终端传输层和应用层实际上是不易分割来说明的,下面简单说明。

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

表1

字节值结果

ACKINSVPP空闲,所有其余的数据字节相继续被传送

INS+''''FF''''VPP空闲,下一个数据字节随后被传送

SW1SW2VPP空闲,接口设备等待SW2字节

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

表2

命令头发送数据长度发送的数据期望应答的数据长度

通用APDUCLAINSP1PLCDataLE

情况一CLAINSP1P

情况二CLAINSP1PLE

情况三CLAINSP1PLCData

情况四CLAINSP1P2LCDataLE

CPU卡对接口设备(即读写器)的应答APDU情况如表3所列。

表3

体尾

数据DataSW1SW2

其中体中的数据字节数由命令APDU中的LE指出;SW1、SW2是必备的,可以指明命令APDU执行正确或执行出错的错误类型。

2基于T=0传输协议的CPUIC的APDU指令流程

根据目前CPU卡的常用T=0协议、自带编程升压电路的应用情况,以及本读写器接收IC卡数据报文直接发送PC机处理的特点,本读写器可行的APDU命令和响应的处理流程如图1所示。

3读写器的硬件组成

读写器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部数据存储器W24257S、串口电平转换芯片MAX3226、安全IC卡座(即SAM卡座)、应用IC卡座、键盘口供电的串口通信线及其它相关元器件组成。

图2所示为通过PC机控制管理的外置于PC机的接触式CPUIC卡读写器。通过定制的数据线,该读写器的5V直流电源可直接由键盘口提供,同时数据线还负责PC机与读写器的串行数据交换。在大部分IC卡读写应用中,都涉及到IC卡的认证和数据读写的国解密问题,所以本读写器除了提供一个供用户使用的IC卡接口卡座外,还内置了一个SAM卡,即安全IC卡卡座,以方便安装SAM卡,保证应用IC卡读写时的数据安全,保护用户的利益。

硬件的其它组成部分,如处理器,目前采用Atmel的89C52。其4KB的Flash程序存储器可以满足读写器的程序空间需要。由于PC机与89C52、89C52与TDA8007的数据交换要求的暂存数据空间比较大,89C52提供的256字节不够,需外加一片数据存储器。本读写器中使用的是华邦的W24257S。其有32KB存储容量,IC接口部分的主要芯片为Philips的TDA8007。

4IC卡接口芯片应用

下面介绍一下TDA8007及其应用。TDA8007的原理结构如图3所示。

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卡应用。

图3IC卡接口芯片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(AnswerToRequest)即复位应答首字节的最大等待时间120ETU(ElementTimeUnit),TOC设定定时器工作方式,便开始等待ATR首字节到来后做相应处理。至此,IC卡上电激活工作完成,随后可以根据ATR字节的要求的工作方式对IC卡进行相应的读写处理。具体见上电程序。

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

TDA8007寄存器访问的预定义

#include<absacc.h>

#defineXXXXBYTE[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卡用

elseif(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中的定时器及定时控制器操作,注意其定时器为向下计数方式。

接口设计论文范文篇8

关键词:ISDNPOTS企业上网设备

随着网络的发展,网络带这的增加,上网速度将越来越快。人们也不再仅限于上网,在追求上网的同时打网络电话,实现与网友的相互交流。目前人们很大程度上依赖于传统的ISDN上网,且在今后一段时间内,这种依赖不会发生很大变化。其于这种状况,设计了针对企业的上网设备(简称“企业上网设备”),它实现了企业上网的同时又可打网络电话双重功能。企业上网设备的整体实现方案如图1所示。

“企业上网设备”一端连接ISDN网,通过ISDN连接Internet,另一端通过以太网交换机芯片连接用户端的以太网。另外在用户端通过POTS电话机接口连接两部电话机。

普通电话拨打和接收网络话音,必须通过POTS接口才能进行。POTS接口是能够连接普通电话与ISDN的接口设备,它能使两部电话同时上网并与其它电话通信。本文对POTS接口进行阐述。

1POTS接口

要实现普通电话机与ISDN进行连接,需要专门的接口(POTS)电路,这个接口电路应该具有馈电、过压保护、振铃、监视、编解码、信号音产生器等功能。其中,信号产生器产生各种信号音,可通过硬件或软件方法来实现。若用软件实现,则将这些信号音进行抽样、量化、编码成PCM数字信号后存在一个只读存储器中,然后再周期重复地读出这些值就可以得到数字信号音。接口电路主要为用户接口电路(SLIC)、编解码和滤波器(CODEC),它相当于用户音频信号处理接口电路(SLAC)、DTMF电路。

1.1POTS组成

POTS接口采用LUCENT的L8576(SLIC)、L8503(CODEC)、保护保险丝、可编程逻辑器件GAL16V8D及MOTOROLA的MC145436(DTMF)。原理方块图如图2所示。

1.2功能描述

(1)SLIC:SLIC是用户线接口,它是CODEC与外接话机环路的中间接口。它具有如下功能:

·铃流信号。能提供话机振铃所需的铃流,它是一负高压交流信号。

·摘挂机检测信号。它提供话机摘挂机时的微处理器检测信号,微处理器根据该信号的变化来判别出话机的摘挂机情况。

·语音信号接口。它具有与CODEC与DTMF相连的模拟语音信号接口,完成从话机到CODEC与DTMF或从CODEC到话机的模拟语音信号连接;它是话机与CODEC联系的间桥梁。

·用户线接口,连接话机。

本设计采用LUCENT的L8576B芯片,它是具有PLCC封装44只引脚的双用户线接口电路。每一路能提供直流馈电、环路监视和铃流信号,它含有两路SLIC通道,可外接两部电话。该芯片内含铃流产生电路,振铃电源为-65V。

除了铃流及馈电功能外,L8576B还提供了接收和发送通道、摘机检测、振铃间断输出功能。另外,它还具有温度保护功能。

保护:L8576B除了温度保护外,还具有过压保护功能,对普通的过压保双仅需在TIP和RING端串接电阻即可。然而,为了防止线路短路或雷击而损坏器件,则必须外加保护器件(L7591)。

TIP/RING驱动:L8576B有TIP/RING驱动电路,其输出为PT/RP。在正常通话方式下,驱动器限流为24mA以下,振铃时则上升到大约85mA。

(2)CODEC:利用编解码器、滤波器完成语音信号的A/D与D/A变换,其PCM接口与外部U接口相接,而模拟口与SLIC相接。

本方案采用LUCENT公司的T8503,其接口功能如下:

·数字接口:包括PCM接口、内部时序控制、增益控制。

PCM接口:管理传送和接收PCM数据及帧同步控制。

PCM数据:PCM数据每125μs帧周期发生一次,数据时钟CLK是2.048MHz,每帧有32个时隙,每个时隙8bit数据位。DX和DR为数据发送和接收数据,不发送数据时DX保持三态状态,DR接收数据时才有效。

帧同步FS:T8503有四个帧同步(FSX和FSR)输入,每一对对应一个通道。在一个125μs的帧里,每个帧同步提供一个单脉冲。帧同步可以出现在器件上电且MCLK作用于器件的任何时刻,帧同步脉冲的时序表时时隙的开始。在这时隙中,该通道的数据在数据时钟作用下输入或输出。FSX和FSR高有效,且必须保持高至少一个主时钟周期,它们可以独立工作,对符合传送和接收转换的给定的通道可以将其连一起。在一个帧中,通道0和通道1传送帧同步必须由一个或多个时隙彼分开。同样,通道0和通道1接收帧同步也必须由一个或多个时隙彼此分开。除非这两个通道接收同样的PCM信号,此时,接收帧同步脉冲可连接在一起。

对T8503而言,对给定的通道,一帧中FSX和FSR只能发生一次,与FS的下降沿无关且其脉冲宽度不受限制,只要FS有效之前保持至少一个主时钟周期,数据接口就能很好地工作。

·模拟口:包括偏置电路和参考源、A/D转换、D/A转换。

偏置电路和参考源:T8503仅需-+5V电源供电,参考源为+2.4V并由内部产生,不需外部附加电路。

A/D转换:包括一输入运放、带通滤波器和译码器。

T8503内部还具有滤波电路对放大器输出信号进行滤波,而后对XMT语音模拟信号采样并按A率进行数字PCM转换。

D/A转换:解码器PCM数据流转换成模拟信号,输出放大器单端输出语音信号RCV,它能驱动2000Ω的负载。

(3)FS译码器:由于T8503具有双通道,且各有自已的同步信号,同步信号不能同时有效,需相差一个或多个时隙、所以要将U接口送来的FS信号一分为二成FS0、FS1两同步信号,分别作为通道0和通道1的同步信号。FS译码器由一可编程逻辑器件GAL16V8D来实现,具体电路如图3所示。

F0SEL、F1SEL是同步信号选择信号,为0选通有效,为1则选通无效。F01CTL是帧同步控制信号,该信号在GAL16V8D内将被一分为二为互为反相的两帧同步信号控制信号,它们与FS(IDL_FSR/C)帧同步信号异或产生选择B1、B2数据通道的同步信号FS0、FS1。假设F01CTL被分F0SEL、F1SEL两信号且它们有效,则它们的波形关系如图4所示。

本方案拟采用MOTOROLA公司的MC145436(2片)作为DTMF芯片,它将语音模拟信号XMT转换成8421数字码,并经由GAL16V8D变为POTS_Dva/POTS_DVb输出信号。这些输出均连接到微处理器,由微处理器处理这些数据进而判明拨号号码。

(5)保护电路:用户线接口电路(SLIC)要外加保护电路,以防损坏。采用0.35Ab保险丝作为SLIC的保护。

2POTS工作过程

2.1主叫

·用户摘机:当用户摘机时,SLIC输出给微处理器(μP)终端信号,从而引起微处理器中断。

·送拨号音:微处理器接到SLIC终端信号后,发生中断。而后,微处理器执行送拨号音子程序,将存储器中拨号音码经U接口回环给POTS。POTS的CODEC(T8503)将这些拨号音PCM码进行处理后变成模拟信号RCV输出到SLIC的RCVN和RCVP差分输入端,再经SLIC的PT、PR输出给话机,使之发出拨号声音。

·拨号:当主叫听到拨号音后就可进行拨号。拨号模拟信号经SLIC输出给DTMF(MC145436),DTMF将其变成二进制的8421码并等数据有效后(Dva/DVb为高)送给微处理器,微处理器将号码透明地传送给U接口。

·号码分析:微处理器接收到第一个拨号号码后就会停止对POTS送拨号音信号并通过ISDN信令将号码送U接口。局端交换机如果发现号码有效,则通过信令通知微处理器,微处理器进行相应处理。

·若主叫所拨号码符合要求,微处理器通过ISDN信令进行下一步处理。

·送回铃音:若被叫忙,ISDN信令通知微处理器,微处理器执行送忙音子程序,将存储器中事先存好的忙音经U接口回环给POTS。POTS的CODEC(T8503)将这些忙音PCM码进行处理后变成模拟信号送SLIC的RCVN和RCVP差分输入端,再经SLIC的PT、PR输出给话机,使之发出忙音,以提醒主叫被叫忙。若被叫闲,则ISDN信令通知微处理器,微处理器就执行送回铃音子程序,将存储器中事先存好的回铃音经U接口回环给POTS。POTS的CODEC(T8503)将这些回铃音PCM码进行处理后变成模拟信号送SLIC的RCVN和RCVP差分输入端,处理后再经SLIC的PT、PR输出给话机,使之发出回铃音,以提醒主叫被叫话机响铃。

·通话:当被叫摘机后,微处理器就停送回铃音给POTS,此时主叫和被叫就可以通话了。通话过程如下:

当只使用某一个话机时,主叫的话音信号经SLIC送给CODEC;CODEC在对话音信号进行A/D变换等处理将话音信号转换成PCM码,在U接口的帧步和位同步作用下,经对其进行解码分成FS0、FS1后,由微处理器选择一空闲B通道,由数据线DX输出给U接口;同样,被叫话音信息PCM码则通过DR接收数据线被COTEC接收,再经CODEC进行D/A变换等处理,输出模拟信号到SLIC的差分输入端(RCVN、RCVP),由SLIC处理后送给主叫,从而完成主叫与被叫的通话。

当POTS的两个话机同时工作时,B1、B2两数据通道均被使用。此时,帧同步FS0、FS1反向,即当FS0有效时,FS1无效;反之亦然。由于是长帧工作模式,每个有效帧同步对应一个B数据通道8位数据,可通过微处理器控制FXSEL和FXCTL两信号来选择FS0或FS1,从而达到选择B1或B2数据通道的目的。

·话终复原:通话完毕,若被叫先挂机,微处理器要对POTS送忙音码,从而使主叫话机听到忙音;若主叫先挂机,则微处理器就进行相应的操作。

2.2被叫

接口设计论文范文篇9

关键词:USBDSPPDIUSBD12图像传输接口设计

引言

USB接口(UniversalSerialBus)是一种通用的高速串行接口。它最主要的特点是它的高速传输特性。USB1.1理论速度极限可以达到12Mb/s,USB2.0可达到480Mb/s。这样,它可以很好解决大数据量的数据在嵌入式系统与PC机之间的互传问题;同时,它支持热插拔,并且最多同时支持127个外设,非常适合嵌入式系统的应用。

本次设计是在一个已有的DSP图像采集嵌入式系统的基础上,为它配接上一个USB1.1的接口,以达到DSP图像采集系统高速地将图像数据回传到PC机中的目的。设计的要求主要有:

①在原有平台提供的接口基础上,加入一个低成本、高速度的USB接口;

②通过USB接口,实现PC机对DSP图像采集系统的操作与控制;

③实现图像数据在DSP摄像系统与PC机之间高速的双向传输。

基于以上几点可以看出,本方案最主要的特点是成本低廉且传输速度高。

1硬件方案选择与设计

1.1方案选择

对于基于DSP平台的USB接口设计,经过综合考虑了几种方案之后决定,采用一个不带MCU内核的USB接口芯片PDIUSBD12(成本非常低,一片PDIUSBD12的价格仅为20元),再加上简单的电路和时序调整电路。

这种芯片仅仅完成USB底层的数据链路级交换,并提供给本地微控制器一个并行的接口,但是它并不完成协议层的工作。协议层的工作需要对微控制器编程,控制USB接口芯片来实现USB协议。所以,开发难度相对来说大一些,要做的编程工作也多一点。但是这套方案的成本非常低,而且由于直接用DSP作为微控制器,没有原单片机的瓶颈限制,所以可以实现很高的数据传输速率。该系统的原理框图如图1所示。

由于PDIUSBD12的并行接口时序较慢,只能达到2MB/s。这个速度相对于DSP来说比较低,而且有些地方不是简单地在程序中加入延时就可以调整,所以需要一个时序调整电路来完成它们之间的配合。

图2TMS320C2XX写时序

1.2PDIUSBD12芯片

PDIUSBD12芯片是由Philips公司推出的一种USB1.1接口芯片。它可以工作在5V或者3.3V的工作电压下;具有8位数据总线,且有完全自治的DMA传输操作。它还具有可控制的软件连接(SoftConnect)功能,可以保证在微控制器可靠完成初始化之后再连接上USB总线。另外,它还有一个LED驱动脚,可以外接LED来监测USB的枚举过程和数据传输过程。当USB接口枚举完成,并且成功配置以后,LED将会一直点亮;而在枚举过程以及USB数据通信过程中,LED只是有节奏地闪烁。

PDIUSBD12只占用微控制器的两个地址资源。也就是说,它只有一根地址线。其中一个地址用来向芯片中写命令,另外一个地址用来向燕片中写数据或者从芯片中读取数据。

PDIUSBD12一共有三组端点:端点0完成控制传输;端点1可以配置成中断传输;端点2是主要的数据传输端点。它有64B的缓冲区,如果加上它的双缓冲机制,就有128B的缓冲区;它可以配置成批量传输模式,或者同步传输模式。

总的来说,PDIUSBD12是一款性能优异,价格相对软低的USB接口芯片。

1.3时序芯片

为了降低成本、简化电路,本方案不使用DMA传输方式,而以TI公司的TMS320C2XX作为微控制器(使用20MHz晶振)。它的并口速度非常高,远远高于PDIUSBD12所要求的最高限制2MB/s。此处是硬件设计最关键的地方。

经过详细的时序分析发现,大部分问题可以通过在DSP固件设计的加入延时,或者设置DSP的WSGR寄存器来解决。但是有一个问题,必须在硬件上加以解决。图2是DSP(TMS320C2XX)的写时序。

图3PDIUSBD12写时序

图2中,参数th(W-D)是指在WE信号变高(无效)以后,所写的数据将仍然保持有效的时间。这个值最小为3ns,最大为14ns,所以所写的数据在WE信号无效以后还会维持有效,大约3~14ns(实际的延时介于这两个值之间)。

图3是PDIUSBD12所要求的写时序。图中,参量tWDH是与DSP(TMS320C2XX)参量th(W-D)相对应的另外一个参量。这个参量反映了PDIUSBD12要求微控制器在向其中写数据时,所写的数据在WR信号无效之后,要继续保持有效的时间。这个参量最小值为10ns。也就是说,PDIUSBD12要求所写的数据最少要保持有效10ns(在WR无效之后)。

由此可以看出,DSP(TMS320C2XX)的写时序不能可靠地保证满足PDIUSBD12的要求,而且这个问题无法通过软件加延时的方法来解决,必须通过硬件来处理。经过分析对比,最后决定采用一个很简单但是后来事实证明非常有效的方法来调整它们之间的时序。那就是在DSP(TMS320C2XX)与PDIUSBD12的总线之间加一个双向缓冲器-74LS245。这个芯片可以在它们的时序之间引入一个延时。虽然这个延时并不可靠、但是由于DSP(TMS320C2XX)本身会在WR无效后,继续保持数据有效一段时间(前面已讲过),这要仅仅需要将延时适当延长一点就可以了。74LS245所造成的延时典型值为15ns,最小也为8ns。这样,加上原来DSP写时序的延时,就可以满足PDIUSBD12所要求的写时序了。

另外由于加入74LS245所造成的对其它接口时序的影响,可以通过设置DSP(TMS320C2XX)的WSGR寄存器来消除,所以这个方案是可行的。(事实上,后来制造好的电路也证明了这个方案是完全可行的)

对其余时序上的配合,经过仔细的计算与核对证明,也是完全可行的。在硬件上,哂方案还采用了一片GAL(16V8)来实现对PDIUSBD12芯片的片选,以及实现对它的软件和手动复位。硬件总体框图如图4所示。

2软件设计

2.1固件设计

由于采用的是不带MCU内核的USB接口芯片,所以关于USB1.1协议规范的实现都必须靠DSP(TMS320C2XX)控制PDIUSBD12芯片来完成。固件的主要设计任务是:在DSP(TMS320C2XX)的平台上编写程序,以完成USB1.1规范所要求的标准请求及用户根据产品需要自己定义的请求。

为了不影响程序的执行效率,本方案采用中断方式完成固件的编写;同时,为了保证程序的模块化及良好的可移植性,在设计中采用分层结构进行固件的编写,如图5所示。

最下层是硬件接口层,完成硬件上PDIUSBD12与DSP(TMS320C2XX)的对接。主要是DSP(TMS320C2XX)向PDIUSBD12中写入数据或者命令,以及从中读取数据。

中间层主要有两个模块,用来完成PDIUSBD12的命令接口和中断处理子程序。命令接口是指按照PDIUSBD12的命令格式,完成DSP对它的控制。它的基本命令格式是:DSP先向其中的命令地址写入某一条命令,接着从它的数据地址写入或者读出一系列的数据。中断处理子程序是判断中断的产生源,然后跳转到相应的处理子程序。这些子程序不做过多的处理,而仅仅是将命令数据读出然后置标志位,或者是将某些数据送出。

最上层是主循环程序,以及对于USB1.1标准协议请求(这些请求主要是在USB1.1协议规范的第九章中定义的)和用户自定义请求的处理程序。主循环的主要工作是检查标志位。如果标志位被置位,则调用处理子程序,判断是标准请求还是用户自定义请求,然后调用相应的处理程序加以处理,完成请求。

这样分层的好处是:主循环程序在检查标志位以外的时间可以进行其它工作,提高固件的运行效率。

编程过程中,由于涉及了一些严格的接口时序配合问题,所以,整个固件的编写工作全部采用DSP(TMS320C2XX)的汇编语言;用的是CC2000编程开发工具。

2.2PC机软件的设计

PC机的驱动程序由Philips公司提供。然后,用VC++6.0,通过调用API函数,编写PC的应用程序。这样即可实现PC机对DSP(TMS320C2XX)摄像系统的摄像控制以及图像的传输。

主要使用的API函数是DeviceIOControl()、ReadFile()、WriteFile()。其中DeviceIOControl()用于PC(主机)向DSP图像采集系统发送请求;ReadFile()和WriteFile()分别用于从图像采集系统中读出数据以及向图像采集系统中写入数据。

在设计过程中必须注意的问题是:由于USB接口是主-从方式的接口,它的一切传输过程都必须通过主机向外设发送请求后才可以开始,所以在使用ReadFile()、WriteFile()读写数据之前,必须先通过DeviceIOControl()向图像采集系统发送请求。

3结果及分析

接口设计论文范文篇10

关键词:PWMSG3524控制器

带有I2C总线接口的器件可以十分方便地将一个或多个单片机及器件组成单片机系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低、器件间总线连接简单、结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟。

如今,为了提高系统的数据处理精度和处理速度,在家用电器、通讯设备及各类电子产品中已广泛应用DSP芯片。但大多数的尚未提供I2C总线接口,本文将介绍一种基于CPLD的已实现的高速DSP的I2C总线接口方案。

图1I2C总线接口电路结构

1I2C通信协议

I2C总线是一种用于IC器件之间的二线制总线。它通过SDA(串行数据线)及SCL(串行同步时钟线)两根线在连到总线上的器件之间传送信息,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的扩展与控制。I2C总线接口电路结构如图1所示,I2C总线时序图如图2所示。

I2C总线根据器件的功能通过软件程序使其可工作于发送(主)或接收(从)方式。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路的,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。

在数据传送过程中,必须确认数据传送的开始和结束信号(也称启动和停止信号)。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平则定义为“开始”信号;当SCL为高电平时,SDA由低电平跳变为高电平则定义为“结束”信号。开始和结束信号都由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲状态。

在I2C总线开始信号后,依次送出器件地址和数据,I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。

2设计方案

本文以DSP芯片ADSP21992与时钟芯片PCF8583的控制接口为例,说明基于CPLD的I2C总线接口设计方案。

ADSP21992是2003年最新推出的160MIPS、带CAN通信接口的适合于高精度工业控制和信号处理的高性能DSP芯片。它带有48K片内RAM、SPORT通信接口、SPI通信接口、8通道14位A/D转换器以及PWM等。

PCF8583是一款带有256字节静态CMOSRAM的时钟/日历芯片。地址和数据严格按照双向双线制I2C总线协议传输。内置地址寄存器在每次读/写后自动递增。

2.1系统结构设计

系统的基本功能是通过CPLD的I2C总线接口完成ADSP21992(主控芯片)与PCF8583的数据交换。系统框图如图3所示。

系统主要由两个部分组成:一是DSP与CPLD的接口;另一是I2C核。为了能在DSP指定的时刻读/写PCF8583的数据,使用DSP的读写信号、同步时钟和最高位地址控制数据的传输。最高位地址作为控制信号是因为DSP的I/O口比较少,必须优先供应给其它外设,因此用它来产生DSP提供给I2C核的片选信号。而DSP的地址总线位数较多,最高位一般使用不到,这样正好可以充分利用资源。

2.2I2C核

I2C核原理示意图如图4所示。

整个I2C核由控制模块和I/O模块构成。其中,控制模块包括控制信号发生部分和时钟开关,I/O模块包括数据缓存和同步时钟缓存。

当DSP的最高地址位出现一个有效信号时,便会使I2C核内的触发器产生一个全局使能信号EN?熏它将会启动时钟、计数器和其它控制信号,但数据不会出现交换。如果此时DSP的读/写同步产生,则会启动相应的读/写进程,进行数据传输。

I2C核的关键技术是:

①用计数器和全局使能信号EN配合触发进程。

由于I2C核的片选信号EN是由触发产生的,不能象电平信号一样由DSP的I/O控制,因此只能通过精确的计数器定时和读/写使能信号共同判别控制。

读/写使能信号WR_EN/RD_EN也象EN那样由触发产生,因此也要用同样的方法判别。

②同步时钟的产生。

从图2中可以看到,数据在同步时钟的高电平脉冲时必须保持稳定,如果此时发生变化将会被视为一个控制信号,而通信也会被中断。因此,同步时钟的高电平脉冲一定要在有效数据的中间出现。而所需的控制信号必须在同步时钟正脉冲的时候出现。

③对数据总线进行三态设置。

因为SDA和DSP_DATA都是双向数据线,在写SDA和DSP_DATA的进程中必须设置高阻态,否则会出现数据线状态“不确定”。

图5I2C核工作时序图

2.3DSP与CPLD的接口模块

根据DSP的时序,DSP与CPLD之间必须根据双方(ADSP21992和PCF8583)的时序制定一个握手协议。当读程序时,由于I2C总线协议只能支持最高400kbit/s的传输速率,而DSP的同步时钟可达几十兆赫。因此,DSP必须等到I2C核把PCF8583的数据读到CPLD后才能获得正确的数据(这里可以通过设立一个忙标志来实现)。而当写程序时,为了节约CPLD的资源(数据缓存特别占用资源),可以设置DSP定时输出数据给I2C核,让I2C核的一次只送一个数据。

2.4硬件设计

此I2C核可外挂多个带有I2C总线接口的芯片,可以通过发送不同的器件地址来选择。SDA和SCL线必须接上拉电阻。此外,同步时钟不能太高,否则会影响数据传输的稳定性。

2.5时序

(1)I2C核时序

以写为例,I2C核时序如图5所示。

(2)PCF8583时序

PCF8583的数据是8bit一个存储单元,共256个字节,所以只需要8位地址,而且器件本身有两种寻址方式:一种是从指定地址开始递增寻址,另一种是从首地址开始递增寻址。两种寻址方式的时序是不一样的,如图6所示。

图6PCF8583时序图

3实现方法