Cygnal在片系统单片机的特点与应用

发布者:科技先锋最新更新时间:2006-09-29 来源: 单片机与嵌入式系统ic网关键字:单片机  寄存器  报警 手机看文章 扫描二维码
随时随地手机看文章

1引言

  Cygnal C8051F系列是全集成混合信号在片系统单片机。
在片系统随着半导体生产技术的不断发展,集成度越来越高,对嵌入式控制技术可靠性要求也越来越高而产生的新概念,即SOC(System on chip),意思是整个系统都高度集成在一个芯片上。本文通过使用Cygnal C8051F000制作一个智能故障分析报警仪,介绍Cygnal C8051Fxxx系列全集成混合信号在片系统单片机的特点,及其在智能仪器中的一般使用方法,和一些需要注意的问题。

  故障分析报警仪的原理:从4个不同点采集电压和电流数据,综合分析,得出故障的原因和位置,相应地提供报警、显示和电路切除。

2C8051F000单片机简介

2.1片内资源概况

  (1)12 位8通道输入ADC;
  (2)2路12位DAC;
  (3)2路电压比较器;
  (4)电压基准(内部、外部);
  (5)内置温度传感器(±3 ℃);
  (6)16位可编程定时计数器(PCA)可用于(PWM);
  (7)4个通用16位定时器;
  (8)32个通用I/O口;
  (9)带有I2C/SMBus,SPI,UART串行总线;
  (10)32 k Flash存贮器;
  (11)256数据RAM
  (12) 片内电源监测片内看门狗定时器片内时钟源。

2.2主要特点

  (1)高速的(20~25 MIPS)与8051全兼容的微控制器内核;
  (2)Flash存贮器可实现在线编程和用于非易失性数据存贮(E2 PROM的作用);
  (3)工作电压典型值为3 V (2.7~3.3 V), 全部I/O,RST,JTAG引脚均允许5 V电压输入

  (4)全系列芯片均为工业级(温度范围-45~+85 ℃);
  (5)片内JTAG仿真电路提供全速、非插入式(不使用在片资源)的电路内仿真。支持断点、
单步观察点、运行和停止等调试命令,支持存贮器和寄存器校验和修改。

3系统设计

3.1硬件设计

  由在片系统单片机构成故障分析报警仪的硬件电路非常简单,系统硬件组成框图如图1所示。

  系统的核心是一片8051F000微处理器。由于没有复杂的数字信号处理,8051F000内部的256b RAM已够使用,因此没有扩展外部数据存储器,当然也可以选用带有大容量外部RAM的8051Fxxx系列单片机,来应对复杂的数字信号处理。32 k的内部Flash ROM也足够程序存储和配置参数等非易失性信息的存储。

  外接100 kHz RC方式外部时钟,用于低功耗设计。

  4个按键:由于I/O口很多,而键盘数目又很少,因此采用简单的非编码键盘,工作于中断方
式。

  LCD显示(16字符×2行):采用由HD44780构成的液晶显示模块。

  输入电路由测量变压器、精密检波电路构成:电压互感器和电流互感器将被测电压和电流变换至精密检波电路所能接受的信号,然后经精密检波电路传送给8051F000的A/D。

  输出控制电路由P1口输出控制信号,控制8路固态继电器的接通和短开。

3.2软件设计

  软件设计有几点需要注意:

3.2.1如何从应用程序写Flash

  (1)要点
  在线编程允许将Flash像E2PROM一样用于非易失性信息的存储,用MOVC指令读取(MOVC a,@A+DPTR),用MOVX指令写入(MOVX @A+DPTR, a)。Flash 是按一系列512 k的页组织的,另外还有一个128 k的页,该页位于Flash的顶部,起始地址为0x8000 。由于写操作只能写入0, 因此在写一个Flash字节之前,包含该字节的页必须首先被擦除(使该页中的所有位都为1),该字节必须被初始化为0xFF,一个Flash 擦除操作将一页内的所有字节初始化为0xFF。含有读锁定字节和写/擦除锁定字节的Flash 页不能由用户软件擦除(但是,该页可以由用户软件写入),该页只能通过JTAG 接口擦除。
  (2)擦除一个Flash页
  在进行Flash写或擦除之前,必须根据当前的系统时钟设置FLSCL中的FLASCL位,在进行写之前必须将PSWE置1。在进行Flash擦除之前,必须将PSWE和PSEE置1。
  一个Flash页可以通过下述过程擦除:
  ①根据当前系统时钟频率值按C8051F000数据表的说明设置FLSCL(当使用缺省的2 MHz内部振荡器时,FLSCL=0x86)。
  ②通过向PSCTL写入03 H使PSWE和PSEE置1。

  ④如果不再进行擦除操作,将PSEE设置为‘0’。
  擦除每个页需要10~20 ms的时间。注意CPU内核在Flash擦除过程中停止工作,但外设(像ADC,UART,SMBus和定时器)仍然工作。在擦除过程中产生的任何中断都将被挂起,直到该过程结束。在写一个Flash字节期间CPU的工作情况与此相同。
  (3)写一个Flash字节

  (4)更新Flash 中的数据
  当保存一组配置信息时,经常需要在一组字节中单独改变某个字节的数值。单独更新某个字节(或字节子集)的一般过程如下:
  ①将Flash页拷贝到一个临时存储区(RAM或一个已被擦除的‘临时’Flash页)。
  ②擦除Flash页的数据。
  ③将前面存储在临时存储区的内容复制到Flash页中。

