《智能仪表》网络作业STM32F103xx系列单片机介绍STM32F103xx增强型系列由意法半导体集团设计,使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。1、结构与功能■内核:ARM32位的Cortex™-M3CPU−72MHz,1.25DMips/MHz(Dhrystone2.1),0等待周期的存储器−支持单周期乘法和硬件除法■存储器−从32K字节至512K字节的闪存程序存储器(STM32F103xx中的第二个x表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K)−从6K字节至64K字节的SRAM■时钟、复位和电源管理−2.0至3.6伏供电和I/O管脚−上电/断电复位(POR/PDR)、可编程电压监测器(PVD)−内嵌4至16MHz高速晶体振荡器−内嵌经出厂调校的8MHz的RC振荡器−内嵌40kHz的RC振荡器−PLL供应CPU时钟−带校准功能的32kHzRTC振荡器■低功耗−睡眠、停机和待机模式−VBAT为RTC和后备寄存器供电■2个12位模数转换器,1us转换时间(16通道)−转换范围:0至3.6V−双采样和保持功能−温度传感器■DMA−7通道DMA控制器−支持的外设:定时器、ADC、SPI、I2C和USART■多达80个快速I/O口−26/37/51/80个多功能双向5V兼容的I/O口−所有I/O口可以映像到16个外部中断《智能仪表》网络作业■调试模式−串行线调试(SWD)和JTAG接口■多达7个定时器−多达3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道−16位6通道高级控制定时器−多达6路PWM输出−死区控制、边缘/中间对齐波形和紧急制动−2个看门狗定时器(独立的和窗口型的)−系统时间定时器:24位自减型■多达9个通信接口−多达2个I2C接口(SMBus/PMBus)−多达3个USART接口,支持ISO7816,LIN,IrDA接口和调制解调控制−多达2个SPI同步串行接口(18兆位/秒)−CAN接口(2.0B主动)−USB2.0全速接口■ECOPACK®封装(兼容RoHS)2、特点概述ARM®的Cortex™-M3核心ARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,通常在8和16位系统的存储空间上得以体现ARM核心的高性能。STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。嵌入式Flash存储器和RAM存储器最新STM32F103xE型拥有高达512K字节的内置闪存存储器,用于存放程序和数据。多达64KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。模拟/数字转换器(ADC)STM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC有多达16个外部通道,可以实现单次或扫描转换。在扫描模式下,转换在选定的一组模拟输入上自动进行。ADC接口上额外的逻辑功能允许:1、同时采样和保持;2、交叉采样和保持;《智能仪表》网络作业3、单次采样。模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。由标准定时器(TIMx)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开始触发、外部触发和DMA触发,以使应用程序能同步AD转换和时钟。可变静态存储器(FSMC)FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持一下模式:Flash、RAM、PSRAM、NOR和NAND。3个FSMC中断线经过OR后连接到NVIC。没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。嵌套矢量中断控制器(NVIC)可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。外部中断/事件控制器(EXTI)外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。时钟和启动在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz,低速APB最高的频率为36MHz。Boot模式在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。Boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器编程。电源供电方案VDD,电压范围为2.0V-3.6V,外部电源通过VDD引脚提供,用于I/O和内部调压器。VSSA和VDDA,电压范围为2.0-3.6V,外部模拟电压输入,用于ADC,复位模块,RC和PLL,在VDD范围之内(ADC被限制在2.4V),VSSA和VDDA必须相应连接到VSS和VDD。VBAT,《智能仪表》网络作业电压范围为1.8-3.6V,当VDD无效时为RTC,外部32KHz晶振和备份寄存器供电(通过电源切换实现)。电源管理设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较,当VDD低于VPVD或者VDD大于VPVD时会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。电压调节调压器有3种运行模式:主(MR),低功耗(LPR)和掉电。MR用在传统意义上的调节模式(运行模式),LPR用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)。低功耗模式STM32F103xx支持3种低功耗模式,从而在低功耗,短启动时间和可用唤醒源之间达到一个最好的平衡点。休眠模式:只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU;停止模式:允许以最小的功耗来保持SRAM和寄存器的内容。1.8V区域的时钟都停止,PLL,HSI和HSERC振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一,PVD输出或者TRC警告。待机模式:追求最少的功耗,内部调压器被关闭,这样1.8V区域断电。PLL,HSI和HSERC振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当外部复位(NRST引脚),IWDG复位,WKUP引脚出现上升沿或者TRC警告发生时,设备退出待机模式。进入停止模式或者待机模式时,TRC,IWDG和相关的时钟源不会停止。3.详细介绍一款实际工作中智能仪表(要求原理30%、功能20%和应用10%)。单相费控智能电能表介绍1、单相费控智能电能表的总体结构《智能仪表》网络作业在对智能电能表硬件系统进行设计时,按照各自不同的功能,我们可以将其划分为若干模块,因此在系统硬件设计时,采用模块化的设计方案。按照各部分实现的不同功能,系统硬件部分整体结构包括以下几部分:信号采样部分、电能计量部分、MCU部分、液晶显示部分、时钟部分、存储部分、电源部分、485通信部分、红外通信部分、ESAM安全块、继电器控制以及脉冲信号输出等几部分组成。系统硬件整体结构框图如下:图1系统硬件整体结构框图单相费控智能电能表的基本原理是:被测交流电压和交流电流经过高精度采样后送到专用电能计量芯片(即图中ATT7053A)经过一系列数字处理,转换成与有功功率成正比的脉冲信号,并进行脉冲输出,微处理器(78K0527A)将脉冲信号依据所属时段进行分时累计,得到总电量和各时段电量,并将结果保存到E2PROM中。同时完成相关数据的显示以及与远程上位机的通讯。⑴在整个系统中,微控制器(即MCU)部分是系统控制核心,通过SPI和I2C总线方式与外部相关模块进行通信,控制着其外围各模块的运行状态。⑵计量模块采用高精度的电能专用计量芯片,完成对采样电压和电流信号进行相关运算和处理,实现功率测量并进行脉冲信号输出等。计量芯片是整个电能计量的核心部分。⑶时钟模块部分能为电表提供精确的计时,微控制器通过I2C方式每间隔一定时间读取《智能仪表》网络作业当前的时间,并计算得出当前该时刻所对应的费率时段,从而实现分时段的电能计量。⑷电源部分为整个电能表系统提供电源,主要是通过整流,将电表所在的供电线路中的220伏高压交流电,转换为可供系统直接使用的低压直流电。另一方面,为保证在意外或突发故障情况下整个电表系统能正常工作,在设计时为其提供备用电源,通常为锂电池,以确保整个系统的正常运行。⑸ESAM安全模块嵌入在单相电表内,实现安全存储、数据加/解密、双向身份认证、存取权限控制、线路加密传输等安全控制功能,是单相电能表必不可少的组成部分。⑹存储器部分,系统在设计时采用EEPROM,即可擦可编程只读存储器,用于大量数据的存储和记录,同时能保证在各种意外和突发事故造成的掉电情况下,用户用电数据的不消失和长期存储。⑺LCD显示部分,对于本地费控电能表,用于显示电压、电流、功率、时间、剩余金额、阶梯电价等信息,以及电表编程状态、故障等标志。同时,LCD显示具备自动循环显示和按键循环显示两种方式。其中,自动循环显示是指按照一定的顺序显示出与用户电费密切相关的电能信息,按键循环显示是指用户可以根据需要通过按操作来显示自己比较关心的电能相关信息;而对于远程费控电能表,电费的计量在远程售电系统中完成,表内不显示与电费、电价相关信息,在国家电网相关规范中,单相远程费控智能电能表默认的显示项如下表所示:⑻继电器控制部分用于接收远程售电系统下发的拉、合闸命令,通过继电器的通断来实现对用户用电情况的控制。⑼红外通信部分,通过传输,完成与掌上抄表机之间的数据传输,从而实现电力部门抄表工作人员对用户电能表数据的抄读。⑽RS485通信部分,通过485总线实现电能表数据与远程售电系统计算机的通信功能,同时,电能表中的单片机也可接收上位机下发的远程拉合闸命令,从而实现相关的远程控制功能。⑾脉冲、拉闸、报警部分为LED状态指示灯。其中,脉冲指示灯为红色,当电能表每采样计量一个脉冲时,脉冲指示