历史上的今天
返回首页

历史上的今天

今天是:2024年09月20日(星期五)

正在发生

2019年09月20日 | 第45章 DCMI—OV2640摄像头—零死角玩转STM32-F429系列

2019-09-20 来源:eefocus

本章参考资料:《STM32F4xx参考手册》、《STM32F4xx规格书》、库帮助文档《stm32f4xx_dsp_stdperiph_lib_um.chm》。


关于开发板配套的OV2640摄像头参数可查阅《ov2640datasheet》配套资料获知。


STM32F4芯片具有浮点运算单元,适合对图像信息使用DSP进行基本的图像处理,其处理速度比传统的8、16位机快得多,而且它还具有与摄像头通讯的专用DCMI接口,所以使用它驱动摄像头采集图像信息并进行基本的加工处理非常适合。本章讲解如何使用STM32驱动OV2640型号的摄像头。


45.1 摄像头简介

在各类信息中,图像含有最丰富的信息,作为机器视觉领域的核心部件,摄像头被广泛地应用在安防、探险以及车牌检测等场合。摄像头按输出信号的类型来看可以分为数字摄像头和模拟摄像头,按照摄像头图像传感器材料构成来看可以分为CCD和CMOS。现在智能手机的摄像头绝大部分都是CMOS类型的数字摄像头。


45.1.1 数字摄像头跟模拟摄像头区别

    输出信号类型


数字摄像头输出信号为数字信号,模拟摄像头输出信号为标准的模拟信号。


    接口类型


数字摄像头有USB接口(比如常见的PC端免驱摄像头)、IEE1394火线接口(由苹果公司领导的开发联盟开发的一种高速度传送接口,数据传输率高达800Mbps)、千兆网接口(网络摄像头)。模拟摄像头多采用AV视频端子(信号线+地线)或S-VIDEO(即莲花头--SUPER VIDEO,是一种五芯的接口,由两路视频亮度信号、两路视频色度信号和一路公共屏蔽地线共五条芯线组成)。


    分辨率


模拟摄像头的感光器件,其像素指标一般维持在752(H)*582(V)左右的水平,像素数一般情况下维持在41万左右。现在的数字摄像头分辨率一般从数十万到数千万。但这并不能说明数字摄像头的成像分辨率就比模拟摄像头的高,原因在于模拟摄像头输出的是模拟视频信号,一般直接输入至电视或监视器,其感光器件的分辨率与电视信号的扫描数呈一定的换算关系,图像的显示介质已经确定,因此模拟摄像头的感光器件分辨率不是不能做高,而是依据于实际情况没必要做这么高。


45.1.2 CCD与CMOS的区别

摄像头的图像传感器CCD与CMOS传感器主要区别如下:


    成像材料


CCD与CMOS的名称跟它们成像使用的材料有关,CCD是"电荷耦合器件"(Charge Coupled Device)的简称,而CMOS是"互补金属氧化物半导体"(Complementary Metal Oxide Semiconductor)的简称。


    功耗


由于CCD的像素由MOS电容构成,读取电荷信号时需使用电压相当大(至少12V)的二相或三相或四相时序脉冲信号,才能有效地传输电荷。因此CCD的取像系统除了要有多个电源外,其外设电路也会消耗相当大的功率。有的CCD取像系统需消耗2~5W的功率。而CMOS光电传感器件只需使用一个单电源5V或3V,耗电量非常小,仅为CCD的1/8~1/10,有的CMOS取像系统只消耗20~50mW的功率。


    成像质量


CCD传感器件制作技术起步早,技术成熟,采用PN结或二氧化硅(sio2)隔离层隔离噪声,所以噪声低,成像质量好。与CCD相比,CMOS的主要缺点是噪声高及灵敏度低,不过现在随着CMOS电路消噪技术的不断发展,为生产高密度优质的CMOS传感器件提供了良好的条件,现在的CMOS传感器已经占领了大部分的市场,主流的单反相机、智能手机都已普遍采用CMOS传感器。


45.2 OV2640摄像头

本章主要讲解实验板配套的摄像头,它的实物见图 451,该摄像头主要由镜头、图像传感器、板载电路及下方的信号引脚组成。


图 451 实验板配套的OV2640摄像头