3.2.2模拟开关和PGA的编程

  AMUX中的8个通道用于外部测量,而第9通道在内部被接到片内温度传感器(温度传输函数如图2所示)。

  注意,PGA的增益对温度传感器也起作用。可以将AMUX输入对编程为工作在差分或单端方式。这就允许用户对每个通道选择最佳的测量技术,甚至可以在测量过程中改变方式,在系统复位后AMUX的默认方式为单端输入。

  有2个与AMUX相关的寄存器:通道选择寄存器AMX0SL和配置寄存器AMX0CF。PGA对AMUX输出信号的放大倍数由ADC配置寄存器ADC0CF中的AMPGN20确定。PGA增益可以用软件编程为0.5,1,2,4,8或16。复位时的增益为1。

3.2.3ADC可编程窗口检测器

  ADC可编程窗口检测器在很多应用中非常有用。他不停地将ADC输出与用户编程的极限值进行
比较,并在检测到越限条件时通知系统控制器。这在一个中断驱动的系统中尤其有效,既可以节省代码空间和CPU带宽又能提供快速响应时间。窗口检测器中断标志(ADC0CN中的ADWINT位)也可被用于查询方式。参考字的高和低字节被装入到ADC下限(大于)和ADC上限(小于)寄存器(ADC0GTH,ADC0GTL,ADC0LTH,ADC0LTL)。需要注意一点,窗口寄存器标志既可以在测量数据位于用户编程的极限值以内时有效,也可以在测量数据位于用户编程的极限值以外时有效,这取决于ADC0GTx和ADC0LTx的编程值。

3.3抗干扰对策

  C8051F000内部集成了WATCHDOG电路,使用非常方便。在设计程序时,应该采用软件陷阱。
同时,应对突发干扰,采用滑动平均滤波法,去除最大值和最小值,再求平均值。

3.4低功耗设计

  C8051F000单片机有内部独立的时钟源,同时可接外部时钟,并可在程序运行时实现内、外
部时钟的切换,此功能在低功耗应用系统中非常有用。设置一个低频外部时钟,在程序空闲或需节能时,使OSCICN寄存器中的CLKSL位置1,切换到外部时钟。当然,也可以通过改变OSCICN寄存器中的IFCN1,IFCN0位的值来改变系统内部时钟的频率。同时,MCU可以关闭单个或全部外设以节省功耗。巧妙地设计程序,节能效果非常好。

4结语

  总的来说,Cygnal C8051Fxxx系列全集成混合信号在片系统单片机是一种性价比非常高的新51系列单片机,非常适合老式模拟仪器数字化改造和旧51系列单片机仪表的升级换代。

参考文献

1]张毅刚,彭喜源,谭晓昀MCS51单片机应用设计[M]. 哈尔滨:哈尔滨工业大学出版社,1997
2]Cygnal C8051Fxxx数据手册[DB/OL]

关键字:单片机  寄存器  报警 引用地址:Cygnal在片系统单片机的特点与应用

上一篇:基于单片机的嵌入式SNMP代理器设计与实现
下一篇:构造一个51单片机的实时操作系统

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

PIC单片机的LCD例程1
; LCD_F84.ASM ; LCD_RESET - provides a means for the user to manually reset the LCD ; - brings RA.0 (serial lead) low for 2.5 secs. During this ; time, the user should manually reset the LCD. ; - routine then clears the LCD and ouptuts ten dots. ; - LCD is then cleared again. ; - W and STATUS are saved. ; LCD_DEBUG ; -
[单片机]
基于AT89C51单片机低成本温度控制实验系统
  笔者在电子市场购买了一块3.6V450mAh的锂离子充电本文介绍一种以AT89C51单片机为核心的低成本温度控制实验系统。该系统采用温度传感器DS18820实现一线数字式测温,经过PID算法输出PWM波,再由PWM信号控制固态继电器,调节热阻丝发热功率,最终达到控制被控对象温度的目的,该系统还扩展了人机接口和串口通信,实现温度设定、控制及图像显示。   硬件设计   1.总体设计   系统结构框图如图1所示,以AT89C51单片机为控制核心,DS18820电池,外型尺寸完全符合原机的内部空间要求。按照正确的正负极性焊连到 电路 中即可完成电池的更换工作。实际使用效果极佳,连续播放时间超过了7个小时(图4)。测量被控温度
