技术
<strong>DSP的应用</strong>
针对8核DSP TMS320C6678与外部设备进行数据通信的需求,以片上集成千兆以太网交换子系统为核心,选取芯片88E1111作为PHY设备,设计了千兆以太网通信接口的硬件电路。在嵌入式操作系统SYS/BIOS和网络开发环境NDK上,完成了以太网底层驱动和TCP/IP协议的程序设计。通过DSP与上位机进行以太网通信测试,证明了以太网接口电路硬件及软件的正确性和实用性。
随着DSP处理器在现代工业的应用越来越广泛,DSP的功能不仅只有快速运算处理,还需要与其他处理器或者设备之间进行实时数据交换,以实现资源的共享。因此,针对不同设备的需求,选择稳定、快速和高效率的接口方式在当今数字信号处理系统设计中关键的组成部分。
<font color="blue"><strong>前言</strong></font>
前段时间接到一个客户的问题。客户描述在使用 STM32H7 的 FMC 时,如果使能了 DCACHE,就运行不正常。数据没有写到 FMC 外部的存储器里,测量 FMC 接口也没有波形跳变。而不使能 DCACHE 工作就是正常的。
其实对于这个问题,如果了解 STM32H7 的架构的话,就很容易理解了。下面我们就来看一看到底是什么原因让客户觉得使能 DCACHE 后 FMC 就工作不正常了。
<font color="blue"><strong>STM32H7 的架构</strong></font>
单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。目前已经得到了广泛的运用,那么单片机仿真器有什么作用?
<strong>单片机仿真器发展</strong>
最早的单片机仿真器是一套独立装置,具有专用的键盘和显示器,用于输入程序并显示运行结果;随着PC机的普及,新一代的仿真器大多数都是利用PC机作为标准的输入输出装置,而仿真器本身成为微机和目标系统之间的接口而已,仿真方式也从最初的机器码发展到汇编语言、C语言仿真,仿真环境也与PC机上的高级语言编程与调试环境非常类似了。
仿真机一般具有一个仿真头,用于取代目标系统中的单片机,也就是用这个插头模仿单片机,这也是单片机仿真器名称的由来。
<strong>1 PIC 单片机 简介</strong>
PIC系列 单片机 是美国Microchip技术公司推出的高性能价格比的8位嵌入式控制器(Embedded Controller),它采用了精简指令集计算机RISC(Reduced Instruction Set Computer)和哈佛(Harvard)双总线以及两级指令流水线结构。具有高速度、低工作电压、低功耗等特点和优良的性能价格比,因而PIC系列单片机越来越受到单片机开发与应用工程技术人员的青睐。该系列独特的结构和中断资源使其在使用时与其它系列的单片机有许多不同之处。下面以PIC16CXX系列微控制器为例来介绍PIC系列单片机的中断资源特点以及应用方法。
<strong>2 中断资源的开发与屏蔽</strong>
在单片机系统里,按键是常见的输入设备,在本文江介绍几种按键硬件、软件设计方面的技巧。一般的在按键的设计上,一般有四种方案:
一是GPIO口直接检测单个按键,如图1.1所示;
二是按键较多则使用矩阵键盘,如图1.2所示;
三是将按键接到外部中断引脚上,利用按键按下产生的边沿信号进行按键检测,如图1.3所示;
四是利用单片机的ADC,在不同的按键按下后,能够使得ADC接口上的电压不同,根据电压的不同,则可以识别按键,如图1.4所示。
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。
<strong>1 软件延时法</strong>
利用软件延时函数,控制电平持续的时间,达到模拟pwm的效果。
程序如下:
<pre>#include<reg52.h>
sbit pwm=P1^0;
main()
{
while(1)
{
前 言
嵌入式系统是指以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、体积、成本、可靠性、功耗严格要求的专用计算机系统。嵌入式系统是面向应用的,系统的硬件选型和软件开发模式都必须根据具体的应用确定。
永磁无刷直流电动机是电机控制研究领域的热点之一,这与其自身固有的技术优势密切相关:以电子换相取代了有刷直流电动机的机械换相。从根本上革除了普通有刷直流电动机由于电刷换相带来的火花、噪音、高故障率等一系列问题,同时又使系统的性能能够与普通有刷直流电动机相媲美,因此得到了广泛的应用。永磁无刷直流电动机的电子换相离不开电机的转子位置信号,传统的方法是采用霍尔器件或其他位置传感器检测位置信号,这使得系统的维护和制造都不方便,并且由于传感器的工作特性不稳定,给系统的安全运行带来了一些隐患。因此,无位置传感器方案引起了人们的极大兴趣。
<strong>一、STM32中断分组:</strong>
STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处。STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0为第一组,那么依此类推,我们能得出一共有16 组,STM32 规定,每一组中同时只能有一个中断触发源工作,那么,最多工作的也就是16个外部中断。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19 个外部中断为:
一些医疗检测仪器在检测时需要模拟人体温度环境以确保检测的精确性,本文以STM32为主控制器,电机驱动芯片DRV8834 为驱动器,驱动半导体致冷器(帕尔贴)给散热片加热或者制冷。但由于常规的温度控制存在惯性温度误差的问题,无法兼顾高精度和高速性的严格要求,所以采用模糊自适应PID控制方法在线实时调整PID参数,计算PID参数Kp、Ki、Kd调整控制脉冲来控制驱动器的使能。从simulink仿真的和实验结果来看模糊PID控制系统精度高、响应速度快,能达到预期效果。
在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T/C2;其中T/C0和T/C2都是8位的定时器,而T/C1是一个16位的定时器。定时器的工作是独立于CPU之外自行运行的硬件模块。
<strong>1、定时器何时开始工作(或说计数)的?</strong>
当TCCR0!=0x00任何模式下,只要MCU一上电,T/C就开始计时工作。其实TCCR0主要是定时器的预分频和波形模式、比较匹配模式的设置,说到预分频,不得不提一下这个模块,这个模块是T/C0、T/C1共用的一个模块,但可以有不同的分频设置。
<strong>2、定时器是如何进行工作的?</strong>
考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。
类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:
<strong>1 对密集的乘法运算的支持</strong>
低功耗、高速度、高集成度的LSI电路是成众多电子产品的首要考虑,这也就导致装置比以往任何时候更容易受到电磁干扰的威胁。此外,大功率家电及办公自动化设备的增多,以及移动通信、无线网络的广泛应用等,又大大增加了电磁骚扰源。这些变化迫使人们把电磁兼容作为重要的技术问题加以关注。
<font size="3"><strong>电磁兼容</strong></font>
采用一定的技术手段,使同一电磁环境中的各种电子、电气设备都能正常工作,并且不干扰其他设备的正常工作,这就是电磁兼容(ElectromagneticCompatibility,缩写为EMC)。
写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...
<strong>首先明白MCU是什么——即结构与组成</strong>
Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。
Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存储数据掉电后不消失。ROM又分为片内存储器和片外(扩展)存储器两种。
电源电路是一个电子产品的重要组成部分,电源电路设计的好坏,直接牵连产品性能的好坏。我们电子产品的电源电路主要有线性电源和高频开关电源。从理论上讲,线性电源是用户需要多少电流,输入端就要提供多少电流;开关电源是用户需要多少功率,输入端就提供多少功率。
<font size="3"><strong>线性电源</strong></font>
线性电源功率器件工作在线性状态,如我们常用的稳压芯片LM7805、LM317、SPX1117等。下图一是LM7805稳压电源电路原理图。
脉宽调制(PWM:(Pulse Width Modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。只要带宽足够,任何模拟值都可以使用PWM进行编码。本文提出AVR单片机ATmega128的PWM的设计方法。
<strong>1.定时/计数器PWM设计要点</strong>
根据PWM的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点:
<strong>(一)普通二极管的检测</strong>
(包括检波二极管、整流二极管、阻尼二极管、开关二极管、续流二极管)是由一个PN结构成的半导体器件,具有单向导电特性。通过用万用表检测其正、反向电阻值,可以判别出二极管的电极,还可估测出二极管是否损坏。
1.极性的判别 将万用表置于R×100档或R×1k档,两表笔分别接二极管的两个电极,测出一个结果后,对调两表笔,再测出一个结果。两次测量的结果中,有一次测量出的阻值较大(为反向电阻),一次测量出的阻值较小(为正向电阻)。在阻值较小的一次测量中,黑表笔接的是二极管的正极,红表笔接的是二极管的负极。