镜头部件包含一个镜头座和一个可旋转调节距离的凸透镜,通过旋转可以调节焦距,正常使用时,镜头座覆盖在电路板上遮光,光线只能经过镜头传输到正中央的图像传感器,它采集光线信号,然后把采集得的数据通过下方的信号引脚输出数据到外部器件。


45.2.1 OV2640传感器简介

图像传感器是摄像头的核心部件,上述摄像头中的图像传感器是一款型号为OV2640的CMOS类型数字图像传感器。该传感器支持输出最大为200万像素的图像 (1600x1200分辨率),支持使用VGA时序输出图像数据,输出图像的数据格式支持YUV(422/420)、YCbCr422、RGB565以及JPEG格式,若直接输出JPEG格式的图像时可大大减少数据量,方便网络传输。它还可以对采集得的图像进行补偿,支持伽玛曲线、白平衡、饱和度、色度等基础处理。根据不同的分辨率配置,传感器输出图像数据的帧率从15-60帧可调,工作时功率在125mW-140mW之间。


45.2.2 OV2640引脚及功能框图

OV2640传感器采用BGA封装,它的前端是采光窗口,引脚都在背面引出,引脚的分布见图 452。

图 452 OV2640传感器引脚分布图


图中的非彩色部分是电源相关的引脚,彩色部分是主要的信号引脚,介绍如下表 451。


表 451 OV7670管脚

image.png?imageView2/2/w/550

下面我们配合图 453中的OV2640功能框图讲解这些信号引脚。

图 453 OV2640功能框图


(1)    控制寄存器


标号处的是OV2640的控制寄存器,它根据这些寄存器配置的参数来运行,而这些参数是由外部控制器通过SIO_C和SIO_D引脚写入的,SIO_C与SIO_D使用的通讯协议跟I2C十分类似,在STM32中我们完全可以直接用I2C硬件外设来控制。


(2)    通信、控制信号及时钟


标号‚处包含了OV2640的通信、控制信号及外部时钟,其中PCLK、HREF及VSYNC分别是像素同步时钟、行同步信号以及帧同步信号,这与液晶屏控制中的信号是很类似的。RESETB引脚为低电平时,用于复位整个传感器芯片,PWDN用于控制芯片进入低功耗模式。注意最后的一个XCLK引脚,它跟PCLK是完全不同的,XCLK是用于驱动整个传感器芯片的时钟信号,是外部输入到OV2640的信号;而PCLK是OV2640输出数据时的同步信号,它是由OV2640输出的信号。XCLK可以外接晶振或由外部控制器提供,若要类比XCLK之于OV2640就相当于HSE时钟输入引脚与STM32芯片的关系,PCLK引脚可类比STM32的I2C外设的SCL引脚。


(3)    感光矩阵


标号ƒ处的是感光矩阵,光信号在这里转化成电信号,经过各种处理,这些信号存储成由一个个像素点表示的数字图像。


(4)    数据输出信号


标号„处包含了DSP处理单元,它会根据控制寄存器的配置做一些基本的图像处理运算。这部分还包含了图像格式转换单元及压缩单元,转换出的数据最终通过Y0-Y9引脚输出,一般来说我们使用8根据数据线来传输,这时仅使用Y2-Y9引脚,OV2640与外部器件的连接方式见图 454。


图 454 8位数据线接法


45.2.3 SCCB时序

外部控制器对OV2640寄存器的配置参数是通过SCCB总线传输过去的,而SCCB总线跟I2C十分类似,所以在STM32驱动中我们直接使用片上I2C外设与它通讯。SCCB与标准的I2C协议的区别是它每次传输只能写入或读取一个字节的数据,而I2C协议是支持突发读写的,即在一次传输中可以写入多个字节的数据(EEPROM中的页写入时序即突发写)。关于SCCB协议的完整内容可查看配套资料里的《SCCB协议》文档,下面我们简单介绍下。


SCCB的起始、停止信号及数据有效性

SCCB的起始信号、停止信号及数据有效性与I2C完全一样,见图 455及图 456。


    起始信号:在SIO_C为高电平时,SIO_D出现一个下降沿,则SCCB开始传输。


    停止信号:在SIO_C为高电平时,SIO_D出现一个上升沿,则SCCB停止传输。


    数据有效性:除了开始和停止状态,在数据传输过程中,当SIO_C为高电平时,必须保证SIO_D上的数据稳定,也就是说,SIO_D上的电平变换只能发生在SIO_C为低电平的时候,SIO_D的信号在SIO_C为高电平时被采集。


