以下是小编为大家准备的生理液滴红外光电自动计数装置的设计与实现(共含10篇),供大家参考借鉴,希望可以帮助到有需要的朋友。同时,但愿您也能像本文投稿人“这一年该怎么办”一样,积极向本站投稿分享好文章。
生理液滴红外光电自动计数装置的设计与实现
利用计算机技术、新型红外光电液滴传感技术和药理学与生理学实验技术相结合的`方法,研制了泌尿系统实验的关键实验设备“医学生理液滴红外光电自动计数检测装置”.该装置与传统的实验装置相比,可靠性高,抗干扰能力强,操作使用简便,能准确、灵敏地检测到尿滴通过而导致的信号瞬间变化,实验结果可更客观、更准确地反映各种理化及药物因素对肾功能的影响.
作 者:马剑峰 王丽 马絮飞 吴燕 安杰 孙霞 王立祥 徐红岩 MA Jian-feng WANG Li MA Xu-fei WU Yan AN Jie SUN Xia WANG Li-xiang XU Hong-yan 作者单位:马剑峰,马絮飞,安杰,孙霞,王立祥,徐红岩,MA Jian-feng,MA Xu-fei,AN Jie,SUN Xia,WANG Li-xiang,XU Hong-yan(山东大学,医学院机能教学实验室,山东,济南,250012)王丽,WANG Li(山东电力中心医院,山东,济南,250012)
吴燕,WU Yan(山东大学第二医院,山东,济南,250012)
刊 名:实验技术与管理 ISTIC PKU英文刊名:EXPERIMENTAL TECHNOLOGY AND MANAGEMENT 年,卷(期): 23(5) 分类号:Q463 关键词:红外光电计滴器 光耦 电钥 实验技术自动冷却装置设计原理与程序设计论文
文章摘要:目前,家用加热装置种类繁多,而且已经发展到较先进的程度,而家用冷却装置却鲜有见到。但是在生活中时常会遇到需要冷却的地方。本设计采用价格低廉、实用简单的STC89C52单片机作为主控中心,利用小型的风冷装置作为降温设备,再辅以MLX90614红外温度传感器和DS18B20接触式温度传感器作为温度检测装置,共同构成风冷降温系统。能够以较快的速度将目标温度降到设定温度值。
关键词:自动冷却;温度控制;单片机;风冷。
引言:目前,市场上家用电器中加热设备种类繁多,但冷却设备却几乎没有,但是很多时候都会遇到需要将液体或者固体降温,例如在医院给病人喝水而水温却过高,给幼儿喂汤药而太烫时等等,一般情况下都是对其吹气促使其快速冷却,非常不便捷。针对于此,本设计能够很好的解决此问题,利用单片机自动处理数据的能力先采集室内温度和需要降温的物体温度,然后根据人为设置的预定温度,使用风冷设备对其迅速降温,当需要降温的物体温度达到设定温度值时,风冷设备自动停止并报警。
为了方便对本设计的理解,特作以下定义:物体温度为被降温的物体的温度,即MLX90614所测得的`温度值;设置温度即人为设置的温度值,当物体温度降到设置温度值附近时时单片机会发送指令令风扇停止转动;室内温度为DS18B20检测到的室内温度值。
1.自动冷却装置功能说明
家用自动冷却装置外观示意图如图1所示,该装置能实现两种功能:主要功能是将高温物体降温到设定温度值;次要功能是利用风冷温度的快速传递将低温物体快速升温,但前提是室温高于被降温物体温度。
在1602液晶显示屏中,如图1所示,①显示的是当前室内温度,②是MLX90614检测到的被降温物体的温度,③显示的是设置温度,即要降低的目标温度。将物体放到风冷装置体后,在控制面板中提供两种控制方式:a)长按“设置”键后,1602液晶显示屏设置温度处光标闪烁,此时通过“+”“-”设置物体降温的目标温度值,当然,设置温度值应随室内温度而定,再按“确认”键,风扇即开始给物体降温,直至物体温度到达设置温度值附近,风扇停止并灯光和声音报警提示;b)按“一键室温”后,设置温度自动设置为室内温度,并且风冷装置开始工作,直至将物体温度降温或升温至室内温度值附近,风扇停止并灯光声音报警提示。若中途需要中断降温,则长按“停止”键即可停止。
2.自动冷却装置设计原理
家用自动冷却装置使用STC89C52RC单片机,外部晶振采用12MHz,外设主要有1602液晶显示屏、继电器、MLX90614红外温度传感器、DS18B20接触式温度传感器、蜂鸣器、6颗高亮LED灯和弹出式按键,主要工作过程是:先由MLX90614和DS182B20收集室内温度和物体温度值,再将两温度值传递给STC89C52单片机,单片机开启继电器控制风扇转动,同时单片机判断物体温度值是否已达到设置温度,若达到设置温度值,单片机发送指令给继电器使风扇停止转动。整个装置内部设计原理图如图2所示。
2.1温度检测模块
温度检测模块由DS18B20接触式温度传感器与MLX90614红外温度传感器构成,如图3所示。MLX90614红外温度测量是通过热辐射原理来测量温度的,是一种非接触式温度测量方式,与接触式温度测量相比,不会干扰测量对象的温度场、响应速度快、精度高、测量范围广。其内部采用低噪声放大器、17bA/D转换器及功能强大的DSP处理单元,因而具有较高的温度分辨率和测量精度:该温度计测温范围为-40~+125℃,出厂前经过工厂校正,具有数字PWM和SMBus输出方式[1].因而使用MLX90614不仅测量方便,而且测量速度、返回数值到单片机速度也迅速,但是受到红外辐射不均匀的影响,被降温物体外表不应光滑,因其反射率高,误差较大;并且被测物体也不能是透明物体,这样才能保持测量的准确性。
DS18B20是接触式温度传感器,采用“单总线”的数据传输方式,大大节约了硬件的开销,其测量温度范围为-55℃~+125℃,并且精度高,可到±0.5℃。应用范围也很广泛[2].本设计采用DS18B20作为室内温度测量的传感器,其能够稳定的反应当前环境的温度,作为设置温度的参考。
2.2声光报警模块
由于51单片机的输出能力较弱,所以此处使用PNP型三极管充当开关管,由于三极管的放大作用,可以将单片机输出的微小电流放大并且驱动高亮LED灯和蜂鸣器。本设计在LED灯处使用PWM输出方式使LED灯具有呼吸灯效果。
2.31602液晶显示模块
液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用。它可以显示两行,每行16个字符,因此可相当于32个LED数码管,而且比数码管显示的信息还多。采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比[3].1602液晶显示屏的程序操作方式为并行口操作方式,通过D0-D7并行连接将数据传输给单片机,基本操作方法分为3步:a)先根据1602的时序要求将写数据子函数和写命令子函数写好;b)初始化1602,主要是根据1602手册规定的地址,设置1602的显示方式;c)写入命令和数据,命令有相应的地址,数据可根据1602手册表示出来。
2.4继电器模块
继电器的驱动模式和LED灯一样,使用PNP型三极管驱动继电器,从而使220V交流电流接通,风扇旋转,又由于继电器内部是线圈结构,而三极管可承受的反向电压较小,所以加一个二极管防止继电器通电和断开时的反向电压过大击穿三极管,起保护作用。
3.软件程序设计
在设计程序中,由于单片机开机后各引脚都是高电平,所以继电器控制、LED控制和蜂鸣器控制均采用高电平关闭,低电平开启的方式[4].
4.测试数据对比
为了检验产品的效果,做了如下测试,另外为了减少外部环境的干扰,使测试场所处于无风的环境,并且使室温保持恒定,同时本设计其他主电路板上的参数见原理图上的标注。
a)在同一室温条件下,测试其降温效果,分别让两杯200ml的开水放于本产品与25℃环境下,同时开始测试开水降到50℃所需要的时间,结果如表1.
b)在同一室温条件下,测试升温效果,分别让两杯200ml的温度为18℃的水放于本产品与30℃环境下,同时开始测试18℃升到26℃所需要的时间,结果如表1.
通过表1可以看出,此设计利用风冷降温极大的缩短了冷却时间,大大的提高了效率,但是升温效果并不明显,可见其比较适合降温,而升温效果还有待改进。另一方面它实现自动化降温过程,当温度到达预定值能够报警提醒。
5.设计展望
未来的时代将是智能化的时代,目前本设计仅仅是实现自动化,未来将考虑加入无线传输模块,将其与智能手机连接在一起,并通过可视化的手机操作控制其运转。另外还可加入人性化的操作控制,例如定时、预设模式等等,将其实现智能化。另外在降温方面还可加入压缩机制冷,将会使其降温更快。
参考文献:
[1]沙春芳。红外温度计MLX90614及其应用[J].嵌入式技术。,(22):36.
[2]郭天祥。51单片机C语言教程[M].北京:电子工业出版社,.343-344.
[3]赵亮。跟我学51单片机(七)[J].电子制作。.(11):74.
[4]何宾。STC单片机原理及应用[M].北京:清华大学出版社,:227.
由于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,红外寄存器组数据访问控制逻辑图
控制器软件主要分为三部分:系统初始化部分、接收部分、发送部分。系统初始化首先调用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。
高速红外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]
咳嗽录音装置USB接口设计与实现
摘 要: 相比于门诊聆听和观察咳嗽病患者的传统方法,直接分析长时段咳嗽录音的方法对咳嗽患者的诊断更为高效、客观。该类型录音装置接口设备较少,需具备简单的`判断和识别功能,同时,原始录音数据要求传输到计算机上,以供存档及进行更为细致的诊疗处理。目前,基于DSP和USB实现这类便携式咳嗽录音装置是较为合理的方案。以TI C5000低功耗DSP为核心,结合大存储容量的SDHC卡为存储介质,并通过USB接口实现离线数据高速提取。详细介绍了USB的软硬件结构原理、USB的枚举、Bulk?Only传输服务和SDHC卡的初始化识别过程。最后通过实验验证了该方案的可行性。 关键词: 数字信号处理器; 咳嗽录音装置; USB接口; 离线数据提取 中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X04?0009?04
河南省水环境自动监测网的设计与实现
设计了河南省水环境自动监测网的总体方案,经过充分的调查和专家反复论证,确定了水站、设备、通信网络以及软件的建设方案;重点从软件工程的.角度研究了水质自动监测系统软件的设计,实现了基本信息查询和维护、水环境评价、水质报表输出等功能,实现了地表水水质监测日常事务处理和专业管理的自动化和科学化,提高了管理水平.
作 者:郑瑶 郭新望 邢梦林 李明 Zheng Yao Guo Xinwang Xing Menglin Li Ming 作者单位:河南省环境监测中心站,河南,郑州,450004 刊 名:环境科学与管理 英文刊名:ENVIRONMENTAL SCIENCE AND MANAGEMENT 年,卷(期): 35(2) 分类号:X84 关键词:水环境自动监测 软件设计 河南省河南省水环境自动监测网的设计与实现
摘要:设计了河南省水环境自动监测网的总体方案,经过充分的调查和专家反复论证,确定了水站、设备、通信网络以及软件的'建设方案;重点从软件工程的角度研究了水质自动监测系统软件的设计,实现了基本信息查询和维护、水环境评价、水质报表输出等功能,实现了地表水水质监测日常事务处理和专业管理的自动化和科学化,提高了管理水平.作 者:郑瑶 郭新望 邢梦林 李明 Zheng Yao Guo Xinwang Xing Menglin Li Ming 作者单位:河南省环境监测中心站,河南,郑州,450004 期 刊:环境科学与管理 Journal:ENVIRONMENTAL SCIENCE AND MANAGEMENT 年,卷(期):2010, 35(2) 分类号:X84 关键词:水环境自动监测 软件设计 河南省基于JSP网页自动生成工具的设计与实现
摘 要:Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术。但是由于JSP对Web开发人员要求较高,所以许多一般的Web开发人员还不能够使用这一项先进的技术。讨论基于模板和标签库的JSP网页自动生成工具的设计和实现,提出具体的设计思想和实现方法。关键词:JSP;自动生成;Web开发;标签;标签库;模板
目录:
引言…………………………………………………………………..2
1 系统设计目标和使用的主要技术……………………………….4
1.1 设计目标………………………………………………………4
1.2 主要技术………………………………………………………4
1.2.1 模板技术………………………………………………….4
1.2.2 标签库技术……………………………………………….4
2 系统的组成和实现……………………………………………….6
2.1 系统组成………………………………………………………6
2.2 系统的实现……………………………………………………7
2.2.1 模板库和标签库的实现………………………………….7
2.2.2 系统开发环境…………………………………………….11
3 结束语…………………………………………………………….11
引 言
随着WWW(World Wide Web)的普及,动态网页技术也急速发展。从原来的CGI(Common Gateway In-terface)到ASP(Active Server Page),都从某种程度上满足了网页开发人员对动态网页开发技术的需求。但是不管是CGI还是ASP都存在一定的局限性,如CGI对服务器资源的耗费,ASP只能同Microsoft IIS一起使用等,这些都限制了这些技术的使用范围,极大地阻碍了它们的推广。广大的页面开发人员都热切地盼望一种统一的页面开发技术,该技术应该具有的特点:①与操作平台无关,能够在任何Web或应用程序服务器上运行;②将应用程序逻辑和页面显示分离;③提供代码重用,简化开发基于Web的交互式应用程序的过程。
JSP(Java Server Page)技术就是被设计用来满足这样的要求的。JSP是由Sun MicroSystem公司于6月推出的新的网页开发技术,它是基于Java Serv-let以及整个Java体系的Web开发技术,是Servlet2.1API的扩展。利用这一技术,可以建立先进、安全和跨平台的动态网站。
Java是未来的主流开发技术,具有很多优势。JSP则是Java在Internet/Intranet Web上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。
作为一种基于文本的、以显示为中心的开发技术,JSP提供了Java Servlet的所有好处。为了做到逻辑功能和显示功能分开,JSP已经可以和JavaBeans、Enterprise JavaBeans(EJB)和Servlet一起工作。JSP的开发人员可以通过使用JavaBeans、EJB和Servlet来完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给JSP页面来完成。内容和显示逻辑分开的好处在于,更新页面外观的人员不必懂得Java代码,而更新Java类的人员也不必是设计网页的行家。这就可以用带Java类的JSP页面来定义Web模板,以建立一个具有相似外观的页面组成的网站。Java类完成数据提供,在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写人员来维护。
JSP作为当前主流的网页开发技术,具有如下特点。
1)将内容的生成和显示进行分离:使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终的页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和JavaBeans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
2)强调可重用的组件:绝大多数JSP页面依赖于可重用的、跨平台的组件来完成应用程序所要求的更为复杂的处理。得益于Java的操作平台无关性,开发人员能够很方便共享和交流执行普通操作的组件,或者使得这些组件为更多的使用者所使用。基于组件的方法加速了总体的开发过程,极大地提高了项目整体开发的效率。
虽然JSP功能强大,但是它要求网页开发人员对Java要相当熟悉。而现在Java程序员还比较少,对一般的网页开发人员来说,JSP的语法还是比较难于掌握的。所以,就需要有一种网页开发工具,为一般的网页开发人员提供常用的JSP应用,让只懂得一般页面开发技术(HTML)的开发人员也能够使用JSP的强大功能。
1 系统设计目标和使用的主要技术
1.1 设计目标
本系统的设计目标是为只懂得HTML但完全不了解JSP的一般网页开发人员提供一个网页开发工具,使他们能够根据系统文档,通过标签使用JSP的常用功能,最后生成一个只包含静态HTML和JSP标签的动态JSP
网页。
1.2 主要技术
本系统在设计时,主要考虑使用模板和JSP标签的技术来实现。
1.2.1 模板技术
模板技术被广泛地应用于各种开发和应用系统中。它预先生成一些常用的框架结构,使用户可以根据自己的需要方便地从模板库中选择模板,而不用自己重新去搭建,节省了用户的开发时间,方便了用户的使用。在本系统中,将页面按照功能类型进行分类,归纳出常用的页面类型,生成模板库。
1.2.2 标签库技术
在JSP中,动作是可以创造与访问程序语言对象和影响输出流的元素。JSP定义了六个标准的动作。除了这六个标准动作以外,用户可以定义自己的动作来完成特定的功能。这些动作被称为客户化动作,它们是可重用的程序模块。通过这些动作,程序员就可以在JSP页面中把页面的显示功能也部分地封装起来,使整个页面更加简洁和易于维护。在一个JSP页面中,这些客户化动作是通过客户化标签来调用的。而标签库(Tag Library)就是客户化标签的集合。
JSP标签库是一种通过JavaBeans生成基于XML的脚本的方法。它是JSP的最大特点之一。通过标签库,能够无限制地扩展JSP应用,完成任何复杂的应用需求。
JSP标签库具有以下特点。
1)易于使用:JSP中的标签和一般的HTML标记外表上是完全一样的,使用起来和普通的HTML标记一样方便。
2)易于代码重用:标签库中的每一个标签都能完成一定的功能。一旦定义好了一个标签库,只需要把这个标签库包装成一个Jar文件,那么以后只要在别的系统中使用这个标签库就行了,而不用重新开发代码,极大地提高了系统开发效率,降低了开发成本。
3)易于代码维护:所有的`应用逻辑都封装在标签处理器和JavaBeans中,所有的标签都集中在一个标签库中。如果需要更新代码或者需要修改一个网页上的功能,只需要修改相应的标签即可。通过这种统一维护方式,不用在每个网页上去作修改,极大地减少了维护的工作量,节约了维护成本。
4)易于系统扩充:如果需要向系统中添加新的功能,只需要定义一个新的标签来完成这一功能即可,无需对系统的其它方面作任何改动。标签库可以继承JSP规范各方面的特性。这样就可以无限制地扩展和增加JSP的功能,而不需要等待下一版本JSP的出现。
2 系统的组成和实现
2.1 系统组成
本系统主要由四个部分组成,见图1。
1)数据库连接部分:本系统支持常用的几个数据库,包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根据用户选择的数据库类型和用户提供的数据库名称、用户名、密码使用JDBC同数据库相连。
2)系统基本表生成部分:和数据库连接以后,根据同数据库相连的用户名生成两个系统基本表TC-Tables和TC-Columns,TC-Tables表包含在该数据库中属于该用户的所有的表的英文名称、中文名称和一些属性,如是否可修改、是否可查询等;TC-Columns表包含在该数据库中属于该用户的所有的表的所有列的中英文名称和其它一些属性。如是否可显示、是否可查询等。这两个系统基本表在整个系统的开发过程中提供用户所使用数据库的基本信息。
3)模板选择和网页生成部分:该部分是系统的核心部分。它包含了两个子模块。
①模板选择部分:系统为用户提供模板选择界面,让用户根据需要从模板库中选择所要使用的模板。
②模板处理部分:根据用户选择的模板,系统调用指定的模板处理模块对这个模板进行处理。当处理程序遇到模板中的标签时,就为用户提供交互界面,让用户为指定的标签输入参数,并由系统验证用户输入的标签的有效性。最后由系统完成JSP页面的生成。
4)网页预览和修改部分:网页生成出来以后,系统为用户提供了一个网页预览窗口和代码查看修改窗口。通过这个预览窗口,用户可以预览一下生成出来的JSP页面的效果。如果用户对页面的静态方面的效果不太满意,用户可以通过代码查看修改窗口修改代码中的HTML代码。如果用户对页面的静态效果有进一步的要求,系统还为用户提供了一个调用DreamWeaver编辑器的接口,用户可以使用它来对生成出来的JSP页面的静态效果进行进一步的修改和完善。
2.2 系统的实现
2.2.1 模板库和标签库的实现
标签库的规划和设计在整个系统设计中至关重要,它关系到了代码重用的程度和系统运行的效率。它的规划应该遵循以下原则。
1)在标签中应该尽量少的包含静态的HTML。对于一般用户来说,标签是透明的。用户不能够查看和修改标签。如果在标签中包含了过多的静态HT-ML语句,将影响用户对页面的静态效果的修改和完善,限制标签的使用。
2)尽量提高代码的重用度。在对JSP应用进行分类是尽量把公用的JSP应用提取出来,形成标签。而不用在每个标签中都重复实现该应用。这样在以后要对该应用进行修改和完善时,只需对这一个标签进行修改即可,易于代码的维护。
3)方便用户的使用。在设计标签库时,应该充分考虑到用户的使用情况,使用户能够很容易和方便地理解和使用标签。
①标签库的定义:定义一个标签库,必须首先定义一个标签库描述文件(TLD)。这是一个基于XML的脚本文件,在这个文件中定义了XML的版本、所使用的编码、标签库的版本、所使用的JSP的版本、标签库的名称和这个库中所包含的所有的标签的定义和参数描述,包括标签的名称,标签所对应的Java类,标签的描述信息等。
②标签的实现:一个标签就是一个特殊的Java
类,这个类必须继承TagSupport类,这个类是在javax.servlet.jsp.tagext包中定义的。在标签类中,包含了这个标签的参数初始化方法(Set/Get)、标签的主体处理方法(Handler)以及供下一级标签调用的方法等。
③模板的实现:一个模板就是一个含有标签引用的JSP文件。为了在模板中引用所定义的标签,必须首先引入标签库。
<%@taglib uri=“tag.tld”prefix=“ctag”%>
其中uri指定标签库描述文件的路径;prefix指定引用标签时所使用的前缀。
在模板中引用指定的标签时,使用引入标签库时所指定的前缀,指定标签的名称;为标签的参数赋值。
2.2.2 系统开发环境
本系统主体程序开发使用的是Borland公司的JBuilder 6.0,模板开发使用是Microsoft公司的Front-Page,标签库
开发使用的是UltraEdit编辑器,JDK采用的是JDK1.4。系统测试环境是JRun3.0。
3 结束语
Java是未来开发语言的主流,而Java在Web上的主要应用JSP也必将成为未来Web开发的主流技术。本系统采用了JSP的最大特点之一的标签库,使一般的Web开发人员也能够方便地使用JSP强大的动态页面功能,开发出技术先进的JSP动态Web页面。由于本系统采用Java语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,实现了完全的与平台无关。本系统易于扩充和完善。在以后可以考虑为用户提供接口,使用户可以自己扩充模板库和标签库,进一步增强系统的功能。
参考文献
[1] Cay S.Horstmann,Gary Cornell.Java 2核心技术(CoreJava 2)[M].北京:机械工业出版社.
[2] Bruce Eckel.Java编程思想(Thinking in Java)[M].北京:机械工业出版社.
[3] Joseph L.Weber.Java 2编程详解(Using Java 2)[M].北京:电子工业出版社.
[4] Borland公司.Building Applications with JBuilder.
某型飞机发射装置虚拟测试仪的设计与实现
为了克服现有检测设备使用复杂、接口不一、检测时间长且不能脱机使用等缺陷,提高飞机发射装置测试设备的测试性能,设计了某型飞机发射装置虚拟测试仪.该仪器的'硬件部分以IPC-610型工业控制计算机为核心,采用可编程接口电路、转换电路、强电信号隔离电路等电路,实现了发射装置快速准确的自检、通路测试及电阻测试等功能;软件部分采用虚拟仪器技术并用Visual C++编程,使仪器具有操作简单和可靠性高等优点.试用结果表明,该仪器测试精度高、通用性强、可靠性强,保障能力强、具有很好的推广应用前景.
作 者:张小玉 蔡桂芳 ZHANG Xiao-yu CAI Gui-fang 作者单位:空军第一航空学院,河南,信阳,464000 刊 名:中国测试技术 ISTIC英文刊名:CHINA MEASUREMENT & TESTING TECHNOLOGY 年,卷(期):2008 34(5) 分类号:V241 TP311.52 关键词:飞机 发射装置 虚拟测试 设计