来源:本站整理 作者:佚名 2009-05-06 14:36:01
单片机与上位机的通信电路如图3所示。8051单片机本身提供了一组全双工串行传输接口,由TXD引脚来传送串行数据而由RXD引脚来接收数据,可是其工作逻辑电平皆为TTL电平(0 V,5 V)。所以单片机与PC之间的数据通信必须经过RS 232信号(+12 V,-12 V)电平的转换。本系统使用MAX232电平转换芯片,只要加4只电容就能完成接口电平的转换。单片机的11脚(TXD)接232的10脚,单片机的10脚(RXD)接232的9脚。与上位机连接的RS 232-C接口采用DB-9的9芯插头座,传输线采用屏蔽双绞线。电源部分采用市售的9 V直流稳压电源,经7805后滤波稳压得到稳定的5 V电源。
2.3.3 基于NiosⅡ嵌入式上位机
系统主要包括以下几个部分:包括NiosⅡ软核CPU、操作系统使用的定时器、网络协议栈使用的定时器、CPU同外围设备的接口(Avlaon总线);EPCS4用来在上电时对FPGA进行配置;FLASH主要用来存放软件代码以及一些需要保存的参数;SRAM用来在系统运行时的代码和数据存储;网络接口芯片采用Smsc公司的LAN91C111芯片作为网络接口。该器件是一个以太网控制器,实现了网络7层协议栈中的传输层和MAC层的功能。另外,它具有10/100 Mb/s自适应、双工/半工自适应等功能,有很好的网络兼容性。采用串口UART和单片机通信。利用QuartusⅡ中的SOPC Builde构建的CPU如图4所示。
3 监控系统的软件系统设计
单片机控制程序设计框图如图5和图6所示。
串口中断程序功能为接收由上位机发送的数据采集周期以及开始、停止指令。温度信号滤波通过软件实现。滤波算法采用加权平均值法,即对最新检测到的N个温度信号序列去除最大值和最小值,并取加权平均运算。
4 基于NiosⅡ的Web服务器的实现
把构建好的CPU及相应的模块进行分析引脚分配、综合后再进行编译,用NiosⅡIDE(集成开发环境)通过移植实时操作系统μCLinux来实现嵌入式实时多任务控制系统,开发相应的网页并进行服务器移植和配置。本系统采用μCLinux下的Boa。Boa是一个单线程的HTTP服务器,它不同于其它传统的Web服务器,不为每个连接创建一个进程,只有当CGI程序运行时才创建一个新的进程。通过移植Boa来实现智能监控系统的Web服务器功能,最后通过编写CGI程序并结合Flash动画实现了动态Web交互功能。
5 结语
采用
AT89S51系列单片机、传感器DS18B20和NiosⅡ设计的远程温度控制系统具有结构新颖、电路简单、体积小和控制方便等优点。可以广泛用于电站、学校、医院等相关重点设备的温度远程监控。也适用于人体无法接近的高温或危险场所的温度监控。如果变换传感器稍加改变也可以成为其他参数的远程监控系统,如压力、湿度或瓦斯等。