[单片机]
基于AT89C51<font color='red'>单片机</font>低成本温度控制实验系统
基于单片机的Internet连接技术与方法
0引言   目前,Internet已成为当今信息社会的重要组成部分,Internet技术将日益深入到生活和各种智能设备中。单片机应用领域,以往那种由一块单片机组成的系统已无法满足现代工业、生活等各方面的需求,人们开始利用各种局部总线,如CAN、RS232、RS485等,将多块单片机连接起来形成局域网,这种方案在一定程度上解决了信息交换的问题。为了获得更大程度的信息交换,如果能将单片机系统连上Internet网,则可以真正实现远程监控,系统维护人员可随时随地通过互联网直接读取系统当前状态参数,了解系统运行状况。当系统出现故障时,可及时采取正确的补救措施。现在,各种工业智能电器、智能仪表和智能家电内部都嵌有微处理器,但是由于各种微处
[单片机]
基于<font color='red'>单片机</font>的Internet连接技术与方法
51单片机项目 门禁系统
/** * 项目名:门禁系统 * 文件名:main.h */ #ifndef _MAIN_H #define _MAIN_H sbit RELAY_PIN = P0^4; sbit BUZZER_PIN = P0^6; void sys_init(); void samplingDS1302(); void samplingUlt(); void initDispMode1(); void initDispMode2(); void initDispMode3(); void refreshTimeDisplay(); #endif /** * 项目名:门禁系统 * * 7:00-22:00
[单片机]
ARM体系寄存器
1.CPSR(current program status register)CPSR包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息. 2.SPSR(备份程序状态寄存器)当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSR。 3.SP(堆栈指针寄存器)用于保存堆栈的出入口处地址。 4.PC(程序计数器)指向正在取指的指令。 5.LR(链接寄存器)存放子程序的返回地址。
[单片机]
单片机红外线遥控系统分析
  吊车是工厂、车间中一种常用的搬运工具。其动力一般是交流电动机。吊车在空间可进行上、下、左、右、前、后的运行。控制吊车的方法一般有两种:一种是操作人员在悬挂于吊车横梁上的操作室进行控制;另一种是将控制电机的按钮用控制线引到地面,操作人员在地面进行控制。但在工作中,感到这两种方法都不方便,于是就设计了用红外遥控方式控制吊车系统。 一、工作原理   本系统由红外线发射机(简称发射机)和红外接收机(简称接收机)组成。发射机和接收机中均有8031单片机,具有全双工的串行接口。两机之间就是靠该串行口进行通信的。      本遥控装置的两个8031单片机靠红外光传递信息。发射机串行口输出端驱动红外发光二极管,将数字信息变成红外光脉冲信号发射
[单片机]
<font color='red'>单片机</font>红外线遥控系统分析
再造STM32---第三部分:什么是寄存器
本系列是基于STM32F429野火库进行学习。 3.1什么是寄存器? 我们经常说寄存器,那么什么是寄存器?这是我们本章需要讲解的内容,在学习的过程中,大家带着这个疑问好好思考下,到最后看看大家能否用一句话给寄存器下一个定义。 3.2 STM32 长啥样? 我们开发板中使用的芯片是 176pin 的 STM32F429IGT6,具体见图 3-1。这个就是我们接下来要学习的 STM32,它讲带领我们进入嵌入式的殿堂。芯片正面是丝印, ARM 应该是表示该芯片使用的是 ARM 的内核, STM32F429IGT6是芯片型号,后面的字应该是跟生产批次相关,最下面的是 ST 的 LOGO。芯片四周是引脚,左下角的小
[单片机]
再造STM32---第三部分:什么是<font color='red'>寄存器</font>?
8051单片机供水系统水位控制的硬件电路设计
供水系统水位控制原理 下图是水塔水位控制原理图。图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内,为此,在水塔的不同高度安装固定不动的三根金属棒,以感知水位变化情况。其中A棒处于下限水位以下,C棒处于上限水位,B棒在下限水位处。A棒接+5V电源,B棒、C棒各通过一个电阻与模拟地相连。 水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。供水时,水位上升,当达到上限时,由于水的导电作用,B棒、C棒连通+5V电源,因此,b、c两端均为高电平“1”状态。这时,应停止电机和水泵的工作,不再给水塔供水。 当水位降到下限时,B棒、C棒都不能与A棒导通,因此,b、c两端均为“0”状态。这时,应启动电机,
[单片机]
8051<font color='red'>单片机</font>供水系统水位控制的硬件电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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