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

发布者:草莓熊猫最新更新时间:2006-11-28 来源: 电子设计应用关键字:SoC  CDMA  编程 手机看文章 扫描二维码
随时随地手机看文章
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是整片修改的,所以修改之前要把所有数据读到缓冲区,将要修改的字节改掉,再把整片擦除,然后把数据写入。虽然写比较麻烦,但是读取很方便,所以用它存放一些不经常改动而且需要掉电保持的数据,如模拟量的修正值等;实时时钟内114字节的RAM读写速度较快,而且访问方便,所以用它存放需要掉电保持的中间变量,这样可以随意读写;8KB的E2PROM受总线逻辑的限制,读写较慢,但数据区较大,用来存放功能的设定值,在程序初始化的时候把它读出并放到中间变量区,以后不对其操作,修改内部数据操作不宜在中断中进行,防止延长中断时间。

看门狗
本文采用的是22.1184MHz晶振,那么看门狗监控时间最长只有47.4ms,这对实时性要求不高。本文采用中断喂狗的方式。一般来说单纯的中断喂狗是不可以的,因为程序中起作用的是主循环,而当主循环进入非正常状态时,中断往往还在进行,所以用中断喂狗还需主循环配合。这里采用的是5ms中断喂狗,在中断中用变量a累加,当a累加到100时,就不再喂狗;而主循环内不断将a清0,这样就可以把看门狗的时间延长到500ms。

模拟量滤波
C8051F064的ADC是逐次逼近型的,虽然速度快至1MSPS,但数据的抖动特别大,所以在混合系统中应用时,外围一定要加滤波电路,如果在硬件设计中没有考虑也没关系,可以充分利用它的速度,在内部采用软件滤波的方式。本系统对模拟量的采集速度要求不高,只求稳定和准确,在内部采用了20个点的中位值平均滤波,然后再用20次平均值算法,这样,就算外围没有任何滤波措施,也能得到很好的效果。

从单元结构
从单元采用底板加模块的方式,在底板上布置4个模块的位置,这几个位置的接口要完全相同,这样可以灵活配置点数。按照系统要求,所有的I/O点都要进行电气隔离,就不需要选择带ADC和DAC的单片机了,只需要有足够的GPIO就可以了,按照这一原则,本系统选用了C8051F236,如图3所示。从单元保留了主单元设计时的液晶和键盘接口,虽然大部分参数是在主单元内设置的,但保留这个接口可以看到模块的软件版本号等信息,如果将来有参数设置的话,也可以通过这里设定到单片机内的非易失RAM区。

主/从间通信采用Modbus协议,不需要扩展从单元,可以用这个口与外界的Modbus协议设备连接。从单元结构比较简单,单片机只负责很少一部分工作,在此从略。

系统组网
在实际应用中,通常不是使用一个装置,而是将多个装置连接成一个有线或无线网络,有线网络一般采用RS-485结构或拨号方式,在距离较近的系统中使用,由中心站对每个站点进行轮巡;无线网络一般采用电台和CDMA等,与有线网络不同的是,这个链路是要收费的,所以通信就不能采用轮巡方式了。在用电台通信时,往往是距离较远,供电较困难,所以应采用遇变则报的方式,对开关量只要变位就发送,模拟量超过预设的死区范围就发送,由于电台往往采用频分复用的方式,所以每个站都要有自己的时间片,当有数据需要发送时,将数据缓存,当到达自己的时间片时,将缓存数据发送,这样就不会出现数据冲突现象了,也利于降低功耗,这对于太阳能供电的系统是很有利的。单纯的遇变则报是有缺陷的,因为在系统没有变化的时候,他不发送数据,也就不知道是数据没有变化还是这个站点有问题,所以本系统增加了一个整点平安报的功能,就是在每隔固定的时间断,如4小时,所有站点都把自身所有数据发送一次,这样就可以看清问题之所在了。在用CDMA通信时,虽然不存在频分复用的问题,但也要将发送数据分时发送,以免在特定的环境下,大量的数据在同一时间涌入数据中心,造成信道堵塞。

