APP下载

AVR微控制器的多CPU共享高精度实时时钟系统

2017-11-09

单片机与嵌入式系统应用 2017年10期
关键词:录波系统故障微控制器

(国电南京自动化股份有限公司,南京 210003)

AVR微控制器的多CPU共享高精度实时时钟系统

付国新,江晓亮

(国电南京自动化股份有限公司,南京 210003)

基于AVR微控制器设计了一种高精度、稳定准确的实时时钟系统,多CPU通过高速SPI总线共享时钟信息,给出了硬件系统的设计方法和软件系统的设计流程,该设计已经在电力系统故障录波装置中成功应用,具有一定的推广价值。

AVR微控制器;SPI总线;TWI总线;IRIGB码

引 言

在电力系统中,几乎所有自动化装置都需要有一个高精度、高分辨率的实时时钟,尤其是电力系统故障录波装置,时戳的分辨率至少为30.517 5 μs,而且能接收GPS装置的对时。一般时钟芯片的分辨率最多到0.1 s。如果需要分辨到μs级,就需要CPU维护一个μs级的定时器,这样既消耗CPU资源,又对多任务系统下的操作系统造成负担。随着对电力系统故障录波装置采集数据时戳的精度和分辨率要求越来越高,对时钟系统的设计要求也越来越高。本文设计的基于AVR微控制器多CPU共享高精度时钟系统针对以上技术的发展和需求,提出在嵌入式装置下,高精度、高分辨率实时时钟模块化设计思想,把系统的时钟放在一个廉价的高速微控制器上实现,由它来维护一个分辨率为30.517 5 μs的实时时钟,同时把与GPS所有的对时方式集中设计到该模块中,为其他CPU提供一个标准的SPI接口,由SPI给各个CPU提供统一的时钟,同时提供一个I2C接口,主CPU可修改模块上的时钟芯片,从而满足实际应用中对录波装置或其嵌入式装置高精度、高分辨率的时钟要求。

1 系统硬件设计

本设计采用ATMEL公司AVR 8位微控制器ATmega16,该控制器具备低功耗、易用性、高集成性、硬件资源丰富和高性价比等特点[1]。本设计系统结构如图1所示。

图1 系统结构图

ATmega16的T/C的输入捕捉单元可用来捕获外部事件,并为其赋予时间标记以说明此事件发生的时刻。IRIGB信号接入主控制器的ICP引脚,就可以测量码元宽度,解析B码信息。本设计选用DS3232作为系统基础时间,该芯片有32 kHz的温补晶振,能提供稳定精确的参考时钟,时钟精度为±3.5 ppm,内置测温模块。两线串行接口TWI 总线[2]和工作于主机模式的串行接口SPI总线于电力系统故障录波CPU连接,可同时为2个电力系统故障录波CPU提供UTC时标,并接收电力系统故障录波CPU的各种命令。本设计以DS3232的32 kHz的信号为节拍,维护一个分辨率为30.517 5 μs的软时钟,该软时钟24小时守时误差不大于200 ms,为录波CPU提供高精度、高分辨率、高稳定的时标,减少电力系统故障录波CPU的工作负荷。本设计系统原理图如图2所示,主要由电源、时钟、B码和CPU四部分组成。

图2 系统原理图

图2 系统原理图(续)

2 系统软件设计

本设计软件主要由三大模块组成,分别是外中断服务程序模块、主循环模块和ICP中断服务程序模块。

2.1 外中断服务程序模块

外中断以DS3232的32 kHz方波信号为中断请求信号,维护UTC格式的软时钟,每次中断软时钟量加30 517 ns,并且将当前时标、B码中的质量状态、校验位、润秒等信息通过SPI总线发给两个录波CPU。外中断服务程序流程图如图3所示。

图3 外中断服务程序流程图

2.2 主程序模块

主程序模块完成主控制器硬件资源的初始化,读取DS3232的时间信息并转换成UTC格式,在主循环中,每次查询I2C控制器的状态[3],当录波CPU通过I2C发出各种命令时,主控制器就可获取,并解析、响应命令,实现设置DS3232、温度采集、电源电压采集。主程序流程图如图4所示。

图4 主程序流程图

2.3 ICP中断服务程序模块

ICP中断服务程序模块完成B码采集和码元解析,从B码中提取出年、月、日、时、分、秒信息和秒的起始位置,并以此修改软时钟信息,实现软时钟与GPS的同步。ICP中断服务程序流程图如图5所示。

图5 ICP中断服务程序流程图

结 语

[1] 李泓.AVR单片机入门与实践[M].北京:北京航空航天大学出版社,2008.

[2] 郭祥军.AVR单片机的TWI总线的原理及应用[J].单片机与嵌入式系统应用,2006(8):37-39.

[3] 肖晶晶,李天剑,吴启焱.基于TWI接口的AVR单片机通信系统设计[J].北京信息科技大学学报,2009,24(4):66-68.

参考文献

[1] 罗成. 高清视频矩阵的发展与分类[J]. 中国公共安全:综合版,2012(6):70-72.

[2] 赵文龙,艾志清,刘阳. 基于嵌入式Linux的视频矩阵控制系统设计[J]. 电视技术,2013(15):67-70,158.

[3] 唐俊,蒋健,谢申喜. 基于树莓派的能耗数据采集网关设计[J]. 测控技术,2017(3):98-100,106.

[4] 李艳芹,蒋健,李人杰. 基于树莓派的多串口多总线服务器设计[J]. 单片机与嵌入式系统应用,2014(10):72-75.

[5] 王彦. 一种视频矩阵控制器的软件实现[J]. 软件导刊,2012(5):175-177.

[6] 王春红,尚冬娟. 确定有穷自动机的最小化问题探讨[J]. 计算机教育,2008(7):40-42.

谢成(硕士研究生),主要研究方向为嵌入式系统设计和应用;蒋健(副教授),主要研究方向为工业控制系统。

High-precisionReal-timeClockSystemSharedByMuti-CPUBasedonAVRMicrocontroller

FuGuoxin,JiangXiaoliang

(Guodian Nanjing Automation Co.,Ltd.,Nanjing 210003,China)

In the paper,a high-precision,accuracy,stable real-time clock system is designed based on AVR microcontroller.Muti-CPU can share time by the high speed SPI.The hardware design and software flow of the clock system are given.This design has been applied in the power system fault recorder and it is feasible and useful.

AVR microcontroller;SPI bus;TWI bus;IRIGB code

TP3

A

2017-07-14)

(责任编辑:杨迪娜 收稿日期:2017-06-12)

猜你喜欢

录波系统故障微控制器
故障录波装置自动测试系统设计与实现
某型水泵旋转系统故障分析
物联网技术在微控制器实验教学中的应用
2015款奔驰R400车预防性安全系统故障
基于Hadoop技术的批量录波数据高性能处理方法
基于暂态录波数据的负荷建模方法研究
雷克萨斯ES350车空调系统故障2例
汉兰达车空调系统故障排除4例
基于IEC61850标准的水电厂录波数据接入实现方案
Atmel针对新一代物联网应用发布全新32位微控制器