0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ATxmage入门应用之时钟模块和GPIO模块的介绍

算法&编程学院 来源:网络整理 2018-02-27 09:12 次阅读

1,时钟系统

任何嵌入式系统要正常运行都必须需要一个稳定的时钟系统。下面简单介绍一下xmega的时钟系统及初始化过程。

Xmega时钟系统时钟源包括内部时钟源和外部时钟源。

内部时钟源有:

32MHz内部RC振荡器

2MHZ内部RC振荡器;

32768kHz内部RC振荡器;

32Khz内部ULP低功耗振荡器;

外部时钟源:

0.4~16MHZ晶体振荡器;引脚XTAL1和XTAL2;

32.768kHZ晶体振荡器;引脚为TOSC1和TOSC2;

还可以从外部直接接入时钟。

通过上述时钟源通过锁相环(PLL)可以倍频到32MHz。

时钟分系统时钟、CPU时钟、外设时钟、外设分频时钟,同步时钟。

系统时钟选择与分频:所有时钟源及PLL都可以作为系统时钟CLK(sys),选择时钟源后,进入分频器进行分频。分频后作为各种外设时钟频率。

下面说一下PLL的倍频配置:

F(pll)=F(in)*PLL_FAC

下面4个时钟源可以作为锁相环的输入时钟:

MHz internal oscillator

32 MHz internal oscillator divided by 4

0.4 - 16 MHz Crystal Oscillator

External clock

要使用PLL,必须遵循下面几个步骤:

1,使能输入时钟源;

2,选择输入时钟源和设置倍频因子;

3,等待时钟源稳定;

4,使能PLL;

相关操作参见相关寄存器操作。具体的寄存器请到官网下载数据手册和用户手册查阅。下面我在Atmel Studio 6.2的基础上举例初始化时钟,初始化使用PLL到32MHz。参照上一章节的介绍在项目中添加时钟系统的驱动模块。

在系统时钟模块中的配置文件conf_clock.h中定义宏定义:

初始化后可以通过sysclk_get_main_hz这个函数读取系统时钟,该函数返回的就是系统时钟频率,看是否与初始化是否成功。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130304
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50562
收藏 人收藏

    评论

    相关推荐

    RX-4571LC、NB、SA实时时钟模块

    RX-4571LC实时时钟模块是EPSON推出的一求款额定频率32.768KHz,接口为SPI(3-wire),月偏差为±60 s的实时时钟模块,12脚贴片,具有小尺寸,高稳定性。该款
    发表于 01-31 11:46 0次下载

    怎么根据外围电路配置单片机gpio时钟

    怎么根据外围电路配置单片机gpio时钟  根据外围电路配置单片机GPIO时钟是一项重要的任务,它决定了单片机与外部设备的通信速度和稳定性。在本文中,我将详细
    的头像 发表于 01-31 10:57 448次阅读

    (RX8804CE、RA8804CE)实时时钟模块SOUT功能

    Out时钟模块
    Piezoman压电侠
    发布于 :2023年12月21日 15:35:10

    RX4111CE实时时钟模块电池备份切换功能

    电路时钟模块
    Piezoman压电侠
    发布于 :2023年12月15日 14:54:07

    RA2L1:使用CLKOUT给MCU CAN模块提供时钟

    RA2L1:使用CLKOUT给MCU CAN模块提供时钟
    的头像 发表于 11-02 16:27 353次阅读
    RA2L1:使用CLKOUT给MCU CAN<b class='flag-5'>模块</b>提供<b class='flag-5'>时钟</b>

    详细介绍下Aurix芯片的STM模块

    TC37x芯片有3个STM模块,每个STM模块可以产生两个SRx_INT中断信号(通过STM模块的Compare功能实现,下文介绍),Davinci OS中的硬件定时器就是使用STM
    的头像 发表于 09-26 09:12 844次阅读
    详细<b class='flag-5'>介绍</b>下Aurix芯片的STM<b class='flag-5'>模块</b>

    迅为RK3568开发板GPIO之外接模块

    迅为RK3568开发板GPIO之外接模块
    的头像 发表于 08-24 17:41 665次阅读
    迅为RK3568开发板<b class='flag-5'>GPIO</b>之外接<b class='flag-5'>模块</b>

    24 11.2_实时时钟RTC模块 - 第10节 #硬声创作季

    时钟RTC模块
    充八万
    发布于 :2023年08月16日 21:23:58

    24 11.2_实时时钟RTC模块 - 第9节 #硬声创作季

    时钟RTC模块
    充八万
    发布于 :2023年08月16日 21:23:07

    24 11.2_实时时钟RTC模块 - 第7节

    时钟RTC模块
    充八万
    发布于 :2023年08月16日 21:21:25

    24 11.2_实时时钟RTC模块 - 第6节 #硬声创作季

    时钟RTC模块
    充八万
    发布于 :2023年08月16日 21:20:35

    Broadcom CacheVault功率模块02和CacheVault功率模块05入门指南

    电子发烧友网站提供《Broadcom CacheVault功率模块02和CacheVault功率模块05入门指南.pdf》资料免费下载
    发表于 08-08 09:16 0次下载
    Broadcom CacheVault功率<b class='flag-5'>模块</b>02和CacheVault功率<b class='flag-5'>模块</b>05<b class='flag-5'>入门</b>指南

    基于模块时间计算 CPU 时钟的本地时间

    说明 可以使用该指令读取 CPU 时钟的当前日期和当前时间(模块时间)。 在此指令的 OUT 输出参数中输出读取的日期。得出的值不包含有关本地时区或夏令时的信息。 说明 CPU 时钟模块
    的头像 发表于 06-28 16:18 559次阅读
    基于<b class='flag-5'>模块</b>时间计算 CPU <b class='flag-5'>时钟</b>的本地时间

    使用USB显示模块的简单NTP时钟

    电子发烧友网站提供《使用USB显示模块的简单NTP时钟.zip》资料免费下载
    发表于 06-20 15:07 0次下载
    使用USB显示<b class='flag-5'>模块</b>的简单NTP<b class='flag-5'>时钟</b>

    FPGA设计:GPIO怎么走全局时钟网络

    EFX_GBUFCE既可以让GPIO走全局时钟网络也可以用于为时钟添加使能控制,当并不是随时需要该时钟时可以把时钟禁止以节省功耗。
    发表于 05-12 09:53 617次阅读
    FPGA设计:<b class='flag-5'>GPIO</b>怎么走全局<b class='flag-5'>时钟</b>网络