当前位置: 首页 > news >正文

做网站公司排名电话投资公司注册条件和要求

做网站公司排名电话,投资公司注册条件和要求,南京市江宁区建设局网站,常州知名网站建设公司本篇文章介绍了在TC397平台使用EB-treso对MCU驱动模块进行配置的实战过程#xff0c;主要介绍了后续基本每个外设模块都要涉及的芯片时钟部分#xff0c;帮助读者了解TC397芯片的时钟树结构#xff0c;在后续计算配置不同外设模块诸如通信速率#xff0c;定时器周期等… 本篇文章介绍了在TC397平台使用EB-treso对MCU驱动模块进行配置的实战过程主要介绍了后续基本每个外设模块都要涉及的芯片时钟部分帮助读者了解TC397芯片的时钟树结构在后续计算配置不同外设模块诸如通信速率定时器周期等都能有一个清晰的输入频率来源理解。 目录 概述 MCU配置  GeneralMcuGeneralConfiguration GeneralMcuModuleConfiguration McuResetSettingConf  McuTrapSettingConf McuClockSettingConfig  McuSystemPllSettingConfig  McuPeripheralPllSettingConfig McuPllDistributionSettingConfig McuExternalClockOutputConfig McuClockMonitorConfig  McuModeSettingConf McuDemEventParameter McuRamSectorSettingConf McuResetReasonConf MCU驱动使用与调试 概述 当我们使用需要用到时钟的外设时基本都需要对MCU驱动模块进行配置。驱动程序提供AUTOSAR指定的运行时服务接口。MCU驱动模块负责以下工作 完成AUTOSAR上层组件指定的时钟、复位和静态低功耗模式功能配置。Trap功能的配置。配置 BASIC 驱动程序所涉及的GTM、CCU6 和GPT12的全局特性。为定时器IP的其他驱动程序提供库支持 - GTM、CCU6、GPT12和STM。模拟转换器所需的相位同步器配置。符合AUTOSAR规范的Runtime APIs用于时钟、复位、低功耗管理和RAM初始化。用于Trap管理的Runtime APIs。 本文的参考资料见下表。 序号参考资料内容1《MC-ISAR_TC3xx_UM_Mcu.pdf》英飞凌提供的针对TC3xx芯片MCAL配置用户手册2《MC-ISAR_TC3xx_Config_Verification_Manual_Mcu.pdf》英飞凌提供的针对TC3xx芯片配置验证手册介绍动态代码与配置项的对应3《Infineon-AURIX_TC39x-UserManual-v02_00-EN》英飞凌提供的TC39x芯片用户手册 下图为MCAL驱动模块涉及的软硬件接口关系图。 本次配置主要描述MCU本身需要配置的功能主要为系统时钟牵扯到独立功能的诸如GTM部分我们会在单独介绍其功能时描述对应MCU需要完成的配置。MCAL针对不同的驱动模块的配置项根据功能进行了容器的划分下面是后边配置涉及的容器。 MCU配置  我们首先打开EB,导入Mcu与McalLib(McalLib里面的函数会贯穿整个MCAL)。本文只介绍MCU本身需要配置的部分。 本次配置的主要目标是完成芯片的时钟配置。板卡为英飞凌提供的KIT_A2G_TC397XA_TFT。涉及的软件包括 EB-treso用于生成动态代码具体工程搭建参考《【AUTOSAR MCAL】MCAL基础与EB tresos工程新建》。HighTech用于编译生成elf文件具体的工程搭建参考《【MCAL】HighTec集成TC3xx对应MCAL的Demo》。UDE 5.2用于下载和调试程序。 需要注意的是MCU配置尤其是时钟这块儿的依赖项比较多建议先使用MCAL EB-tresos Demo中的配置需要特殊处理时钟分频系数或者某模块的时钟时再单独修改路径为MC-ISAR_AS422_TC3xx_BASIC_2.20.0\DemoWorkspace\McalDemo\TC39B\1_ToolEnv\2_Tresos\AS422\DemoApp\config\Mcu.xdm。 GeneralMcuGeneralConfiguration 下图为General配置界面需要修改的一个配置选项如下。 McuSafetyEnable因为我们的DEM没有对应的配置所以我们需要关闭安全检查否则报错生成动态代码会报错。 其余的选项根据功能开发需要选宏开关即可我们这里直接采取默认的选项即可。需要着重理解的选项如下 McuInitClockMcu_InitClock API可用用作初始化芯片时钟。McuMainOscillatorFrequency 外部部晶体或陶瓷谐振器频率为20Mhz。McuOscillatorMode芯片时钟源是外部晶体或陶瓷谐振器模式。 GeneralMcuModuleConfiguration 这部分为MCU模式相关的通用配置我们暂时不需要改动。 McuResetSettingConf  此部分包含芯片复位的配置这部分我们需要修改的配置如下。 McuSWResetConf 软件复位选择导致的有系统复位与应用复位,这里选择应用复位应用复位后芯片的所有外设、CPU和部分SCU寄存器会回到初始状态其他部分如RAM时钟状态维持不变影响范围比系统复位要小也因此应用复位耗时最短。因为APP跳转Boot的是通过软件复位来实现的为了保持编程标志位在RAM中的值需要选择应用复位。McuSTMxResetOnApplResetEnable STM定时器的计数值会在清零重新计数。 McuTrapSettingConf 这部分功能为各核心Trap使能相关配置我们暂时不需要改动。 McuClockSettingConfig  这里是Mcu时钟配置的容器其中主要包含了以下一些容器。 时钟系统本身是由不同的构建块组成的时钟树下面是几个构建块包含的内容。 Clock Source时钟树源头可以是外部晶振或者内部系统时钟。 Clock speed up-scaling时钟的缩放部分主要由PLL锁相环构成。Clock distribution时钟分配由CCU负责。Individual clock configuration单独的时钟配置针对片内外设Peripherals。 McuSystemPllSettingConfig  此容器包含系统锁相环的配置主要完成对时钟源晶振频率的倍/分频从而达到配置的频率。下图为系统PLL功能逻辑图。 需要注意的配置如下。 McuClockReferencePointFrequency0系统时钟它的计算公式为Fpll ( (Fosc * (McuNDivider 1)) / ((McuK2Divider1)*(McuPDivider1)))。   McuPeripheralPllSettingConfig 此容器包含外设PLL的配置下图为对应的功能逻辑图。 这里我们主要关注下面的配置项。 McuClockReferencePointFrequency1 (dynamic range)外设时钟1Fpll1 ( (Fosc * (McuNDivider 1)) / ((McuK2Divider1)*(McuPDivider1)))McuClockReferencePointFrequency2 (dynamic range)外设时钟2Fpll2 ( (Fosc * (McuNDivider 1)) / ((McuK3Divider1)*(McuPDivider1))) McuPllDistributionSettingConfig 这个容器包含在时钟树内的各种片内外设时钟配置。  这里需要我们首先注意的是以下的配置。 McuClockDistributionInpClockSel将备用时钟或者PLLx选为时钟分配单元输入这里选用的是PLLx。McuLowPowerDivValue这个参数定义了低功率分频特性是否启用。这里为不启用。 剩下的配置则对应了各个片内外设我们用到哪里就需要关注那部分。 McuExternalClockOutputConfig 包含MCU外部时钟的配置参数因为我们用的是外部晶振这里就不涉及了。 McuClockMonitorConfig  这个容器定义了TC3xx时钟监视的配置这里我们不需要改动。 McuModeSettingConf 这个容器主要包含Mcu不同模式的配置集合。主要需要我们关注的为 McuMode当前配置集合为空闲模式的集合用于正常的程序运行。1为睡眠模式2为待机模式。 McuDemEventParameter 这是一个容器用于引用 DemEventParameter元素这些元素使用Dem_ReportErrorStatus API以防发生相应的错误。EventId 取自引用的DemEventParameter的DemEventId符号名称。容器中提供了标准化错误并且可以通过特定于供应商的错误引用进行扩展。这部分我们不需要修改。 McuRamSectorSettingConf 此部分容器包含初始化设置一部分RAM区域通过Mcu_InitRamSection()函数来实现我们没有使用。 McuResetReasonConf 这里在配置完芯片类型建立MCU模块这部分重启原因配置就会生成了。用户可以通过Mcu_GetResetReason获取重启原因。 MCU驱动使用与调试 MCU驱动使用主要涉及的是系统时钟的初始化首先调用Mcu_Init()初始化MCU通用配置然后调用Mcu_InitClock()初始化芯片的时钟部分最后使用Mcu_GetPllStatus()获取PLL状态相位锁定之后频率稳定表示初始化完成调用Mcu_DistributePllClock()将PLL时钟作为MCU时钟的源头。代码实现如下。 volatile Mcu_ClockType ClockID 0;Mcu_Init(Mcu_Config);Mcu_InitClock(ClockID);Mcu GetPllStatusRetValMcu_GetPllStatus ();while (MCU_PLL_UNLOCKED Mcu_GetPllStatus()){/* wait for PLL locked */}Mcu_DistributePllClock (); 工程准备好之后编译生成.elf文件然后将PLS正确与开发板相连JTAG接口然后打开UDE,与PLS连接上之后下载程序到办卡上在Mcu_DistributePllClock ()接口前设置断点如果能跑到这句话能初步说明PLL锁相环生成系统成功是OK的。 十六宿舍 原创作品转载必须标注原文链接。 ©2023 Yang Li. All rights reserved. 欢迎关注 『十六宿舍』大家喜欢的话给个更多关于嵌入式相关技术的内容持续更新中。
http://www.zqtcl.cn/news/993436/

相关文章:

  • 中国城市建设研究院深圳分院网站广西圣泰建设工程有限公司网站
  • 网站建设的方法有哪些内容wordpress展示插件
  • 北京手机网站制作公司wordpress 简易教程
  • 手机网站建站公司有哪些搜索引擎收录
  • 仿同程网 连锁酒店 网站模板学校网站建设用哪个系统
  • 教做甜品的网站删除wordpress主题字体载入
  • 做酒店网站所用到的算法wordpress侧栏导航
  • 做漫画的网站有哪些信息门户网站怎么做
  • 九江集团网站建设公司信誉好的广州做网站
  • 福州网站建设服务平台今天发生的重大新闻
  • 招聘信息网搜索引擎优化代理
  • 免费的企业网站cms纯文字logo在线制作
  • 深圳电器公司官网网站建设 网站优化
  • 大连 网站建设昆明建设网站哪家好
  • 网站首页设计及运行效果网站建设与管理任务分工
  • 自己建设论坛网站家用电脑搭建服务器
  • 做网站上海公司企业网站内页
  • 手机网站seo山东网站建设网
  • 溧阳 招网站开发wordpress 占内存
  • 网站seo 工具做网站建设公司排名
  • 丹阳网站建设企业建设网站管理制度
  • 怎样审请网站集成装修全屋定制
  • 好看响应式网站模板下载可以访问的国外网站
  • 做电脑网站宽度网站建立安全连接失败
  • 西安网站设计哪家公司好my12777域名查询
  • 西宁网站建设排名网站设计对网站建设有哪些意义?
  • 北京平台网站建设价位怎样做网站卖网站
  • 网站建设与维护试题a卷建设银行官方网站买五粮液酒
  • 安装网站源码做文艺文创产品的网站
  • 软件公司网站设计与制作电子商务成功网站的案例