图 455 SCCB停止信号

图 456 SCCB的数据有效性


SCCB数据读写过程

在SCCB协议中定义的读写操作与I2C也是一样的,只是换了一种说法。它定义了两种写操作,即三步写操作和两步写操作。三步写操作可向从设备的一个目的寄存器中写入数据,见图 457。在三步写操作中,第一阶段发送从设备的ID地址+W标志(等于I2C的设备地址:7位设备地址+读写方向标志),第二阶段发送从设备目标寄存器的8位地址,第三阶段发送要写入寄存器的8位数据。图中的"X"数据位可写入1或0,对通讯无影响。


图 457 SCCB的三步写操作


而两步写操作没有第三阶段,即只向从器件传输了设备ID+W标志和目的寄存器的地址,见图 458。两步写操作是用来配合后面的读寄存器数据操作的,它与读操作一起使用,实现I2C的复合过程。


图 458 SCCB的两步写操作


两步读操作,它用于读取从设备目的寄存器中的数据,见图 459。在第一阶段中发送从设备的设备ID+R标志(设备地址+读方向标志)和自由位,在第二阶段中读取寄存器中的8位数据和写NA 位(非应答信号)。由于两步读操作没有确定目的寄存器的地址,所以在读操作前,必需有一个两步写操作,以提供读操作中的寄存器地址。


图 459 SCCB的两步读操作

可以看到,以上介绍的SCCB特性都与I2C无区别,而I2C比SCCB还多出了突发读写的功能,所以SCCB可以看作是I2C的子集,我们完全可以使用STM32的I2C外设来与OV2640进行SCCB通讯。


45.2.4 OV2640的寄存器

控制OV2640涉及到它很多的寄存器,可直接查询《ov2640datasheet》了解,通过这些寄存器的配置,可以控制它输出图像的分辨率大小、图像格式及图像方向等。要注意的是OV2640有两组寄存器,这两组寄存器有部分地址重合,通过设置地址为0xFF的RA_DLMT寄存器可以切换寄存器组,当RA_DLMT寄存器为0时,通过SCCB发送的寄存器地址在DSP相关的寄存器组寻址,见图 4510;RA_DLMT寄存器为1时,在Sensor相关的寄存器组寻址,图 4510。


图 4510 0xFF=0时的DSP相关寄存器说明(部分)

图 4511 0xFF=1时的Sensor相关寄存器说明(部分)


官方还提供了一个《OV2640_Camera_app》的文档,它针对不同的配置需求,提供了配置范例,见图 4512。其中write_SCCB是一个利用SCCB向寄存器写入数据的函数,第一个参数为要写入的寄存器的地址,第二个参数为要写入的内容。


图 4512 调节帧率的寄存器配置范例


45.2.5 像素数据输出时序

主控器控制OV2640时采用SCCB协议读写其寄存器,而它输出图像时则使用VGA时序(还可用SVGA、UXGA,这些时序都差不多),这跟控制液晶屏输入图像时很类似。OV2640输出图像时,一帧帧地输出,在帧内的数据一般从左到右,从上到下,一个像素一个像素地输出(也可通过寄存器修改方向),见图 4513。


图 4513 摄像头数据输出


例如,见图 4514和图 4515,若我们使用Y2-Y9数据线,图像格式设置为RGB565,进行数据输出时,Y2-Y9数据线会在1个像素同步时钟PCLK的驱动下发送1字节的数据信号,所以2个PCLK时钟可发送1个RGB565格式的像素数据。像素数据依次传输,每传输完一行数据时,行同步信号HREF会输出一个电平跳变信号,每传输完一帧图像时,VSYNC会输出一个电平跳变信号。


图 4514像素同步时序


图 4515 帧图像同步时序


45.3 STM32的DCMI接口简介

STM32F4系列的控制器包含了DCMI数字摄像头接口(Digital camera Interface),它支持使用上述类似VGA的时序获取图像数据流,支持原始的按行、帧格式来组织的图像数据,如YUV、RGB,也支持接收JPEG格式压缩的数据流。接收数据时,主要使用HSYNC及VSYNC信号来同步。


