时钟频率

汽车电子MCU设计方法

此生再无相见时 提交于 2020-03-25 20:42:44
针对汽车电子领域来讲,将对整车级、零部件级的电磁兼容要求强制性标准,结合到集成电路中的设计,才能使电路更易于设计出符合标准的最终产品。作为电子控制系统里面最为关键的单元—— MCU ,其EMC性能的好坏直接影响各个模块与系统的控制功能。下面介绍在关于汽车电子MCU中使用的可行性设计方法 1.时钟电路设计    由于时钟电路所产生的时钟信号一般都是周期信号,其频谱是比较离散的,离散谱的能量集中在有限的频率上。又由于系统中各个部分的时钟信号通常由同一时钟分频、倍频得到,它们的谱线之间也是倍频关系,重叠起来进而增大辐射的幅值,说时钟电路是一个非常大的污染源。 针对汽车电子MCU数字前端设计,在抗EMI方面采用门控时钟的方法改进。任何时钟在不需要时都应关闭,减低工作时钟引起的电磁发射问题。根据A8128(汽车电子MCU的型号)芯片系统功能设计要求,采用Run、Idle、Stop和Debug四种工作模式,在每一种工作模式下针对系统时钟、外设模块时钟进行适当门控。此外还有几种常见在时钟方面的抗EMI的设计方法,包括: ①降低工作频率    MCU的工作时钟应该设定为满足性能要求所需的最低频率。从测试结果可以看出,一个微处理器的运行频率由80MHz变为10MHz,可以使频谱宽频范围内的干扰峰值产生几十dBμV的衰减,而且能够有效的降低功耗。 ②异步设计    异步电路工作没有锁定一个固有频率

嵌入式开发常用通信协议(总结)

痞子三分冷 提交于 2020-03-17 07:54:01
在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。 以下内容为常用板上通信接口:包括I2C、SPI、UART、1-Wire 1. I2C总线(Inter Integrated Circuit) I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里,半双工的含义 是指在任意给定的时刻,只有一个方向上是可以通信的 。I2C总线最早由Philips半导体公司于20世纪80年代研发面市。I2C最初的设计目标是为微处理器/微控制器系统与电视机外围芯片之间的连接提供简单的方法。 I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。 SCL线——负责产生同步时钟脉冲。 SDA线——负责在设备间传输串行数据。 I2C总线是共享的总线系统,因此可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。主设备负责控制通信,通过对数据传输进行初始化/终止化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。在相同的总线上,I2C支持多个主设备的同时存在。图1-1显示了I2C总线上主设备和从设备的连接关系。 图1-1                   图1-2

FPGA开发(四) PLL实验

随声附和 提交于 2020-03-17 05:10:47
本次我们来学习FPGA的PLL,PLL(Phase Locked Loop)俗称锁相环,在很多的单片机中都有,它主要的目的是为了实现倍频和分频,因为我们系统运行的主频率是固定的,如果我们需要其他的频率,那么就需要超频或者降频,此时就需要锁相环实现。 FPGA的PLL是一个硬件模块,是十分重要的资源。本次博主使用的cyclone IV有四个PLL,为外部的端口提供高速的通信时钟。从数据手册中得到PLL的原理图如下 从上图可以看出,每一个PLL可以输出5路信号,信号的频率取决于C0~C5改变取值即可实现输出频率的改变。本次实验实现PLL输出的不同时钟通过FPGA的IO输出。 首先建立工程pll_test,然后我们需要进行pll的设置,点击IP catalog图标,即下图最右边的那个,搜索pll,点击ALTPLL后进行设置,起一个名字pll.v之后点击确定。 在弹出的设置中,选择输入时钟为50MHz,如下所示。 在Output clocks中选择输出的时钟为25MHz, 使能时钟1,选择50MHz,时钟2选择时钟75MHz,时钟3选择100MHz,如下所示。 新建一个pll_test.v文件,例化PLL ip ,程序如下所示。 `timescale 1ns/1ps module pll_test( input clk, input rst, output clkout1, output

SPI协议(2)

好久不见. 提交于 2020-03-05 23:28:53
转自: http://www.sohu.com/a/211324861_468626 1、 SPI简介 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。 是Motorola首先在其MC68HCXX系列处理器上定义的。 SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI是一种高速的,全双工,同步的通信总线 ,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 2、 SPI特点 2.1采用主-从模式(Master-Slave) 的控制方式 SPI 规定了两个 SPI 设备之间通信必须由主设备 (Master) 来控制次设备 (Slave)。 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行 片选 (Slave Select) 来控制多个 Slave 设备。 SPI 协议还规定 Slave 设备的 Clock 由 Master 设备通过 SCK 管脚提供给 Slave 设备, Slave 设备本身不能产生或控制 Clock, 没有 Clock 则 Slave 设备不能正常工作。 2.2采用同步方式(Synchronous)传输数据

【计算机组成原理】第一章、计算机系统概述

流过昼夜 提交于 2020-02-29 22:22:27
计算机性能指标 吞吐量 :表征一台计算机在某一时间间隔内能够处理的信 息量,单位是字节/秒(B/S)。 响应时间 :表征从输入有效到系统产生响应之间的时间度 量,用时间单位来度量,例如微秒(10-6S)、纳秒(10-9S)。 利用率 :表示在给定的时间间隔内,系统被实际使用的时 间所占的比率,一般用百分比表示。 处理机字长 :指处理机运算器中一次能够完成二进制数运 算的位数。当前处理机的字长有8位、16位、32位、64位。  字长越长,表示计算的精度越高。 总线宽度 :一般指CPU中运算器与存储器之间进行互连的内 部总线二进制位数。 存储器容量 :存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。其中: K = 2 1 0 , M = 2 2 0 , G = 2 3 0 , T = 2 4 0 , B = 8 位 ( 1 个 字 节 ) K=2^10,M=2^20,G=2^30,T=2^40,B=8位(1个字节) K = 2 1 0 , M = 2 2 0 , G = 2 3 0 , T = 2 4 0 , B = 8 位 ( 1 个 字 节 ) 存储器容量越大,记忆的二进制数越多。 存储器带宽 :存储器的速度指标,单位时间内从存储器读出的 二进制数信息量,一般用字节数/秒表示。 主频/时钟周期 :CPU的工作节拍受主时钟控制,主时钟不断 产生固定频率的时钟

性能量化之cpu

a 夏天 提交于 2020-02-29 21:54:33
系统现在很慢”似乎是对系统的性能最常用的抱怨了,但究竟慢到什么程度,如何来界定慢,可能需要对性能进行量化,对于OS来说,大致主要分为cpu,内存,磁盘,网络等组件,对这些维度的性能量化,不但可以更准确的定位到系统的瓶颈,更是做容量评估的基础。下面先看看cpu。 Cpu的性能主要跟缓存,主频,指令集,工艺,流水线等相关因素有关。 当前微处理器的设计上主要分为精简指令集(RISC),复杂指令集(CISC),所以对于不同的cpu来说,如果使用的指令集不同,单纯的从时钟频率来判断频率高的就相应的性能就高,通常并不准确。 Cpu的性能上每18个月就会增长一倍,而内存的速度在七年里才增长一倍,鉴于速度上的不匹配,而产生的L1,L2 cache。下表是不同的存储访问的延时。 Cache location and type Access time (in ns) Size "Good" hit rate L1 on-chip                  1-3 8-64 KB >90% L2 on-chip                  6-18 1-8 MB >50% L3 off-chip                30-40 8-32 MB >30% Main memory                 220 Very large - 对于开发或者运维人员来说

[转帖]震惊,用了这么多年的 CPU 利用率,其实是错的

只愿长相守 提交于 2020-02-29 21:53:55
震惊,用了这么多年的 CPU 利用率,其实是错的 2018年12月22日 08:43:09 Linuxer_ 阅读数:50 https://blog.csdn.net/juS3Ve/article/details/85219620 来源:内核月谈 原文链接: http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html 本文中若有任何疏漏错误,责任在于编译者。有任何建议和意见,请回复 内核月谈 微信公众号,或通过 caspar at linux.alibaba.com 反馈。 导读:本文翻译自 Brendan Gregg 去年的一片博客文章 “CPU Utilization is Wrong”,从标题就能想到这篇文章将会引起争议。文章一上来就说,我们“人人皆用、处处使用,每个性能监控工具里都在用”的 top 命令里的 “%CPU” 指标,是不对的,其并非用于衡量 CPU 的繁忙程度的正确指标,作者谴责了一下众人(或许也包括你我)的这一行为是具有很大的误导性(deeply misleading)的,而且这种情况还在连年恶化。对于这么大一顶帽子,让我们暂且按下躁动的心,听听作者是怎么深入阐释他的观点的。 1. 引言 可能你认为的 90% CPU 利用率意味着这样的情形: 而实际却可能是这样的: CPU

SPI详解

江枫思渺然 提交于 2020-02-23 16:10:17
1、 SPI简介 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 2、 SPI特点 2.1采用主-从模式(Master-Slave) 的控制方式 SPI 规定了两个 SPI 设备之间通信必须由主设备 (Master) 来控制次设备 (Slave). 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行片选 (Slave Select) 来控制多个 Slave 设备, SPI 协议还规定 Slave 设备的 Clock 由 Master 设备通过 SCK 管脚提供给 Slave 设备, Slave 设备本身不能产生或控制 Clock, 没有 Clock 则 Slave 设备不能正常工作 2.2采用同步方式(Synchronous)传输数据 Master 设备会根据将要交换的数据来产生相应的时钟脉冲(Clock Pulse),

STM32学习笔记5(TIM通用模块定时功能)

吃可爱长大的小学妹 提交于 2020-02-17 11:41:33
原文地址: http://blog.sina.com.cn/s/blog_49cb42490100s6ud.html 1. STM32 的 Timer 简介 STM32中一共有 11个定时器,其中 2个高级控制定时器, 4个普通定时器和 2个基本定时器,以及 2个看门狗定时器和 1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的 SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的 8个定时器。 定时器 计数器分辨率 计数器类型 预分频系数 产生 DMA请求 捕获 /比较通道 互补输出 TIM1 TIM8 16位 向上,向下,向上 /向下 1-65536之间的任意数 可以 4 有 TIM2 TIM3 TIM4 TIM5 16位 向上,向下,向上 /向下 1-65536之间的任意数 可以 4 没有 TIM6 TIM7 16位 向上 1-65536之间的任意数 可以 0 没有 其中 TIM1和 TIM8是能够产生 3对 PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由 APB2的输出产生。 TIM2-TIM5是普通定时器, TIM6和 TIM7是基本定时器,其时钟由 APB1输出产生。由于 STM32的 TIMER功能太复杂了,所以只能一点一点的学习。因此今天就从最简单的开始学习起,也就是 TIM2-TIM5普通定时器的定时功能。 2. 普通定时器 TIM2

FIFO深度计算

£可爱£侵袭症+ 提交于 2020-02-16 02:51:37
数字IC设计中我们经常会遇到这种场景,工作在不同时钟域的两个模块,它们之间需要进行数据传递,为了避免数据丢失,我们会使用到FIFO。当读数据的速率小于写数据的速率时,我们就不得不将那些还没有被读走的数据缓存下来,那么我们需要开多大的空间去缓存这些数据呢?缓存开大了会浪费资源,开小了会丢失数据,如何去计算最小FIFO深度是我们讨论的重点。 数据突发长度(burst length) 在讲解如何去计算FIFO深度之前,我们来理解一个术语burst length,如果你已经了解了可以跳过。要理解数据的突发长度,首先我们来考虑一种场景,假如模块A不间断的往FIFO中写数据,模块B同样不间断的从FIFO中读数据,不同的是模块A写数据的时钟频率要大于模块B读数据的时钟频率,那么在一段时间内总是有一些数据没来得及被读走,如果系统一直在工作,那么那些没有被读走的数据会越累积越多,那么FIFO的深度需要是无穷大的,因此 只有在突发数据传输过程中讨论FIFO深度才是有意义的 。也就是说我们一次传递一包数据完成后再去传递下一包数据,我们把一段时间内传递的数据个数称为 burst length 。在维基百科中, burst transmission 是这样解释的:In telecommunication, a burst transmission or data burst is the broadcast