由ADuC812与K9S6408V0A构成的便携式数据采集系统

2006-05-07 15:49:29来源: 国外电子元器件

另外,MCU还支持看门狗定时器、电源监视器以及ADC等DMA功能。同时它还为多处理器接口和I/O扩展提供32条可编程的I/O线、I2C兼容的SPI和标准UART串行端口I/O。它的MCU内核和模拟转换器均有正常、空闲以及掉电工作模式,可提供适合于低功耗应用的灵活的电源管理方案。

    ADuC812的AD转换模块内的所有部分均能方便的通过3个SFR来设置。

    因此可见,ADuC812本身就是一个内嵌MCU的高性能多通道数据采集系统,只是内部的数据存储器容量有限。如果需要存储大量数据的数据采集系统,则可外接数据存储器。本文介绍的即属这类系统,则可外接数据存储器。本文介绍的即属这类系统,它是利用一片外接 K9s6408V0A闪速存储器来设计的,其数据容量可达8M字节。

1 K9S6408V0A简介

    K9S6408V0A为22脚表面封装器件,内部有(8M+256k)bit×8位存储空间,可组织成16384行,528列,其中后备的16列的列地址编码为513至527。可进行528字节为一页的读、写和以8k字节为一块的擦除操作。一个528位的数据寄存器可以用于在页读或页编程操作时存储单元的数据转换。

    K9S6408V0A的突出优点在于其命令、地址和数据信息均通过8条I/O线传输,寻址内存单元的地址线不作为芯片的引脚。23位地址分三次写入地址寄存器,译码后找到相应的单元。对单片机而言,当需存储空间超过64k时,寻址存在一定的困难,而且系统的连线比较复杂,可靠性低。采用这种快闪存储器既可克服以上困难,又便于升级至更大容量而无须更改外部连接。图1为其功能框图。其中的信号线功能如下:

    CLE:命令锁存使能。当其为高时,命令通过I/O口在WE信号的上升沿被锁入命令寄存器。

    ALE:地址锁存使能。当其为高时,地址在WE信号的上升沿被锁入地址寄存器;为低时,锁定输入数据。

    CE:片选。在读操作期间,CE变高,器件转入standby模式;在编程或擦除期间,器件处于忙状态,CE高将被忽略。

    WE:写使能。命令、地址和数据在WE信号的上升沿被锁定。

    RE:读使能。下降沿有效。

    WP:写保护。在电源电压过渡期间,当WP为低电平时,将产生写/擦保护。

    R/B:操作状态指示。为低时,指示正在编程、擦除或读操作,操作结束后变成高,为开路输出。

    I/O口:(I/O0~I/O7)三态。输出命令、地址和数据以及读操作时输出数据。

2 ADuC812与K9S6408V0A的接口

    K9S6408V0A与ADuC812的连接非常简单,并可为以后的升级提供良好的条件。基硬件接口电路如图2所示。连接时用ADuC812的P3口的P3.0~P3.3分别与K9S6408V0A的CE、CLE、ALE和R/B相连接,K9S6408V0A的I/O0~I/O7分别连至ADuC812的P0.0~P0.7,K9S6408V0A的RE、WE分别与ADuC812的RD(P3.7)、WE(P3.6)相连,而ADuC812的P1口(模拟输入口)接至数据采集传感器。这样就构成了一个数据采集系统。ADuC812负责采集,而K9S6408V0A负责存储数据。K9S6408V0A的各种操作具有共同特点,即在I/O口上首先发送操作命令字到命令寄存器,其后的连续三个周期发送要操作单元的地址(顺序为A0~A7,A9~A16,A17~A22,其中A8由命令字确定)。表1为其命令集。

表1 命令集

