高速数字串行加法器及其应用
【导语】“Bilateralbear”通过精心收集,向本站投稿了7篇高速数字串行加法器及其应用,以下是小编为大家准备的高速数字串行加法器及其应用,欢迎大家前来参阅。
- 目录
篇1:高速数字串行加法器及其应用
摘要:与传统加法器相比,数字串行加法器具有工作频率高、占用资源少、设计灵活等优点。介绍了数字串行加法器的原理,说明了该加法器在FPGA上的实现要点及其在匹配滤波器设计中的应用。
关键词:加法器位并行数字串行FPGA匹配滤波器
与传统DSP相比,定制DSP具有速度更高、设计灵活、易于更改等优点,常常应用于设计方案和关键算法的验证。
在DSP运算中,加法是最常用的。常见的加法器是位并行的(Bit-parallel),在一个时钟周期内完成加法运算。其速度较高,占用的资源较多。但是,在很多应用中,并不需要这么高的速度,而且希望减小资源消耗。这时可以采用数字串行(Digit-serial)加法器,利用多个时钟周期完成一个完整的加法运算,从而使占用的资源大幅度减少。为了使数字串行加法器具有更广泛的应用范围,设计的关键是要使电路达到尽可能高的工作频率,以取得高的数据吞吐量(Throughput),从而满足系统其它部分的速度要求。
1数字串行加法器
在数字串行加法器中,字长为W的操作数被分为P个位宽为N(N能被W整除,P=W/N)的数字,然后从低位开始相加,在P个时钟内完成加法操作。P个时钟周期称为一个采样周期(SamplePeriod)。
N=2的数字串行加法器结构如图1所示。如果输入操作数的字长为8,那么串行加法器可以在4个时钟周期内完成加法运算。这个加法器只用了两个全加器的资源,比一般的8bit行波进位加法器小。
数字串行加法器的控制也比较简单,输入移位寄存器完成并行-串行转换功能,通过移位操作不断为加法器提供位宽为N的操作数;Control信号指示了新采样周期的开始,此时carry清零;输出移位寄存器完成串行-并行转换,输出计算结果。
对于特定的输入字长,通过选择不同的N,可以实现速度、面积不同的数字串行加法器。这样,设计者可以根据实际情况加以选择,提高了设计的灵活性。
图22bit全加器连接示意图
2高速数字串行加法器在FPGA上的实现
由于数字串行加法器要用P个时钟周期才能完成整个加法操作,因此其工作频率必须足够高。这样,在FPGA上实现时,如何使串行加法器具有尽量高的工作频率就将成为关键问题。下面以Xilinx公司的VirtexE系列FPGA为例,说明如何设计高速数字串行加法器。
VirtexE的一个CLB(ConfigurableLogicBlock)包含两个slice,图2为在一个slice上实现2bit全加器的连接示意图(不相关的逻辑已略去)。
数字串行加法器的结构是行波进位加法器,因此必须尽量减小进位逻辑上的延迟。VirtexE的slice中提供了专用的进位逻辑和布线,充分利用这些资源可以提高加法器的.性能。
对VirtexE系列,数字串行加法器应选用奇数位宽,这是因为在VirtexE中一个slice包括两个LUT(查找表)、两个触发器和一些其它的组合逻辑,因此使用一个slice刚好可以实现一个1bit的全加器,使用两个slice可以实现一个3bit的全加器。如果要实现2bit的全加,则需要一个slice完成2bit的相加和保存,另外还需要一个slice中的一个寄存器用来存储进位,这样两个slice整体的利用率就降低很多。数据位宽为2、4、6、8等偶数时都存在这样的问题。图3为N=3时加法器的布局布线示意图。由于专用的进位链布线资源仅存在于纵向的两个slice之间,所以在实现3bit加法器时,使用纵向相邻的两个slice。
加法器的关键路径在进位链上,其延时为:
TCKO+T$Net_Carry_reg+TBXCY+T$Net_Carry_out+TCKCY
=1.0+T$Net_Carry_reg+0.54+T$Net_Carry_out+1.3
=2.84+T$Net_Carry_reg+T$Net_Carry_out
式中,TCKO为DFF的CLK到XQ/YQ的延时,
TBXCY为BX到COUT的延时,TCKCY为CIN到DFF的建立时间。这些延时的数值可以从手册获得。连线延时包括$Net_Carry_reg和$Net_Carry_out的延时。前者是进位链,延时为0;后者为普通连线,延时约为0.47ns。因此,总延时约为3.31ns,即工作频率约为300MHz。
为了减小延时、提高工作频率,使用FPGAEditor对布局布线进行精确控制,并把加法器做成硬宏,有利于保证多次实例化时的性能。现将使用宏完成的设计和使用HDL语言完成的设计在工作频率上做一个比较。使用Virtex50E-6pq240器件、xst综合器时,用宏完成的3bit数字串行加法器的最高工作频率为300MHz,而用HDL完成的相同设计的最高工作频率只有186MHz。这是由于设计用HDL输入时,布局布线工具用了3个slice,第一个slice完成2bit全加器,第二个slice完成1bit全加器,第三个slice只用了内部的一个触发器来存储进位,第一、二个slice之间用进位链连接,延时为0,但是第二、三个slice之间只能使用普通连线,而且第三个slice的输入CIN到触发器的建立时间较大,因而影响了串行加法器的运行速度。
篇2:高速数字串行加法器及其应用
数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。
匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为:
h(t)=s(T-t)(0≤t≤T)
设s(t)为输入波形,则其输出波形为:
可知滤波输出R(t-T)是输入信号的自相关函数。
在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。
系统对匹配滤波的设计要求是:匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。
设计中用到的加法树有256个7bit输入,计算结果为15bit。采用一般加法器实现的结构如图6(a)所示,在VirtexE中约占1100个slice,资源消耗过大。为了减小资源消耗、提高设计密度,使用上述3bit数字串行加法器对加法树进行改进,改进后的结构如图6(b)所示。由于减小了加法器的运算宽度,大大降低了使用的逻辑资源,整个加法树大约只用512个slice。
使用数字串行加法树完成加法运算需要的时钟周期与加法器的位宽有关,增加加法器的位宽可以减小运算需要的时钟周期、提高滤波器的数据吞吐量,但是也增加了硬件资源的消耗。所以在处理能力满足的条件下,应该选择比较小的位宽。列出了用不同位宽的数字串行加法器实现的加法树的工作频率和占用资源,选用器件为XCV200E-6BG352,综合工具为XST。
对于本设计,如果使用1bit的数字串行加法器,数据经过加法树之后从7bit扩展成15bit,所以数据完全输出需要15个时钟周期。根据这些要求,为了使得滤波器达到30.72MHz的处理速度,1bit的串行加法器必须工作在15×30.72=460.8MHz。如果使用3bit串行加法器,数据完全输出需要15/3个时钟周期,即加法器的工作频率应为5×30.72=153.6MHz。3bit的数字串行加法树可以满足设计要求,而资源占用是一般加法树的50%。
篇3:高速数字光电耦合器HCPL-260L/060L及其应用
高速数字光电耦合器HCPL-260L/060L及其应用
摘要:HCPL-260L/060L是美国安捷伦科技有限公司推出的高速数字光电耦合器。该器件的逻辑电平与VLTTL/LVCMOS兼容,并具有输出使能端。文中详细介绍了HCPL-260L/060L的引脚功能、内部结构、主要特点、使用要求和注意事项,给出了它与LVTTL器件的典型接口电路及隔离的3.3VRS232接口电路。关键词:HCPL-260L HCPL-060L 光电耦合器 LVTTL RS232
1 概述
现在,越来越多的产品向高速化、小型化、便携式、低功耗方向发展,电源电压仅有3.3V甚至更低的系统也正在蓬勃发展中,作为信号隔离的关系器件――光电耦合器,也必须使用相应的产品与之相适应。美国安捷伦科技有限公司(Agilent Technologies)生产的HCPL-262L/060L是与LVTTL/LVCMOS兼容的高速数字电耦合器,其速度可达15MBd。该器件的输入端是GaAsP材料LED,输出端是高增益信电极开路肖特基钳位晶体管,该器件同时具有输出使能控制。它的内部屏蔽结构可保证最小5kV/μs的共模瞬态抗扰度。HCPL-262L/060L可广泛应用于高速数字逻辑接口、计算机外设接口、输入/输出缓存、A/D,D/A转换数字隔离、线路接收器以及开关电源等方面。HCPL-260L/060L的主要特点如下:
*低功耗;
*速率高达15MBd;
*输入电流可低至5mA;
*电源电压范围为2.7~3.3V;
*带选通输出功能;
*扇出系数为5个TTL负载;
*可在-40℃~85℃温度范围内无故障运行;
*已通过UL,CSA,VDE0884安全认证;
*HCPL-260L使用8脚DIP封装;HCPL-060L使用SO-8封装。
(本网网收集整理)
2 引脚功能及内部结构
图1是HCPL-260L/060L的引脚及内部结构图,表1为其引脚功能说明,表2为正逻辑真值表。
表1 引脚名称及功能说明
引脚号引脚名称功 能1NC空引脚2ANODE输入正3CATHODE输入负4NC空引脚5GND地6VO(OUTPUT)输出7VE(ENABLE)输出使能8VCC电源表2 真值表
LEDENABLEOUTPUTONHLLHNCLOFFHHLHNCH3 应用设计
3.1 使用条件
为了保证器件可靠,使用时应按照表3所列条件进行设计。
表3 HCPL-260L/060L的使用条件
名 称符 号最小值最大值单 位使用温度TA-4085℃输入关态电流IFL0250μA输入开态电流IFH520mA电源电压VCC2.73.3V低电平使能电压VEL00.8V高电平使能电压VEH2.0VccV输出端上拉电阻RL3304kΩ3.2 LVTTL接口电路
图2是HCPL-260L/060L和LVTTL器件的.典型接口电路。图中,如果前级LVTTL器件是集电极开路输出,则二极管1N4148可不用。
3.3 隔离的3.3V RS232接口电路
图3所示的RS232接口电路的信号传输速度可达15MBd,为了保证该电路具有较好的共模抑制特性,HCPL-260L/060L的LED驱动电流至少应为5mA,并应将第7脚VE接至第8脚Vcc。另外,DS14C335应使用另一组电源供电。其中C1、C2为0.1μF,R1~R4的参数可由表3中的参数决定。
图3 隔离的3.3V RS232接口电路
4 注意事项
首先,由于HCPL-260L/060L为静电敏感器件,因此,拿取和焊接时应采取静电防护措施。其次,在应用时,应在该器件第5脚和第8脚之间焊接一个0.1μF的瓷片电容,并且离光耦管脚应在10mm以内,以旁路电源噪声。为了获得较好的共模抑制特性,当不使用第7脚VE作输出使能信号端地,不要将其悬空,而应接Vcc端。在此基础上,如果想获得更好的共模抑制特性,还应将第1脚和第4脚连接到输入端的地。
篇4:高速数字光电耦合器HCPL-260L/060L及其应用
高速数字光电耦合器HCPL-260L/060L及其应用
摘要:HCPL-260L/060L是美国安捷伦科技有限公司推出的高速数字光电耦合器。该器件的逻辑电平与VLTTL/LVCMOS兼容,并具有输出使能端。文中详细介绍了HCPL-260L/060L的引脚功能、内部结构、主要特点、使用要求和注意事项,给出了它与LVTTL器件的典型接口电路及隔离的3.3VRS232接口电路。关键词:HCPL-260L HCPL-060L 光电耦合器 LVTTL RS232
1 概述
现在,越来越多的产品向高速化、小型化、便携式、低功耗方向发展,电源电压仅有3.3V甚至更低的系统也正在蓬勃发展中,作为信号隔离的关系器件――光电耦合器,也必须使用相应的产品与之相适应。美国安捷伦科技有限公司(Agilent Technologies)生产的.HCPL-262L/060L是与LVTTL/LVCMOS兼容的高速数字电耦合器,其速度可达15MBd。该器件的输入端是GaAsP材料LED,输出端是高增益信电极开路肖特基钳位晶体管,该器件同时具有输出使能控制。它的内部屏蔽结构可保证最小5kV/μs的共模瞬态抗扰度。HCPL-262L/060L可广泛应用于高速数字逻辑接口、计算机外设接口、输入/输出缓存、A/D,D/A转换数字隔离、线路接收器以及开关电源等方面。HCPL-260L/060L的主要特点如下:
*低功耗;
*速率高达15MBd;
*输入电流可低至5mA;
*电源电压范围为2.7~3.3V;
*带选通输出功能;
*扇出系数为5个TTL负载;
*可在-40℃~85℃温度范围内无故障运行;
*已通过UL,CSA,VDE0884安全认证;
*HCPL-260L使用8脚DIP封装;HCPL-060L使用SO-8封装。
2 引脚功能及内部结构
图1是HCPL-260L/060L的引脚及内部结构图,表1为其引脚功能说明,表2为正逻辑真值表。
表1 引脚名称及功能说明
引脚号引脚名称功 能1NC空引脚2ANODE输入正3CATHODE输入负4NC[1] [2] [3]
篇5:串行通信控制器85C30及其应用
串行通信控制器85C30及其应用
摘要:85C30是美国AMD公司生产的高性能双通道串并转换通信控制器,它支持多种通信协议,可用于各种多串口通信应用领域,文中介绍了85C30的特性、结构和功能,给出了85C30在异步通信中的应用方法。关键词:串行通信控制器85C30异步通信
1概述
85C30是AMD公司生产的双通道、全双工、支持多种通信协议的通信控制芯片,该芯片自身带有串并、并串转换功能,可广泛应用于微控制器组成的多串口串行通信应用系统中。其内部集成了波特率生成器、数字锁相环和晶体振荡器等可编程器件,因而可大大减少对外围电路的需要,提高了系统的可靠性,更适用于高速通信应用领域。
85C30的主要特性如下:
●具有两个可全双工工作的通信通道;
●可异步、同步串行通讯;
●符合面向字符的同步协议,如IBMBISYNC(二进制同步通信协议);
●符合面向比特的同步协议,如同步数据链路控制协议HDLC和高级数据链路控制协议SDLC;
●最高数据传输率为4Mbit/s(同步模式);
●内含波特率生成器、锁相环和晶体振荡器;
●具有奇偶校验、字符插入或删除、CRC(循环冗余码)生成和校验等多种自动纠错功能。
2内部结构和引脚功能
2.1内部结构
图1所示为85C30的内部结构框图。85C30可用于各种微控制器系统中,并具有查询、中断和DMA工作方式。
2.2引脚功能
85C30具有40-PDIP和44-PLCC两种封装形式?图2为其44-PLCC封装的引脚排列图。85C30的主要引脚功能如下:
D0~D7:数据线引脚;
RD、WR:读、写控制端?低电平有效;另外,若两个引脚同时为低,可使芯片复位;
A/B:通道A/通道B选择;
D/C:数据/命令选择;
CE:片选信号;
+5V,GND:电源接入端;
PCLK:系统时钟输入端;
INT:中断请求;
INTACK:中断响应;
IEI,IEO:分别为中断使能输入、输出端口;
RxDA,TxDA:分别为通道A的串行输入、输出;
RxDB,TxDB:分别为通道B的串行输入、输出;
TRxCA,RtxCA:分别为通道A的时钟控制端;
TRxCB,RtxCB:通道B的时钟控制端;
SYNCA、W/REQA、DRT/REQA、RTSA、CTSA、DC-DA:通道A的同步通讯控制端;
SYNCB、W/REQB、DRT/REQB、RTSB、CTSB、DCDB:通道B的同步通讯控制端。
385C30中的寄存器
在数据通信过程中,系统是否能准确地按照规定的协议完成通信任务,主要取决于初始化及系统运行期间程序对85C30的.读写寄存器的合理运用。使用时,对片上每个通道的设置都应包括16个写寄存器和11个读寄存器。在这16个写寄存器中,有10个写寄存器用于通用控制,2个用于同步字符的生成控制,2个用于片上波特率设置。此外,还有两个双通道共享的写寄存器,一个用于中断向量控制,另一个用于芯片总中断开关控制。在11个读寄存器中,有9个读寄存器用于存储通信状态和数据。
4应用电路
85C30的接口电路如图3所示,利用该电路可实现双通道的全双工异步通信,波特率为115.2kbps。电路中采用无响应中断模式,即在85C30有中断申请且没有进行中断服务时,将85C30的INT引脚拉低有效,以向MCU申请中断,而MCU不用向85C30输出INTACK中断响应信号,从而简化了电路。判定接收发送不同中断源的中断优先级可由程序实现。该电路主要由电平转换电路、译码电路和MCU电路组成。
电平转换电路的主要作用是提高板间通信的可靠性,由于板间通信采用的是485电平标准,因此,可利用MAX490全双工通信转换芯片将TTL电平信号转换为485电平标准的差分信号。而对于译码电路,由于85C30中有两个通道,每个通道又有各自的命令口和数据口,而且每个口都需要有相应的硬件地址。因此,该译码电路由MCU的高8位地址线、低2位地址线及GAL和地址锁存器573组成。
MCU电路主要由80C196KC组成,与MCU的连线有数据线D0~D7、RD、WR控制线和INT线,其中INT连至MCU的外部中断EXINT引脚,这样,一旦85C30有中断申请,MCU可将其作为一个外部中断申请来自动生成相应的中断向量,从而执行相应的中断服务程序。中断服务程序入口地址为0X203E。另外,PCLK外接11.05926M的晶振可用于为系统提供时钟。
图4接收、发送中断服务程序
5应用程序
5.1初始化
图4给出了85C30一个通道的初始化流程图,由于芯片的两个通道所采用的通信协议完全相同,因此初始化过程也相同。每个通道的初始化可分为三个步骤:第一是进行各协议设置(如异步、校验、波特率、字符长度等);第二是对各种功能的使能(包括波特率生成器,接收中断,发送中断);第三为开中断。
5.2接收发送中断服务程序
MCU在收到85C30的INT有效信号后将进入外部中断服务程序。图4给出了该中断服务的流程图。用该程序的一定顺序查询芯片的RR2即可实现芯片间和芯片内的中断优先处理任务,对85C30各中断事件的优先级设定如表1所列。
表185C30各中断事件的优先级
通道A接收中断
通道A发送中断RR2=6
RR2=4HIGH
↓
LOW通道B接收中断
通道B发送中断RR2=2
RR2=0
85C30中的读寄存器RR2能实时反映出芯片内申请中断的各个中断源优先级最高的中断源,当芯片没有中断申请时,RR2的默认值为3。程序执行时,系统将首先判断U4是否有中断申请,若有,则处理相应任务。另外,在MCU处理了一个85C30的中断源后,再次读取RR2,则可再次得知当前申请中断的优先级最高的中断源。这样,就可以通过一次硬件中断申请来完成多个中断源的任务,从而大大节省了频繁进出中断的现象,从而节约了中断处理时间,提高了系统的可靠性和灵活性。
6结束语
85C30具有两个通道,可支持多种通信协议,并可方便地扩展系统串口,提高系统通信的灵活性和可靠性。当系统中各子通道通信速度不一样时,仅需修改各自通道中的波特率寄存器的设置即可。实验证明:在异步模式下,该系统可实现双通道115.2kbps的通信速度,且其错误率为0%。
篇6:串行扩展应用平台设计
摘要:摘要一种用于系统内芯片级串行扩展的应用研发平台。该平台包括PC机构成的上位机和单片机构成的下位机。上位机提供了良好的人机交互界面;下位机采用虚拟器件、虚拟接口,通过单片机软件和I/O口线模拟出多种串行接口的访问时序逻辑。借助这一平台,可方便地实现对具有I2C、SPI、Microware、One-wire等接口的从器件芯片的操作,简化了系统设计前的测试工作。
关键词:串行扩展平台 时序
应用串行接口芯片扩展系统时,在初步选择了串行接口的芯片后,为了对芯片的资源更好地了解,开发者一般在系统设计前搭建一个简单的硬件电路并编制相应的软件对其测试,待性能验证后再确定最终的设计方试的实验平台。该平台以PC机为人机接口、采用单片机产生芯片串行通信时序。应用这一平台可以大大简化芯片使用前的测试过程。这一平台也为单片机串行扩展的初学者提供了快捷的学习工具。本平台目前集成了SPI、One-wire、Microware、I2C四种串行接口,在今后的使用中,可根据需要增加串行接口的种类。
篇7:串行扩展应用平台设计
SPI、One-wire、Microware、I2C是目前单片机应用系统中最常用的几个串行扩展接口。具有I2C和One-wire接口的外围器件都有自己的地址编号,单片机通过软件选通器件;而SPI和Microware扩展接口芯片首先要通过单片机I/O口线选通其片选脚,然后才能对其进行操作。这四种串行扩展接口都有不同的时序要求,但每一种总线的基本时序要求都是一致的,对芯片的操作无非是读出或写入,所不同的是具体的数据字节内容,只要按照各自的时序和命令操作,即可实现芯片功能。本文的串行扩展平台就是基于这一方法搭建的。
串行扩展平台由两部分组成:上位机部分由PC机构成,具有人机接口界面,操作起来方便直接;下位机部分由单片机及扩展接口电路构成,并通过RS-232接口与上侠机通信。
下位机的核心是AT89C51单片机。单片机本身并没有SPI、One-wire、Microware、I2C接口,使用虚拟器件技术,在单片机内采用模块化设计思想固化四种接口的串行访问子程序,通过软件调用完成这几种串行扩展的时序,用单片机的普通I/O口线模拟出四种串行接口,在下位机电路板上留有较大的通用板空间或用标准的连接器将串行接口引出,便于与待测芯片连接。AT89C51单片机没有RS-232接口,但它的'UART口可以采用MAX232等芯片扩展出简单的RS-232接口,与上位机的RS-232接口相接。下位机的结构如图1所示。
测试时,将待测芯片与对应的串行接口相连,操作者在上位机将访问命令和数据通过RS-232接口下传给下位机;下机单片机对其分析后调用相应的时序模拟程序访问待测芯片,并将结果通过RS-232接口上传给上位机,在上位机显示。从整个测试过程来看,只要关心命令和数据的输入和输出。不必关心具体时序,近似一种透明的操作。测试后,只需对单片机中的子程序稍加裁减,即可移植到实际应用软件中,为开发提高了方便。下面将分别分别这四种串行通信接口的实现。
2 四种串行通信接口的实现
在串行扩展中,可以根据接口主器件的数量分为单主器件系统和多主器件系统。其中单主器件系统应用最普遍。在单主器件系统中,具有一个主控制器件和多个从器件,数据的传送由主器件控制。主器件启动和停止数据的发送,提供同步时钟信号。在应用中使用种类最多的是功能繁多的从器件。本文的串行扩展平台主要针对这些从器件应用设计。所以该平台采用单主器件系统结构,只考虑用单片机的通用I/O口线模拟主器件访问从器件的时序逻辑。
2.1 I2C总线接口时序
I2C串行总线是Philips公司推出的一种板内芯片间串行总线。它用两根连线即可方便地实现外围器件扩展。图2给出了主器件对从器件访问的基本读写时序,SDA为数据线,SCL为时钟线。
I2C总线上数据传送的基本单位为字节,采用低位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。可以看出,I2C的主要命令只有读、写两种情况,虽然读
写的字节根据具体器件的不同而不同,但其时序关系不会发生改变。根据这一点,下位机只要具备I2C的基本时序即可。 这些基本时序包括:启动、写字节、读字节、应答位、停止信号,并可以组合成两个字程序:读N字节子程序、写N字节子程序。
2.2 串行外围接口SPI
SPI(同步串行外设接口)由Motorola公司推出,它是一种三线同步接口,分别为同步信号、输入信号和输出信号。另外每个扩展芯片还需要一根片选线,主器件通过片选线通与其通信的从器件。图3给出了SPI的时序图。其中,SCK为同步时钟脉冲,SS为片选线,MOSI为主器件的数据输出和从器件的数据输入线,MISO为主器件的数据输入线和从器件的数据输出线。
图5 One-wire总线复位和应答时序
SPI是全双工的,即数据的发送和接收可同时进行。如果仅对从器件写数据,主器件可以丢弃同时读入的数据;反之,如果仅读数据,可以在命令字节后,写入任意数据。数据传送以字节为单位,并采用高位在前的格式。SPI接口的通信程序可简化的:写读N字节子程序。
2.3 Microware串行通信接口
NS公司的Microware是串行同步双工通讯接口,由一根数据输出线、一根数据输入线和一根时钟线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线DI和所有从器件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线DO上。与SPI接口类似,每个从器件也都需要另外提供一条片选通线CS(注意:它采用高选通方式)。
图4给出了主器件对从器件操作的基本时序,包括写起始位、写操作码和读字节,数据交换采用高位在前的格式。图4中给出了读两个字节时的情况,在主器件写完起始位和操作码后,从器件会应答一个“0”。该应答位在主器件写完操作码的最后一位时给出。在本文中,主器件速度较慢,可以不考虑等待该闰。Microware接口的通用子程序有:启动子程序,读N字节子程序、写N字节子程序。不同的Microware器件支持的起始位、操作码有所不同,但可人为组成合适的字节。
2.4 One-wrie总线
One-wire总线是DALLAS公司研制开发的一种协议。它由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合One-wire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家庭代码和8位的CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。
图6 one-wire总线位写和位读时序 图7 one-wire总线写一个字节时序图
One-wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序、读一位时序,如图5和图6所示。
在复位及应答时序中,主器件复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。为了与其它模拟接口的子程序在结构形式上尽量一致,在One-wire模拟时序程序中把位读和位写时序拓延,形成像位在前的字节读写时序,写个字节的时序如图7所示。最终形成三个字程序;复位及应答子程序、写N个字节子程序和读N个字节子程序。
2.5 下位机软件
从功能上来说,下位机软件的作用是接收位机发出的命令,分析命令,根据命令对各时序子程序进行组合和调用,形成正确的访问地序逻辑;如果有返回数据,还要将返回数据回送上位机显示。前面已经对四种串行接口的模拟时序子程序进行了简要介绍,由于篇幅所限,无法对每个子程序进行详细的说明,进一步的时序说明,可以查阅有关的参考文献和相关手册。这里只给出下位机软件总体流程,如图8所示。有关上位的命令在上位机与其通信的协议中介绍。
图8 下位机软件流程图
3 上位机通信软件的实现
上位PC机作为人机交互界面,负责向下位机发送经过人工分析的数据字节,这为开发者提供了对芯片的透明操作。即在对某一类芯片进行操作时并不关心中间具体的过程,只须分析数据,形成相应的数据帧,发送给下位机,即可完成对芯片的操作。上位机将操作的芯片分成四类(I2C、SPI、Microware、One-wire),用一个字节进行标识(0、1、2、3)。如果只进行写操作,则上位机发送完写入字节后,不操作;如果进行读操作,需重新设定发送的字节并等待下位机返回的数据字节。在Microware和One-wire协议中须发送起始位或复位信号的地方可以用特殊字节标识。上位机向下位发送的数据帧由起始字节、通信选定字节、读/写命令字节、字节数和数据字节组成。图9给出了在读和写两种情况下,上位机发送的数据帧和下位机返回数据帧的组成。
本文讨论的芯片级串行总线扩展应用研发平台在实际应用中取得了良好的效果,缩短了新器件功能测试的时间,缩短了新产品的开发周期,并可根据需要增加串行接口种类。另外,这一平台也为初学者全面了解串行扩展技术提供了良好的途径。
★ 高速介绍信
★ 高速员工总结
★ 春节高速7天免费