系统时钟源的选择

系统时钟源的选择
系统时钟源的选择

/****************************************** ******************************************* *********************

* 文件名:iic.C

* 功能:实验二 GPIO控制实验

* 该实验采用CC2530的I/O口(P1.0和P1.1)模拟IIC总线的SCL和SDA,然后通过IIC 总线形式控制GPIO扩展芯片

* PCA9554,最后通过扩展的IO来控制LED的亮灭。

*

* 硬件连接:将OURS的CC2530RF模块插入到普通电池板或智能电池板上。

*

* P1.0 ------ SCL

* P1.1 ------ SDA

*

* 版本:V1.0

* 作者:WUXIANHAI

* 日期:2011.1.18

* 奥尔斯电子主页:https://www.360docs.net/doc/ba2795175.html,

******************************************* ******************************************* ************************/

#include "ioCC2530.h"

#include "hal_mcu.h"

#define SCL P1_0 //IIC时钟线#define SDA P1_1 //IIC数据线

//定义IO方向控制函数

#define IO_DIR_PORT_PIN(port, pin, dir) \ do { \ if (dir == IO_OUT) \ P##port##DIR |= (0x01<<(pin)); \ else \ P##port##DIR &= ~(0x01<<(pin)); \ }while(0)

#define OSC_32KHZ 0x00 //使用外部32K晶体振荡器//时钟设置函数

#define HAL_BOARD_INIT() \

{

\

uint16 i; \

\

SLEEPCMD &= ~OSC_PD; /* 开启 16MHz RC 和32MHz XOSC */ \

while (!(SLEEPSTA & XOSC_STB));

/* 等待 32MHz XOSC 稳定 */ \

asm("NOP"); \

for (i=0; i<504; i++) asm("NOP");

/* 延时63us*/ \

CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ);

/* 设置 32MHz XOSC 和 32K 时钟 */ \

while (CLKCONSTA != (CLKCONCMD_32MHZ |

OSC_32KHZ)); /* 等待时钟生效*/

\

SLEEPCMD |= OSC_PD; /* 关闭 16MHz RC */ \

}

#define IO_IN 0 //输入

#define IO_OUT 1 //输出

uint8 ack; //应答标志位

uint8 PCA9554ledstate = 0; //所有LED当前状

/******************************************

************************************

* 函数名称:QWait

*

* 功能描述:1us的延时

*

* 参数:无

*

* 返回值:无

*******************************************

**********************************/

void QWait()

{

asm("NOP");asm("NOP");

asm("NOP");asm("NOP");

asm("NOP");asm("NOP");

asm("NOP");asm("NOP");

asm("NOP");asm("NOP");

asm("NOP");

}

/****************************************** ************************************

* 函数名称:Wait

*

* 功能描述:ms的延时

*

* 参数:ms - 延时时间

*

* 返回值:无

******************************************* **********************************/

void Wait(unsigned int ms)

{

unsigned char g,k;

while(ms)

{

for(g=0;g<=167;g++)

{

for(k=0;k<=48;k++);

}

ms--;

}

}

/****************************************** ************************************

* 函数名称:Start_I2c

*

* 功能描述:启动I2C总线,即发送I2C起始条件. *

* 参数:无 *

* 返回值:无

******************************************* **********************************/

void Start_I2c()

{

IO_DIR_PORT_PIN(1, 0, IO_OUT); //设置P1.0为输出

IO_DIR_PORT_PIN(1, 1, IO_OUT); //设置P1.1为输出

SDA=1; /*发送起始条件的数据信号*/

asm("NOP");

SCL=1;

QWait(); /*起始条件建立时间大于4.7us,延时*/

QWait();

QWait();

QWait();

QWait();

SDA=0; /*发送起始信号*/ QWait(); /* 起始条件锁定时间大于4μs*/

QWait();

QWait();

QWait();

QWait();

SCL=0; /*钳住I2C总线,准备发送或接收数据 */

asm("NOP");

asm("NOP");

}

/****************************************** ************************************

* 函数名称:Stop_I2c

*

* 功能描述:结束I2C总线,即发送I2C结束条件. *

* 参数:无

*

* 返回值:无

******************************************* **********************************/

void Stop_I2c()

{

IO_DIR_PORT_PIN(1, 0, IO_OUT); //设置P1.0为输出

IO_DIR_PORT_PIN(1, 1, IO_OUT); //设置P1.1为输出

SDA=0; /*发送结束条件的数据信号*/

asm("NOP"); /*发送结束条件的时钟信号*/

SCL=1; /*结束条件建立时间大于4μs*/

QWait();

QWait();

QWait();

QWait();

QWait();

SDA=1; /*发送I2C总线结束信号*/

QWait();

QWait();

QWait();

QWait();

}

/****************************************** ************************************

* 函数名称:SendByte

*

* 功能描述:将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对

* 此状态位进行操作.(不应答或非应答都使ack=0 假)

* 发送数据正常,ack=1; ack=0表示被控器无应答或损坏。

*

* 参数:c - 需发送的数据

*

* 返回值:无

*****************************************************************************/

void SendByte(uint8 c)