45.3.1 DCMI整体框图

STM32的DCMI接口整体框图见图 4516。


图 4516 DCMI接口整体框图


外部接口及时序

上图标号处的是DCMI向外部引出的信号线。DCMI提供的外部接口的方向都是输入的,接口的各个信号线说明见表 452。


表 452 DCMI的信号线说明

image.png?imageView2/2/w/550

其中DCMI_D数据线的数量可选8、10、12或14位,各个同步信号的有效极性都可编程控制。它使用的通讯时序与OV2640的图像数据输出接口时序一致,见图 4517。

图 4517 DCMI时序图


内部信号及PIXCLK的时钟频率

图 4516的标号‚处表示DCMI与内部的信号线。在STM32的内部,使用HCLK作为时钟源提供给DCMI外设。从DCMI引出有DCMI_IT信号至中断控制器,并可通过DMA_REQ信号发送DMA请求。


DCMI从外部接收数据时,在HCLK的上升沿时对PIXCLK同步的信号进行采样,它限制了PIXCLK的最小时钟周期要大于2.5个HCLK时钟周期,即最高频率为HCLK的1/4。


45.3.2 DCMI接口内部结构

DCMI接口的内部结构见图 4518。


图 4518 DCMI接口内部结构


(1)    同步器


同步器主要用于管理DCMI接收数据的时序,它根据外部的信号提取输入的数据。


(2)    FIFO/数据格式化器


为了对数据传输加以管理,STM32在DCMI接口上实现了 4 个字(32bit x4)深度的 FIFO,用以缓冲接收到的数据。


(3)    AHB接口


DCMI接口挂载在AHB总线上,在AHB总线中有一个DCMI接口的数据寄存器,当我们读取该寄存器时,它会从FIFO中获取数据,并且FIFO中的数据指针会自动进行偏移,使得我们每次读取该寄存器都可获得一个新的数据。


(4)    控制/状态寄存器


DCMI的控制寄存器协调图中的各个结构运行,程序中可通过检测状态寄存器来获DCMI的当前运行状态。


(5)    DMA接口


由于DCMI采集的数据量很大,我们一般使用DMA来把采集得的数据搬运至内存。


45.3.3 同步方式

DCMI接口支持硬件同步或内嵌码同步方式,硬件同步方式即使用HSYNC和VSYNC作为同步信号的方式,OV2640就是使用这种同步时序。


而内嵌码同步的方式是使用数据信号线传输中的特定编码来表示同步信息,由于需要用0x00和0xFF来表示编码,所以表示图像的数据中不能包含有这两个值。利用这两个值,它扩展到4个字节,定义出了2种模式的同步码,每种模式包含4个编码,编码格式为0xFF0000XY,其中XY的值可通过寄存器设置。当DCMI接收到这样的编码时,它不会把这些当成图像数据,而是按照表 453中的编码来解释,作为同步信号。


表 453两种模式的内嵌码

image.png?imageView2/2/w/550

45.3.4 捕获模式及捕获率

DCMI还支持两种数据捕获模式,分别为快照模式和连续采集模式。快照模式时只采集一帧的图像数据,连续采集模式会一直采集多个帧的数据,并且可以通过配置捕获率来控制采集多少数据,如可配置为采集所有数据或隔1帧采集一次数据或隔3帧采集一次数据。


45.4 DCMI初始化结构体

与其它外设一样,STM32的DCMI外设也可以使用库函数来控制,其中最主要的配置项都封装到了DCMI_InitTypeDef结构体,来这些内容都定义在库文件"stm32f4xx_dcmi.h"及"stm32f4xx_ dcmi.c"中,编程时我们可以结合这两个文件内的注释使用或参考库帮助文档。


DCMI_InitTypeDef初始化结构体的内容见错误!未找到引用源。。


代码清单 451 DCMI初始化结构体


1 /**


2 * @brief DCMI 初始化结构体


3 */


4 typedef struct


5 {


6 uint16_t DCMI_CaptureMode; /*选择连续模式或拍照模式 */


7 uint16_t DCMI_SynchroMode; /*选择硬件同步模式还是内嵌码模式 */


8 uint16_t DCMI_PCKPolarity; /*设置像素时钟的有效边沿*/


9 uint16_t DCMI_VSPolarity; /*设置VSYNC的有效电平*/


10 uint16_t DCMI_HSPolarity; /*设置HSYNC的有效边沿*/


11 uint16_t DCMI_CaptureRate; /*设置图像的采集间隔 */


12 uint16_t DCMI_ExtendedDataMode; /*设置数据线的宽度 */


13 } DCMI_InitTypeDef;


