SDRAM工作原理及S3C2410 SDRAM控制器配置方法

HY57V561620FTP_SDRAM文档总结 随着深入的学习,前面学习的eeprom、flash的存储容量已不满足我们的使用,sdram能够提供相对比较大的存储空间、读写速度快、价格相对便宜等优点被广泛应用。需要注意的是,我们这里采用的是电容的存储方式,我们需要不断的刷新来保证我们的数据不丢失。SDRAM:全称是Synchronous Dynamic Random Access Memory,S表示我们的同步,D表示我们的动态,RAM表示我们的随机动态存储器,那么中文全称就应该是同步动态随机存储器。 阅读详情

 (转载)SDRAM工作原理及S3C2410 SDRAM控制器配置方法

(作者:刘洪涛,华清远见嵌入式学院讲师。)

SDRAM的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。掌握SDRAM的知识对硬件设计、编写系统启动代码、提高系统存取效率、电源管理都有一定的意义。本文想通过:

1.SDRAM的工作原理。
        2.HY57V561620 SDRAM介绍。
        3.S3C2410和HY57V561620的接线方法。
        4.S3C2410 SDRAM控制器的配置方法。
        5.SDRAM控制时序分析

这5个方面来帮助初学者了解SDRAM。文章分为2篇,第1篇讲解前3个知识点,第2篇讲解后2个。

一、SDRAM的工作原理

SDRAM之所以成为DRARM就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是DRAM最重要的操作。

那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数据有效保存期上限是64ms(毫秒,1/1000秒),也就是说每一行刷新的循环周期是64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的标识,这里的4096与8192就代表这个芯片中每个Bank的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化,4096行时为15.625μs(微秒,1/1000毫秒),8192行时就为7.8125μs。HY57V561620为8192 refresh cycles / 64ms。

SDRAM是多Bank结构,例如在一个具有两个Bank的SDRAM的模组中,其中一个Bank在进行预充电期间,另一个Bank却马上可以被读取,这样当进行一次读取后,又马上去读取已经预充电Bank的数据时,就无需等待而是可以直接读取了,这也就大大提高了存储器的访问速度。
为了实现这个功能,SDRAM需要增加对多个Bank的管理,实现控制其中的Bank进行预充电。在一个具有2个以上Bank的SDRAM中,一般会多一根叫做BAn的引脚,用来实现在多个Bank之间的选择。
SDRAM具有多种工作模式,内部操作是一个复杂的状态机。SDRAM器件的引脚分为以下几类。

(1)控制信号:包括片选、时钟、时钟使能、行列地址选择、读写有效及数据有效。
        (2)地址信号:时分复用引脚,根据行列地址选择引脚,控制输入的地址为行地址或列地址。。
        (3)数据信号:双向引脚,受数据有效控制。

SDRAM的所有操作都同步于时钟。根据时钟上升沿控制管脚和地址输入的状态,可以产生多种输入命令。

        模式寄存器设置命令。
                激活命令。
                预充命令。
                读命令。
                写命令。
                带预充的读命令。
                带预充的写命令。
                自动刷新命令。
                自我刷新命令。
                突发停命令。
                空操作命令。

根据输入命令,SDRAM状态在内部状态间转移。内部状态包括模式寄存器设置状态、激活状态、预充状态、写状态、读状态、预充读状态、预充写状态、自动刷新状态及自我刷新状态。
SDRAM支持的操作命令有初始化配置、预充电、行激活、读操作、写操作、自动刷新、自刷新等。所有的操作命令通过控制线CS#、RAS#、CAS#、WE#和地址线、体选地址BA输入。

1、行激活

行激活命令选择处于空闲状态存储体的任意一个行,使之进入准备读/写状态。从体激活到允许输入读/写命令的间隔时钟节拍数取决于内部特征延时和时钟频率。HY57V561620内部有4个体,为了减少器件门数,4个体之间的部分电路是公用的,因此它们不能同时被激活,而且从一个体的激活过渡到另一个体的激活也必须保证有一定的时间间隔。

2、预充电

