由DSP构成的红外线实时监视报警系统
扫描二维码
随时随地手机看文章
1 红外线遥控原理及DSP芯片
1.1 红外线遥控原理
红外线是一种电磁射线,其特性等同于无线电或X射线。人眼可见的光波长为380~780nm,波长为780nm~1mm的长射线称为红外线。部分光的光谱分布如图1所示。红外线光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测。镜反射式光电开关是集发射器与接收器于一体的器件。光电开关发射器发出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号,其工作示意图如图2所示。本系统选用的是浙江洞头光电开关厂的SQ3M-3镜反射型NPN4线、开—闭式的光电开关,其特性如下。
检测距离3m。回差值≤20%。响应频率200Hz。指向角3°~20°。工作电压10~30V。静态电流≤30mA,输出电流≥200mA。残留电压≤1V。抗干扰程度:能承受峰值为±1000V,脉宽为1μs的电压冲击。以电缆方式连接(长度2m)。防护等级IP50(IEC规格)。环境照度:太阳光11000Lux(最大),日光灯3000Lux(最大)。绝缘电阻≥50MΩ。耐电压AC1500V(50/60Hz1分钟),抗振程度:10~55Hz(周期每分钟),复振幅为1mm且X、Y、Z方向各2小时。抗冲击性:500M/s2(50g)且X、Y、Z方向各3次。环境温度:工作时在-30℃~+80℃(未结冰状态下),储存时在-30℃~+80℃(未结冰状态下)。环境湿度:工作时为35%~95%RH。指示灯动作显示为红色LED。
1.2 DSP芯片
TMS320C6201芯片是高速、高效定点数字信号处理芯片,是TI公司20世纪90年代后期产品。它采用流水线操作方式,最大处理能力为1600MIPS,完成1024定点FFT的时间只需要70μs。由于具有特殊的velociTI结构及独特的指令集,所以它的运算能力、并行性和灵活性都非常强大。同时其外围设备(DMA控制器、主机接口(HPI)、中断选择器等)能够很方便地与其他外围设备进行数据交换。TMS320C6201内部结构图如图3所示,由3个主要部分组成:CPU内核、外设和存储器。CPU内核中的8个功能单元可以完成并行运行,功能单元执行逻辑、位移、乘法、加法和数据寻址等操作。它的超长指令字(VLIW)方式,其单指令字长32位,每条32位指令占用1个功能单元。取指令、指令分配和指令译码单元每一周期都可以从程序存储器到功能单元传递8条指令,这8条指令组成1个指令包,总字长为8×32=256位。芯片内部设置了专门的指令分配模块,可以将每个256位指令包分配到功能单元中,并由8个功能单元并行运行。其片内存储器总容量为1MB,其中2KB×256用于程序内存和程序cache;64KB用于数据内存和数据cache,用户可以访问8位、16位和32位数据。它的外设模块包括多通道缓冲串口、时钟、外部存储器接口EMIF、DMA控制器、主机口和power-down逻辑等。DMA控制器可以在存储器空间的各区域间控制转换数据;外部存储器接口EMIF可以访问的片外存储器最大容量为64MB,数据总线宽度为32位,同时也提供对8位和16位存储器的读写支持;16位宽的主机口HPI可以访问TMS320C6201的所有存储空间和设备。
2 系统组成及工作原理
系统的组成框图如图4所示,其中DSP芯片C6201与信号调理电路、外扩存储器等一起构成高速的数据采集模块,这些模块与相应的软件结合,完成对数据的采集、存储、故障判断和报警等任务。当接收到光电开关的信号后,C6201向上位机发出中断请求。若该中断未被屏蔽,则上位机响应中断,并转入中断服务程序。中断服务程序将存储在C6201的外扩SDRAM中的数据通过HPI一次性读入上位机,然后返回中断。而上位机则根据采集的数据作出报警或消除误报等一系列动作。由于上位机与C6201之间的数据传输采用的是带地址自增的读方式,读取对象是C6201的外部SDRAM,其最大传输速率为200Mbps。所以,C6201与上位机的通信非常迅速,系统具有很强的实时性。为了保证C6201HPI与接口PCI9052协调稳定地工作,除了要有合理的硬件电路外,还必须对PCI9052的内部寄存器进行准确的配置(限于篇幅,这里不作介绍)。
2.1 系统主要电路
2.1.1 DSP与上位机的连线
DSP与上位机连线图如图5所示,C6201由主机口HPI通过PLX公司的PCI9052与上位机连接。C6201的HPI是一个16位宽度的并行端口,上位机掌握该接口的主控权。通过它可以直接访问CPU存储空间,还可以直接访问DMA辅助通道,以完成HPI对存储空间的访问。主机和CPU都可以对HPI控制寄存器(HPIC)进行访问,主机方还可以访问HPI地址寄存器(HPIA)、HPI数据寄存器(HPID)以及C6201的存储映射的外围设备。HPI与CPU存储空间的互连是通过DMA控制器实现的。它们借助专门的地址和数据寄存器,通过DMA辅助通道,完成HPI对存储空间的访问。PCI9052是PLX公司的低成本PCI接口芯片,它支持PCI2.1协议,在33MHz的总线时钟频率下峰值传输速率可达132MHzps,改善了数据传输的“瓶颈”问题,而且还不会浪费资源,同时还可以实现资源的自动配置。因为C6201的I/O工作电压为3.3V,PCI9052工作电压为5V,为了使电平匹配,必需通过SN74CBTD3384进行电平转换。SN74CBTD3384是TI公司的10位双向总线转换器,其输入、输出引脚一一对应,分别排在芯片的二侧,图5中共用了3片SN74CBTD3384。NM93CS46是PLX公司的串行E2PROM,它用于加载PCI9052的配置信息,并按一定的顺序存放PCI9052的设备号(DID)、供应号(SID)、供应商号(VID)、子设备号(SDID)、子供应商代号(SVID)、PCI总线与局部总线之间的地址空间映射关系、片选取地址、控制位、状态位及其他杂项配置等。用MAX706作为硬件看门狗电路,在系统“死机”或程序“跑飞”时使系统能够自动复位,以避免系统瘫痪。
2.1.2 DSP与外部存储器电路的连线
TMS320C6201的EMIF是外部存储器与DSP的接口,CPU访问外部存储器时必须通过EMIF。本系统采用同步动态型64Mb的SDRAM,DSP与SDRAM的接口如图6所示,DSP与16位的ROM接口如图7所示(其他电路略)。
2.2 软件设计及算法分析
由于C6201的指令集较简单,完成DSP算法中的一些指令(如乘、加、循环等)需要循环体,使程序设计复杂,所以软件设计采用了软件流水线技术,并利用C6201的8个功能单元,让程序并行运行。因系统对实时性要求高,故CPU采用了中断工作方式。主程序对硬件初始化后,则等待中断。中断服务程序主要完成数据的采集与识别工作。系统中断脉冲时间约为几毫秒,但中断处理程序必须在这个时间内完成(C6201能保证在短时间内完成相关函数、FFT等复杂的运算)。
为保证系统的准确性、减少误报率,本系统采用了识别算法。其思路是:由于被检测物体经过且完全阻断某个光电开关至少要有几十到几百毫秒的时间,因而光电开关信号会在连续的数个周期中存在,且它们的函数有很强的自相关性。但微处理器可以对信号进行多次采样,加以分析计算,以减少漏报率。
软件由二大部分组成:一是运行在DSP内的系统监控程序,二是运行在上位机的图形界面用户程序。前者的实时性很强,故采用TMS320C6201汇编语言编写,经汇编、链接、调试后将目标代码通过JTAG口下载到DSP内。它的主要功能:(1)系统初始化。完成ROM、RAM、中断以及定时器等外设初始化设置。(2)定时采样。将采集的数据经滤波处理后存入数据RAM中。(3)对数据作FFT运算。根据选择好的参数配置控制端口的工作等(限于篇幅,具体程序不作介绍)。
3 结束语
本DSP系统的开发是在ICETEK/EVM-AD40M高速采集板背板系统上进行的,选用的是TI公司的原装TMS320C6201EVM处理板,十分方便。而且由于利用了DSP硬件结构更适合作数据处理的特点,使程序用较少的时间就能完成比较复杂的运算,加之采用的并行技术、先进的数据分析算法和优化的编程方法,使得其在报警的速度和准确度方面得到了保证。该系统具有误报率及漏报率低、时效性和实时性强的特点,己被做成产品,在一些超市、银行、高级饭店、交通管理以及智能大厦等场所被使用,效果良好,其应用前景十分看好。