这些结构体成员说明如下,其中括号内的文字是对应参数在STM32标准库中定义的宏:


(1)    DCMI_CaptureMode


本成员设置DCMI的捕获模式,可以选择为连续摄像(DCMI_CaptureMode_Continuous)或单张拍照DCMI_CaptureMode_SnapShot。


(2)    DCMI_SynchroMode


本成员设置DCMI数据的同步模式,可以选择为硬件同步方式(DCMI_SynchroMode_Hardware)或内嵌码方式(DCMI_SynchroMode_Embedded)。


(3)    DCMI_PCKPolarity


本成员用于配置DCMI接口像素时钟的有效边沿,即在该时钟边沿时,DCMI会对数据线上的信号进行采样,它可以被设置为上升沿有效(DCMI_PCKPolarity_Rising)或下降沿有效(DCMI_PCKPolarity_Falling)。


(4)    DCMI_VSPolarity


本成员用于设置VSYNC的有效电平,当VSYNC信号线表示为有效电平时,表示新的一帧数据传输完成,它可以被设置为高电平有效(DCMI_VSPolarity_High)或低电平有效(DCMI_VSPolarity_Low)。


(5)    DCMI_HSPolarity


类似地,本成员用于设置HSYNC的有效电平,当HSYNC信号线表示为有效电平时,表示新的一行数据传输完成,它可以被设置为高电平有效(DCMI_HSPolarity_High)或低电平有效(DCMI_HSPolarity_Low)。


(6)    DCMI_CaptureRate


本成员可以用于设置DCMI捕获数据的频率,可以设置为全采集、半采集或1/4采集(DCMI_CaptureRate_All_Frame/ 1of2_Frame/ 1of4_Frame),在间隔采集的情况下,STM32的DCMI外设会直接按间隔丢弃数据。


(7)    DCMI_ExtendedDataMode


本成员用于设置DCMI的数据线宽度,可配置为8/10/12及14位数据线宽(DCMI_ExtendedDataMode_8b/10b/12b/14b)。


配置完这些结构体成员后,我们调用库函数DCMI_Init即可把这些参数写入到DCMI的控制寄存器中,实现DCMI的初始化。


45.5 DCMI—OV2640摄像头实验

本小节讲解如何使用DCMI接口从OV2640摄像头输出的RGB565格式的图像数据,并把这些数据实时显示到液晶屏上。


学习本小节内容时,请打开配套的"DCMI—OV2640摄像头"工程配合阅读。


45.5.1 硬件设计

摄像头原理图

本实验采用的OV2640摄像头实物见图 451,其原理图见错误!未找到引用源。。


图 4519 OV2640摄像头原理图


图 2719标号处的是OV2640芯片的主电路,在这部分中已对SCCB使用的信号线接了上拉电阻,外部电路可以省略上拉;标号‚处的是一个24MHz的有源晶振,它为OV2640提供系统时钟,如果不想使用外部晶振提供时钟源,可以参考图中的R6处贴上0欧电阻,XCLK引脚引出至外部,由外部控制器提供时钟;标号ƒ处的是摄像头引脚集中引出的排针接口,使用它可以方便地与STM32实验板中的排母连接。


摄像头与实验板的连接

通过排母,OV2640与STM32引脚的连接关系见错误!未找到引用源。。控制摄像头的部分引脚与实验板上的RGB彩灯共用,使用时会互相影响。

图 4520 STM32实验板引出的DCMI接口


以上原理图可查阅《ov2640—黑白原理图》及《秉火F429开发板黑白原理图》文档获知,若您使用的摄像头或实验板不一样,请根据实际连接的引脚修改程序。


45.5.2 软件设计

为了使工程更加有条理,我们把摄像头控制相关的代码独立分开存储,方便以后移植。在"LTDC—液晶显示"工程的基础上新建"bsp_ov2640.c"及"bsp_ov2640.h"文件,这些文件也可根据您的喜好命名,它们不属于STM32标准库的内容,是由我们自己根据应用需要编写的。