{

uint8 BitCnt;

IO_DIR_PORT_PIN(1, 0, IO_OUT); //设置P1.0为输出

IO_DIR_PORT_PIN(1, 1, IO_OUT); //设置P1.1为输出

for(BitCnt=0;BitCnt<8;BitCnt++) /*要传送的数据长度为8位*/

{

if((c<

else SDA=0;

asm("NOP");

SCL=1; /*置时钟线为高,通知被控器开始接收数据位*/

QWait();

QWait(); /*保证时钟高电平周期大于4μs*/

QWait();

QWait();

QWait();

SCL=0;

}

QWait();

QWait();

QWait();

SDA=1; /*8位发送完后释放数据线,准备接收应答位*/

asm("NOP");

IO_DIR_PORT_PIN(1, 1, IO_IN);

SCL=1;

QWait();

QWait();

QWait();

QWait();

if(SDA==1)ack=0;

else ack=1; /*判断是否接收到应答信号*/

SCL=0;

QWait();

QWait();

IO_DIR_PORT_PIN(1, 1, IO_OUT);

}

/****************************************** ************************************

* 函数名称:RcvByte

*

* 功能描述:用来接收从器件传来的数据,并判断总线错误(不发应答信号),

* 发完后请用应答函数。

*

* 参数:无

*

* 返回值:retc - 从器件传来的数据

******************************************* **********************************/

uint8 RcvByte()

{

uint8 retc;

uint8 BitCnt;

IO_DIR_PORT_PIN(1, 0, IO_OUT); //设置P1.0为输出

IO_DIR_PORT_PIN(1, 1, IO_OUT); //设置P1.1为输出

retc=0;

SDA=1; /*置数据线为输入方式*/

IO_DIR_PORT_PIN(1, 1, IO_IN);

for(BitCnt=0;BitCnt<8;BitCnt++)

{

asm("NOP");

SCL=0; /*置时钟线为低,准备接收数据位*/

QWait();

QWait(); /*时钟低电平周期大于4.7μs*/

QWait();

QWait();

QWait();

SCL=1; /*置时钟线为高使数据线上数据有效*/

QWait();

QWait();

retc=retc<<1; if(SDA==1)retc=retc+1; /*读数据位,接收的数据位放入retc中 */

QWait();

QWait();

}

SCL=0;

QWait();

QWait();

IO_DIR_PORT_PIN(1, 1, IO_OUT);

return(retc);

}

/****************************************** ************************************

* 函数名称:Ack_I2c

*

* 功能描述:主控器进行应答信号,(可以是应答或非应答信号)

*

*

* 参数:无

*

* 返回值:无

******************************************* **********************************/

void Ack_I2c(uint8 a)

{

IO_DIR_PORT_PIN(1, 0, IO_OUT); //设置P1.0为输出

IO_DIR_PORT_PIN(1, 1, IO_OUT); //设置P1.1为输出

if(a==0)SDA=0; /*在此发出应答或非应答信号 */

else SDA=1;

QWait();

//QWait();

//QWait();

SCL=1;

QWait();

QWait(); /*时钟低电平周期大于4μs*/

QWait();

QWait();

QWait();

SCL=0; /*清时钟线,钳住I2C总线以便继续接收*/

QWait();

//QWait();

}

/****************************************** ************************************

* 函数名称:ISendByte

*

* 功能描述:从启动总线到发送地址,数据,结束总线的全过程,从器件地址sla.

* 如果返回1表示操作成功,否则操作有误。

*

*

* 参数:sla - 从器件地址

* c - 需发送的数据

*

* 返回值:0 -- 失败

* 1 -- 成功

******************************************* **********************************/

uint8 ISendByte(uint8 sla,uint8 c)

{

Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/

if(ack==0)return(0);

SendByte(c); /*发送数据*/ if(ack==0)return(0);

Stop_I2c(); /*结束总线*/ return(1);

}

/****************************************** ************************************

* 函数名称:ISendStr

*

* 功能描述:从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件

* 地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。

* 如果返回1表示操作成功,否则操作有误。

*

*

* 参数:sla - 从器件地址

* suba - 从器件子地址

* *s - 数据

* no - 数据字节数目

*

* 返回值:0 -- 失败

* 1 -- 成功

*

* 注意:使用前必须已结束总线。

******************************************* **********************************/

uint8 ISendStr(uint8 sla,uint8 suba,uint8 *s,uint8 no)

{

uint8 i;

Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/

if(ack==0)return(0);

SendByte(suba); /*发送器件子地址*/

if(ack==0)return(0);

for(i=0;i

{

SendByte(*s); /*发送数据*/ if(ack==0)return(0);

s++;

}

Stop_I2c(); /*结束总线*/ return(1);

}

/****************************************** ************************************

* 函数名称:IRcvByte

*

* 功能描述:从启动总线到发送地址,读数据,

结束总线的全过程,从器件地

* 址sla,返回值在c. 如果返回1表示操作成功,否则操作有误。

*

*

* 参数:sla - 从器件地址

* *c - 需发送的数据

*

* 返回值:0 -- 失败

* 1 -- 成功

*

*注意:使用前必须已结束总线。

******************************************* **********************************/

uint8 IRcvByte(uint8 sla,uint8 *c)

{

Start_I2c(); /*启动总线*/ SendByte(sla+1); /*发送器件地址*/

//SendByte(sla);

if(ack==0)return(0);

*c=RcvByte(); /*读取数据*/ Ack_I2c(1); /*发送非就答位*/

Stop_I2c(); /*结束总线*/ return(1);

}

/****************************************** ************************************

* 函数名称:IRcvStr

*

* 功能描述:从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件

* 地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。

* 如果返回1表示操作成功,否则操作有误。

*

*

* 参数:sla - 从器件地址

* suba - 从器件子地址

* *s - 数据 * no - 数据字节数目

*

* 返回值:0 -- 失败

* 1 -- 成功

*

* 注意:使用前必须已结束总线。

******************************************* **********************************/

uint8 IRcvStr(uint8 sla,uint8 suba,uint8 *s,uint8 no)

{

Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/

if(ack==0)return(0);

SendByte(suba); /*发送器件子地址*/

// if(ack==0)return(0);

// SendByte(sla+1);

if(ack==0)return(0);

while(no > 0)

{

*s++ = RcvByte();

if(no > 1) Ack_I2c(0); /*发送就答位*/

else Ack_I2c(1); /*发送非应位*/

no--;

}

Stop_I2c(); /*结束总线*/ return(1);

}

/****************************************** ************************************

* 函数名称:ctrPCA9554LED

*

* 功能描述:通过IIC总线控制PCA9554的输出,进而控制相应的LED。

*

*

* 参数:LED - 所控制的LED

* operation - 开或关操作

*

* 返回值:无

*

*

* 注意:PCA9554的地址为:0x40

******************************************* **********************************/

void ctrPCA9554LED(uint8 led,uint8 operation) {

uint8 output = 0x00;

uint8 *data = 0;

if(ISendStr(0x40,0x03,&output,1)) //配置PCA9554寄存器

{

switch(led)

{

case 0: //LED0控制

if (operation)

{

output = PCA9554ledstate & 0xfe; }

else

{

output = PCA9554ledstate | 0x01; }

break;

case 1: //LED1控制

if (operation)

{

output = PCA9554ledstate & 0xfd; }

else

{

output = PCA9554ledstate | 0x02; }

break;

case 2: //LED2控制

if (operation)

{

output = PCA9554ledstate & 0xf7; }

else

{

output = PCA9554ledstate | 0x08; }

break;

case 3: //LED3控制

if (operation)

{

output = PCA9554ledstate & 0xfb; }

else

{

output = PCA9554ledstate | 0x04; }

break;

case 4: //LED4控制 if (operation)

{

output = PCA9554ledstate & 0xdf; }

else

{

output = PCA9554ledstate | 0x20; }

break;

case 5: //LED5控制 if (operation)

{

output = PCA9554ledstate & 0xef; }

else

{

output = PCA9554ledstate | 0x10; }

break;

default:break;

}

if(ISendStr(0x40,0x01,&output,1)) //写PCA9554输出寄存器

{

if(IRcvByte(0x40,data)) //读

PCA9554输出寄存器

{

PCA9554ledstate = *data;

}

}

}

}

/****************************************** ************************************

* 函数名称:PCA9554ledInit

*

* 功能描述:初始化6个LED,即关闭所有的LED *

* 参数:无

*

* 返回值:无

*

******************************************* **********************************/

void PCA9554ledInit()

{

uint8 output = 0x00;

uint8 *data = 0;

if(ISendStr(0x40,0x03,&output,1)) //配置PCA9554寄存器

{

output = 0xbf;

if(ISendStr(0x40,0x01,&output,1)) //写输出寄存器

{

if(IRcvByte(0x40,data)) //读输出寄存器

{

PCA9554ledstate = *data;

}

}

}

}

/************************************************************************************* ******************************************* **************************

* 文件名:main.c

×

* 功能:实验五系统时钟源的选择

*

* CC2530有1个内部的系统时钟。时钟源可以是1个16MHz的RC振荡器,也可以是1个32MHz的晶体

* 振荡器。时钟控制是通过使用CLKCON 特殊功能寄存器来执行的。系统时钟也提供给所有的8051

* 外设。

*

* 32MHz晶体振荡器的启动时间对于某些应用而言太长了,因此CC2530可以运行在16MHz RC振荡器

* 直到晶体振荡器稳定。16MHz RC振荡器的功耗要少于晶体振荡器,但是由于它没有晶体振荡器

* 精确,因此它不适用于射频收发器。*

* CLKCONCMD.OSC位被用来选择系统时钟源。注意:要使用射频收发器,32MHz晶体振荡器必须被选择

* 并且稳定。

*

* 注意:改变CLKCON.OSC位并不即刻生效。这是因为在实际改变时钟源之前,被选择的时钟源要

* 首先达到稳定。还要注意:CLKCONSTA.CLKSPD位将反映系统时钟频率,因此它是CLKCON.OSC位的

* “镜子”。

*

* 当SLEEPSTA.XOSC_STB为1时,表示系统报告32MHz晶体振荡器稳定。然而,这可能并不是实际情况,

×在选择32MHz时钟作为系统时钟源之前,应该等待一个额外的64us的安全时间,可以通过增加一

* 条空指令"NOP"来实现。如果不等待,可能会造成系统崩溃。

*

* 未被选择作为系统时钟源的振荡器,通过设置SLEEP.OSC_PD为1(默认状态)将被设置为掉电模式。

* 因此,当32MHz晶体振荡器被选择作为系统时钟源后,16MHz RC振荡器可能被关闭,反之亦然。

* 当SLEEPCMD.OSC_PD为0时,这2个振荡器都被上电并运行。

* 当32MHz晶体振荡器被选择作为系统时钟源并且16MHz RC振荡器也被上电时,根据供电电压和运

* 行温度,16MHZ RC振荡器将被不断校准以确保时钟稳定。当16MHz RC振荡器被选择作为系统时钟

* 源时,该校准不被执行。

*

* 本实验将向用户演示选择不同的振荡器作为系统时钟源。本文件中有led闪烁的子程序,用户

* 可以观察在不同系统时钟源下led的闪烁情况。

*

* 在hal.h文件中包含了和系统时钟相关的一些宏,用户使用这些宏可以简化对系统时钟的控制,

* 提高代码的可读性,本实验中就使用了其中的一些宏。

*

* 注意:本实验可在以下目标板上进行:

*

*

*

*

*

* 版本:V1.0

* 作者:wuxianhai

* 日期:2011.2.12

* 奥尔斯电子主页:https://www.360docs.net/doc/ba2795175.html,

******************************************* ******************************************* ******************************************* *************************/

#include "hal.h" #define ON 0x01 //LED状态

#define OFF 0x00

extern void ctrPCA9554LED(UINT8 led,UINT8 operation);

extern void PCA9554ledInit();

/****************************************** ******************************************* *************

* 函数名称:halWait

*

* 功能描述:延时

*

* 参数:wait - 延时时间

*

* 返回值:无

******************************************* ******************************************* ************/

void halWait(BYTE wait){

UINT32 largeWait;

if(wait == 0)

{return;}

largeWait = ((UINT16) (wait << 7));

largeWait += 114*wait;

largeWait = (largeWait >> CLKSPD);

while(largeWait--);

return;

}

/****************************************** ******************************************* *************

* 函数名称:main

*

* 功能描述:反复选择不同的振荡器作为系统时钟源,并调用led控制程序,闪烁LED灯。

*

* 参数:无

*

* 返回值:无

*******************************************

*******************************************

************/

void main(void)

{

UINT8 i;

PCA9554ledInit();

while(1)

{

SET_MAIN_CLOCK_SOURCE(CRYSTAL); // 设置系统时钟源为32MHz晶体振荡器(大约用时

150us),关闭16MHz RC振荡器

for (i=0;i<10;i++)

{

ctrPCA9554LED(0,ON);

halWait(200);

ctrPCA9554LED(0,OFF);

halWait(200);

}

SET_MAIN_CLOCK_SOURCE(RC); // 选择16MHz RC振荡器,关闭32MHz晶体振荡器

PCA9554ledInit();

halWait(200);

for (i=0;i<10;i++)

{

ctrPCA9554LED(1,ON);

halWait(200);

ctrPCA9554LED(1,OFF);

halWait(200);

}

}

}

网络时钟系统方案

时钟系统 技术方案 烟台北极星高基时间同步技术有限公司 2012 年 3 月 第一部分:时钟系统技术方案 一、时钟系统概述 1. 1 概述 根据办公楼的实际情况,特制定如下施工设计方案: 时钟系统主要由GPS接收装置、中心母钟、二级母钟(中继器)、全功能数 字显示子钟、、传输通道和监测系统计算机组成。 系统中心母钟设在中心机房内,其他楼各设备间设置二级母钟,在各有关场所安装全功能数字显示子钟。 系统中心母钟接收来自GPS的标准时间信号,通过传输通道传给二级母钟,由 二级母钟按标准时间信号指挥子钟统一显示时间;系统中心母钟还通过传输系统将标准时间信号直接传给各个子钟,为楼宇工作人员提供统一的标准时间 二、时钟系统功能 根据本工程对时钟系统的要求,时钟系统的功能规格如下: 时钟系统由GPS校时接收装置(含防雷保护器)、中心母钟、扩容接口箱、二级 母钟、数字式子钟、监控终端(也称监测系统计算机)及传输通道构成。其主要功

能为: 。显示统一的标准时间信息。 。向其它需要统一时间的系统及通信各子系统网管终端提供标准时间信息。 2.1 中心母钟 系统中心母钟设置在控制中心设备室内,主要功能是作为基础主时钟,自动接 收GPS勺标准时间信号,将自身的精度校准,并分配精确时间信号给子钟,二级母钟和其它需要标准时间的设备,并且通过监控计算机对时钟系统的主要设备进行监控。 中心母钟主要由以下几部分组成: 。标准时间信号接收单元 。主备母钟(信号处理单元) 。分路输出接口箱 。电源 中心母钟外观示意图见(附图) 2.1.1 标准时间信号接收单元 标准时间信号接收单元是为了向时间系统提供高精度的时间基准而设置的,用以实现时间系统的无累积误差运行。 在正常情况下,标准时间信号接收单元接收来自GPS的卫星时标信号,经解码、 比对后,经由RS422接口传输给系统中心母钟,以实现对母钟精度的校准。

深入了解HCS08的内部时钟源 (ICS)

飞思卡尔半导体 AN3041 应用笔记 第0版, 10/2005 深入了解HCS08的内部时钟源(ICS)模块 作者:Scott Pape 飞思卡尔微控制器部系统工程部 在本文中,我们将较为深入地了解一下某些型号的HCS08系列微控制器(MCU)所具有的内部时钟源模块(ICS)。ICS是HCS08 MCU所采用的一种非常灵活的时钟源,然而它十分的经济高效,适用于HCS08系列中体积较小、成本较低的类型的MCU。 ICS中包含锁频环、内部时钟参考信号、外部振荡器和时钟选择子模块。这些子模块组合起来能提供各种时钟模式和频率,从而几乎能满足任何应用的需要。ICS有7种工作模式,后文中将详细讨论。 同时,我们将把ICS模块与用在其他HCS08 MCU中的内部时钟发生器(ICG)模块进行比较。此外,我们还会介绍ICS模块从HCS08的各种低功耗模式恢复时的工作过程。在结论部分,我们将介绍内部时钟参考信号的校准。 目录页1 ICS功能介绍 (2) 1.1 结构框图 (2) 1.2 ICS模式:关断 (4) 1.3 ICS模式:FEI (4) 1.4 ICS模式:FEE (4) 1.5 ICS模式:FBI和FBILP (5) 1.6 ICS模式:FBE和FBELP (5) 1.7 ICS与ICG (6) 1.8 附加应用功能 (6) 2 低功耗模式中的ICS (7) 2.1 停止1和停止2模式 (7) 2.2 停止3模式 (7) 2.3 等待模式 (8) 3 校准IRC (8) 3.1 如何校准— AN2496 (8) 3.2 不调整的运行 (8) 3.3 校准IRC (9)

1 ICS 功能介绍 深入了解HCS08的内部时钟源(ICS)模块 飞思卡尔半导体 General Business Information 3 FLL 的输出频率为参考时钟频率的512倍。FLL 包括三个主要部分: ·参考频率选择 ·数字控制振荡器(DCO ) ·用于比较这两个部分输出的滤波器 FLL 的工作原理与锁相环(PLL )非常相似。不同之处在于PLL 是根据参考时钟与DCO 时钟的相位差来调节输出的,而FLL 则是通过比较DCO 时钟与参考时钟的频率来工作的。FLL 对一个参考时钟周期内的DCO 时钟脉冲边沿数进行计数。因此,对于512倍的倍频器,FLL 应该在参考时钟的每两个上升沿之间得到512个DCO 输出的上升沿。FLL 的实现大多借助数字逻辑电路,因而不需要PLL 通常必须采用的外部滤波器件。 时钟选择逻辑只是简单地选择FLL 、外部参考时钟或内部参考时钟作为ICS 模块的输出。此外,还采用了一个时钟分频器电路,可以对输出进行1倍、2倍、4倍或8倍分频,用以降低输出时钟的频率。 内部参考时钟(IRC )是一个可调整的内部参考时钟信号,既可用作FLL 的参考时钟,也可直接用作CPU 和总线时钟的时钟源。这个内部参考时钟不需要诸如调整电容或电阻等的外部器件。IRC 由ICS 寄存器中的一个9位数值进行调整,解析度典型值能达到未调整IRC 频率的0.1%。与许多其他的内部参考时钟不同,这个IRC 可将频率在一定的范围内进行调整,从31.25kHz 变到39.06kHz 。当用作FLL 的参考时钟时,这将允许用户用0.1%的解析度,把总线频率设定在8MHz 至10MHz 间的任意值。调整之后,对调整频率的偏差典型值仅为 +0.5% 至 -1%,最大值也只不过是±2%。 外部振荡器参考时钟(OSC )实际上把三个外部时钟源合并在一个里面。它有一个采用32kHz 至38.4kHz 晶体或谐振器的低频振荡器,还有一个采用1MHz 至16MHz 晶体或谐振器的高频振荡器。这两个振荡器需要两个引脚即XTAL 和EXTAL 来生成时钟信号。OSC 还有一种外部时钟模式,该模式简单地把一个外部时钟信号引入MCU 。在此模式中,只需要EXTAL 脚,而XTAL 脚可用作通用I/O 。输入频率可以是0Hz 至20MHz 之间的任意值。由于引脚的限制,有些MCU 可能没有外部振荡器。 ICS 的子模块是否启动取决于采用哪种ICS 时钟模式。ICS 具有7种工作模式: ·关断 ·FLL 启用、内部参考时钟(FEI ) ·FLL 启用、外部参考时钟(FEE ) ·FLL 旁路、内部参考时钟(FBI ) ·FLL 旁路、内部参考时钟、低功耗(FBILP ) ·FLL 旁路、外部参考时钟(FBE ) ·FLL 旁路、外部参考时钟、低功耗(FBELP )

网络时钟系统方案

网络时钟系统方案

时钟系统 技术方案 烟台北极星高基时间同步技术有限公司 3月

第一部分:时钟系统技术方案 一、时钟系统概述 1.1概述 根据办公楼的实际情况,特制定如下施工设计方案: 时钟系统主要由GPS接收装置、中心母钟、二级母钟(中继器)、全功能数字显示子钟、、传输通道和监测系统计算机组成。 系统中心母钟设在中心机房内,其它楼各设备间设置二级母钟,在各有关场所安装全功能数字显示子钟。 系统中心母钟接收来自GPS的标准时间信号,经过传输通道传给二级母钟,由二级母钟按标准时间信号指挥子钟统一显示时间;系统中心母钟还经过传输系统将标准时间信号直接传给各个子钟,为楼宇工作人员提供统一的标准时间 二、时钟系统功能 根据本工程对时钟系统的要求,时钟系统的功能规格如下: 时钟系统由GPS校时接收装置(含防雷保护器)、中心母钟、扩容接口箱、二级母钟、数字式子钟、监控终端(也称监测系统计算机)及传输通道构成。其主要功能为: ☉显示统一的标准时间信息。 ☉向其它需要统一时间的系统及通信各子系统网管终端提供标准时间信息。

2.1 中心母钟 系统中心母钟设置在控制中心设备室内,主要功能是作为基础主时钟,自动接收GPS的标准时间信号,将自身的精度校准,并分配精确时间信号给子钟,二级母钟和其它需要标准时间的设备,而且经过监控计算机对时钟系统的主要设备进行监控。 中心母钟主要由以下几部分组成: ☉标准时间信号接收单元 ☉主备母钟(信号处理单元) ☉分路输出接口箱 ☉电源 中心母钟外观示意图见(附图) 2.1.1标准时间信号接收单元 标准时间信号接收单元是为了向时间系统提供高精度的时间基准而设置的,用以实现时间系统的无累积误差运行。 在正常情况下,标准时间信号接收单元接收来自GPS的卫星时标信号,经解码、比对后,经由RS422接口传输给系统中心母钟,以实现对母钟精度的校准。 系统经过信号接收单元不断接收GPS发送的时间码及其相关代码,并对接收到的数据进行分析,判断这些数据是否真实可靠。如果数据可靠即对母钟进行校对。如果数据不可靠便放弃,下次继续接收。 2.1.2主备母钟

内部时钟源

内部时钟源 1、内部时钟源结构介绍 该单片机的内部时钟源模块(ICS,The internal clock source)是比较有特色的,除了一般单片机所具有的外部时钟配置(时钟或低成本晶体振荡器)、可编程内部时钟参考(32kHz)之外,还有一个锁频环(FLL, frequency-locked loop),锁频环的输入信号可以来自外部,也可以来自内部参考,锁频环的输出与外部时钟和内部参考时钟三者之一通过一个可编程分频器(BDIV , reduced bus divider)最终得到内部时钟源模块的最主要输出ICSOUT,总线时钟为ICSOUT的二分频。时钟源模块内部结构以及输出时钟的应用情况参考图1和图2。

对时钟源模块的控制与配置离不开特殊功能寄存器,需要用到的寄存器中的一些位(bits)在图中也已经标出来了,通过这些控制位的选择,时钟模块的输出可以来自外部、内部参考或者锁频环的输出。即使时钟源的输出不经过锁频环FLL,锁频环既可以使能,也可以关闭(省电),种种情况归纳起来,时钟源模块有7种工作模式: FEI:FLL engaged internal mode; FEE:FLL engaged external mode; FBI:FLL bypassed internal mode; FBILP:FLL bypassed internal low power mode; FBE:FLL bypassed external mode FBELP:FLL bypassed external low power mode stop: 这7种工作模式中,前两个字母FE或者FB表示最终ICSOUT是否来自于锁频环,FE表示是,而FB表示FLL被跳过去了,ICSOUT可能来自外部也可能来自内部参考,取决于第三个字母是I(内部)还是E(外部)。有的模式中包含LP表示低功耗,也就是带LP的模式下锁频环被禁止,此时可以给BDC模块供电的,来自于FLL二分频输出的ICSLCLK不再存在。 2、内部时钟源控制寄存器介绍 对内部时钟源的控制与配置是通过2个控制寄存器、一个内部参考时钟调节寄存器以及一个状态与控制寄存器来实现的,对这些控制位的定义建议参考上述内部时钟源结构图。 1 (ICSC1) 内部时钟源控制寄存器

网络时钟施工方案设计

实用文档 网络时钟施工方案

目录 一、工程概况 1.工程简述 2.系统说明 二、主要工程量和主要实物工程量 1.主要工程量 2.主要实物工程量 三、安装调试 1. 安装要求 2.系统调试时需具备的条件 3.验收测试方法及测试标准

一、项目概况 1.工程简述 根据XXX综合楼项目弱电系统设计要求,本工程设置集中监控时钟系统。 时钟系统供应商-烟台持久钟表集团有限公司在本工程时钟系统建设中,本着“国际领先、国内一流”的投标目标,使医院智能化楼宇工程时钟系统完全符合相关国家及行业规范和标准,并严格按照医院智能化楼宇工程对时钟系统的各种特殊要求,将之建成一个技术先进、智能化高、功能齐全完善的时钟系统,实现整个医院内时间标准的统一,以便于整个医院内工作人员和患者随时掌握准确、统一的时间信息,使各业务部门、职能部门工作井然有序、协调一致地进行工作,为各功能部门之间有机协调、密切配合提供标准的时间依据,确保适应医院智能化楼宇各种相关业务高速运转的需求。 医院时钟系统是一个大型联网计时系统。该系统采用分布式系统结构,系统母钟与各子钟之间采用以太网接口方式,扩展方便。该系统的信号接收单元具有接收GPS标准时间信号的功能,为整个系统提供校时信号,消除计时系统的积累误差。该系统还采用了母钟热备份、自动切换保护、反馈控制、抗干扰及冗余等技术,是一个高精度、高可靠性的多子母钟系统。 烟台持久钟表有限公司自主开发生产的大区域时钟系统已被成功应用于苏州大学附属第二医院、东莞康华医院、天津泰达医院、青岛东部医院、首都国际机场T3航站楼、上海浦东国际机场、成都双流国际机场、宁波栎社机场、沈阳桃仙国际机场、深圳宝安国际机场、大连周水子国际机场、重庆江北机场改扩建工程、昆明火车站改扩建工程、海南海口美兰机场、长春龙嘉

最新轨道交通时钟系统解决方案复习过程

轨道交通时钟系统解决方案 轨道交通时钟系统解决方案 地铁通信系统一般包括: 时钟系统是轨道交通重要的组成部分之一,而其在地铁站的主要作用是为上班族、来往的游客工作人员提供准确的时间信息,同时时

钟系统要为其他监控系统、控制系统等弱电子系统提供统一的时钟信号,使各系统的定时集中同步,在整个地铁系统中使用相同的定时标准。站厅及站台位置的时钟可以为旅客提供准确的时间信息;各车站办公室内及其它停车场内的时钟可以为工作人员提供准确的时间信息;向其它地铁通信子系统提供的时钟信息为地铁运行提供了标准的时间,保证了轻轨系统运行的准时,安全。 时钟子系统能够向地铁全部通信子系统提供准确的时钟信号。时钟信号以卫星自动定位系统所发的格林威治标准世界时间为准辅以铷原子钟或石英钟。时钟系统的控制中心向各分站或车场二级母钟发送时钟信号,再由二级母钟向其对应的子钟发送时钟信号;同时每站的各路时钟信号均需上传至时钟系统的监控中心,使之可以完成对全路各站所有时钟工作状态的监测和控制,并可在相应的管理客户机上完成各种需要的管理及配置功能。

设计区域:换乘大厅、进出口、监控室、控制室控制中心调度大厅和各车站的站厅、站台、车站控制室、公安安全室、票务室、变电所控制室及其它与行车有关的处所,并在车辆段/停车场信号楼运转室、值班员室、停车列检库、联合检修库等有关地点设置子钟。

相关产品 第一章教育和教育学 1 教育的发展 一、教育的概念 考点:教育是培养人的一种社会活动,是传承社会文化、传递生产经验的和社会生活经验的基本途径。 考点广义:凡是增进人们的知识和技能,影响人们思想观念的活动,都具有教育作用。 狭义:主要指学校教育。 学校教育是教育者根据一定的教育要求,有目的、有计划、有组织的通过学校的教育工作,对受教育者的身心施加影响,促使他

时钟源及定时器计算方法

时钟源及定时器计算方法示例一.时钟源 Fin=8MHz ●时钟源定义 规则: Fpllo必须大于20MHZ且少于66MHZ Fpllo * 2s必须少于170MHZ Fin/p推荐为1MHZ 或大于,但小于2MHZ 例:设晶振工作频率fin=8MHz,要求产生主时钟频率MCLK==64MHz m = (MDIV + 8),p = (PDIV + 2),s = SDIV 由于Fpllo * 2s<170MHZ →2s <170MHz/64 MHz = 2.65 →s=1=SDIV Fin/p推荐为1MHZ 或大于,但小于2MHZ, 1MHz<=Fin/p<2M Fin /2M<=P< Fin/1M →4<=P<8 p = (PDIV + 2) →2<=PDIV<6

Fpllo = (m * Fin)/(p * 2s) 注:答案不唯一 ●SDIV=1 (0x01) PLLCON[1:0] 2位0~3 ●取PDIV=2 (0x02) PLLCON[9:4] 6位0~63 ●MDIV=?(0x38) PLLCON[19:12] 8位0~255 由 Fpllo=MCLK=( MDIV +8)*8M/( PDIV +2)*2SDIV =( MDIV +8)*8M/((2+2)*21)= 64MHz →( MDIV +8)*8M/8= 64MHz →MDIV +8=64 →MDIV=56 PLLCON:MDIV[19:12],PDIV[9:4],SDIV[1:0] 0x38 0x2 0x1 ●对PLLCON赋值方法一: PLLCON=0b0011 1000 0000 0010 0001或PLLCON=0x380201 ●对PLLCON赋值方法二: PLLCON= ((MDIV<<12)| (PDIV<<4)|( SDIV<<0)) 二.定时器定义 定时器输入时钟频率f in=MCLK/{预分频值+1}/{再分频值}= MCLK/{ prescaler +1}/{DIV},其中预分频值为0~255,再分频DIV为2,4,8,16,32 例:设系统输入主时钟频率为MCLK=64MHz,要求定时器Time0输出脉冲时间间隔T=5s,占空比为20%。 注:答案不唯一。 ●由定时器输出频率要求可知:f out=1/T=1/5=0.2Hz ●设取DIV= 32 Prescaler=199 Prescaler:0~255 ●由f in= MCLK/{ prescaler +1}/DIV=64MHz/200/32=10KHz 尽量保持整除 ●TCNTBn = f in / f out=10KHz/0.2=50K=50000 TCNTBn寄存器为16位:0~65535 ●占空比20%,可得TCMPBn= TCNTBn*20%=50000*20%=10000,即定时器从50000递 减计数至10000时(即TCMPBn= TCNTBn),Tout输出高电平 定时器配置及启动!

时钟同步系统施工方案

时钟同步系统施工方案

施工方案审批表 审核单位:审核意见:审核人: 日期:监理单位:监理意见:监理人: 日期:批准单位:审批意见:审批人: 日期:

目录 一、施工方案综述............................................................................................... - 3 - 二、工程概况及特点........................................................................................... - 4 - 三、施工步骤....................................................................................................... - 5 - 四、风险分析..................................................................................................... - 14 - 五、生产安全及文明施工................................................................................. - 14 - 一、施工方案综述 根据中韩(武汉)石油化工有限公司PLC系统的改造技术要求和我公司对改造要求的理解来编制施工方案。

STM8的C语言编程(11)-- 切换时钟源

STM8的C语言编程(11)--切换时钟源 STM8单片机的时钟源非常丰富,芯片内部既有16MHZ的高速RC振荡器,也有128KHZ的低速RC振荡器,外部还可以接一个高速的晶体振荡器。在系统运行过程中,可以根据需要,自由地切换。单片机复位后,首先采用的是内部的高速RC振荡器,且分频系数为8,因此CPU的上电运行的时钟频率为2MHZ。切换时钟源,主要涉及到的寄存器有:主时钟切换寄存器CLK_SWR和切换控制寄存器CLK_SWCR。 主时钟切换寄存器的复位值为0xe1,表示切换到内部的高速RC振荡器上。当往该寄存器写入0xb4时,表示切换到外部的高速晶体振荡器上。 在实际切换过程中,应该先将切换控制寄存器中的SWEN(第1位)设置成1,然后设置CLK_SWCR的值,最后要判断切换控制寄存器中的SWIF标志是否切换成功。 下面的实验程序首先将主时钟源切换到外部的晶体振荡器上,振荡频率为8MH Z,然后,然后快速闪烁LED指示灯。接着,将主时钟源又切换到内部的振荡器上,振荡频率为2MHZ,然后再慢速闪烁LED指示灯。通过观察LED指示灯的闪烁频率,可以看到,同样的循环代码,由于主时钟源的改变的改变,闪烁频率和时间长短都发生了变化。 同样还是利用ST的开发工具,生成一个C语言程序的框架,然后修改其中的m ain.c,修改后的代码如下。 // 程序描述:通过切换CPU的主时钟源,来改变CPU的运行速度 #include "STM8S207C_S.h" // 函数功能:延时函数 // 输入参数:ms -- 要延时的毫秒数,这里假设CPU的主频为2MHZ // 输出参数:无 // 返回值:无 // 备注:无 void DelayMS(unsigned int ms) { unsigned char i; while(ms != 0) { for(i=0;i<250;i++) { }

国网电力通信【时钟源】题库

时钟源题库 一、选择题 1.描述同步网性能的三个重要指标是(B)。 A、漂动、抖动、位移 B、漂动、抖动、滑动 C、漂移、抖动、位移 D、漂动、振动、滑动 2.基准时钟一般采用(B)。 A、GPS B、铯原子钟 C、铷原子钟 D、晶体钟 3.基准主时钟(PRC),由G.811建议规范,频率准确度达到(A)。 A、1×10-11 B、1×10-10 C、1×10-9 D、1×10-8 4.在2.048kbit/s复帧结构中的(A)时隙作为传递SSM的信息通道。 A、TS0 B、TS1 C、TS16 D、TS30 5.在SDH中,SSM是通过MSOH中(A)字节来传递的。 A、S1 B、A1 C、B2 D、C2 6.如果没有稳定的基准时钟信号源,光同步传送网无法进行(C)传输指标的测量。 A、误码 B、抖动 C、漂移 D、保护切换 7.在SDH网络中传送定时要通过的接口种类有:2048kHz接口、2048kbit/s接口和(C)接口3种。 A、34Mbit/s B、8Mbit/s C、STM-N D、STM-0 8.通信网中,从时钟的正常工作状态不应包括(D)。 A、自由运行(Free Running) B、保持(Hold Over) C、锁定(Locked) D、跟踪(Trace) 9.在SDH网络中,其全程漂动总量不超过(B)微秒。 A、10 B、18 C、20 D、25 10.SDH同步网定时基准传输链上, SDH设备时钟总个数不能超过(C)个。 A、10 B、20 C、60 D、99 11.SDH同步网定时基准传输链上,在两个转接局SSU之间的SDH设备时钟数目不宜超过(B)个。 A、10 B、20 C、60 D、99 12.由于时钟内部操作而引起的基准时钟输出接口(2048kHz或2048kbit/s)相位不连续性都不应超过(D)。 A、1UI B、1/2UI C、1/4UI D、1/8UI 13.对输入定时信号的规定:当以电缆连接BITS输出至业务设备的同步输入时,BITS输出至业务设备输入间的传输衰减为:对2048kb/s信号在1024kHz频率点不应大于( );对2048kHz信号在2048kHz频率点不应大于( )。(B) A、5dB, 5dB B、6dB, 6dB C、7dB, 7dB D、8dB, 8Db 二、多项选择题 1.以下关于时钟源说法正确的是:(ABD)。 A、PRC、LPR都是一级基准时钟 B、PRC包括Cs原子钟 C、BITS只能配置Rb钟

数字时钟设计方案

目录: 第一章设计目的 0 第二章设计要求 (1) 第三章方案确定 (2) 第四章方案设计 (3) 第一节220V电源供电部分 (3) 第二节时钟和温度部分方案设计 (3) 第三节单片机的选择 (5) 第四节显示器件选择 (5) 第五节温度方案选择 (6) 第六节串口通讯方案选择 (7) 第五章性能测试 (9) 第六章结果分析 (12) 第七章个人工作 (13) 第八章设计体会 (14)

第一章设计目的 智能仪表课程设计是自动化专业的专业实践课程。 本课程的任务是通过设计完成一个具有完整功能的单片机系统,是学生掌握目前典型自动化仪表的一般设计要求和设计方法,掌握开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析、解决问题的能力;培养对所学知识的综合应用能力。 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计是数据采集及处理,显示系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础

网络时钟系统方案

网络时钟系统方案 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

时钟系统 技术方案 烟台北极星高基时间同步技术有限公司 2012年3月 第一部分:时钟系统技术方案 一、时钟系统概述 1.1概述 根据办公楼的实际情况,特制定如下施工设计方案: 时钟系统主要由GPS接收装置、中心母钟、二级母钟(中继器)、全功能数字显示子钟、、传输通道和监测系统计算机组成。 系统中心母钟设在中心机房内,其他楼各设备间设置二级母钟,在各有关场所安装全功能数字显示子钟。 系统中心母钟接收来自GPS的标准时间信号,通过传输通道传给二级母钟,由二级母钟按标准时间信号指挥子钟统一显示时间;系统中心母钟还通过传输系统将标准时间信号直接传给各个子钟,为楼宇工作人员提供统一的标准时间 二、时钟系统功能 根据本工程对时钟系统的要求,时钟系统的功能规格如下: 时钟系统由GPS校时接收装置(含防雷保护器)、中心母钟、扩容接口箱、二级母钟、数字式子钟、监控终端(也称监测系统计算机)及传输通道构成。其主要功能为: ☉显示统一的标准时间信息。 ☉向其它需要统一时间的系统及通信各子系统网管终端提供标准时间信息。 中心母钟 系统中心母钟设置在控制中心设备室内,主要功能是作为基础主时钟,自动接收GPS的标准时间信号,将自身的精度校准,并分配精确时间信号给子钟,二级母钟和其它需要标准时间的设备,并且通过监控计算机对时钟系统的主要设备进行监控。 中心母钟主要由以下几部分组成: ☉标准时间信号接收单元 ☉主备母钟(信号处理单元)

☉分路输出接口箱 ☉电源 中心母钟外观示意图见(附图) 2.1.1标准时间信号接收单元 标准时间信号接收单元是为了向时间系统提供高精度的时间基准而设置的,用以实现时间系统的无累积误差运行。 在正常情况下,标准时间信号接收单元接收来自GPS的卫星时标信号,经解码、比对后,经由RS422接口传输给系统中心母钟,以实现对母钟精度的校准。 系统通过信号接收单元不断接收GPS发送的时间码及其相关代码,并对接收到的数据进行分析,判断这些数据是否真实可靠。如果数据可靠即对母钟进行校对。如果数据不可靠便放弃,下次继续接收。 2.1.2主备母钟 由于母钟是整个时钟系统的中枢部分,其工作的稳定性很大程度上决定了整个系统的可靠性,因此我们充分考虑了系统功能的实现与系统可靠性等综合因素,将其设计为主、副机配置,并且主、副机之间可实现自动或手动切换。 中心母钟通过标准RS422接口接收标准时间信号接收机发送的标准时间信号。标准时间信号接收机正常工作时,该信号将作为母钟的时间基准;标准时间信号接收单元出现故障时,中心母钟将采用自身的高稳晶振产生的时间信号作为时间基准,向其他子系统及各个二级母钟(中继器)发送时间信息,同时向时钟系统网管设备发出告警。 中心母钟能够显示年、月、日、星期、时、分、秒等全时标时间信息,具备12/24小时以及格林威治时间(GMT)三种显示方式的转换功能,也可显示所控制的二级母钟(中继器)的运行信息。中心母钟和校时信号能自动进行调整,可显示并输出任意时区的时间。 中心母钟具有统一调整、变更时钟快慢的功能,可通过设置在前面板上的键盘实现对时间的统一调整。 中心母钟通过标准的RS422/ RS485接口与监控计算机相连,以实现对时钟系统主要设备的维护管理及监控。 中心母钟采用标准的RS422/485接口形式分别与自带子钟连接。通过时钟信号线缆通道定时向子钟发送标准时间信号,使其按统一的时间标准运行。当系统中心母钟出现故障时,能向时钟监测系统计算机发出告警。

MSP430之时钟源的选择

MSP430之时钟源的选择 学51的朋友刚转学MSP430时会感觉很多的不适应,这是理所当然的,因为MSP430的。 资源要比51丰富的多了,而且是16位。今天刚系统学完MSP430时钟源部分,在此写下,忘大家指正。 首先,MSP430不像51只有有一个外部晶振作为时钟源,MSP430又有3到4个时钟源!外部可接两个晶振,一个高频晶振XT2CLK(0.4M~16M),一个低平晶振LFXT1CLK(32768HZ).。内部有一个数字振荡器DCO。MSP430中规定了3种时钟信号:ACLK,MACLK,SMCLK。ACLK(辅助时钟信号),LFXT1CLK是该时钟信号的时钟源,ACLK主要用作一些低频模块。MACLK(主时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,MACLK主要给CPU和系统提供时钟信号。SMCLK(子时钟信号),XT2CLK,LFXT1CLK,DCO都可以是该时钟信号的时钟源,SMCLK主要用作一些低频模块。看到这里,看到有点乱了,别着急,慢慢理清思路。下面的图片帮大家理解一下 下面对与时钟源有关的寄存器进行分析 1:DCOCTL

DCOX(BIT7~BIT5):这三位与下面提到的RSELX共同来决定DCO的频率范围。RSELX选择的是大范围,DCOX选择的是小范围。例如RSELX先将范围限定在1000~2000,DCOX则决定1000~2000之间的某个范围。 MOD(BIT4~BIT0):这5位不重要,可以不管他。 2:BCSCTL1 XT2OFF(bit7):改为置1的话关闭高频晶振。 XTS(bit6):LFXT1CLK模式选择,置1的话选择外部接高频晶振,置0的话这接32768HZ的晶振。 DIVX(bit5~bit4):ACLk分频。ACLK可以经1/2/4/8/分频后供给相应模块。 RSELX:前面已经提到,与DCOX同来决定DCO的频率范围。 3:BCSCTL2 SELMX(BIT7~BIT6):MCLK时钟来源选择位。00:选择DCO作为MCLK的时钟源。01:选择DCO作为MCLK的时钟源。10:选择高频晶振作为MCLK的时钟源。11:选择低频晶振作为MCLK的时钟源。 DIVMX(BIT5~BIT4):MCLk分频. SELS(BIT3):SCLK时钟源选择位。0:选择DCO作为SCLK的时钟源.1:选择高频晶振作为SCLK的时钟源,若高频晶振不存在,则选择低频晶振作为SCLK的时钟源。 DIVSX:SCLK分频。 DCOR:该位不重要 4:BCSCTL3 XT2SX(BIT7~BIT6):高频晶振频率范围选择。 00:0.4M~1M.01:1M~3M.10:3~16M. LFXT1SX(BIT5~BIT4):低频晶振范围选择。 XCAPX:当XTS=0时,LFX1CLK选择的是低频模式时,需要用改为选择内部电容来帮助晶振起振。00:1pf01:6pf10:10pf11:12pf. 当XTS=1时,LFX1CLK选择高频模式,需要要外部接电容来起振,所以XCAPX必须置0.

GPS时钟系统(GPS同步时钟)技术方案(1)

GPS 时钟系统(GPS 同步时钟技术方案 技术分类:通信 | 2010-11-08 维库 在电力系统、 CDMA2000、 DVB 、 DMB 等系统中 , 高精度的 GPS 时钟系统(GPS 同步时钟对维持系统正常运转有至关重要的意义。 那如何利用 GPS OEM来进行二次开发 , 产生高精度时钟发生器是一个研究的热点问题。如在 DVB-T 单频网 (SFN中 , 对于时间同步的要求 , 同步精度达到几十个 ns, 对于这样高精度高稳定性的系统 , 如何进行商业级设计 ? 一、引言 在电力系统的许多领域,诸如时间顺序记录、继电保护、故障测距、电能计费、实时信息采集等等都需要有一个统一的、高精度的时间基准。利用 GPS 卫星信号进行对时是常用的方法之一。 目前, 市场上各种类型的 GPS-OEM 板很多, 价格适中, 具有实用化的条件。利用 GPS-OEM 板进行二次开发,可以精确获得 GPS 时间信息的 GPS时钟系统 (GPS 同步时钟。本文就是以加拿大马可尼公司生产的 SUPERSTAR GPS OEM板为例介绍如何开发应用于电力系统的的 GPS 时钟系统(GPS 同步时钟。 二、 GPS 授时模块 GPS 时钟系统 (GPS 同步时钟采用 SUPERSTAR GPS OEM 板作为 GPS 接受模块, SUPERSTAR GPS OEM 板为并行 12跟踪通道,全视野 GPS 接受模块。 OEM 板具有可充电锂电池。 L1频率为 1575.42MHz ,提供伪距及载波相位观测值的输出和 1PPS (1 PULSE PER SECOND脉冲输出。 OEM 板提供两个输入输出串行口,一个用作主通信口,可通过此串行口对 OEM 板进行设置,也可从此串口读取国际标准时间、日期、所处方位等信息。另一个串行口用于 RTCM 格式的差分数据的输出,当无差分信号或仅用于 GPS 授时,此串行口可不用。 1PPS 脉冲是标准的 TTL 逻辑

系统时钟源的选择

/****************************************** ******************************************* ********************* * 文件名:iic.C * 功能:实验二 GPIO控制实验 * 该实验采用CC2530的I/O口(P1.0和P1.1)模拟IIC总线的SCL和SDA,然后通过IIC 总线形式控制GPIO扩展芯片 * PCA9554,最后通过扩展的IO来控制LED的亮灭。 * * 硬件连接:将OURS的CC2530RF模块插入到普通电池板或智能电池板上。 * * P1.0 ------ SCL * P1.1 ------ SDA * * 版本:V1.0 * 作者:WUXIANHAI * 日期:2011.1.18 * 奥尔斯电子主页:https://www.360docs.net/doc/ba2795175.html, ******************************************* ******************************************* ************************/ #include "ioCC2530.h" #include "hal_mcu.h" #define SCL P1_0 //IIC时钟线#define SDA P1_1 //IIC数据线 //定义IO方向控制函数 #define IO_DIR_PORT_PIN(port, pin, dir) \ do { \ if (dir == IO_OUT) \ P##port##DIR |= (0x01<<(pin)); \ else \ P##port##DIR &= ~(0x01<<(pin)); \ }while(0) #define OSC_32KHZ 0x00 //使用外部32K晶体振荡器//时钟设置函数 #define HAL_BOARD_INIT() \ { \ uint16 i; \ \ SLEEPCMD &= ~OSC_PD; /* 开启 16MHz RC 和32MHz XOSC */ \ while (!(SLEEPSTA & XOSC_STB)); /* 等待 32MHz XOSC 稳定 */ \ asm("NOP"); \ for (i=0; i<504; i++) asm("NOP"); /* 延时63us*/ \ CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ); /* 设置 32MHz XOSC 和 32K 时钟 */ \ while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ)); /* 等待时钟生效*/ \ SLEEPCMD |= OSC_PD; /* 关闭 16MHz RC */ \ } #define IO_IN 0 //输入 #define IO_OUT 1 //输出 uint8 ack; //应答标志位 uint8 PCA9554ledstate = 0; //所有LED当前状 态 /****************************************** ************************************ * 函数名称:QWait * * 功能描述:1us的延时 * * 参数:无 * * 返回值:无 *******************************************

时钟源及定时器计算方法

Fin=8MHz ●时钟源定义 规则:Fpllo = (m * Fin)/(p * 2s) Fpllo必须大于20MHZ且少于66MHZ Fpllo * 2s必须少于170MHZ Fin/p推荐为1MHZ 或大于,但小于2MHZ 例1. 设晶振工作频率fin=8MHz,要求产生主时钟频率MCLK==64MHz 由于Fpllo * 2s<170MHZ ->2s <170MHz/64 MHz = 2.65 -> s=1=SDIV Fin/p推荐为1MHZ 或大于,但小于2MHZ, 1MHz<=Fin/p<2M Fin /2M<=P< Fin/1M -> 4<=P<8 p = (PDIV + 2) -> 2<=PDIV<4 Fpllo = (m * Fin)/(p * 2s) m = (MDIV + 8),p = (PDIV + 2),s = SDIV MDIV=56 (0x38) 0~255 PDIV=2 (0x02) 0~63 SDIV=1 (0x01) 0~3 验证: Fpllo=MCLK=( MDIV +8)*8M/( PDIV +2)*2SDIV =(56+8)*8M/((2+2)*21)= 64MHz PLLCON:MDIV[19:12],PDIV[9:4],SDIV[1:0] 0x38 0x3 0x1 PLLCON=0b0011 1000 0000 0010 0001=0x380201 代码: PLLCON|= ((MDIV<<12)| (PDIV<<4)|( SDIV<<0))

定时器定义 定时器输入时钟频率=MCLK/{预分频值+1}/{再分频值}= MCLK/{ prescaler +1}/{DIV} 其中预分频值为0~255 再分频DIV为2,4,8,16,32 例1.MCLK=64MHz,时间间隔T=5s 定时器输出频率fout=1/T=1/5=0.2Hz DIV= 32 Prescaler=199 Prescaler:0~255 Fin= MCLK/{ prescaler +1}/DIV 尽量保持整除 =64MHz/200/32=10KHz TCNTBn = Fin / fout=10KHz/0.2=50K=50000 TCNTBn:0~65535 ARM7的定时器配置及启动! 第一步:配置定时器配置寄存器0(TCFG0)以设置定时器的预分频值prescaler 第二步:配置定时器配置寄存器1(TCFG1)以设置定时器的再分频值DIV 第三步:设置定时器初值TCNTn,TCNTBn及比较寄存器TCMPn,TCMPBn 第四步:配置定时器控制寄存器TCON的定时器自动重载位,翻转位,手动更新位,及启动定时器位。注:启动定时器的同时应清除手动更新位。 第五步:如果要产生定时器输出,则应配置GPIO端口E为功能2, 第六步:若定时器要产生中断,则应将定时器中断屏蔽位使能

胸痛中心时钟统一的解决方案.doc

丹阳市人民医院胸痛中心的时间管理方案 一、时钟同步系统 时钟同步系统对于医院系统可以说是一个不可缺少的重要组成部分,其主要作用是为相关医医疗机构工作人员提供一个标准统一的时间信息,同时为各相关单位科室提供统一的标准时间系统同步,从而实现各相关单位及相关设备的时间标准统一。这对医院的服务质量起到了重要的作用。时钟同步系统工作原理是相关责任人手持移动终端接收3G基站时间信息来实现统一;所有相关设备均以此为标准校对,从而实现全系统统一的时间标准。并每周校对一次。 二、计时点及方法 1.发病时间:患者出现胸痛、胸闷、上腹不适等系列症状开始的时间 ·计时方法:主要是通过问诊方式获得 2.呼救时间:首次拨打120呼救或拨打医院急救电话求救 ·计时方法:120记录、本院胸痛中心记录或其他急救机构记录,已接听电话的时刻为准。 3.到达现场时间:院前急救人员、社区医生或其他医疗机构到达现场时间 计时方法:要求院前人员、网络医院、其他医疗机构准确计时 4.首份心电图时间:完成第一份12或18导联心电图的时间 计时方法:开始接触医疗人员到完成第一份心电图最后一个导联记录为准。在完成心电图操作后,应将准确时间记录在心电图上,包括年、月、日、时、分 5.确诊STEMl时问:完成首份心电图后,由受过胸痛专科培训的医生或分诊护士确认为STEMI时间;或由我院医师使用胸痛中心微信群诊断为STEMI的时间。 6.抽血时间:首次抽血查Tnl、CKMB等的时间 计时方法:以抽血护士完成标本采集时刻为计时点。 7.开始转运时间:在确诊为ACS并离开现场/医院的时间。 . 计时方法:由转运医护人员在接到病人启动车辆时计时

在STM32中,有五个时钟源

、HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 其中40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外, 实时时钟RTC的时钟源还可以选择LSE,或者是HSE的128分频。RTC的时钟源通过RTCSEL[1:0]来选择。 STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用USB 模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz。 另外,STM32还可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟。 系统时钟SYSCLK,它是供STM32中绝大部分部件工作的时钟源。系统时钟可选择为PLL输出、HSI或者HSE。系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。其中AHB分频器输出的时钟送给5大模块使用: ①、送给AHB总线、内核、内存和DMA使用的HCLK时钟。 ②、通过8分频后送给Cortex的系统定时器时钟。 ③、直接送给Cortex的空闲运行时钟FCLK。 ④、送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。 ⑤、送给APB2分频器。APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。 在以上的时钟输出中,有很多是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、APB2外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。 需要注意的是定时器的倍频器,当APB的分频为1时,它的倍频值为1,否则它的倍频值就为2。 连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。注意USB模块虽然需要一个单独的48MHz时钟信号,但它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟。USB模块工作的时钟应该是由APB1提供的。 连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口。深圳专业STM32技术学习郭老师QQ754634522 使用HSE时钟,程序设置时钟参数流程: 1、将RCC寄存器重新设置为默认值 RCC_DeInit; 2、打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON); 3、等待外部高速时钟晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();

相关文档
最新文档