系统的测试与运行情况
系统设计完成后,进行了严格的测试,单片机的运行速度达到了预期的效果,功耗和整体散热情况优于原有的系统。在电磁兼容实验室内进行了快速瞬变、辐射抗扰度、静电放电和电压突变等实验,其指标优于国家对此类产品的要求。同时对系统进行了高温(60℃)和低温试验(-20℃)、恒定湿热、振动、碰撞、绝缘强度等测试,均优于国家标准。在防汛、水网、热网等多种应用中,用这个系统与CDMA和电台等组成无线网络,最多达到60多个点,运行稳定可靠。在楼宇控制系统中,采用RS-485组成的有线网络,也取得了很好的效果。

参考文献
1. [美]Cygnol Integrated Products,Inc.C8051F单片机应用解析.潘琢金,孙德龙,夏秀峰译,北京:北京航空航天大学出版社, 2002
2.Silabs.C8051F06X Data Sheet.http://www.silabs.com.2004
3. 童长飞。C8051F系列单片机开发与C语言编程,北京:北京航空航天大学出版社, 2005

关键字:SoC  CDMA  编程 引用地址:C8051F单片机在远端测控装置中的应用

上一篇:基于AT89C51单片机设计的简易智能机器人
下一篇:C8051F单片机在远端测控装置中的应用

推荐阅读最新更新时间:2024-03-16 12:18

单片机编程语言简介
指令个程序: 欲使单片机工作,必须给它“下命令”,这里的“命令”称作指令,单片机执行不同的指令就可以完成不同的操作。对于一些简单的任务,单片机执行一两条指令就可以完成,但是一些复杂的任务就需要执行很多条指令才可以完成。我们把单片机执行特定控制任务的指令的总和叫做程序。我们编写这些指令总和的过程叫做程序设计。 我们要单片机执行我需要的什么任务时,我们就对其写出任务指令,然后传达(编入)给单片机,让它执行我们的指令。要设计单片机程序,除了要了解单片机指令的含义和用法外,还要掌握指令组合成程序的规则。就跟我们学习英语一样,我们要学习英语的语法和用法规则,才能说好用好流利的英语。 编程语言: 单片机常用的编程语言有:机器语言 汇编语言和
[单片机]
9个经典西门子PLC入门编程案例
01 小车往返运动 用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一边的行程开关后又做返回运动 。如此的往返运动,直到当按下停车按钮后小车停止运动。 ▲ 电气 接线图 I/O分配表 梯形图程序 PLC 接线图 程序调试及结果分析 ▲控制平台操作面板 当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f, 模拟 SQ2被压下)接通,此时小车左
[嵌入式]
9个经典西门子PLC入门<font color='red'>编程</font>案例
IMDT推出配备最新RENESAS RZ/V2H SOC的新型SOM和SBC
IMDT推出配备最新RENESAS RZ/V2H SOC的新型SOM和SBC,为具有视觉AI和实时控制功能的高性能机器人应用服务 基于V2H的SOM(系统模块)和SBC(单板电脑)拥有Quad Cortex®-A55(1.8GHz)CPU和集成AI加速器DRP-AI3,为一系列AI驱动型视觉应用进行了优化。 Renesas RZ/V2H, IMDT SBC 全球领先的尖端视觉和AI驱动型产品和系统供应商IMDT今天宣布,公司新推出了一系列基于新型RenesasRZ/V2H微处理器的高功效、高性价比的即用型系统模块(SOM)和单板电脑(SBC)解决方案。 基于Renesas V2H的IMDT产品系列为机器人、物联
[工业控制]
IMDT推出配备最新RENESAS RZ/V2H <font color='red'>SOC</font>的新型SOM和SBC
plc自由口编程处理
plc做主站的时候,不管PLC连接的是单从站还是多从站,主站程序都应该考虑到从站会发生故障,从站故障有两种,一种是有故障,但不影响和主站通讯,另一种是有故障,不能和主站通讯,例如从站掉电,通讯线故障或者从站本身故障导致的不能和主站通讯。 对于后者,主站在发送后,从站是不会回复数据的,主站不能等,而应该结束RCV接收状态,然后发送,那么为什么和如何结束RCV接收状态呢? 一  为什么要结束RCV接收状态呢? 发送指令XMT将数据发送出去就完事,而接收RCV不一样,一次完整成功的RCV过程需要以下步骤: 1  使能位:SM87.7=1/SM187.7=1,执行RCV的时候会检查该位 2  执行RCV 3  等待消息起始条件 4  接收信
[嵌入式]
SoC验证与Siloti能见度自动增强系统【SpringSoft】
2011年3月1日台湾新竹 — 专业化IC设计软体全球供应商SpringSoft今天宣布,具备顺畅、方便好用的系统芯片(SoC)验证与侦错流程的Siloti™能见度自动增强系统开始供货。这个最新的软件版本纳入了全新可重复利用的特性分析数据库,减少多余的分析时间;并且在运用SpringSoft Verdi™自动化侦错系统执行侦错时,可以加速设计准备时间,比旧版系统快10倍以上。 SpringSoft的Siloti系统从逻辑模拟记录所需的最基本信号资料,实现对复杂IC与SoC设计功能特性的完全能见度。这个流程使仿真成本降到最低,并提供资料让Verdi系统用来实现更高效率侦错与分析。这个全新Siloti版本让工程师们能够选择最
[半导体设计/制造]
SoC用数字控制电源和开关电容器电源成为热点
  2010年2月8日开幕的“ISSCC 2010”的“Session 10: DC-DC Power Conversion”是一场开关电源技术研讨会。此次的热点是,开关电源的数字反馈控制(论文序号10.2,10.4)技术、微细CMOS工艺用完全片上型开关电容器电源(论文序号10.7,10.8)技术以及极型无线发送设备用电源调制电路的高效化宽频带化技术(论文序号10.1)。另外,在2009 年的ISSCC上,电源技术研讨会是与class-D型音频放大器技术研讨会合办的,而此次是单独举行的。 开关电源的数字化又进了一步   台湾台积电(TSMC)发布了利用40nm CMOS工艺制造的降压型开关电源(论文序号10.2)。为了在1.