1.    编程要点

(1)    初始化DCMI时钟,I2C时钟;


(2)    使用I2C接口向OV2640写入寄存器配置;


(3)    初始化DCMI工作模式;


(4)    初始化DMA,用于搬运DCMI的数据到显存空间进行显示;


(5)    编写测试程序,控制采集图像数据并显示到液晶屏。


2.    代码分析

摄像头硬件相关宏定义

我们把摄像头控制硬件相关的配置都以宏的形式定义到"bsp_ov2640.h"文件中,其中包括I2C及DCMI接口的,见错误!未找到引用源。。


代码清单 452 摄像头硬件配置相关的宏(省略了部分数据线)


1


2 /*摄像头接口 */


3 //IIC SCCB


4 #define CAMERA_I2C I2C1


5 #define CAMERA_I2C_CLK RCC_APB1Periph_I2C1


6


7 #define CAMERA_I2C_SCL_PIN GPIO_Pin_6


8 #define CAMERA_I2C_SCL_GPIO_PORT GPIOB


9 #define CAMERA_I2C_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB


10 #define CAMERA_I2C_SCL_SOURCE GPIO_PinSource6


11 #define CAMERA_I2C_SCL_AF GPIO_AF_I2C1


12


13 #define CAMERA_I2C_SDA_PIN GPIO_Pin_7


14 #define CAMERA_I2C_SDA_GPIO_PORT GPIOB


15 #define CAMERA_I2C_SDA_GPIO_CLK RCC_AHB1Periph_GPIOB


16 #define CAMERA_I2C_SDA_SOURCE GPIO_PinSource7


17 #define CAMERA_I2C_SDA_AF GPIO_AF_I2C1


18


19 //VSYNC


20 #define DCMI_VSYNC_GPIO_PORT GPIOI


21 #define DCMI_VSYNC_GPIO_CLK RCC_AHB1Periph_GPIOI


22 #define DCMI_VSYNC_GPIO_PIN GPIO_Pin_5


23 #define DCMI_VSYNC_PINSOURCE GPIO_PinSource5

推荐阅读

史海拾趣

Advanced Thermal Solutions公司的发展小趣事

随着全球环保意识的日益增强,ATS积极响应国家号召,将环保理念融入公司的产品和服务中。公司开始研发和生产符合环保标准的散热器产品,采用环保材料和工艺,减少生产过程中的污染排放。同时,ATS还加强了对废旧产品的回收和处理工作,努力实现资源的循环利用。这些举措不仅提升了ATS的环保形象,也为公司的可持续发展奠定了坚实基础。

这五个故事展示了ATS公司在电子行业中的发展历程和取得的成就。从创业初期的技术突破,到从咨询到制造的转型,再到全球化战略的实施和研发创新能力的持续提升,ATS始终保持着敏锐的市场洞察力和创新精神。同时,公司还积极践行环保理念,为电子行业的可持续发展做出了积极贡献。

Abracon公司的发展小趣事

随着市场需求的不断增长,ATS意识到单纯的咨询服务已无法满足客户的全面需求。于是,公司决定转型为一家完整的散热解决方案提供商。ATS开始投入大量资源进行产品设计和制造,不断推出创新型的散热器产品。这些产品凭借高性能和卓越的质量,在市场中迅速脱颖而出,ATS也逐渐在电子产品热管理领域建立了领先地位。

Hittite Microwave(ADI)公司的发展小趣事

随着全球环保意识的日益增强,ATS积极响应国家号召,将环保理念融入公司的产品和服务中。公司开始研发和生产符合环保标准的散热器产品,采用环保材料和工艺,减少生产过程中的污染排放。同时,ATS还加强了对废旧产品的回收和处理工作,努力实现资源的循环利用。这些举措不仅提升了ATS的环保形象,也为公司的可持续发展奠定了坚实基础。

这五个故事展示了ATS公司在电子行业中的发展历程和取得的成就。从创业初期的技术突破,到从咨询到制造的转型,再到全球化战略的实施和研发创新能力的持续提升,ATS始终保持着敏锐的市场洞察力和创新精神。同时,公司还积极践行环保理念,为电子行业的可持续发展做出了积极贡献。

Excelsys公司的发展小趣事

