跳转到主要内容

技术

STM32 的高速 USB 信号质量测试实现

STM32 提供了丰富的接口资源,其中包括 USB FS、USB HS、OTG FS 和 OTG HS。对于高速 USB,由于信号速率相对较高。在开发过程中,会对高速 USB 信号质量进行测试,例如运用广泛的眼图测试。STM32 的高速 USB/OTG IP 遵循USB 2.0 规范,能够配合实现眼图等信号质量测试项。本文中,首先介绍眼图等信号质量测试的实现框架,然后以 Cube 软件包中 USB 设备类的 HID 例程为基础,提供软件层面的修改。最后通过 USB 官方提供的 HSETT 工具,一步一步呈现如何使STM32 实现的 USB 设备进入测试模式,以便使其输出用以获取眼图等测试项的信号。

单片机执行指令的过程

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

下面我们将举个实例来说明指令的执行过程:

C51编程经验汇总分享

在单片机的开发应用中,已逐渐开始引入高级语言,C语言就是其中的一种。用惯了汇编的人,总觉得高级语言“可控性”不好,不如汇编那样随心所欲。以下是笔者在C51编程中的几点经验,希望对初学C51者有所帮助。

<font size="3"><strong>一、C51热启动代码的编制</strong></font>

单线SPI的在线编程方案

“串口下载”是大多数工程师最早接触的程序下载方式,尤其是一开始使用51单片机的工程师们。随着硬件集成度越来越高,芯片资源不断被压缩,工程师也想到了另一种“串口下载”方式,只需一根数据线即可。

随着半导体行业的飞速发展,芯片集成度越来越高,随之研发设计出来的PCBA大小已经能和硬币比肩,功能却一点都没有受到影响,是如何做到的呢?在不影响功能的情况下尽量裁剪硬件资源,这是每个工程师都头疼的问题,关键在于裁剪后如何保证编程能够正常进行。

编程接口多种多样,包括工程师们熟悉的UART、I2C、SPI、SWD等,一般需要2-6根线进行烧录,而其中有一种编程接口只需要一根数据线即可实现程序的烧写,这对必须尽量压缩硬件资源的工程师来说是一个很好的消息。

I2C配置顺序引发的异常案例

<font color="blue"><strong>前言</strong></font>

在参考Cube软件包中I2C例程后, 根据应用需要新增了一路I2C接口,结果新增I2C无法收发数据。本文主要对问题进行描述,分析产生原因,提供解决方法。

<font color="blue"><strong>一、问题描述</strong></font>

如前言所述,现象表现为I2C无法收发数据。得无法理解之处,在于之前已经完成了I2C的移植工作,并且运行正常。现在遵照正确的方式,新添一路I2C接口,只是更改了对应的I2C接口及引脚,为什么无法收发数据。简化测试程序如下。

深度解读关于单片机的车用数字仪表系统技术

在汽车的仪表板上安装有各种仪表、指示灯及报警灯,用于帮助驾驶人观察和掌握汽车及各系统的工作情况,提示异常现象和故障,以便及时消除安全隐患。

汽车仪表是用以监测汽车各系统工作状况的装置。汽车上常用的仪表包括机油压力表、冷却液温度表、燃油表、车速表、 转速表和里程表等。随着汽车电子技术的发展,多功能、高精度、高灵敏度、读数直观的电子数字显示及图像显示的仪表已不断应用于汽车上。汽车仪表的功能已不仅仅是单纯的显示,而是通过对汽车各部件参数的监测和微机处理相配套,从而达到控制汽车各种运行工况的目的。

<strong>1 引言</strong>

利用STM32外部中断驱动四路数字触摸感应传感器模块

STM32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组位一个单位的,同组间的外部中断同一时间只能使用一个。比如说,PA0,PB0,PC0,PD0,PE0,PF0,PG0这些为1组,如果我们使用PA0作为外部中断源,那么别的就不能够再使用了,在此情况下,我们智能使用类似于PB1,PC2这种末端序号不同的外部中断源。每一组使用一个中断标志EXTIx。EXTI0 – EXTI4这5个外部中断有着自己的单独的中断响应函数,EXTI5-9共用一个中断响应函数,EXTI10-15共用一个中断响应函数。

<strong>程序开发</strong>

其实上面那些基本概念和知识只是对STM32的中断系统有一个大概的认识,用程序说话将会更能够加深如何使用中断。使用外部中断的基本步骤如下:

PCB可靠性在汽车中的应用

<strong>1.前言、背景</strong>

汽车电子其实并非与其它复杂电子产品完全不同:多个中央处理器、网络、实时数据收集,以及极为复杂的PCB。汽车行业的设计压力与其它类型的电子产品相似:设计时间短,市场竞争激烈。那么汽车电子与例如一些高端娱乐产品电子之间有什么区别?天壤之别!如果PCB在娱乐产品中发生故障,人们的性命不受威胁;但要是在汽车中发生故障,人们的性命就岌岌可危了。因此,汽车电子部件的可靠性设计是设计过程中需要考虑的一个主要方面。

<strong>2.全文要点与大纲如下:</strong>

<font color="blue">a.时间和费用压力</font>

LCD的接口类型详解

LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式的)。只有TFT模块才有RGB接口。

<strong>但应用比较多的就是MCU模式和RGB模式,区别有以下几点:</strong>

1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。
RGB接口:在写LCD register setting时,和MCU接口没有区别。区别只在于图像的写入方式。