功能 第一周期 第二周期 忙时接受命令
连续数据输入 80H -  
读一 00H/01H -  
读二 50H -  
读ID 90H -  
复位 FFH - O
页编程 10H -  
块擦除 60H D0H  
读状态 70H - O

    下面以页编程操作为例,给出K9S6408V0A的标准汇编编程方法。而页读以及块擦除等方法则与页编程类似,只是读时是由RE来锁存数据,而擦除时只送两个周期的地址即可。页编程操作可向一个或若干个单元写入数据,以下是页编程操作的程序:

    入口地址:

    R1,R2,R3-欲写入数据所在单元的列地址和页地址;

    R7-写入数据的个数

    R0-源数据指针

    R6-失败标志

    START:MOV DPTR,#XXXXH ;地址

    CLR P3.0 ;片选

    CLR P3.2 ;清ALE

    SETB P3.1 ;置CLE

    MOV A,#80H

    MOVK@DPTR,A ;命令80H

    CLR P3.1 ;清CLE

    SETB P3.2 ;置ALE

    MOV A,R1

    MOVX@DPTR,A

    MOV A,R2

    MOVX@DPTR,A

    MOV A,R3

    MOVX@DPTR,A ;输出地址A0-A22

    CLR P3.2 ;清ALE

    PR1:MOVX A,@R0

    MOVX@DPTR,A

    DJNZ R7,PR1 ;循环写入

    SETB P3.1 ;置CLE

    MOV A,#10H

    MOVX@DPTR,A ;命令10H

    PRAM2:MOV C,P3.3

    JNC PRAM2 ;忙,循环

    SETB P3.1 ;置CLE

    MOV A,#70H

    MOVX@DPTR,A ;命令70H,

    CLR P3.1 ;清CLE

    MOVX A,@DPTR ;读状态

    JNB ACC.0,SUC ;SR.0=0,成功

    ERR:MOV R6,#0FH

    SUC:SETB P3.0

    END

3 系统软件

    本数据采集系统为8通道顺序采集,ADuC812的时钟频率为11.0592MHz,CPU用断方式管理A/D转换器。当A/D转换完成时,向CPU发请求信号,CPU响应中断,中断处理子程序负责对转换的数据进行读出并将其存储至K9S6408V0A,然后通道号加1,相应的Flash存储器地址也加1。图3图4分别为系统主程序和中断处理子程序的流程图。

    下面以标准汇编语言给出本系统的主程序及A/D中断处理子程序。

    ORG 0000H

    FLAG EQU 60H ;外部存储器满标志

    CHAN EQU 61H ;通道号

    JMP MAIN

    ;;以下为中断处理子程序

    ORG 0033H ;A/D中断处理程序入口地址

    CLR EA ;关中断

    MOV R0,ADCDATAH ;转换结果高8位送R0

    LCALL WRITEONE ;写一个数据到外部Flash RAM程序,可参考前面给出的页编程程序段;

    INC R1 ;低位地址加1

    CJNE R1,#0FFH,NEXT;未超出范围则处理下一个

    MOV R1,#00H ;超出范围则低位地址清零

    INC R2 ;中间地址加1

    CJNE R2,#0FFH,NEXT;未超出范围则处理下一个

    MOV R2,#00H ;超出范围则中间地址清零

    INC R3 ;高位地址加1

    CJNE R3,#03FH,NEXT;未超出范围则处理下一个

    MOV FLAG,#01H ;否则,标准位置1

    SJMP RET1 ;返回

    NEXT:MOV R0,#ADCDATAL;转换结果低8位送R0

    LCALL WRITEONE ;写入一个数据

    LCALL WRITEONE ;写入一个数据

    INC CHAN ;通道号加1

    CJNE CHAN,#08H,CHANG ;通道号不等于8,则开始下一通道转换

    MOV CHAN,#00H ;否则通道号清零

    CHANG:MOV ADCCON1,#07Ch ;启动A/D转换

    MOV ADCCON2,#CHAN ;选择转换通道

    SETB EA ;中断使能

    ETB EADC ;使能A/D转换中断

    SETB ADC1

    RET1;RETI ;中断返回

    ORG 1000H

    ;;以下为主程序

    MAIN:

    MOV AFLAG,#00H ;标志清零

    MOV CHAN,#00H ;通道号清零

    MOV ADCCON1,#07CH ;启动A/D转换,一次转换时间14.5μs

    MOV ADCCON2,#CHAN ;选择转换通道

    MOV R1,#00H

    MOV R2,#00H

    MOV R3,#00H ;外部存储器地址初始化

    SETB EA ;中断使能

    SETB EADC ;使能A/D转换中断

    SETB ADC1 ;启动单个转换周期

    HERE:SETB PCON.0 ;CPU进入空闲模式,功耗降;低可中断唤醒

    MOV A,FLAG

    JNZ HERE ;存储器未满则等待

    END

4 结束语

    综上所述,本文所描述的数据采集系统的软硬件设计具有采集速度快,存储容量大、系统体积小以及功耗低等特点,适用于随身携带的低功耗应用场合。只要将程序稍加修改,即可用于多种场合,还可对采集到的数据进行实时分析处理,从而使该系统成为智能型的数据采集与分析系统。

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/fpgaandcpld/200605/1231.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

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

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

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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