Excelsys公司自创立之初,就致力于电源管理技术的研发。在电子行业中,电源管理一直是影响产品性能和可靠性的关键因素。公司团队通过不断的技术创新,推出了一系列高性能、高效率的电源管理产品,赢得了市场的广泛认可。特别是在智能设备日益普及的背景下,Excelsys的电源管理解决方案为各种智能设备提供了稳定可靠的电力支持,助力了行业的发展。

Amphenol(安费诺)公司的发展小趣事

Excelsys公司自创立之初,就致力于电源管理技术的研发。在电子行业中,电源管理一直是影响产品性能和可靠性的关键因素。公司团队通过不断的技术创新,推出了一系列高性能、高效率的电源管理产品,赢得了市场的广泛认可。特别是在智能设备日益普及的背景下,Excelsys的电源管理解决方案为各种智能设备提供了稳定可靠的电力支持,助力了行业的发展。

Avel Lindberg公司的发展小趣事

品质是Excelsys公司的生命线。公司始终坚持严格的品质控制标准,从原材料采购到生产制造的每一个环节,都经过严格的质量检测。这种对品质的执着追求,让Excelsys的产品在市场上赢得了良好的口碑。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持,进一步提升了品牌的信誉度。

问答坊 | AI 解惑

医疗器械产品临床试用暂行规定

国药器监字(1996)第70号 一、新型医疗器械在投入市场前,应进行临床试用,临床试用的目的在于评价该医疗器械在正常使用条件下是否符合预期安全性设想和预期医疗效果(价值)。而政府主管部门把临床试用评价作为决定该医疗器械能否进入市场的重要 ...…

查看全部问答>

FSK的数字产生和识别

如何用纯软件的方法产生和识别FSK信号 采样频率8000Hz, FSK传输波特率1200baud, 0-2200Hz 1-1200Hz…

查看全部问答>

关于DSP C6455 加载 .hex 问题

关于DSP C6455 加载 .hex 问题 程序如下:主函数如下:将一个简单的程序(功能仅为输出 helloworld)生成可执行文件 helloworld.out,将其转换为 helloworld.hex,然后通过下面的主函数读入DSP6455的0x900000的内存地址,通过某种中断跳转到该内存地 ...…

查看全部问答>

multisim11中MCU的编译怪现象

安装multisim11版,支持MCU和ARM,在编8051-MCU的程序时,用到头文件HTC.H,可查遍电脑里全部磁盘,也没找到这个头文件,后来在网上茶有人用8051.h做开头的#include,试了下也行,但是同样找不到8051.h这个头文件。 怪。 后来查了下也可以用keil ...…

查看全部问答>

如何将在ADI注册的帐号注销掉

因为之前不知到ADI公司申请样片是要学校的或企业的邮箱,所以去申请样片很坚定的被拒绝了。现在用同样的个人信息又用学校的邮箱注册了一个号,它那个系统提示说我这个也是免费邮箱。、、不知各位大侠有没有遇到过这个问题,求解决办法。。…

查看全部问答>

systick使用问题

为什么在LPC11XX.h  文件里找不到systick寄存器的定义 应该怎么使用systick呢?…

查看全部问答>

这是编译器的原因,还是C的标准哩

今天发现自己写程序的时候发现个错误: declaration may not appear after executable statement in block 在C语言中似乎,不可以将声明放在执行语句之后,必须在开始之前。 这是编译器的原因,还是C的标准哩!之前用过C++感觉没这个约束啊!…

查看全部问答>

工程师所需要知道的如何选择正确的MOSFET

随着制造技术的发展和进步,系统设计人员必须跟上技术的发展步伐,才能为其设计挑选最合适的电子器件。MOSFET是电气系统中的基本部件,工程师需要深入了解它的关键特性及指标才能做出正确选择。本文将讨论如何根据RDS(ON)、热性能、雪崩击穿电压 ...…

查看全部问答>

keil中逻辑分析仪的参数怎么配置?

如果我想看PC9的输出波形, And Mask 和 Shift Right 这两个参数是什么啊?谢谢了,…

查看全部问答>

求unicode转换为GBK编码的51单片机C程序,最好是基于字库芯片的

如题,因为是想把unicode解码后用点阵led显示出来,不知道有没有大大搞过这种东西的的,源程序分享一下啊。。感激不尽啊…

查看全部问答>