高速红外VFIR控制器的设计与实现
“纯真眼眸”通过精心收集,向本站投稿了9篇高速红外VFIR控制器的设计与实现,今天小编在这给大家整理后的高速红外VFIR控制器的设计与实现,我们一起来阅读吧!
篇1:高速红外VFIR控制器的设计与实现
由于PCI总线规定了严格的电气特性,开发PCI总线的应用具有很大难度,因此使用AMCC(Applied Micro Corporation)公司推出的PCI接口控制器S5933实现红外控制器PCI总线接口规范[5]。甚高速红外VFIR控制器原理框图如图1所示。选用Altera公司的FLEX10K系列现场可编程门阵列器件实现S5933与红外TX/RXFIFO、寄存器的传输控制和逻辑时序以及红外接口控制逻辑和红外收发器接口功能模块(CRC校验、编解码以及串/并转换)。甚高速红外VFIR控制器工作原理如下:首先由AMCC S5933外部非易失性串行EEPROM AT24C02下载PCI配置空间,然后主机通过直通(PassThru)寄存器数据访问方式向红外接口控制寄存器写控制命令[3]。红外接口控制逻辑根据控制命令发出控制信号,使整个红外控制器处于准备状态。当上层协议发出数据发送事件时,红外接口控制逻辑发出消息,通知主机启动S5933总线主控读操作,把上层数据写到外部红外TXFIFO数据缓冲器;同时红外接口控制逻辑根据TXFIFO状态把TXFIFO的数据发送到红外收发器接口,进行锁存、并/串转换、CRC校验和编码,最后通过VFIR收发器发送数据。同理VFIR收发器接收到的数据经过译码、CRC校验、串/并转换和锁存,写入RXFIFO数据缓冲器。
红外接口控制逻辑触发上层协议发出数据接收事件接收数据,主机启动S5933总线主控写操作向上层协议递交数据,数据传输完成上层协议发回消息,通知数据接收完成。下面重点分析S5933与红外TX/RXFIFO、红外寄存器组访问控制逻辑以及红外接口控制逻辑和红外接发器接口功能。
2.1 红外TX/RXFIFO与红外控制寄存器组控制逻辑
AMCC S5933支持3个物理总线接口:PCI总线接口、扩充总线接口和非易失性EEPROM总线接口。非易失性EEPROM用于映射PCI的配置空间及设备BIOS的初始化;扩充总线可以与外设设备互连。主机和外设之间可以利用S5933的邮箱寄存器、FIFO寄存器、直通寄存器(Pass-Thru)数据传输方式双向传输数据。
红外寄存器组包括红外接口控制寄存器和状态寄存器。本文中甚高速红外控制利用S5933直通寄存器单周期数据传送向红外接口控制寄存器写控制字,由Pass-Thru逻辑控制电路把地址和数据分离开,直通地址寄存器(APTA)经374锁存并译码,选通红外接口控制寄存器,同时把直通数据寄存器(PTDA)的低字写入红外控制器;该接口控制寄存器的数据宽度为16位,包括红外控制器始能、工作模式(UART、SIR、MIR、FIR、VFIR)的设置,接收或发送数据的选择以及满足SIR模式下多波特率的分频数。红外接口控制寄存器结构定义如图2。
同理使用直通寄存器方式获取红外接口状态寄存器的状态。红外接口状态寄存器结构定义如图3。
为满足高速数据传输,利用S5933 FIFO寄存器总线主控方式下的同步猝发(Burst)操作(DMA传送)完成主机与红外TX/RXFIFO的数据传输。PCI接口首先初始化S5933作为总线主控设备,然后由PCI接口向主控读/写地址寄存器(MRAR/MWAR)写入要访问的PCI存储空间地址,向主控读/写计数器(MRTC/MWTC)写入要传输的字节数。S5933提供了4个专用引脚RDFIFO#、WRFIFO#、RDEMPY#和WREULL#控制内部FIFO与外部FIFO的数据传输接口逻辑。接收/发送FIFO的数据宽度都是32位,分别由4片8位数据总线的IDT72220 FFO数据位扩展实现。该FIFO既为PCI接口提供数据缓冲,又为红外收发器接口提供访问数据。S5933与红外TX/RXFIFO、红外寄存器组的数据访问控制逻辑如图4。
2.2 红外接口控制逻辑
根据红外接口控制寄存器控制字,红外接口控制逻辑实现外部RX/TXFIFO与红外收发器接口之间的数据传输和逻辑时序。它的工作原理如下:根据控制字,首先启动红外收发器接口CRC校验、编解码器和可编程时钟(RX/TXFIFO读/写时钟RCLK、WCLK和编解码时钟fclock),然后根据控制字的`TX/RX位决定是接收还是发送数据。发送数据时,TXFIFO缓冲器不为空,TXFIFO的EF信号就触发红外接口控制逻辑发TXFIFO读操作信号ENR#,读取TXFIFO的数据(数据宽度32位)传给红外收发器接口进行CRC校验、编码以及并/串转换。同理当甚高速红外控制器接收数据时,红外收发器接收到的数据经过译码、串/并转换(数据宽度32位),然后触发红外接口控制逻辑发出红外接收FIFO的写操作信号ENW#,把接收数据写入红外接收FIFO。当RXFIFO写满后,触发控制逻辑发出S5933 FIFO写信号WRFIFO#,上层协议启动PCI接口初始化S5933为同步主控写操作实现红外接收FIFO到主机内存的数据传畀。另外红外接口逻辑还实现红外接口状态寄存器状态的配置,以方便上层协议了解红外控制器工作状态。
2.3 红外收发器接口
红外收发器接口的设计与实现是红外控制器成功的关键。该接口需要实现各种工作模式(SIR、MIR、FIR、VFIR)的编解码器和硬件CRC校验、设计比较复杂。编码器前、译码器后,数据都要进行硬件CRC校验实现差错控制。SIR模式采用RZI(归零反转)编码,信号为高电平,调制为低电平;信号为低电平,调制为高电平脉冲,最大脉冲宽度是位周期的3/16。MIR模式也采用RZI(归零反转)编码,但最大脉冲宽度是位周期的1/4。FIR模式采用4PPM(脉冲位置调制)调制,它的原理是被编码的二进制数据流每两位组合成一个数据码元组(DBP),其占用时间Dt=500ns,再将该数据码元组(DBP)分为4个125ns的时隙(chip),根据码元组的状态,在不同的时隙放置单脉冲。由于PPM通信依赖信号光脉冲在时间上的位置传输信息,所以解调时先保证收发双方时隙同步、帧同步,然后根据脉冲在500ns周期中的位置解调出发送数据。考虑到红外收发器通信距离突然变化引发脉冲宽度扩展,发生码间干扰,导致译码出错,因此根据Hiroshi Uno提出的新算法[7]简化4PPM译码过程,并通过实验验证该算法比最大似然译码算法结构更简单,功耗更低,而且更容易实现。
VFIR模式采用HHH(1,13)编解码技术。编码器原理:为了正确实现编码,要求在计算内部码字C=(c1,c2,c3)之前,在nT(T表示一个chip时间)时刻到达编码器输入端的输入数据码元组d=(d1,d2)经过3个编码周期(每个编码周期是3T)的延时后进行逻辑计算,得到下一状态矢量值N=(s1,s2,s3),即与输入数据有关的N出现在(n+9T)时刻;再经过一个编码周期,即(n+12T)时刻,状态N赋给内部状态矢量S=(s1,s2,s3),同时计算与输入数据码元组d=(d1,d2)有关的内部码字矢量C=(c1,c2,c3),再经过一个编码周期,内部码字C赋给输出码字矢量Y=(y1,y2,y3)。由此可见16Mbps的数据速率经过编码器变为24Mchip/s编码速率,整个编码过程延时5个编码周期即15个chip。注意编码器初始状态S应设置为(1,0,0)。译码器原理:输入数据R
=(r1,r2,r3)经过锁存器延时得到矢量Y4=(y10,y11,y12),对Y4进行不同的延时得到Y3、Y2及Y1。这里矢量Yi是Y4的4-I次延时(由锁存器实现延时);对Y4进行或非运算得到Zd,再将Zd进行不同的延时得到Zc和Zb。这里Zc、Zb、Zd是变量,然后将Y4、Y3、Y2、Y1、Zb、Zc、Zd进行逻辑运算、延时分别得到矢量X1=(x1,x2)、X2=(x3,x4)、X3=(x5,x6);最后将x1、x2经过锁存器得到译码器输出矢量值U=(u1,u2)。整个译码过程延时4个周期即12个chip。可见HHH(1,13)编译码电路比较简单,利用FPGA基于门级描述即可实现,但必须注意锁存器时钟fclock=1/3fchip。VFIR模式增加线性反馈移位寄存器(LFSR)实现加扰和解扰功能提高系统性能,减少误码。
图4 S5933与红外接收/发送FIFO,红外寄存器组数据访问控制逻辑图
篇2:高速红外VFIR控制器的设计与实现
控制器软件主要分为三部分:系统初始化部分、接收部分、发送部分。系统初始化首先调用BIOS 1Ah中断功能获取设备PCI总线号、功能号、内存、I/O空间基地址和空间大小以及中断号,然后通过直通(Pass-Thrn)方式写控制命令初始化红外控制器,选择控制器接收或发送数据,设置控制器工作模式和波特率分频数并允许控制器工作。红外控制器具有收发双向数据传输能力。编程时将S5933FIFO设置成由PCI接口初始化为同步主控方式,支持突发传输(DMA);然后根据控制器收/发位判断PCI总线主控读还是主控写操作。程序采用中断控制,主程序调用set_up_pci_busmaster初始化主控操作,该函数不仅装载访问内存实际地址和传输字节数,而且还要允许读/写传输字节数到零中断。红外控制器初始化完成后,系统等待中断。中断服务处理程序读取S5933中断状态/控制寄存器INTCSR判断中断源,并清除中断标志;读取CRC校验状态位,判断接收数据是否正确。发送数据时,中断服务处理程序还要检测红外发送FIFO状态位是否为1(1表示FIFO为空),不为1置发送不为发空标志tx_not_empty=1,主程序继续等待,直到TXFIFO数据为空;同理接收数据也需要检测红外接口状态寄存器的红色接收FIFO状态位是否为1(测试位为1表示FIFO为空)。这样可保证接收和发送FIFO的数据完全被取走。编写的应用程序使用Turbo C2.0调试通过。
PCI总线已经成为当今电脑的主流总线,为此根据红外串行物理层规范IRDA-1.4设计基本PCI总线的甚高速红外VFIR控制器。使用AMCC公司PCI总线专用控制器外加部分接口控制电路实现VFIR控制器硬件设计,缩短开发周期、提高效率、节约成本。目前正在使用VtoolsD开发虚拟驱动程序,解决系统如何分配红外控制器配置资源、如何访问硬件设备、如何处理硬件中断和总线主控DMA操作以及VXD和应用程序之间的通信。另外国外已有公司推出VFIR红外控制器专用芯片,如MKNET公司的MK7100。
篇3:高速红外VFIR控制器的设计与实现
高速红外VFIR控制器的设计与实现
摘要:根据IRDA红外串行物理层规范IRDA-1.4设计基于PCI总线的甚高速VFIR红外控制器,详细分析了控制器的硬件和软件设计方法及实现过程。设计中使用PCI总线主控接口芯片S5933,实现复杂的PCI总线接口到相对简单的用户接口功能转换;使用FPGA实现红外控制器的传输控制和时序逻辑。关键词:PCI总线 接口控制器S5933 甚高速红外控制器 HHH(1,13)编解码
PCI(Peripheral Component Interconnect)局部总线[1]是一种高性能、32位或64位地址数据多路复用的同步总线。它的用途是在高度集成的外设控制器件、扩展卡和处理器/存储器系统之间提供一种内部的连接机构,它规定了互连机构的协议、机械以及设备配置空间。PCI局部总线因具有极小延迟时间、支持线性突发数据传输、兼容性能以及系统能进行全自动配置等特点受到业界青睐。PCI总线规范2.1版本还定义了由32位数据总线扩充为64位总线的方法,使总线宽度扩展,并对32位和64位PCI局部总线外设做到向前和向后兼容。
目前微机之间的红外通信是基于IRDA-1.1标准的红外无线串行SIR通信,参考文献[2]给出了基于ISA总线的红外无线串行通信卡的设计及实现,该通信卡的数据速率为9.6kbps~115.2kbps,工作距离0~3m。但由于RS-232端口的最高数据速率上限为115.2kbps,不能满足IRDA-1.4规范甚高速红外VFIR 16Mbps速率要求,所以使用了PCI同步总线扩展外设的方法设计甚高速红外控制器。虽然ISA总线的传输速率能满足甚高速红外控制器设计要求,但目前许多微机系统已经逐渐淘汰ISA/EISA标准总线。原因是高速微处理器和低速ISA总线之间不同步,造成扩展外设只能通过一个慢速且狭窄的瓶颈发送和接收数据,使CPU高性能受到严重影响。
1 HHH(1,13)编解码
5月,红外无线数据协会IRDA发布了红外串行物理层规范IRDA-1.4[4];它与前期发布的物理层规范的.主要区别在于增加甚高速红外VFIR 16Mbps数据速率的编解码技术和帧结构,而其它如视角范围、发射器最小(大)光功率和接收器灵敏度等规范基于相同。红外串行物理层规范IRDA-1.4规定数据速率小于4Mbps采用RZI(归零反转)调制,最大脉冲宽度是位周期的3/16或1/4;数据速率4Mbps采用4PPM(脉冲位置调制);数据速率16Mbps采用HHH(1,13)码。
IRDA提出的VFIR编解码技术-HHH(1,13)码是码率为2/3,(d,k)=(1,13)的RLL(run-length-limited)码;它是一种功率消耗和频带利用率相对折中的高效编码,其中参数d、k分别表示在两个'1'之间最小和最大的'0'的数目,参数d决定接收信号中有无码间干扰ISI,参数k决定接收器能否从接收序列中恢复时钟。HHH(1,13)码的带宽效率使数据通信能够选择成本很低、上升/下降时间为19ns的LED。功率效率避免了LED的热问题,它能保证1m距离范围内保持链接。1m距离16Mbps链路可达到过去4Mbps链路的驱动电流和功耗。HHH(1,13)码和4PPM码(用于4Mbps)的显著区别是HHH(1,13)码决不允许一个红外脉冲紧跟前一个红外脉冲,脉冲之间应该保持一个chip时间差。由于光电管工作区域内有少量载流子的慢辐射,使LED或光电二极光表现出拖尾效应,HHH(1,13)码能够兼容拖尾效应,从而允许在chip时间周期内脉冲的扩展。
[1] [2] [3] [4]
篇4:高速矢量处理机的设计与实现
高速矢量处理机的设计与实现
为了满足海量实时处理需求,利用Butterfly DSP公司的BDSP9124/9320矢量数字信号处理(Digital Signal Processing, DSP)芯片组,设计和实现了一种高速矢量处理机,并给出了该矢量处理机的设计思想和性能指标。最后说明该处理机在合成孔径雷达(Synthetic Aperture Radar, SAR)脉冲压缩和其它领域的应用。
作 者:王俊 毛士艺 刘祥林 WANG Jun MAO Shi-yi LIU Xiang-lin 作者单位:北京航空航天大学电子工程系, 刊 名:航空学报 ISTIC EI PKU英文刊名:ACTA AERONAUTICA ET ASTRONAUTICA SINICA 年,卷(期): 22(3) 分类号:V243 关键词:实时 矢量处理 DSP FFT SAR篇5:路灯照明系统中的组群控制器设计与实现
路灯照明系统中的组群控制器设计与实现
摘要:论述数字路灯照明系统中组群控制器的功能,给出基于双微处理器的组群控制器核心电路设计方案与实现方法,并介绍系统主要软件结构框图。关键词:数字路灯照明双微处理器 PIC16F877 PIC16F873
前言
公共照明系统广泛采用高压钠灯(high pressure sodium lamp)或金属卤化物灯(metallic halide lamp),传统照明系统经常采用电感镇流器,照明灯具采用统一开关控制方案。
随着数字技术和网络技术的发展,公共照明数字化和网络化已经成为一种必然趋势。节约能源、保证灯具寿命、提高照明管理水平、美化城市夜量和保证城市夜间出行安全等,已经成为对公共照明系统的一项基本要求。本文将介绍基于镇流器的全数字公共照明系统。该系统在国内首次实现了远程单个路灯节点的任意监控,并重点介绍了系统的核心设备――组群控制器的作用、组成、工作原理是以及主要软件结构框图。
(本网网收集整理)
1 数字路灯照明系统
图1给出了数字路灯系统的系统组成原理图。在该系统中,每个路灯节点采用全数字化电子镇流器,可以实现0%、50%、80%、100%功率输出,可以随时发送路灯的电流、电压信息,并具有开路、断路和路灯老化报警功能。每一个路灯节点内包含一个电力载波通信(PLC)模块,利用电力载波模块实现路灯节点之间以及路灯节点与组群控制器之间信息通信。组群控制器采用双CPU结构,负责日常系统的`正常运行控制,并可以随时响应上位管理计算机发出的指令。组群控制器与照明管理计算机通过GSM/GPRS短信方式实现正常情况下的通信。在组群控制器发生故障的情况下,照明管理计算机可以通过GSM/GPRS直接实现路灯线路的开关控制,实现系统安全双保险。照明管理计算机采用地理信息系统(GIS)技术,实现图形化动态实时监控管理。
图2
2 组群控制器工作原是与系统组成
2.2 组群控制器系统组成
图2给出了一种组群控制器设计方案。它包括CPU模块、线路状态检测模块、交流接触器驱动模块、后备电源模块、时钟模块、控制策略模块、电能计量模块、温湿度检测模块、GSM通信模块和电力载波通信模块。CPU模块采用CPU结构。主微控制器采用高性能、8位、40引脚、具有8KBFlash、多路8位A/D的RISC单片机PIC16F877,负责与GSM通信模块和电力载波模块通信,与交流接触器驱动控制,与实时时钟的读取和校准以及根据照明控制策略发送控制指令等功能。从微控制器采用与主微控制器同一系列的高性能8位、28引脚、多路8位A/D、具有4KB Flash的RISC单片机PIC16F873。该控制器负责管理电能计量模块、后备电源及监控模块、温湿度监控模块和线路状态检测模块等。
图3
2.3 双CPU通信方法与RS-485通信
虽然PIC16F87x系列单片机外围通信接口丰富,但是,整个系统通信复杂,接口资源仍然很紧张。主从CPU的可靠通信,是组群控制器可靠工作的关键之一。
根据资源分配,主微控制器PIC16F877与从微控制器PIC16F873采用SPI接口,并以主从方式通信。根据系统端口配置需要,PIC16F873采用硬件SPI接口方式,PIC16F877采用普通I/O口RB1~RB3来模拟硬件SPI口,即软件SPI接口。PIC16F877的SPI硬件资源分配给E2PROM 24C64使用。PIC16F873的SPI接口工作在从模式下,PIC16F877需要选用一个普通I/O口(这里是RB4)与PIC16F873的SPI通信控制端RA4/SS相连,控制SI通信的发起与结束,如图3所示。每次通信都是由PIC16F877发起,PIC16F873响应。
图4
电能计量模块为单独模块,能够测量供电线路的电压、电流、功率、功率因数等参数,并具有标准的RS-485接口。为此,PIC16F873利用硬串口RC6/TX和RC7/RX,通过RS485接口变换,与电能计量模块JP1相连。这里MAX485芯片作为485总线接口转换芯片,用RC2作为RS-485总线通信输入/输出使能控制端,控制信号的读入和送出。
2.4 交流接触器控制与状态保持
组群控制器的一项重要任务是通过固体继电器SSR和交流接触器实现照明线路供电控制。固体继电器为DC3~24V输入,AC220V输出,其输入由NPN型三极管9013驱动。由于系统实际运行过程中存在各种干扰,若则相关引脚很可能会出现跳变信号或三态,造成交流接触器误动作。因此“锁定”复位前状态,对保证系统可靠性非常重要。这里采用了由1个D触发器、1个光耦、3个电阻和3个I/O引脚组成的采样/保持电路,如图4所示。D触发器复位端R和置位端S分别接地,数据端D接CPU的数据控制端RE0,时钟端CLK通过光耦TIP521接CPU的时钟产生控制端RE1和RE2。保持电路的关键在于RE0、RE1、RE2单个
引脚误动作无法产生有效时钟和控制指令。即使CPU发生复位,由RC0脚读回固态继电器当前工作状态,并将RE0输出(D触发器输入)置成该状态,进而保证SSR不产生误动作。电阻R32为上拉电阻,保证RE2出现三态时光耦不产生误导通。电阻R33起限流作用。实际证明该电路是有效的。
图5
2.5 时钟与控制策略
要实现自动定时控制,系统时钟和系统预存控制策略是关键。组群控制器采用DS1302时钟芯片,为系统提供实时时钟。DS1302是一种带备份电源的、8脚、具有I2C串行通信功能的高性能、低功耗时钟芯片,提供秒、分、时、日、周、月、年日历功能。I2C串行总线SCL和SDA分别需要一个上拉电阻。主微控制器PIC16F877采用硬件I2C接口(RC3/SCL和RC4/SDA)与DS1302通信,如图5所示。组群控制器可以实现远程时钟校准。
图6
组群控制器将每日控制策略时间表Table1、季节划分时间表Table2、季节控制策略时间表Table3和节假日控制时间表Table4存储在E2PROM 24C64中。24C64是容量为8KB、支持两线的I2C串行通信、1000000次擦写的E2PROM。主微控制器PIC16F877采用2个普通I/O口(RD1和RD2)模拟I2C串行总线,即实现软件I2C总线接口。组群控制器根据读得的日历信息和时间信息,对照各种控制策略时间表,发布开关灯及调光控制指令。
2.6 软件实现
组群控制器软件分为主微处理器软件和从微处理器软件。主微控制器一方面负责通过GSM与照明管理计算机(简称上位机)通信,接收、解析和执行上位机发来的各种命令,并将执行结果发送给上位机;另一方面,主控制器在没有GSM信息的情况下,完成其它一些任务,软件流程图如图6所示。图7给出了从微控制器软件的简要流程图。
结语
城市路灯照明系统是城市街道、高速公路、机场、火车站、标志性建筑、景观性建筑等处的重要系统。建立一个实用的、可靠的数字化和网络化和路灯照明系统是非常不易的。由于篇幅所限,本文仅给出了组群控制器的关键硬件设计电路和核心软件框图,还有许多具体细节没有阐述。实验表明,该系统设计是合理和可靠的。
篇6:路灯照明系统中的组群控制器设计与实现
路灯照明系统中的组群控制器设计与实现
摘要:论述数字路灯照明系统中组群控制器的功能,给出基于双微处理器的组群控制器核心电路设计方案与实现方法,并介绍系统主要软件结构框图。关键词:数字路灯照明双微处理器 PIC16F877 PIC16F873
前言
公共照明系统广泛采用高压钠灯(high pressure sodium lamp)或金属卤化物灯(metallic halide lamp),传统照明系统经常采用电感镇流器,照明灯具采用统一开关控制方案。
随着数字技术和网络技术的发展,公共照明数字化和网络化已经成为一种必然趋势。节约能源、保证灯具寿命、提高照明管理水平、美化城市夜量和保证城市夜间出行安全等,已经成为对公共照明系统的一项基本要求。本文将介绍基于镇流器的全数字公共照明系统。该系统在国内首次实现了远程单个路灯节点的任意监控,并重点介绍了系统的核心设备――组群控制器的作用、组成、工作原理是以及主要软件结构框图。
1 数字路灯照明系统
图1给出了数字路灯系统的.系统组成原理图。在该系统中,每个路灯节点采用全数字化电子镇流器,可以实现0%、50%、80%、100%功率输出,可以随时发送路灯的电流、电压信息,并具有开路、断路和路灯老化报警功能。每一个路灯节点内包含一个电力载波通信(PLC)模块,利用电力载波模块实现路灯节点之间以及路灯节点与组群控制器之间信息通信。组群控制器采用双CPU结构,负责日常系统的正常运行控制,并可以随时响应上位管理计算机发出的指令。组群控制器与照明管理计算机通过GSM/GPRS短信方式实现正常情况下的通信。在组群控制器发生故障的情况下,照明管理计算机可以通过GSM/GPRS直接实现路灯线路的开关控制,实现系统安全双保险。照明管理计算机采用地理信息系统(GIS)技术,实现图形化动态实时监控管理。
图2
2 组群控制器工作原是与系统组成
2.2 组群控制器系统组成
图2给出了一种组群控制器设计方案。它包括CPU模块、线路状态检测模块、交流接触器驱动模块、后备电源模块、时钟模块、控制策略模块、电能计量模块、温湿度检测模块、GSM通信模块和电力载波通信模块。CPU模块采用CPU结构。主微控制器采用高性能、8位、40引脚、具有8KBFlash、多路8位A/D的RISC单片机PIC16F877,负责与GSM通信模块和电力载波模块通信,与交流接触器驱动控制,与实时时钟的读取和校准以及根据照明控制策略发送控制指令等功能。从微控制器采用与主微控制器同一系列的高性能8位、28引脚、多路8位A/D、具有4KB Flash的RISC单片机PIC16F873。该控制器负责管理电能计量模块、后备电源及监控模块、温湿度监控模块和线路状态检测模块等。
图3
&nb
[1] [2] [3]
篇7:浅析低速电动车用电机控制器的设计与实现论文
浅析低速电动车用电机控制器的设计与实现论文
引高
随着新能源产业的兴起,电动汽车以低成本运营,绿色环保等优势进入到人们的生活中。低速电动车作为一种新型的代步工具,在农村占据了很大的市场。但是低速电动车目前使用的电机及控制器大多为直流有刷控制系统。直流有刷控制系统的缺点是电机维护费用高,最高转速低,爬坡能力有限,这些因素一直制约着低速电动车的推广。交流异步电机控制系统可以有效克服直流有刷控制系统的缺点,但是价格偏高。本设计在电路设计及器件选型上做了大量的分析及试验验证,提供了一种操作简单,价格低廉的低速电动车用交流异步电机控制器
1电机控制器系统设计
电动汽车电机控制器主要工作方式为扭矩控制方式。工作原理为:采集车辆油门踏板的信号和电机速度传感器信号作为输入,根据检测到的电机U,V,W的相电流做闭环反馈,得到电机驱动需要的PW M波形。同时,电机控制器需要实时监测电机的温度信号、电流大小、控制器的温度信号、电压信号等,保障控制系统的安全及行车的安全为了方便实现对电机参数的'匹配设置及整车特性的设置,专门设计了CAN总线通信电路,提高了控制器使用的方便性及故障定位的便捷性。本设计共由三部分组成,控制板、功率板及电容。
控制器的主芯片采用T1公司的TMS320LF2406,该款芯片将实时处理能力和控制器外设功能集于一身,为控制系统应用提供了一个理想的解决方案。控制器的外围电路主要包括:模拟量检测电路、开关量检测电路、电流检测电路、电压检测电路、温度检测电路、转速采集电路及CAN通信电路、参数存电路
1.1模拟量检测电路
模拟量检测电路通过运放完成对输入油门踏板信号的采集功能。
1.2电流检测电路
电流检测电路是电机控制器系统的重要组成部分。电流采样的准确性影响电机相电压矢量三角形的闭合性,即影响电机的效率及运行的平稳性。但是由于集成的电流传感器价格比较贵,本设计采用Allegro公司的A 1326芯片,配合磁环进行电流的检测,通过改变磁环的磁场气隙,可以调整电流的检测范围。实践证明,使用该电路可以实现对电流的准确采集
1.3电压检测电路
电压检测电路可以通过检测电池的端电压,实现对电池的过欠压报警。由于蓄电池的工作电压范围比较宽,为了准确检测到最高电压和最低电压,本设计采用I双运放分段采集的方式。其中,低电压由U8A检测,高电压由U 8B部分电路检测。低电压段输出:VO =(R58* (1/CR57 +R45) +1/R58 +1/R56) *Vi+)。R58/R56*VREF。高电压段输出:V 1= (R49* ( 1/R52+1/R49+1/R50) * Vi+)-R49/R50* V REF。其中,Vi+=R48/ (R37+R48) * U do ,V REF=3.OV do。此种检测方法大大提高了电压的采集精度,而且电路简单,器件便宜。
2结束语
文章详细论述了采用'PMS320LF2406 DSP为核心的低速车交流异步电机控制器的硬件设计,给出了模拟量采集、电流采集、电压采集、CAN通信等电路的设计方法及器件选型。本电机控制器通过台架测试及实际车辆道路测试,证明硬件电路工作可靠,控制器效率达到95%以上,各种保护功能完善。通过CAN总线进行电机匹配设置及故障读取,增强了控制器的可操作性,方便了用户使用。
篇8:USB接口的高速数据采集卡的设计与实现
摘要:讨论了基于USB接口的高速数据采集卡的实现。该系统采用TI公司的TUSB3210芯片作为USB通信及主控芯片,完全符合USB1.1协议,是一种新型的数据采集卡。
关键词:USB A/D FIFO 固件
现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。现在通用的高速数据采集卡一般多是PCI卡或ISA卡,存在以下缺点:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。
通用串行总线USB是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统高速数据采集卡的缺陷。
1 USB数据采集卡原理
1.1 USB简介
通用串行总线适用于净USB外围设备连接到主机上,通过PCI总线与PC内部的系统总线连接,实现数据传送。同时USB又是一种通信协议,支持主系统与其外设之间的数据传送。USB器件支持热插拔,可以即插即用。USB1.1支持两种传输速度,既低速1.5Mbps和高速12Mbps,在USB2.0中其速度提高到480Mbps。USB具有四种传输方式,既控制方式(Control mode)、中断传输方式(Interrupt mode)、批量传输方式(Bulk mode)和等时传输方式(Iochronous mode)。
考虑到USB传输速度较高,如果用只实现USB接口的芯片外加普通控制器(如8051),其处理速度就会很慢而达不到USB传输的要求;如果采用高速微处理器(如DSP),虽然满足了USB传输速率,但成本较高。所以选择了TI公司内置USB接口的微控制器芯片TUSB3210,开发了具有USB接口的高速数据采集卡。
1.2 系统原理图
系统原理图如图1所示。
(本网网收集整理)
整个系统以TUSB3210为核心,负责启动A/D转换,控制FIFO的读写及采样频率的设定,与主机之间的通信及数据传输。
2 USB数据采集卡硬件
2.1 TUSB3210芯片
TUSB3210是TI公司推出的内嵌8052内核并带有USB接口的微控制器芯片。TUSB3210有256字节的内部RAM,8K字节的程序RAM,512字节的USB数据缓冲和端点描述块EDB(Endpoint Descriptor Blocks),4个通用的GPIO端口P0、P1、P2、P3,I2C接口电路,看门狗电路等。
TUSB3210的USB接口符合USB1.1协议,有4个输入端点(Input Endpoint)和4个输出端点(Output End-Point),支持全速和低速传输速率,并具有USB协议所规定的4种传输方式。TUSB3210的USB接口采用串行接口引擎(SIE)编码和解码串行数据,并且进行校验、位填充,执行USB所需要的其他信号。这样采用硬件完成USB协议,简化了固件代码的编制。
TUSB3210采用基于内部RAM的解决方案,允许通过I2C总线从串行EEPROM中读入固件或从主机中下载固件程序。这项功能便于设备的开发与在线升级。
2.2 A/D芯片MAX1449
MAX1449是MAXIM公司生产的10位、105MSPS、单3.3V电源、低功耗的高速A/D芯片。它采用差分输入,带有高宽带采样/保持(T/H)的10阶段流水线(pipeline)型结构的ADC,如图2。采样信号每半个时钟周期通过一个流水线段,完成连续转换到数据输出共需5.5个时钟周期。每个流水线首先通过一个1.5位的闪速ADC对输入电压量化,由DAC产生一个对应于量化结果的电压并与输入电压作差,输出电压放大2倍后送到下一级流水线处理。每级流水线提供1位的分辨率,并进行差错校正,得到良好的线性和低失调。
MAX1449提供一个2.048V的精确带隙基准源,用来设定ADC满量程范围,也可以用外部基准源改变量程范围。MAX1449的最大差分输入电压范围为2V。
2.3 输入信号处理电路
MAX1449芯片的输入信号为差分输入时有最佳的采样效果。在本系统中用TI的HTS4503作为单端输入到差分输出的转换电路。THS4503高性能的全差分运放,带宽可达270MHz,具有非常好的线性,在100MHz下可支持11位的A/D转换要求,适合作为A/D变换的前端接口电路。具体电路见图3所示。
2.4 FIFO和时钟发生电路
高速A/D变换的数据不能直接通过USB送入主机,系统中通过FIFO来缓冲数据。本系统采用TI公司SN74V293芯片。它的容量为65536×18或131072×9,最快读写周期为6ns,可以满足100MHz采样数据的存储。用户可以选择输入、输出宽度,当选择输入、输出宽度为18时,可存储64K×10位的数据。如果选择输入、输出为9位,则可使存储容量扩大到128×9位,这样对精度要求不高的用户可以获得更多数据。
SN74V293有独立的读写时钟控制电路,允许读写操作同时进行。SN74V293内部有满、空、半满输出信号以及可编程设定的几乎满和几乎空输出信号,通过这些信号控制器可以灵活控制FIFO的读写操作。
对于高速数据采集系统,时钟信号很重要。在本系统中选用DALLAS公司的DS1073时钟芯片。DS1073是无需外部元件的频率振荡器。通过DALLAS独有的1-wire技术,可以设定内部的分频器数值,实现输出频率从27.3kHz~100MHz可调,从而方便地改变采样时钟,简化电路设计。MAX1449数据输出时下降沿有效,而FIFO写入时上升沿锁存数据。系统中采用DS90LC028A实现对时钟信号的取反。
2.5 PCB板制作
由于是高速A/D采集,在制作PCB板时有一些需要注意的地方。电路板最好使用多层板,元件尽量选用表面封装器件。这样可以减小元器件之间的距离,减小寄生电感、寄生电容,同时减小电路板的'尺寸。所有的旁路电容都要尽量靠近芯片的电源管脚。模拟公共地和数字公共地要分开,选一点通过低值表贴电阻(1~5Ω)、磁珠或直接连接,以免数字地电流干扰模拟地。电源最好用线性稳压电源,A/D和前端处理电路要用同一电源地输出,减小电源波动对采集的影响。
篇9:USB接口的高速数据采集卡的设计与实现
开发一个USB设备,软件设计是必不可少的。USB应用系统软件设计分为三部分:USB外设端的固件(Firmware)、主机操作系统上的客户驱动程序以及主机应用软件。主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作;固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。
3.1 USB接口编程
固件程序主要是实现USB通信。TUSB3210采用SIE来管理USB通信。当主机与芯片进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在固件中分别执行不同的中断程序来实现USB的数据传输。
Void EX0_int(void) interrupt 0 //外部中断0
{
EA=DISABLE; //关中断
switch (bBECINT)(//确定中断ID
case VECINT_OUTPUT_ENDPOINT0:
bVECFINT=0x00;
Ep0QutputInterruptHandler();
break;
case VECINT_INPUT_ENDPOINT0:
bBECINT=0x00;
Ep0InputInterruptHandler();
break;
case VECINT_OUTPUT_ENDPOINT1:
bVECINT=0x00;
Ep 1 OutputInterruptHandler();
Break;
case VECINT_INPUT_ENDPOINT1:
bVECINT=0x00;
Ep1Inpu
tInterruptHandler();
break;
case VECINT_SETUP_PACKET_RECEIVED:
SetupPacketInterruptHandler();
bUSBSTA=USBSTA_SETUP;
bVECINT=0x00;
break;
default:break; //不知道中断ID
EA=ENABLE; //开中断
}
3.2 主机软件设计
笔者首先开发TUSB3210在主机中的驱动程序。用WinDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。
在应用程序开发中,可用VC++编制应用程序。可以把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。程序实例如下:
HANDLE m_hUsbSample; //USB句柄
m_hUsbSample=CreateFile(\\.\USBSampl0,GENERIC_READ|
GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULI,OPEN_EXISTING,0,NULL); //打开USB句柄
DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT, NULL,0,NULL,0,&length,NULL); //控制传输
WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL); //批量输出传输
ReadFile(m_hUsbSample,pBuffer,64,&lgngth,NULL); //批量输入传输
CloseHandle(m_hUsbSample); //关闭USB句柄
使用上述函数编制USB高速数据采集卡的主机软件。
通过以上设计实现了基于USB数据采集卡的基本功能。但还有一些如信号的触发、事件的捕获功能还需完善;需开发基于USB2.0的系统,进一步提高数据传输的速率。
【高速红外VFIR控制器的设计与实现】相关文章:






文档为doc格式