[电源管理]
ON Semi高度灵活的RSL10 SoC在贸泽开售
2018年1月22日 – 专注于新产品引入 (NPI) 并提供极丰富产品类型的业界顶级半导体和电子元件分销商贸泽电子 ( Mouser Electronics ) 即日起备货 ON Semiconductor 的 RSL10 多协议片上系统 (SoC)。此款通过蓝牙® 5认证的多功能SoC支持低功耗蓝牙技术以及2.4 GHz 专属或定制协议栈,能为各种应用提供 超低功耗 无线连接。 贸泽电子供应的 ON Semiconductor RSL10 SoC搭载48 MHz Arm® Cortex®-M3处理器,其中的32位双哈佛 (Harvard) DSP内核支持无线音频通信所需的音频编解码器。此器件同时具有闪存和RAM,通过多样
[物联网]
ON Semi高度灵活的RSL10 <font color='red'>SoC</font>在贸泽开售
关于对于PLC的编程应用和诊断
一、电工知识 哪一个技能是电气工程师最基础的也是最重要的?除了电工知识没有其他,很多在大型国企有过工程经验的都知道,设计院的图纸很多时候与现场实际情况无法匹配,我曾经有幸见到过一个设计院年轻的设计人员,在沟通一些元器件参数时,我们这边告诉她,你设计的很多东西规格都不够,可是设计人员振振有词,说得貌似很有理,我竟无言以对,当然不可以偏盖全,设计院还是有很多高手的,在一些大型项目的统筹上,他们的经验确实很有帮助。 这里我想说的是,电气工程师走进职场的第一步一定要从电工知识开始,缺少这方面的知识注定了后期设计的缺陷。而且没有电工知识的人根本无法判断故障。因此这是最基础的一个技能。 二、PLC编程与应用 PLC被广泛的应用在工业中
[嵌入式]
关于对于PLC的<font color='red'>编程</font>应用和诊断
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved