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

发布者:EtherealMelody最新更新时间: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单片机设计的简易智能机器人
下一篇:EM78系列单片机在红外遥控系统中的应用

推荐阅读最新更新时间:2024-05-13 18:15

51单片机汇编语言编程:用定时器控制输出矩形波
80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲。 波形只画出了2段:一段为100us 另一段为50us。 要完全的、完整的、详细的编写此程序的过程!谢谢 ------------------------ 最佳答案: 用一个定时器定时50us,也可以达到题目要求。 在我的空间里面有类似的问题和解答。 ORG 0000H SJMP START ORG 001BH ;T1中断入口. SJMP T1_INT START: MOV TMOD, #20H ;设置T1定时方式2 MOV TH1, #206 ;自动重新装入方式. MOV TL
[单片机]
基于GPIB和计算机并行口的SoC自动化测试方案
  引言   GPIB(通用接口总线)是国际通用的标准仪器接口。测试仪器供应商一般都提供丰富的GPIB指令集,用户可以直接调用通讯命令,从而大大缩减底层搭建的工作量。   计算机打印接口应用扩展   计算机打印接口(LPT1,也可称为并行口)有三个端口,包括数据输出端口(端口地址为0378H)、状态输入端口(0379H)和命令输出端口(037AH)。一般情况下,计算机打印接口的三个端口通过25脚D型插接件与打印机连接,实现数据、状态和命令信息的传送。本文设计的SoC自动化测试方案主要应用数据输出端口,该端口有一个8位数据输出寄存器,其I/O特性如表1所示。      表1 并行端口数据输出位特性   对数据输
[测试测量]
基于GPIB和计算机并行口的<font color='red'>SoC</font>自动化测试方案
单片机C语言编程:TIMER0 控制流水灯
/* 名称:TIMER0 控制流水灯 说明:定时器控制 P0、P2 口的 LED 滚动显示,本例未使 用中断函数。 */ #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int //主程序 void main() { uchar T_Count=0; P0=0xfe; P2=0xfe; TMOD=0x01; //定时器 0 工作方式 1 TH0=(65536-40000)/256; //40ms 定时 TL0=(65536-40000)%256; TR0=1;
[单片机]
由AT91 M55800A构成的简易数据采集方案
0 引 言 在计算机测量、控制及信号处理中,数据采集发挥着至关重要的作用。数据采集是获取数据的重要手段,它是从传感器或其他待测设备等模拟或数字被测单元中自动采集信息的过程。而采用ARM内部的A/D转换资源,具有转换速度较高、工作可靠、设计的复杂度较低等优点。同时,ARM还具有体积小、运算速度高,A/D转换分辨率较高的特性,使ARM得到了广泛的应用。本文利用ATMEL公司ARM7系列中的AT91M55800A设计了一个简易的数据采集方案。该方案具有结构简单、开发容易,可靠性强、价格低廉等特点,有一定的实用价值。 1 数据采集方案的结构和功能 方案结构如图1所示。 该方案是由接收、A/D转换和处理、输出3部分组成。本方案以AT
[工业控制]
威视芯首颗智能高清电视SoC 回片点亮,四季度量产
威视芯半导体(合肥)有限公司宣布,旗下首颗智能高清电视处理主芯片(SoC)于7月6日回片点亮,7月9日实现完整视频通路全部调通、芯片功能正常,标志着智能电视SoC的国产化向前迈进了重要一步。 威视芯半导体是一家总部位于合肥的全球化IC设计公司,在上海、台湾、美国硅谷、荷兰埃因霍温和越南河内设有研发及技术支持团队。2018年,公司在临芯投资主导下,成功收购原纳斯达克上市公司Sigma designs的智能电视芯片相关业务,同年于合肥设立威视芯半导体(合肥)有限公司。公司在超高清音视频领域拥有全球领先的技术和业界完整的专利储备,其产品目前主要应用于智能电视、智能商显、智能投影、智能机顶盒和AI音视频系统终端等领域。 本次
[嵌入式]
威视芯首颗智能高清电视<font color='red'>SoC</font> 回片点亮,四季度量产
Dialog推出首款具有系统在线编程功能的可配置混合信号IC
中国北京,2018年2月1日 – 高度集成电源管理、AC/DC电源转换、充电和蓝牙低功耗技术供应商Dialog半导体公司(德国证券交易所交易代码:DLG)日前宣布,推出可配置混合信号IC(CMIC)GreenPAK™ SLG46824和SLG46826,这是继Dialog收购CMIC技术开创者和市场领导者Silego Technology公司后首次推出CMIC新品。 SLG46826和SLG46824是市场上首款采用简单的I2C串行接口支持系统在线编程的CMIC。通过允许将一个未编程的GreenPAK芯片安装在PCB板上,在系统内对非易失性内存(NVM)进行编程,简化了开发流程,轻松实现系统设计。该灵活性还为生产环节带来便利,
[半导体设计/制造]
LCD1602四线编程方法程序设计实例
第一次调4线的 LCD 1602,比较困难,或者因为延迟不对,或者因为命令错误,我足足用了一天时间,搞定了4线的1602编程实现。这里提供51 单片机 和LPC23XX系列单片机的程序。51的程序是我上网找的,可以参考里面的实现步骤,可以直接仿真,但是不知道烧到板子里是否可以。LPC23XX系列单片机的程序可以直接烧写板子里运行,注意里面的管脚定义,因为在proteus里没找到对应的芯片,这里不知是否可以仿真。 51程序 #include reg51.h sbit LCM_RW=P2^0; //定义引脚 sbit LCM_RS=P2^1; sbit LCM_E =P2^2; #define LCM_Data P1 #defin
[单片机]
PLC自动化解决方案-ABB可编程逻辑控制器优势及选型应用
随着自动化技术的不断发展和应用,可编程逻辑控制器(PLC)已经成为现代工业控制系统中不可或缺的一部分。ABB作为全球领先的自动化技术供应商之一,其可编程PLC控制器在工业控制领域中也占据着重要地位。 一、ABB可编程PLC控制器优势 1.具有高可靠性和高稳定性,能够长时间运行而不出现故障,在恶劣的工作环境下稳定运行。 2.具有高灵活性和可扩展性,可以根据用户的需求进行定制和扩展 3.具有友好的用户界面和丰富的功能,易于操作和使用。 4.具有高效的运行速度和多种通信接口,使其能够满足不同工业应用的需求。 ABB可编程PLC控制器 二、ABB可编程PLC控制器应用 ABB可编程PLC控制器具有高可靠性、高稳定性和高灵活性的特点
[嵌入式]
PLC自动化解决方案-ABB可<font color='red'>编程</font>逻辑控制器优势及选型应用
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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