| 摘要 关键词: SPCE061A,RS485 本系统采用双CPU控制,主机与从机的CPU都是使用SPCE061A单片机。从CPU负责采集七路数据,同时应答主CPU发送的命令。主CPU进行数据处理,数据显示,键盘输入,系统报警,语音播报通道的电压值。在主CPU与从CPU的通讯中,采用国际标准的RS485差分方式接口,使通讯的速率和传输距离均大于RS232的标准接口方式,并且用线最少(只要两根)。本系统实现了一种具有语音播报、语音提示的高性能、高智能的实用型远距离多路数据采集系统。
SPCE061A单片机概述 SPCE061A是继m’nSP系列产品SPCE500A等之后凌阳科技推出的又一个16位结构的微控制器。目前有两种封装形式:84引脚的PLCC84封装和80引脚的LQFP80贴片封装。主要性能如下: ■16位m’nSP微处理器; ■工作电压:VDD为2.4~3.6V(cpu), VDDH为2.4~5.5V(I/O); ■CPU时钟:32768Hz~49.152MHz ; ■内置2K字SRAM、内置32K FLASH; ■可编程音频处理; ■32位通用可编程输入/输出端口; ■32768Hz实时时钟,锁相环PLL振荡器提供系统时钟信号; ■16位可编程定时器/计数器(可自动预置初始计数值); ■2个10位DAC(数-模转换)输出通道; ■7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器; ■声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能; ■系统处于备用状态下(时钟处于停止状态)耗电小于2mA@3.6V; ■具备触键唤醒的功能; ■14个中断源:定时器A / B,2个外部时钟源输入,时基,键唤醒等; ■使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据; ■具备异步、同步串行设备接口; ■具有保密能力; ■具有WatchDog功能(由具体型号决定) 一、设计功能及要求 1.1 设计要求 设计一个八路数据采集系统,系统原理框图如图1所示,要求主控器能对50米以内的各路数据,通过串行传输线进行采集和显示。具体设计任务是:现场模拟信号产生器。 七路数据采集器 主控器。 图1 系统电路框图 1.2 系统功能 1、实现现场模拟信号产生器,即通过自制一正弦波信号发生器,利用可变电阻改变振荡频率,使频率在200Hz~2kHz范围变化,再经频率电压变换后输出相应1~5v直流电压(200Hz对应1v,2kHz对应5v) 2、路数据采集器 数据采集器第一路输入自制1V~5V直流电压,第2~7路分别输入来自直流源的5V、4V、3V、2V、1V、0V直流电压(各路输入可由分压器产生,不要求精度)。将各路模拟信号分别转换成8位二进制数字信号,在经并/串变换电路,用串行码送入传输线路。 3、主控器通过串行传输线路对各路数据进行 采集和显示。采集方式包括循环采集(即1路、2路……7路、1路……)和选择采集(任选一路)二种方式。显示部分能同时显示地址和相应的数据。 4、主机实现语音操作提示和播放各通道电压的功能,故障报警功能。 二、方案设计与论证 方案一: 该方案的系统原理框图如图2所示,它能完成所要求的功能。但是存在不足之处是:编程不方便,主要是A/D接口和RS485接口编程不方便。 图2 方案一系统框图 方案二: 该方案的系统原理框图如图3所示,它使用SPCE061A单片机作CPU,该CPU内核具有模块化的结构。 图4 系统框图 3.2 系统的各部分电路设计 3.2.1 主机电路 本系统是基于61板实现的,主机的系统电路如图5所示,其中61板的电路主要包括MIC输入电路、音频输出电路、电源部分、PROBE接口电路。所以在主机的电路中,只需外接按键电路、三个LED电路、RS485接口电路 图5 主机系统电路图 3.2.2 从机系统电路 从机系统的电路如图6所示,由于SPCE061A内置7路10位AD电路,采样的电压范围为0-3.3V,所以在采样0-5V的电压时候,需要外接分压电阻。另外,从机系统的还有一个RS485接口电路。 图6 从机系统电路图 3.2.2 数码显示电路 本系统的显示部分采用3个数码管显示,数码管电路采用“共阴”“动态”连接,阴极公共端(com)由晶体管推动,详细电路如图7所示。  图7 数码显示电路 3.2.3 键盘输入电路 本系统使用4*3键盘,它的详细电路如图8所示。
图8 按键电路 3.2.4 模拟信号产生器 本系统使用的模拟信号产生器电路由两部分组成:1、正弦波信号发生器2、频率电压变换电路。1.正弦波信号发生器正弦波信号发生器电路如图9所示,其中ICL8038V/F转换芯片,该IC属于积分型施密特压控多谐振荡器,工作范围为:0.001Hz~300kHz,完全可以达到设计要求。调节滑动电阻可改变正弦波的输出频率。  图9 正弦波信号发生器 2、频率电压变换电路 频率电压变换电路如图10所示,它的输入信号为正弦波信号。正弦波信号经放大,变为方波信号作为LM331芯片的输入信号。调节滑动电阻P3,P4,使得200Hz对应1V输出,2kHz对应5V输出。  图10 频率电压变换电路 3.2.5 1V到5V转0.66V到3.3V输入电路 由于SPCE061A的A/D最高采样的电压值为3.3V,所以根据系统的要求,设计1V到5V转0.66V到3.3V输入电路,它的详细电路如图11所示。  图11 1V到5V转0.66V到3.3V输入电路 3.2.6 RS485接口电路 本系统用到的RS485的接口电路如图12所示,其中R1为阻抗匹配电阻,在传输距离比较短的情况下,可以不用。MAX3485使用半双工通讯,其中A与B口采用差分实现传输,RO口为读数据用,RE_N为读使能位(低电平有效),DE口为写数据使能(高电平有效),DI口为写数据用。  图12 RS485接口电路 四、软件设计
4.1 从机系统的主程序流程 从机系统的主程序流程如图13所示。从机主要负责循环采集7路数据和命令判断,在没有接收到主机的命令的时候,一直做循环采集,并存入Buffer,以便增强统的响应速率。 图13 从机的主程序流程图 4.1 从机系统的中断程序流程 从机系统的中断程序如图14所示,它是UART接收数据完毕IRQ7中断,它是用于接收主机发送的命令字。 图14 从机系统的中断程序 4.2 主机系统的主程序流程 主机系统的主程序流程如图15所示,主机系统主要负责按键处理、语音播报、发送命令给从机,同时进行采样显示。
图15 主机系统的主程序流程图 4.3 主机系统的按键处理流程 主机系统的按键流程如图16所示。 图16 主机系统的按键处理流程 4.4 主机发送命令接收数据的流程 主机系统发送命令,接收数据的流程如图17所示。
图17 主机发送命令接收数据的流程 4.5 主机系统中断程序FIQ和IRQ5流程 主机系统使用两个中断资源,其中FIQ的TimerA中断用于播放语音数据,该中断的程序流程如图18所示;其中2Hz中断用于循环采集,它用于定时用,每隔2妙循环采样一次,该中断的流程如图19所示。 图18 主机的播放语音中断  图19 主机系统2Hz中断流程 五、系统测试及整机指标 5.1 系统测试 第一路测试结果如表2所示 表2 | 显示值(v) | 5.0 | 3.3 | 2.6 | 1.8 | 0.5 | | 实测值(v) | 5.0 | 3.3 | 2.6 | 1.8 | 0.5 | 第二、三、四、五、六、七路测试,结果如表3所示 表3 | 通道数 | 二 | 三 | 四 | 五 | 六 | 七 | | 显示值(v) | 5.0 | 4.0 | 3.0 | 2.0 | 1.0 | 0.0 | | 实测值(v) | 5.0 | 4.0 | 3.0 | 2.0 | 1.0 | 0.0 | 5.2 整机指标 采集部分 1、采集通道数:7路 2、采集精度:10位A/D转换 通讯部分 1、传输信号电平幅度:-7V~+ 12V 2、传输线数目:2根 主控制器部分 1、数据显示状态:2种(循环和手动) 2、循环显示周期:2秒 3、显示精度:0.1V 六、总结 使用SPCE061A开发数据采集系统,具有很大的市场前景。首先,它的易学、易用的编程语音、开发环境,可以使初学者迅速入门;其次它具有模块化的结构,内置7路10位的AD,简化用户的电路设计;再者,它具有语音识别、音频处理功能,使得用户可以开发出更智能化的产品。 七、参考资料 1、MAX3485数据手册 2、SPCE061A原理与应用教材书 3、http://www.unsp.com.cn 4、ICL8038数据书册 5、LM331数据手册 6、模拟电子技术基础------清华大学电子学教研组 编(董诗白 主编) 7、全国大学生电子设计竞赛——1994年获奖作品选编
附:系统使用说明本系统的使用操作比较简单,主要依照语音提示操作即可。 1.键盘说明 用户主要是根据语音提示对主机的输入键盘进行操作。系统的键盘定义如表4所示: 表4 系统键盘定义 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | play | | S_Sample | C_Sample | Enter | Cancel | 表1中的各个按键说明如表5所示。 表5 按键功能说明 | 按键 | 功能 | | 1-7 | 为数据键,用于选择通道号。 | | play | 按下该键的时候,可以播放通道电压值。 | | S_Sample | 按下该键时候,进入“选择采集”模式,系统语音提示“模式选择完毕”、“请输入通道号”。 | | C_Sample | 该键被按下,就选择“循环采集”各通道模式。 | |
来源: 作者: 2006/9/25 16:50:53
| |