预充电命令用于对已激活的行进行预充电即结束活动状态。预充电命令可以作用于单个体,也可以同时作用于所有体(通过所有体预充电命令)。对于猝发写操作必须保证在写入预充电命令前写操作已经完成,并使用DQM禁止继续写入数据。预充电结束后回到空闲状态,也可以再次被激活,此时也可以输入进入低功耗、自动刷新、自刷新和模式设置等操作命令。

预充电中重写的操作与刷新操作一样,只不过预充电不是定期的,而只是在读操作以后执行的。因为读取操作会破坏内存中的电荷。因此,内存不但要每64ms刷新一次,而且每次读操作之后还要刷新一次。

3、自动预充电

如果在猝发读或猝发写命令中,A10/AP位置为“1”,在读写操作完成后自动附加一个预充电动作。操作行结束活动状态,但在内部状态机回到空闲态之前不能给器件发送新的操作命令。

4、猝发读

猝发读命令允许某个体中的一行被激活后,连续读出若干个数据。第一个数据在经过指定的CAS延时节拍后呈现在数据线上,以后每个时钟节拍都会读出一个新的数据。猝发读操作可以被同体或不同体的新的猝发读/写命令或同一体的预充电命令及猝发停止命令中止。

5、猝发写

猝发写命令与猝发读命令类似,允许某个体中的一行被激活后,连续写入若干个数据。第一个写数据与猝发写命令同时在数据线上给出,以后每个时钟节拍给出一个新的数据,输入缓冲在猝发数据量满足要求后停止接受数据。猝发写操作可以被猝发读/写命令或DQM数据输入屏蔽命令和预充电命令或猝发停止命令中止。

6、自动刷新

由于动态存储器存储单元存在漏电现象,为了保持每个存储单元数据的正确性,HY57V561620必须保证在64ms内对所有的存储单元刷新一遍。一个自动刷新周期只能刷新存储单元的一个行,每次刷新操作后内部刷新地址计数器自动加“1”。只有在所有体都空闲(因为4个体的对应行同时刷新)并且未处于低功耗模式时才能启动自动刷新操作,刷新操作执行期间只能输入空操作,刷新操作执行完毕后所有体都进入空闲状态。该器件可以每间隔7.8μs执行一次自动刷新命令,也可以在64ms内的某个时间段对所有单元集中刷新一遍。

7、自刷新

自刷新是动态存储器的另一种刷新方式,通常用于在低功耗模式下保持SDRAM的数据。在自刷新方式下,SDRAM禁止所有的内部时钟和输入缓冲(CKE除外)。为了降低功耗,刷新地址和刷新时间全部由器件内部产生。一旦进入自刷新方式只有通过CKE变低才能激活,其他的任何输入都将不起作用。给出退出自刷新方式命令后必须保持一定节拍的空操作输入,以保证器件完成从自刷新方式的退出。如果在正常工作期间采用集中式自动刷新方式,则在退出自刷新模式后必须进行一遍(对于HY57V561620来说,8192个)集中的自动刷新操作。

8、时钟和时钟屏蔽

时钟信号是所有操作的同步信号,上升沿有效。时钟屏蔽信号CKE决定是否把时钟输入施加到内部电路。在读写操作期间,CKE变低后的下一个节拍冻结输出状态和猝发地址,直到CKE变高为止。在所有的体都处于空闲状态时,CKE变低后的下一个节拍SDRAM进入低功耗模式并一直保持到CKE变高为止。

9、DQM操作

DQM用于屏蔽输入输出操作,对于输出相当于开门信号,对于输入禁止把总线上的数据写入存储单元。对读操作DQM延迟2个时钟周期开始起作用,对写操作则是当拍有效。

HY57V561620命令表如下图所示:

二、HY57V561620 SDRAM介绍

1、HY57V561620的结构

HY57V561620存储容量为4M×4bank×16位(32M字节),工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度。

HY57V561620引脚分布如图2-1所示。

HY57V561620引脚信号描述

更具体的内容可参考HY57V561620的用户手册。

三、S3C2410和HY57V561620的接线方法
华清远见教学用的S3C2410开发板上使用的SDRAM的型号是HY57561620。规格是:
4Banks*4M*16Bit。采用两片SDRAM组成32位64M的内存空间。

1、确定BA0、BA1的接线

在S3C2410的Table 5-2. SDRAM Bank Address Configuration给出了SDRAM接线的参考方法。

上表中各段含义及和我们平台的对应:

Bank Size: 每个Bank的大小 (HY57561620是4M*16=64MB)Bus Width: 总线宽度 (两颗HY57561620,32位)
        Base Component:个体容量 (256Mb)
        Memory Configration:内存配置 ((4M*16*4banks)*2ea )

所以Bank Address对应A[25:24],此处确定了HY57561620的BA0和BA1和S3C2410之间的接线。

2、确定其它接线

上图是S3C2410手册中给出的参考接线,通过这个图可以确定HY57561620和S3C2410之间除BA0、BA1的所有其它接线。本例中,详细的接线方法如“接线原理图”小节。

3、接线原理图

引脚描述如下:

nSRAS:SDRAM行地址选通信号
        nSCAS:SDRAM列地址选通信号
        nGCS6:SDRAM芯片选择信号(选用Bank6作为sdram空间,也可以选择Bank7)
        nWBE[3:0]:SDRAM数据屏蔽信号
        SCLK0[1]:SDRAM时钟信号
        SCKE:SDRAM时钟允许信号
        DATA[0:31]:32位数据信号
        ADDR[2:14]:行列地址信号

ADDR[25:24]:bank选择线

四、S3C2410 SDRAM控制器的配置方法

在系统使用SDRAM之前,需要对S3C2410X的存储器控制器进行初始化。其中对与SDRAM(Bank6)相关的寄存器进行了特殊的设置,以使SDRAM能够正常工作。由于C语言程序使用的数据空间和堆栈空间都定位在SDRAM上,因此,如果没有对SDRAM(Bank6)的正确初始化,系统就无法正确启动。下面介绍与SDRAM相关的寄存器设置。

1、BWSCON寄存器

BWSCON寄存器主要用来设置外接存储器的总线宽度和等待状态。在BWSCON中,除了Bank0,其他7个bank都各对应4个相关位的设置,分别为STn,WSn和DWn。这里只需要对DWn进行设置,例如SDRAM(Bank6)采用32位总线宽度,因此,DW6=10,其他2位采用缺省值。BWSCON寄存器在Bank6上的位定义如表4-1所示。

表4-1 BWSCON寄存器在Bank6上的位定义

BWSCON

位

描述

初始化状态

ST6

27