芯片封装知识

<strong>一.封装是什么?</strong>

封装,就是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接,封装形式是指安装半导体集成电路芯片用的外壳。它不仅起着安装、固定、密封、保护芯片及增强电热性能等方面的作用,而且还通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件相连接,从而实现内部芯片与外部电路的连接。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下 降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。

衡量一个芯片封装技术先进与否的重要指标是芯片面积与封装面积之比,这个比值越接近1越好。

PWM的原理以及应用

脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

<strong>理论基础</strong>

• 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同
• 冲量指窄脉冲的面积
• 效果基本相同,是指环节的输出响应波形基本相同
• 波形基本相同含义:低频段非常接近,仅在高频段略有差异

<strong>模拟电路</strong>

基于DSP处理器的红外电视调焦控制器设计

作者:张文江/甄兴仁/宋春霞

<strong>1.引言</strong>

随着红外成像技术的快速发展,红外测量电视成为光电跟踪系统的重要组成部分。红外相机的自动和连续调焦,是保证红外电视成像质量,实现光电跟踪系统高精度稳定跟踪的关键技术。一般来说,影响红外电视成像的因素有很多,而目标的距离和环境温度等参数对成像质量影响较大,如何根据目标距离和环境温度等影响目标成像质量的信息,实时调整相机的位置,从而获得清晰的目标图像,需要进行广泛深入的研究,对实现红外跟踪测量系统稳定高精度跟踪测量功能具有重要意义。

<strong>2.调焦控制器的硬件设计</strong>

2.1 总体结构及原理

单片机设计:关于软件UART的设计思想

目前扩展串口的方法主要有以下方法,

①、采用串口扩展芯片实现,如ST16C550、ST16C554、SP2538、MAX3110等,虽然成本较高, 但系统的可靠性得到了保证,适用于数据量较大、串口需求较多的系统;

②、采用分时切换的方法将一个串口扩展与多个串口设备通信,分时复用的方法成本低, 但只适用于数据量不大的场合, 并且只能由这个单片机主动和多个设备通信,实时性差;

③、用软件模拟的方法扩展串口,其优势也是成本低、实时性好, 但要占用一些CPU时间。

深入理解51单片机串口通信

<strong>串口通信的基本认识</strong>

通信分为并行通信和串行通信,并行通信时的数据各个位同时传送,可以实现字节为单位通信,但通信线多占用资源,成本高。以前用到的的P1=0x55,一次给P1口的8个管脚分别赋值,同时进行信号输出,类似于8个车道可以过去8辆车,这样的形式是并行的,一般称P0,P1,P2,P3为51单片机的4组并行总线。

基于嵌入式的无人机勘察系统设计

随着遥感、通讯技术的迅速发展,微小无人机的设计逐步被深究。小型无人机由于其高度灵活机动性、信息化强、适应恶劣环境等优势,近几年在军事、高空拍摄、农业等领域有着广泛的应用,通过搭载在机体上的各类传感器单元获取所需的数据信息,如图像的采集,能够对特定特殊环境进行有效的勘察。但目前,无人机的地面控制站主要使用功耗高、体积大的PCI总线采集技术,一定程度限制了无人机的高度灵活性等优点。因此,以32位ARM微处理器为核心、DM368作为协处理器,设计出一种基于嵌入式的实时性强、数据传输和处理速度快的无人机勘察系统。

<strong>1 系统功能架构</strong>

简述Cortex-M0—4各个优势

众所周知,ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务,正好是ARM公司英文简写的三个字母。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。OK,我们下面要介绍的“猪脚”是Cortex系列下的Cortex-M家族处理器,看官且听我娓娓道来。

<strong>一,Cortex M家族发展</strong>

CAN总线局部错误及全局通知分析

局部错误,全局通知是CAN总线错误类型中较为典型的一种,如何通过错误报文及波形快速定位错误原因呢?本文结合现场实测案例简要分析。

<strong>一、CAN总线错误简介</strong>

在CAN总线中存在5种错误类型,如图1所示:它们互相并不排斥,下面简单介绍一下它们的区别、产生的原因。

mcs-51单片机是由哪些部分组成的?

学习内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:

计算机的五个组成部份:

运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;

控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;

存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)

输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);

输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。

嵌入式系统上的异步串口通信的实现

在嵌入式系统中,异步串口(UART)使用非常频繁,可以用于与各种外部系统(帧括PC)之间的通信。在硬件上UART通过在每个字节的传输中插入开始位和停止位,保证接收端可以正确地找到字节的开始和结束,同时也可以通过插入奇偶校验位,让接收端检验收到的字节是否正确。而且,由于有开始位和停止位的存在,使得字节之间可以插入任意的空闲位(与停止位同为高电平),而不影响下一个字节的正常传输。因此,UART硬件保证了每个字节的正确传输,并可以有效检出字节传输的错误。但并不保证一串字节的正确传输,这需要软件来完成。

MM32 MCU互补PWM输出使能带死区、刹车功能

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM最基本的调节就是频率和占空比,通过调节频率和占空比对外部元件进行控制或者捕捉外部信号源。

在大功率电机、变频器、开关电源等方案中,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往会由于各种各样的原因产生延迟的效果,造成某个半桥元件在应该关断时没有关断,造成功率元件烧毁。死区就是在上半桥关断后,延迟一段时间再打开下半桥或在下半桥关断后,延迟一段时间再打开上半桥,从而避免功率元件烧毁。