基于SPCE061A电压在线监测系统的设计毕业论文.doc
基于SPCE061A电压在线监测系统的设计摘 要为保证工矿企业等用电单位在生产时设备的可靠运行,需要一种能监测电网中的电压值、电压状况的智能仪表,而基于凌阳SPCE061A单片机就开发了一种监测电压的智能仪表,该仪表可实时采集、记录、显示电网中的电压值,并存储电网中的电压跳变的时间和进行声光报警。另外,该仪表通过无线通信的方式,将现场采集的数据发送到远端操作站的上位机,由上位机的监控软件对现场数据进行处理1。该系统解决了人工完成时所带来的两大难题:一是现场环境差,尤其是在高压中,人们不适合长期工作;二是人工记录存在较大的误差,且数据统计、处理都费时费力。并且该系统能实现“无人值守”,降低了工人的劳动强度; 能及时准确地了解各监测点的监测数据;查询条件灵活多样,查询结果既可以是单个监测点的监测数据,也可以是单个监测点的统计数据或多个监测点的统计数据;使用方便,操作简单。此方案主要有以下几个步骤:首先,对单片机原理进行深层研究,熟悉单片机的原理及编程技术;其次,参考文献资料无线通信进一步的了解;再次,编写基于单片机的电压监测测试程序,完成软件设计;最后,设计框图,完成电压监测仪的硬件设计2。关键词:工矿企业,电网,电压监测仪,单片机控制,实时传输SPCE061A Based Online Monitoring System VoltageAbstractIn order to ensure industrial and mining enterprises and other electricity production units in the reliable operation of equipment, need a way to monitor the power grid voltage, the voltage status of intelligent instruments, and based on Sunplus SPCE061A MCU to monitor the voltage developed a smart meter, The instrument can be real-time collection, recording, display grid voltage value, and store the grid voltage transition time and the sound and light alarm. In addition, the instrument by way of wireless communications, will be on-site collection of data sent to the remote operator station PC, the PC monitoring software for processing field data. The complete system solutions manual brought two challenges: First, on-site environment is poor, especially in the high-pressure, people are not suitable for long-term work; second, larger error manual records and statistics, are time-consuming processing effort. And that the system can achieve "lights-out" and reduce labor intensity; to timely and accurate understanding of the monitoring data of the monitoring points; flexible query, the query results that can be a single monitoring point of the monitoring data, it can be statistical data on a single monitoring point or more monitoring points of statistical data; easy to use, easy to operate. This program primarily designed from the following aspects: First, the deep study of the SCM principle, familiar with the principles of microcontroller and programming techniques; Secondly, reference materials for pyroelectric infrared sensors and wireless communications to further the understanding, familiar with the infrared heat release the working conditions of electrical sensors, optical isolation coupling circuit design and signal processing circuit; again, the preparation of the test based on single chip voltage monitoring program, to complete the software design; Finally, the design diagram, complete the voltage monitor in the hardware design. Key words: Industrial and mining enterprises,Grid,Voltage detector, SCM control, Real-time transmission目 录第一章 绪论11.1 电压在线监测系统的现状11.2 SPCE061A单片机电压在线监测系统的优点21.3 本设计的主要内容2第二章 SPCE061A简介32.1 SPCE061A概论32.2 SPCE061A的芯片介绍32.3 SPCE061A的低电压监测/低电压复位(LVD/LVR)62.4 SPCE061A的开发方法72.5 “61板”基本组成介绍72.6 SPEC061A最小系统72.7凌阳音频解码简介8第三章 硬件设计123.1系统的总体设计方案123.2 电压监测仪的实现133.3系统硬件的实现133.4系统硬件设计14第四章 软件设计164.1系统的总体程序流程164.2系统的中断程序设计17第五章 结 论19参考文献20致 谢21附 录22第一章 绪论随着经济的发展,社会的进步,生产管理自动化水平的不断提高,特别是网络的日益普及,电压监控系统在社会各行各业得到越来越广泛的应用,尤其是在电力系统及其设施中。由于需要监控的范围广、监控点分散,需要花费大量的人力、物力和财力对设备进行维护和维修。维护人员不足和维护手段落后已经成为管理中的薄弱环节。因此,为提高维护管理自动化水平、保障设备的安全和正常运行,实现电压在线监测和实时报警已势在必行,而国外很多国家也应用了电压监测仪这种系统,如美国则利用很多先进的电压监测仪监测线路中的电压,以防止电压出现跳变3。据统计,以前我国工矿企业的电压监测大都需要人工来完成,这样必然产生如下弊端:一是现场环境差,尤其是在高压中,人们不适合长期工作;二是人工记录存在较大的误差,且数据统计、处理都费时费力。因此出现了电压监测仪这种“无人值守”的系统,降低了工人的劳动强度,为公司和各个企业带来了很大的方便。1.1 电压在线监测系统的现状我国现有的电压监测仪存在很多问题4:(1)时间精度和事件顺序的正确性不高;系统停电时,仪器时钟芯片大都选择后备电池供电。在电网频繁停电、闪变、打雷、闪电等恶劣条件下,时钟容易出错,导致统计结果出错。(2)通讯方式和接口落后;仪器大多采用的串行通讯接口,往往速率低,误码率高, 接口已经很难适用信息技术迅速发展的今天。并且,新型的笔记本电脑已经不配备这种口,从而影响装置与电脑的匹配;还有采用定时打印电压数据或IC(Integrated Circuit)卡读取电压数据,安装调试方便,但是需要人工抄录统计数据,也有利用无线通信系统或电话Modem传输方式,虽然使用方便,但需要自己对通信网络进行维护或租用公共网,费用高。(3)仪器规格多且大多属于单相电压测量,应用范围窄;由于电网电压有10 kV,35 kV,110 kV,220 kV等多种规格,以往电压监测仪一般1台仪器只能适用1种电网电压规格,造成仪器规格种类多。(4)版本升级困难、功耗大、精度低等,难以满足统计和控制的精度要求;大多数装置不能实现在线写入程序,工作电压为5 V损耗较大,模数转换器ADC (Analog to DigitalConverter)转换精度往往是8位或10位,误差相对较大,难以满足统计和控制的精度要求。1.2 SPCE061A单片机电压在线监测系统的优点基于凌阳SPCE061A单片机开发的一种监测电压的智能仪表,可实时采集、记录、显示电网中的电压值,并存储电网中的电压跳变的时间和进行声光报警。另外,该仪表通过无线通信的方式,将现场采集的数据发送到远端操作站的上位机,由上位机的监控软件对现场数据进行处理,对公司和各个企业带来了很大的方便4。该系统可以解决人工完成时所带来的两大难题:一是现场环境差,尤其是在高压中,人们不适合长期工作;二是人工记录存在较大的误差,且数据统计、处理都费时费力。并且该系统能实现“无人值守”,降低了工人的劳动强度; 能及时准确地了解各监测点的监测数据;查询条件灵活多样,查询结果即可以是单个监测点的监测数据,也可以是单个监测点的统计数据或多个监测点的统计数据;使用方便,操作简单1.3 本设计的主要内容利用凌阳SPCE061A单片机设计一款可以解决现在电压在线监测系统不足的现状,解决电压监测仪的许多问题。首先,要学习和了解SPCE061A单片机的基本知识;其次,参考文献对电压在线监测系统做进一步的了解,熟悉它们的工作环境,提出有效的设计工作方案;再次,查阅大量文献资料进行硬件系统和软件系统的设计,编辑程序,进入实验室做实验,对系统进行调试;最后,设计框图,完成设计。第二章 SPCE061A简介2.1 SPCE061A概论SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,具有易学易用且效率较高的一套指令系统和集成开发环境。在此环境中支持标准C语言,可以实现C语言与汇编语言的相互调用,并且提供了语音录放和语音识别的函数库,只要了解函数库的使用方法,就可以很容易得完成语音录放,为软件开发提供了方便的条件。SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入/输出、通用异步串行接口、低电压监测和复位等电路,并且内置在线仿真电路ICE接口,使其能够快速的处理复杂的数字信号5。2.2 SPCE061A的芯片介绍61 板的核心是凌阳16 位单片机SPCE061A。SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,它采用高性能的凌阳科技自主知识产权的µn SP 内核,具有丰富的硬件资源,并集成了ICE(在线仿真电路)接口,可以直接利用该接口对芯片进行下载(烧写)、仿真、调试等操作,SPCE061A的结构如图2-1所示。SPCE061A芯片的特性参数6:(1)工作电压:(CPU) VDD 为2.43.6V ,(I/O) VDDH 为VDD5.5V;(2)CPU 工作速率:0.32MHz49.152MHz;(3)CPU:16 位µn SP 内核,支持16 位加法运算、16×16 位硬件乘法、DSP 的内积滤波运算;(4)SRAM 容量:2K 字RAM;(5)程序存储器容量:32K 字FLASH;(6)并行I/O 端口:2 组16 位可编程输入/输出端口:IOA150,IOB150;(7) ADC:7 通道10 位电压ADC(Line_ IN)和单通道10 位声音ADC(Mic _ IN);(8)单通道声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;(9)DAC:2 个10 位DAC(数-模转换)输出通道音频输出方式;(10)中断源:14 个中断源,分别来自Timer A/B、时基信号发生器、外部中断、触键唤醒;(11)定时器/计数器:双16 位可编程定时器/计数器(可自动预置初始计数值);双通道PWM 输出;(12)UART:提供了一个全双工UART 接口;(13)SIO:提供了一个串行同步设备接口;(14)晶振采用32768Hz;(15)具备清除时间周期为0.75 秒的看门狗;(16)节电功能:具备弱振方式、睡眠方式;(17)具有凌阳格式语音播放、语音录放和语音识别功能;(18)具有低电压复位、低电压监测、保密功能等。 16位微控制器unSPTM+ICEFLASHRAM锁相环CPU时钟振荡器 实时时钟低电压监测/低电压复位双16位定时器/计数器时基中断控制7通道10位ADC单通道ADC+AGC双通道10位DAC串行输入输出接口32管脚通用输入输出端口MIC-INAUD1AUD2IOB0IOB1ICE-ENVCPXI/RICE-SCKK XOICE_SDA图2-1 SPCE061A的结构另外,SPCE061A单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放。 SPCE061A具有PLCC84和LQFP80两种封装形式7,其中封装形式为PLCC84的SPCE061A共有84个引脚,在84个引脚中有空脚15个,引脚功能见表2-1。表2-1 引脚功能表引脚名引脚功能IOA0IOA15(4148,53,5460脚)I/O口,共16个IOB0IOB15(51,8176,6864脚)I/O口,共16个OSC32I(13脚)振荡器输入,外接晶体振荡器的一个输入脚OSC32O(12脚)振荡器输出,外接晶体振荡器的一个输出脚XRESB(6脚)复位输入,如这个脚输入低电平,会使控制器被重置复位XICE(16脚)ICE使能端,接在线调试器PROBE的使能脚ICE_ENXICESCK(17脚)ICE时钟脚,接在线调试器PROBE的时钟脚ICE_SCKXICESDA(18脚)ICE数据脚,接在线调试器PROBE的数据脚ICE_SDAPVIN(20脚)程序保密设定脚PFUSE(29脚)程序保密设定脚DAC1(21脚)音频输出通道1DAC2(22脚)音频输出通道2VREF2(23脚)2V参考电压输出脚AGC(25脚)语音输入自动增益控制引脚OPI(26脚)Microphone的第二运放输入脚MICOUT(27脚)Microphone的第一运放输出脚MICN(28脚)Microphone的负向输入脚MICP(33脚)Microphone的正向输入脚VRTPAD(35脚)A/D转换外部参考电压输入脚VCM(34脚)ADD参考电压输出脚VMIC(37脚)Microphone电源XSLEEP(63脚)睡眠状态指示脚。当CPU进入睡眠状态时,该脚输出一个高电平VCP(8脚)锁相环压控振荡器的阻容输入XROMT、PVPP、XTEST(61、69、14脚)出厂测试用引脚,悬空即可VDDH(51、52、75脚)I/O逻辑电平参考,该点输入一个5V的参考电压,则I/O输入输出高电平为5VVDD(7脚)PLL锁相环电源VSS(9脚)锁相环地VDD(36脚)模拟电源VSS(19、24脚)模拟地VSS(38、49、50、62脚)数字地VDD(15脚)数字电源2.3 SPCE061A的低电压监测/低电压复位(LVD/LVR)SPCE061A可通过编程来启用低电压监测和低电压复位功能,可对系统的电源电压进行监控,使系统能运行在一个正常、可靠的工作环境,一旦出现电源异常的情况能立即采取相应的措施,使系统及时恢复正常。如图2-2所示。1001 LVD00LVRResult of LVD2.2V(LVR)3.2V2.8V2.4Vb0 b1 of P_LVD-_Ctrl(W) ($7019H)图2-2低电压监测/低电压复位(1)低电压监测LVD 低电压监测功能可以提供系统内部电源电压的使用情况。如果系统电压VCC低于用户设定的低限电压VLVD,P_LVD_Ctrl单元的第15位(LVD监测标志位)将被置为1;反之,当VCC>VLVD时,该位被置为0。(2)低电压复位LVR当电源电压低于2.2V时,系统会变得不稳定且容易出错,导致电源电压过低的原因很多,如电压的反跳、负载过重、电池电量不足等情况。如果电源电压低于2.2V时,会在4个时钟周期之后产生一个复位信号。2.4 SPCE061A的开发方法SPCE061A的开发是通过在线调试器PROBE实现的。它既是一个编程器(即程序烧写器),又是一个实时在线调试器。用它可以替代在单片机应用项目的开发过程中常用的软件工具硬件在线实时仿真器和程序烧写器。它利用SPCE061A片内置的在线仿真电路ICE(In- Circuit Emulator)接口和凌阳公司的在线串行编程技术。PROBE工作于凌阳IDE集成开发环境软件包下,其5芯仿真头直接连接到目标电路板SPCE061A相应管脚,直接在目标电路板上的CPUSPCE061A调试、运行用户编制的程序。PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能。2.5 “61板”基本组成介绍“61板”是SPCE061A ENU BOARD 的简称,是以16位单片机SPCE061A为核心的精简开发仿真实验板,是凌阳大学计划专为大学生与电子爱好者设计的简易开发装置,也可作为单片机项目初期研发使用,“61板”除了具备单片机最小系统电路外还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,而且体积小,采用电池供电。 “61板”具体能完成以下实验内容:(1)20多个基础实验:内含单片机常用的功能,包括I/O、中断、定时、A/D转换和D/A转换等方面。(2)综合实验:配合学校要求学生动手环节,要求搭配必要的电路来完成,包括键盘、数码管、液晶、USB及外扩Flash等模组的实验。(3)语音处理实验:提供包括三种应用于不同场合、不同压缩比的放音,录音(DVR)及语音辨识等实验。另外,SPCE061A具有16×16位的乘法运算和内积运算的DSP功能,这不仅为它进行复杂的语音数字信号的压缩编码与解码提供了便利,还可以做数字滤波器。2.6 SPEC061A最小系统最小系统接线8如图2-4所示,在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的容阻输入VCP端接上相应的电容电阻后即可工作。其它不用的电源端和地端接上0.1uF的去藕电容以提高抗干扰能力。图2-4 SPCE061A最小系统2.7凌阳音频解码简介SPCE061A内置了专用的MIC输入通道和音频输出DAC9,并具有较高的处理速度,非常适合对音频信号的处理。未经处理的音频资源数据较大,对于单片机来说,数据的存储和传输都比较困难,这使得音频压缩编码变成音频处理的重要环节。为方便用户将SPCE061A应用于语音产品,凌阳公司提供了多种音频编解码算法及其API函数库,即SACM_LIB(文件名为SACMV26e.lib,26e为版本号)。如下为SACM_LIB库中包含的常用音频解码算法如图表2-2所示12。表2-2 SACM-LIB库中模块及其算法类型模块名称语音压缩编码率类型特点SACM-A200016kb/s,20kb/s,24kb/s高质量、高码率、适于高保真语音/音乐SACM-S2402.4kb/s压缩比大,计算量大,音质不高,廉价SACM-S4804.8kb/s,7.2kb/s综合参数和波形编码的优点表 2-3 SACM_AS480库函数函数名称 功能参数返回值SACM_S480_Initial语音播放初始化Init_ Index:0-手动方式,1-自动方式1:初始化失败0:初始化成功SACM_S480_ServiceLoop从资源中获取语音资料,填入解码队列中,并进行解码等操作。无无SACM_S480_Play开始播放Speech _Index:语音索引号 Channel:1-通过DAC1播放,2-通过DAC2播放,3-通过DAC1和DAC2同时播放 Ramp_Set:0-禁止淡入淡出效果,1-声音淡入,2-声音淡出,3-声音淡入淡出无SACM_S480_Stop停止播放语音无无SACM_S480_Pause暂停播放语音Volume_Index:音量大小,范围为0-15无SACM_S480_Resume恢复暂停播放的语音无bit0=0: 语音播放完成bit0=1:语音在播放中SACM_S480_Volume设置播放音量Channel:1-通过DAC1播放,2-通过DAC2播放,3-通过DAC1和DAC2同时播无SACM_S480_Status获取语音播放的状态无bit0=0: 语音播放完成bit0=1: 语音在播放中SACM_S480_InitDecode初始化译码队列Channel:1-通过DAC1播放,2-通过DAC2播放,3-通过DAC1和DAC2同时播放无SACM_S480_Decode对语音资源进行译码无无SACM_S480_FillQueue将语音编码资源填入语音队列中等候译码处理Encoded_Data:语音编码资源无SACM_S480_TestQueue获取语音队列的状态无0: 语音队列不空不满1: 语音队列满 2:语音队列空F_FIQ_Service_SACM_S480中断服务子程序,将解码后的语音资料送入DAC通道播放无无本设计中采用SACM_S480,故只介绍此模块:SACM_S480压缩算法的压缩比较大,虽然音质没有SACM_A2000好,但是适用于对音质要求不是很高的语音播放场合。常用的SACM_AS480库函数如表 2-3:SACM_S480语音播放也分为“自动”和“手动”两种模式。“自动”与“手动”指的是程序获取语音资源的方法。自动播放模式调用库函数自动从FLASH中获取语音资源并填入队列,程序简洁易用;而在手动播放模式中,语音资源要通过用户程序手动获取,增强了程序的灵活性。而本系统采用自动播放流程,图2-5是自动播放程序流程。SACM_S480初始化将语音资料压缩播放获取语音数据并解码等待中断播放图2-5 语音播放流程无论自动播放还是手动播放,将解码后的语音数据通过DAC播放出来的过程都是在中断服务程序中完成的。SACM_S480在播放初始化时会打开FIQ_ Timer A 中断,并将Timer A溢出频率设置为16KHz。SACM_S480自动放音流程如图2-6所示,用户需要在FIQ_TMA中断服务程序中调用F_FIQ_Service_SACM_S480函数完成语音播放。开始用语音播放初始化函数SACM_S480_Initial()调用语音播准备播放函数SACM_S480_Play()判断语音播放是否结束SACM_S480_Status()调用语音播放系统服务函数SACM_S480_ServiceLoop()清看门狗停止语音播放SACM_S480_Stop()返回YN图 2-6 SACM-S480 自动播放流程第三章 硬件设计3.1系统的总体设计方案 软件时钟模块算法运算及数据处理串口通信A/D转换I/O接口传感器LED显示操作按钮声光报警数传电台数传电台串口通信个人计算机(PC)无线通信现场电压凌阳SPCE061A图3-1 基于SPCE061A电压在线监测设计方案电压监测仪是基于SPCE061A单片机实现的,其主要的系统工作原理是:通过改变电压,使不同的电压值经变送器或传感器转换为标准的电压模拟量信号,凌阳SPCE061A单片机采集该模拟量信号并进行A/ D 转换,处理、存储A/ D 转换后的数据,并与原来设定的电压范围相比较,当现场电压值不在原来设定的范围值内时,单片机SPCE061A便会驱动声光报警,通过LED 显示出当时的电压值。同时通过软件时钟模块记录电压出现跳变的时间,通过RS232串口与本端的数传电台连接,发送数据。数传电台是连接现场电压监测仪与远端上位机的桥梁。在本系统中,通过无线通信的方式完成数据的远程通信。PC 机负责接收、处理无线通信发送过来的数据。应用VB6. 0 编写的监控软件,可实现对现场数据进行数据库管理和曲线显示等功能10。3.2 电压监测仪的实现电压监测仪硬件电路的核心元件是SPCE061A ,它是凌阳科技推出的一款16 位微控制器。其主要特点就是高度的功能集成,并且易于扩展。几个关键的性能参数如下:工作电压为2. 63. 6 V ;工作频率为0. 3248. 152 MHz ;2 K的SRAM和32 K的FAL SH ROM ;32 位可编程的多功能I/ O 端口;2 个16 位定时器/ 计数器;32 768 Hz实时时钟;8 通道10 位模/ 数转换输入并具有内置自动增益控制功能的麦克风输入方式;双通道10 位DAC 方式的音频输出功能;通用异步全双工串行通信接口UART ;具有RS232 标准的发送/ 接收时序;串行设备接口SIO ;可与串行外围设备进行串行数据传输等。3.3系统硬件的实现系统的硬件实现参考图 3-1,核心控制部分采用61板,传感器采用霍尔电压传感器来采集不同的电压值。电压传感器11有五只接线端子。其中两只为原边端子:被测电压输入端十;被测电压输入端一。另外三只为副边端子:+端:电源+15V;端:电源-15V;M 端:信号输出端。电压传感器12的接线方法:+HT + CHV-100 M-HT 15V15VOUT公共地VPRRm图3-2 电压传感器接线图3.4系统硬件设计系统组成如图 3-1,主要由单片机、传感器组、显示电路、语音输出电路、PC机控制电路等部分组成。(1)LED显示电路设计LED显示可分为静态显示和动态显示,该系统采用动态显示。在空闲状态下,LED 显示当前时间;查询状态下,显示电压出现跳变的时间和出现跳变的次数;可通过操作按钮前后翻查。在多位LED显示时,为了简化电路、降低成本,将所有位的段选码并联在一起,由一个8位I/O控制,而共阴极点或共阳极点分别由相应的I/O口线控制,图3-3所示为一个8位LED动态显示器电路。LED数码管原理:LED1LED2LED3LED4LED5LED6dpefabgcddpefabgcddpefabgcddpefabgcddpefabgcdabcdefgdp输出端输入端SEGDIG1DIG2DIG3DIG4DIG5DIG6dpefabgcd图3-3 LED动态显示器电路从LED显示器的原理可知,为了显示字母与数字,必须最终转换成相应的段选码,这种转换可以通过硬件译码器或软件进行译码。(2)键盘模块键盘电路如图3-4所示。K1K2IOA0IOA1+5VS1S2图3-4 键盘电路两个按键所代表的含义如下:正常运行状态下:KEY1:空闲状态,显示当前时间。KEY2:返回正常运行状态。查询状态:KEY1:显示电压出现跳变的时间和出现跳变的次数。(3)声光报警声光报警是指当电网中电压出现跳变时,同时用灯光和声音对现场操作人员进行提示,声光报警的指示灯接IOA11 。语音报警是指语音输出模块将SPCE061A 单片机由DAC1 输出的语音信号由外接喇叭输出,其扬声器报警电路如图3-5所示。图3-5 扬声器报警电路第四章 软件设计4.1系统的总体程序流程系统的总体程序流程:开机后执行主程序,先通过软件初始化,输入/输出(I/O)口和ADC转换,然后设置、启动中断,其次扫描按键,若有按钮按下,LED显示查询状态,若没有按钮按下,LED显示空闲状态,最后返回中断处,进行下一次的扫描。图4-1所示为主程序的流程图。主程序初始化I/O设置和ADC转换设置、启动中断有无按钮按下?LED显示空闲状态LED显示查询状态YN图4-1 主程序流程图4.2系统的中断程序设计(1)中断程序设计:当程序检测到有中断源时,将执行中断程序,图 4-2为中断流程图。中断程序软件时钟启动A/D转换连续采样8次,平均值滤波串口通信返回图4-2 中断程序SPCE061A的结构有三种类型的中断:软件中断、异常中断和事件中断。而本设计中采用的是事件中断。事件中断可分为两种方式:快速中断请求即FIQ中断和中断请求即IRQ中断。该系统通过Timer A溢出信号产生FIQ 中断,每0. 25 s中断一次。并在中断服务子程序做相应的操作:如软件时钟、A/ D转换、串口通信等(2)A/D转换SPCE061A内置8通道10位模-数转换器,其中7个通道用于将模拟量信号(如电压信号)转换为数字量信号,可以直接通过引线(IOA0-6)输入;另一个通过IOA7只应用于语音输入,即通过内置自动增益控制的麦克风通道输入。实际上,可以把模数转换器(ADC)看作是一个实现模/数信号转换的编辑器,在ADC内,由数模转换器DAC0和逐次逼近寄存器SAR组成逐次逼近式模/数转换器。向P_ADC_Ctrl(写)单元第0位(ADE)写入1可激活ADC。系统默认ADC采用自动方式工作,用那个键ADC的最高速率限定为(Fosc/32/12)Hz,如果速率超过此值,当从P_ADC(读)单元读出数据时会发生错误。 当10位A/D转换完成时,RDY会被置为1。此时,用户通过读取P_ADC(7014H)或P_ADC_MUX_Data(702CH)单元就可以获得10位A/D转换的数据。从该单元读取数据后,又会使RDY自动清0来重新开始进行A/D转换。若未读取数据,RDY继续保持为1,不会启动下一次的A/D转换。而外部信号是由LIN_IN1-7,即IOA0-6或通道MIC_IN输入。实际程序中,连续采样8 次现场数据,进行平均值滤波,,该平均值为A/ D 转换结果。(3)串口通信设计SPCE061A内置有2个串行通信模块,一个是通用异步串行通信UART,主要用于异步串行通信;另一个是串行外围设备模块SIO,主要用于扩展串行存储器。该系统采用的是SPCE061A 单片机的UART的串行接口13,该接口为全双工标准的串行接口,用于完成SPCE061A与外设(如PC机)之间的串行通讯。借助于IOB口得特殊功能和UART IRQ中断可以同时完成数据的接收和发送。而UART模块的接收管脚RX和发送管脚TX分别与IOB7和IOB10 共用。在进行通信时,为保证UART 的正常通信,必须将 IOB7 和IOB10 应分别被设置成输入和输出口。虽然,计算机的RS-232端口与一般计算机上的UART接口从数据收发的时序上看是一样的协议,但是表示逻辑的“1”,“0”的规定电平是不一样的,即电平是不兼容的,故单片机不能直接与计算机的串行口通信,故单片机应采用RS-232C通信标准。第五章 结 论根据实际应用的需要,本系统采用了相关领域的新技术和新器件,结合了基于SPCE061A单片机的电压监测仪具有可实时采集、记录、显示电网中的电压值,并存储电网中的电压跳变的时间和进行声光报警的优点,另外,该仪表通过无线通信的方式,将现场采集的数据发送到远端操作站的上位机,由上位机的监控软件对现场数据进行处理,使其成为对监测电压的理想系统。该智能监测系统具有多种功能,通过对本系统的研制和测试,该系统具有结构简单、性能可靠、灵敏度高、智能化等特点,研究结果表明:本系统对于高压电路以及远程控制的电网可以准确计数、显示,并将计数结果进行存储和处理,且能与计算机实行实时传输,方快捷、易操作,为电压监测管理提供原始数据。然而,随着社会的进步,该系统还有很多需要改进的地方,例如:电压在发生跳变时,不能过滤随机干扰的系统电压,不能提高采集精度,缺乏安全可靠的数据备份等等,在这些方面都需要有很好的改进。参考文献1 李战胜,方康玲,付旭.基于SPCE061A单片机实现的电压在线监测系统D.湖北:武汉工业学院电气信息工程系,2005 2 凌阳科技.凌阳16位单片机开发实例M.北京:北京航空航天大学出版社,2006:8-223