这个位决定SRAM在Bank6上是否采用UB/LB
        0:不采用UB/LB(引脚对应nWBE[3:0 )
        1:采用UB/LB(引脚对应 nBE[3:0])

0

WS6

26

这个位决定Bank6的WAIT状态 
        0:WAIT禁止 
        1:WAIT使能

0

DW6

25~24

这2位决定Bank6的数据总线宽度 
        00:8位 01:16位 10:32位

0

2、BANKCONn寄存器的设置

S3C2410X有8个BANKCONn寄存器,分别对应着Bank0~Bank7。由于Bank6~Bank7可以作为FP/EDO/SDRAM等类型存储器的映射空间,因此与其他bank的相应寄存器有所不同,其中MT位定义了存储器的类型。BANKCONn寄存器在Bank6和Bank7上的位定义如表4-2所示。

表4-2 BANKCONn寄存器在Bank6和Bank7上的位定义

BANKCONn

位

描述

起始状态

MT

16~15

这2位决定了Bank6和Bank7的存储器类型 
        00:ROM或SRAM 01:FP DRAM
        10:EDO DRAM 11:SDRAM

11

MT的取值又定义该寄存器余下几位的作用。当MT=11(即SDRAM型存储器)时,BANKCONn寄存器余下的几位定义如表4-3所示。

表4-3 BANKCONn寄存器在MT=11时的相关位定义

Trcd是从行使能到列使能的延迟,根据S3C2410X的HCLK频率(100M)及HY57V561620T-H的特性(见下图),此项取01,即3CLKS。SCAN为列地址线数量,此项根据HY57V561620特性取01,即9位(A0~A8)。

3、REFRESH寄存器

REFRESH寄存器是DRAM/SDRAM的刷新控制器。位定义如表4-4所示。

表4-4 REFRESH寄存器位定义

4.BANKSIZE寄存器

表4-5 BANKSIZE寄存器定义

BANKSIZE

位

描述

初始状态

BURST_EN

[7]

ARM 内核猝发操作使能 
        0 =禁止猝发操作 
        1 =使能猝发操作

0

保留

[6]

不使用

0

SCKE_EN

[5]

SCKE 使能控制 
        0 = SDRAM SCKE禁止 
        1 = SDRAM SCKE使能

0

SCLK_EN

[4]

只有在SDRAM访问周期期间,SCLK才使能,这样 
做是可以减少功耗。当SDRAM不被访问时,SCLK
变成低电平 
        0 = SCLK总是激活 
        1 = SCLK只有在访问期间(推荐的)激活

0

保留

[3]

未用

0

BK76MAP

[2:0]

BANK6/7的存储空间分布 
        010 = 128MB/128MB 001 = 64MB/64MB
        000 = 32M/32M 111 = 16M/16M
        110 = 8M/8M 101 = 4M/4M
        100 = 2M/2M

010

初始化时,BURST_EN可以取0或1,为了提高效率,最好设置为1。SCKE_EN设置为1。SCLK_EN设置为1。BK76MAP设置为2。

5、MRSR寄存器

MRSR寄存器有2个,分别对应MRSRB6和MRSRB7,对应着Bank6和Bank7。见表4-6。

表4-6 MRSRn寄存器定义

此寄存器S3C2410只允许CL可以设置,参照HY57V561620T-H手册,取011,即3CLKs。

猝发长度的具体值在程序中没有给出,根据后面触发时序猜测应该是8,HY57V561620T支持1、2、4、8、page猝发长度。

参照前面的HY57V561620命令表,写Mode寄存器用的是Mode register命令。其中的OP CODE参照下图:

注意:当代码在SDRAM中运行时,绝不能够重新配置MRSR寄存器。

五、SDRAM的控制时序分析

下面列出SDRAM的状态机及几种SDARM控制命令的时序。大家掌握了以后可以试着分析其它的命令时序。

1、SDRAM的状态机

SDRAM的完整状态机由多个状态构成,且状态转移是非随机的(如图5-1所示)。

正是如此众多的状态及其复杂的转换关系,导致SDRAM的控制较为复杂。通常FPGA开发人员在设计SDRAM控制器IP时需要详细了解这些状态机的过程。而一般开发人员以了解为主。

图5-1 SDRAM状态机

下面将结合上图及SDRAM的指令来分析SDRAM的控制时序

2、SDRAM single模式读时序

SDRAM初始化主要是由设置S3C2410 SDRAM控制器的模式寄存器(MRSR)完成的。主要设定了SDRAM的burst长度、CAS延时时间、突发类型等。然后就可以进行读写操作了。

下图是S3C2410以single方式读SDRAM时的时序。

对照HY57V5620的命令表,列出single read 命令实现过程。

CLK

SCKE

A10/AP

nGCSx

nSRAS

nSCAS

nWE

命令

备注

1

1

X

1

1

1

1

空操作(NOP)

 

2

1

0

0

0

1

0

预充电选定bank(PRE)

Trp=2

3

1

X

1

1

1

1

空操作

 

4

1

X

0

0

1

1

Bank激活命令(ACT)

Trcd=2

5

1

X

1

1

1

1

空操作

 

6

1

0

0

1

0

1

读操作(READ)

Tcl=3

7

1

X

1

1

1

1

空操作

 

8

1

X

1

1

1

1

空操作

 

9

1

X

1

1

1

1

空操作

数据有效

3、SDRAM burst模式读时序

对照HY57V5620的命令表,列出burst read 命令实现过程。

CLK

SCKE

A10/AP

nGCSx

nSRAS

nSCAS

nWE

命令

备注

1

1

X

1

1

1

1

空操作(NOP)

 

2

1

0

0

0

1

0

预充电选定bank(PRE)

Trp=2

3

1

X

1

1

1

1

空操作

 

4

1

X

0

0

1

1

Bank激活命令(ACT)

Trcd=2

5

1

X

1

1

1

1

空操作

 

6

1

0

0

1

0

1

读操作(READ)

Tcl=2

7

1

0

0

1

0

1

读操作(READ)

 

8~13

1

0

0

1

0

1

读操作(READ)

数据有效

14~15

1

X

1

1

1

1

空操作

数据有效

4、SDRAM Self Refresh时序

SDRAM 的Self Refresh功能在电源电源管理时经常使用,如:在主控器进入sleep状态时,会先让SDRAM工作在Self Refresh状态。下图为S3C2410发出Self Refresh命令时的时序图。

对照HY57V5620的命令表,列出进入Self Refresh的过程。

CLK

SCKE

A10/AP

nGCSx

nSRAS

nSCAS

nWE

命令

备注

1

1

X

1

1

1

1

空操作(NOP)

 

2

1

1

0

0

1

0

预充电所有bank(PRE)

Trp=2

3

1

X

1

1

1

1

空操作

 

4

0

X

0

0

0

1

Self Refresh命令(REFS)

结合CKE的真值表

5

1

X

1

1

1

1

空操作

 

5、S3C2410 BUS Request时SDRAM控制时序

我以前在做一个项目时涉及到两个主控器共享一个SDRAM的情况。现象是另一个主控器可以通过BUS Request功能获取到总线的控制权。当S3C2410的总线控制权被获取后,SDRAM控制不会再发出控制时钟信号。但SDRAM并没有因为失去时钟而丢失数据。猜想一定是S3C2410在BUS Request时让SDRAM进入自刷新状态(就和S3C2410睡眠前要让SDRAM进入自刷新状态一样)、POWER DOWN状态、或者SUSPEND状态。下面就根据S3C2410 BUS Request时SDRAM控制时序图去确认一下到底是哪种。

对照HY57V5620的命令表,列出S3C2410 BUS Request时SDRAM时序过程。

CLK

SCKE

A10/AP

nGCSx

nSRAS

nSCAS

nWE

命令

备注

1

1

X

1

1

1

1

空操作(NOP)

 

2

1

0

0

0

1

0

预充电(PRE)

Trp=2

3

1

X

1

1

1

1

空操作

 

4

1

X

0

0

1

1

Bank激活命令(ACT)

Trcd=2

5

1

X

1

1

1

1

空操作

 

6

1

0

0

1

0

1

读操作(READ)

Tcl=2

7

1

X

1

1

1

1

空操作

 

8

1

X

1

1

1

1

空操作

 

9

1

X

1

1

1

1

空操作

 

10

HZ

HZ

HZ

HZ

HZ

HZ

进入Clock suspend

Note 1

Note1:在第10个时钟周期时,SKE从1变为’HZ’(高阻)。我想此时SCKE从1变为高阻对于SDRAM来说相当于从1->0吧,看了一遍HY57V5620手册,这个想法没有得到确认。但也只能这么理解了,不然后面都说不通了。我想之所以变为高阻而不是低电平,是因为S3C2410要放弃自己对总线控制。
结合HY57V5620手册分析一下此时SDRAM会进入什么状态。

下图是CKE Enable(CKE) 真值表。

在第10个时钟周期时,SDRAM处于行激活状态。此时SCKE由1->0, 根据真值表可以得出系统会进入Clock suspend状态

六、总结

本文分析了SDRAM的工作原理、介绍了HY57V561620及其与S3C2410的接线原理、S3C2410 SDRAM控制器的配置方法、及部分SDRAM的控制时序分析。有些地方理解的不够深刻,欢迎大家指正。 

本文分析了SDRAM的工作原理、介绍了HY57V561620及其与S3C2410的接线原理、S3C2410 SDRAM控制器的配置方法、及部分SDRAM的控制时序分析。有些地方理解的不够深刻,欢迎大家指正。


嵌入式开发人员,这些SRAM、SDRAM等存储技术,需要了解一下 现在嵌入式处理器中的RAM内存类型主要为SRAM与SDRAM,微型处理器如Cortex-M内核系列MCU的RAM基本上是内置的,以SRAM为主,容量大小基本上为几K至几百K级别;而基于Cortex-A内核系列处理器,应用RAM需要外置,基本上采用SDRAM类型外部存储器,容量基本上达到几百M级别;而对于处理能力更强的电脑CPU,其内存以SRAM加SDRAM结合的方式,SRAM作为cache缓存(是CPU与SDRAM的中继),而SDRAM作为外部大容量的内存(如通用的DDR内存条)。 ... 阅读详情

相关推荐

FPGA实现SDRAM接口(1)--SDRAM是什么?

通过本文您会学到:什么是SDRAM,它的特性是什么。

孤独的单刀 3万+

1.sdram介绍

SDRAM 英文全称“Synchronous Dynamic Random Access Memory”,译为“同步动态随机存取内存”或“同步动态随机存储器”,是动态随机存储器(Dynamic Random Access Memory,简称 DRAM)家族的一份子。

qq_43254508的博客 7262

从时频谱图到智能感知:雷达信号处理的AI进化之路

本文探讨了人工智能在雷达信号处理中的革命性应用,特别是深度学习在时频谱图分析中的突破性进展。通过对比传统信号处理方法与AI驱动的解决方案,展示了CNN、3D CNN等模型在目标检测、行为识别等场景中的优势,并分析了数据获取、模型优化等关键技术挑战。AI赋能的雷达技术已广泛应用于智能交通、工业检测和医疗健康领域,展现出巨大的发展潜力。

weixin_29284201的博客 507

SDRAM详细介绍

SDRAM学习

wmz13248的博客 1万+

Gephi新手必看:如何用Excel整理CSV数据快速生成网络图(附模板)

本文为Gephi新手提供了一份从Excel数据整理到生成专业网络图的完整指南。详细讲解了如何构建规范的节点表和边表CSV文件,并导入Gephi进行可视化分析。通过实战案例,帮助读者快速掌握利用Excel整理数据、规避常见错误,并运用布局算法与视觉编码,将复杂关系数据转化为直观的网络洞察。

weixin_28487433的博客 390

零基础实战:云开发家政维修小程序搭建指南

欢迎来到这本关于构建家政维修小程序的电子书!在当今数字化的浪潮中,线上服务已成为我们生活中不可或缺的一部分。从点餐购物到居家维修,人们越来越习惯通过指尖轻点来解决各种需求。正是基于这样的背景,我们希望通过这个系列,手把手地带领大家从零开始,搭建一个功能完备、体验流畅的家政维修平台。这不仅仅是一本技术教程,更是一次将想法变为现实的探索之旅。我们将深入浅出地讲解如何运用云开发等现代技术,实现从用户下单、支付,到客服派单、工人接单,再到订单完成和权限管理等一系列核心业务流程。

低代码布道师的博客 3431

SDRAM工作原理和S3C2410 SDRAM扩展控制器配置方法

来自:http://hi.baidu.com/www100/blog/item/38c5a9ef56323e1cfdfa3c53.html    SDRAM的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。掌握SDRAM的知识对硬件设计、编写系统启动代码、提高系统存取效率、电源管理都有一定的意义。本文想通过:         1.SDRAM

knock的专栏 1451

YOLOv8改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点

本文记录的是利用模块优化的目标检测网络模型。的目的是在不出现过参数化的情况下有效地增加卷积的感受野,从而解决了在感受野扩展中的参数膨胀问题。本文将其加入到深度可分离卷积中,有效降低模型参数量和计算量,并二次创新C2f,使模块更好地捕捉低频特征,增强网络性能。Wavelet Convolutions for Large Receptive Fields小波卷积及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块改进方法:加入(第五节讲解添加步骤)。添加后如下:模块改进方法:基于的(第五节讲解添加

Limiiiing的博客 1092

SDRAM工作原理及S3C2410 SDRAM控制器配置方法(1)

作者:刘洪涛,华清远见嵌入式学院讲师。 SDRAM的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。掌握SDRAM的知识对硬件设计、编写系统启动代码、提高系统存取效率、电源管理都有一定的意义。本文想通过: 1.SDRAM的工作原理。         2.HY57V561620 SDRAM介绍。         3.S3C2410和HY57V56

kerson的专栏 1014

Android车载蓝牙开发全攻略:从基础到高级优化

本文系统介绍了Android车载蓝牙开发的核心技术与实践指南。文章首先阐述了蓝牙在智能汽车中的关键作用,包括免提通话、音频流媒体等应用场景。随后详细解析了蓝牙协议基础,重点介绍了HFP、A2DP等车载常用协议。开发实战部分提供了设备发现、连接、数据传输的完整代码示例,并融入多线程和内存优化技巧。通过真实车载案例,展示了启动时间、流畅度和资源使用的优化策略。最后针对面试需求,提供了专业的技术问答,涵盖蓝牙开发全流程。全文紧密结合Android车载开发职位要求,为开发者提供了一套完整的蓝牙技术解决方案。

郑伟强dev的专栏 118

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv11轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 5987

SDRAM工作原理及S3C2410 SDRAM控制器配置方法(2)

SDRAM工作原理及S3C2410 SDRAM控制器配置方法(2)转载自:http://www.embedu.org/Column/Column169.htm作者:刘洪涛,华清远见嵌入式学院讲师。四、S3C2410 SDRAM控制器的配置方法 在系统使用SDRAM之前,需要对S3C2410X的存储器控制器进行初始化。其中对与SDRAM(Bank

DM_man的专栏 856

73、结合无人机进行rk3588oak-lite跟踪目标物体进行识别、跟踪

搭建仿真转换模型环境,主要python版本和我下载的rknn2的版本。截取shape节点,输出模型。so库也要对应转模型的whl。其中安装的whl版本。

sxj731533730 1623

嵌入式步进电机控制方案:DRV8818搭配PIC18F87J50驱动设计实战

在工业自动化和嵌入式控制系统中,步进电机凭借开环控制简单、定位准确的特点,被广泛应用于机器人、数控设备和传送分拣机构。步进电机的平稳运行不仅依赖于电机本体,更取决于驱动芯片的电流斩波逻辑与MCU的脉冲时序配合。DRV8818作为集成双H桥的功率驱动器件,配合PIC18F87J50单片机,可构建一套可靠的双极步进电机控制方案。通过STEP/DIR接口和PWM调速机制,系统能够灵活实现微步进细分与加减速控制,有效解决失步、发热和振动等问题。在中小功率工业设备场景中,这类嵌入式驱动方案兼顾了成本、可靠性与开发效率

weixin_34162228的博客 302

手把手教你学simulink(44.1)--串励直流电动机场景示例:基于Simulink开发一个串励直流电动机电压控制仿真模型

高启动转矩:由于励磁绕组和电枢绕组串联连接,电机在启动时可以产生较大的转矩。速度随负载变化:由于励磁电流和电枢电流是同一电流,电机的速度会随着负载的变化而显著变化。适用于重载启动:适合用于需要高启动转矩的应用,如起重机、牵引系统等。

MHD0815的博客 340

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[转载]SDRAM工作原理及S3C2410 SDRAM控制器配置方法_Detective_ALong_新浪博客

原文地址:SDRAM工作原理及S3C2410SDRAM控制器配置方法作者:闫天瑜作者:刘洪涛,华清远见嵌入式学院讲师。 SDRAM的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。掌握SDRAM的知识对硬件设计、编写系统启动代码、提高系统存取效率、电源管理都有一定的意义。本文想通过: 1.SDRAM的工作原理。 2.HY57V561...

a412841321的专栏 177

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: Android 服务器推送技术
下一篇: S3C2440与NOR FLASH(AM29LV160DB)的接线分析
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值