登录
首页 » Others » 华为面试数字芯片提纲.pdf

华为面试数字芯片提纲.pdf

于 2021-05-07 发布
0 417
下载积分: 1 下载次数: 9

代码说明:

本人面试华为海思数字芯片,总结出一份应对数字芯片面试的复习材料华为面试数字芯片提纲解答以及要点备注1、时序逻辑/组合逻辑时序逻辑电路主要由组合逻辑电路和触发器等记忆元件组成,输出不仅取决于当前输入,还和电路原米状态有关(这里原来状态是指的中间的触发器等记忆元件部分的端口值也可能会影响到当前的电路总的输出);组合逻辑电路主要由组合逻辑器件构成,电路无存储元件,输出仅仅取决于当前的输入。同步逻辑/异步逻辑同步逻辑是指的电路驱动时钟是有固定因果关系的逻,异步熤辑是电路驱动时钟之间没有固定因果关系的逻辑。通常同步逻辑电路的驱动时钟来源于同一个时钟源产生的相同时钟或者相位差可预知的不同时钟,这里不包括相位差在一定时钟周期内(例如1000ck)依然无法确定公共周期的同源时钟;异步逻辑的电路驱动时钟来自不同源时钟或者相位差关系不确定的时钟。同步时钟/异步时钟同步时钟指的是时钟源来自于同一个时钟源生成的时钟,其相位差可计算预知,这里不包拈来白同一时钟源但是在一定时钟周期内(例如1000ck)依然无汯确定公共周期的时钟,通常为由PLL生成的非整数分频或者倍频时钟。异步时钟是指的相位差无法预测的时钟,通常来自于不同的时钟源。2、亚稳态的概念/可能出现的场合和抑制手段亚稳态是指触发尜的建立时间或者保持时间不能满足时触发尜的输岀介于0或者1两者之间的某个不稳定态。理想的触发器在时钟到來时刻采样数据,但现实之中时钟边沿通常具有一定斜率,因此数据需要在时钟到来的前后各一段时间内保持稳定,使得触发器能够准确采样数据,否则就可能岀现亚稳态。亚稳态通常出现在同步时钟驱动电路的异步复位信号来临和消失的时候,或者是异步时钟域之冋数据传递的时候。前者解决方案是釆用同步复位(通常会导致电路逻辑资源占用面积增加)/或者是异步复位同步释放方式避免亚稳态;后者通常考虑用昦步FFo,双端口RAM,双触发器,或者是握于杋制等方法进行冋步ε比外还有例如降频,使用速度较快的触发器,改善时钟质量也会有一定效果。3、异步FIFO原理/FFO的深度计算/同步FFO/要求自凵写异步FFO代码/自凵尝试添加约束(H: Desktop Hardware study Async _ FIFO)异步FFO主要用于实现异步时钟域之间的数据传输。异步F|FO由以下几部分构成。●BRAM/DRAM组戍的缓冲区。用于缓存数据流,其深度的设定需要根据输入输岀数据的吋钟差别以及最大连续输入/输岀数据量确定。读写指针。其变化需要根椐FFO的空满状态以及当前的读写请求指令共同确定。当缓存为空则不读,读指针不变;当缓存为满不可写,写指针不变。空满状态标志。由于异步FFO工作在不同时钟域,因此对空满状态的判断依赖于不同时钟域的读指针和写指针。为了便于区分“快一圈”的现象,可以考虑将指针位宽多设置一位,当最髙位相同时候,读指针等于写指针认为是读空,当最高位不同的吋候,读指针等于写指针认为是写满●同步电路。由于两者读写指针比较是在不同时钟域下进行,因此为了避免亚稳态需要进行同步设计。此处通常采用格雷码进行比较(传输端首先 BIN TO GRAY,经过两级触发器在目的端同步,然后 GRAY TO BIN,进行下一步的比较,得出空满状态),保证一次只有一位数据变化,利用格雷码结合两级触发器进行同步后,可以严格保证至少数据不会出错(起码是原地踏步,不会造成满状态写入的情况),中间加的两级触发器公对实际状态做延迟比较(避免了空读和满写),也属于保守预估,最多是不是真空/真满情况下告知空淸,但是不会导致数据出错,属于保守的方法●FFO深度计算,计算主要考虑最坏的情况,例如100wclk里血进来80个这种,需要考虑200个时钟内连续进米160个的情况,然后计算深度也是根据“平均进米一个出去几个,然后乘以最大连续量即可得到FFO深度”这样的方式考虑最大深度同步FFO由」驱动时钟同步,因此可省去中闩同步器以及格雷码编码机制,其作用原理和异步FIFO类似4、双端口RAM的实现/要求自己写双端口RAM(H: Desktop Hardware study async_ Dual _port ram)FPGA内部RAM资源分为 Block ram和 Distribute ram,前者一殷用于大量数据的缓存,后者多用于小部分数据缓存。就速度而言由于 Distribυ ute ran利用FPGA内部 Slicer的LUT存储资源,少量存储的话速度比较快,但是大量存储会对布线造成影响,难以保让时序。FPGA可以配置 Single-port-ram, Simple-port-ram,True- port-ram等形式的RAM,读写模式有 write-first,read-frst,no- change等模式, write-first表明输出端口的数据和写入的数据相冋, read-first表明输出端口的数据为当前地址之前存储的数据,no- change表明输出数据为写入之前一刻的数据不变;Single- port-ram同时只能进行读或写操作; True-port-ram可同时进行读写操作,但是要避免地址冲突,不能两个端口同时对一个地址写入, Simple- port-ram实际上是 True-port-ram只开启了A端口的写入和B端口的输出。5、两级触发器同步/应用场合/MTBF的计算以及2FF的计算两级触发器通常用于异步时钟域之间的单比特信号传输,通常是控制信号。其扣制亚稳态传播的原理并不是避免亚稳态的发生,也无法避免出错信号的继续传输,而是尽量减少亚稳态传播的概率。根据触发器MTBF(平均故障时问间隔)计算,一缬触发器的MTBF=(e^(tmet/c1)/c2*f*a)两级触发器MTBF=(MTBF1)*MTBF2),相当」不稳定态在第一级触发器后被阻断了传播。如果条件更苛刻可考虑三级触发器。6、握手机制/代码(H: Desktop Hardware study async dual_ port ram握于机制通常用于数据传输速率要求不高但要求准确的场合,两边的握手信号都需要各自时钟域的同步器进行同步。当接收端经过冋步电路接收到req信号后锁存总线数据,然后发岀ack信号,ack经过冋步电路后到达发送端,发送端接受后撤销req信号,接收端也撤销掉ack信号,一次握手完成7、同步复位/异步复位/异步复位同步释放/三者比较/代码同步复位指的是时钟有效沿来临的时候进行复位操作,冋步复位使得电路为冋步电路,能够利于仿真,缺点是要求复位信号要大于一个周期,否则无法保证成功复位,此外综合出米的电路实际上并没有利用器件的复位端,而是在输入端插入额外的逻辑电跻,这样増加了额外的逻辑资源消耗。异步复位是指的在仼何时候只要复位信号有效即可复位,不占用额外的逻辑资源,充分利用器件的复位引脚,但是由于来临和结束时间未知,容易引起亚稳态现象对于FPGA的Fip-Fop,一般有同步复位,置位引脚RST/S和异步复位,置位引脚CLR/PRE,对于同步复位,需要引入额外的MUⅹ电路控制RST/S,对资源有一定的占用比较理想的方式是异步复位同步释放,既充分利用了器件的复位引脚,又能够有效避免亚稳态的产生。8、恢复时间/去除时间/ positive or negetive or global skew/ jitter/Recovery time(恢复时间)是指的异步控制信号(例如复位信号)在被断言后到下一个时钟沿的最短时间Recovery time is the minimum amount of time required between the release of an asynchronous signal from theactive state to the next active clock edge.(类比建立时间)( Example: The time between the reset and clock transitionsfor a flip-flop if the active edge occurs too soon after the release of the reset the state of the flip-flop can be unknownUFF5UFF6CDN-aCKNbCKCLKPRemoval time(去除吋间)是指异步控制信号在吋钟沿后需要保持稳定的吋间。 Removal time specifies theminimum amount of time between an active clock edge and the release of an asynchronous control signal.(类比保持时间)这个异步控制信号可以来自于“异步复位同步释放产生的复位信号,如下图”。positive or negetive or globa|skeW分别表明相比| atch clock edge的延迟为正/负/最大延迟减去最小延迟Clock jitter指的是实际周期和理想厝期之间产生的偏差,jter通常由时钟发生器电路,噪声,电源变化引起9、触发器组成/锁存器组成/区别触发器通常包括SR触发器,」触发器,D触发器,T触发器;SR锁存器由与非门或者或非门组成,SR触发由时钟控制逻辑加上双与非门/或非门组成,还有门控SR触发器将时钟换为使能即可。四状态分别为保持/0/1/不允许。不允许态主要是全1/全0同时翻转为0/1不能确定哪个逻辑元件最先变成0/1,从而导致下一时刻不定态D触发器由时钟边沿触发,锁存数据,D触发器是FPGA中的主要元件,T发器作用是翻转信号Q00-1DcLK-(LDLa触发器对边沿敏感,锁存器对电平敏感10、脉冲检测电路(非同步时钟如何处理,快到慢,慢到快)对于慢时钟到快时钟的脉冲检测电路,由于脉冲长度一般大于接收端一个时钟周期,可以利用两级触发器结合一个与门和反相器电路实现单周期脉冲的传输,如图1;对于快时钟到慢时钟区域的检测电路,由于脉冲长度一般较小,可能导致慢时钟区域检测不到,因此可借助脉冲信号作为触发器的时钟信号,然后利用接收端信号重新复位该触发器信号即可,如图2对于相同时钟的脉冲检测电路,可以利用两级触发器结合与门和非门电路,类似方案一11、可综合和不可综合概念/ timescale的理解可综合是指的代码能够被EDA工具映射为具体的逻辑电路,能够在硬件端实现的语句;不可综合指的无法被映射为只体的电路在哽件端,通常用于仿真阶段timescale是指的吋间维度的常量,用于仿真阶段,由吋间最小单元和时间精度两部分组成,例如 timescale1ns/1000s,意思是时间最小延迟单元为1ns,按照1005的精度进行换算,#5.22代表延迟52*100p5,如果是1ns/1s则代表延迟5220s,如果遇到一个模块包含其他模块的情况则精度按照最小的精度计算。精度越高会导致仿真的复杂度越大,仿真需求时间也就越久。12、组合逻辑环路概念缃合逻辑需要避免牛成环路,即绢合逻辑输岀端不绎过仟何时序逻辑就反馈到输入节点形成的环路,这样公产生振荡和毛刺等现象,而且会出现无法预知的结果。这样的组合逻辑坏烙的功能完全依赖丁逻辑元件的延迟和布线延迟,具有很大的不确定性。13、静态时序分析/动态时序分析/二者对比静态时序分析(STA)通过遍历系统中所有路径来计算每条路径是否满足时序要求。无需外部信号激励的输入,只需要按照设计要求作岀对应约束即可。静态时序分析不能分析电路逻辑功能是否满足需求,只能测试设计是否满足时序要求,系统能否在要求的时钟速率下正常运行。静态时序分析的速度较快。动态时序分析是指的对系统生成测试向量并查看输出结果是否满足设计要求的方法。动态时序分析能够验证系统的逻辑功能,但难以通过输入向量测试到所有路径,而且随着输入信号数量增加,验证复杂度会越米越大。14、建立时间/保持时间/数据到达时间/数据需求时间/建立时间裕量/保持时间裕量建立时间( (setup time)是指的时钟边沿到来之前数据保持稳定的最少时间。保持时间( hold time)是指的时钟边沿到来后数据保持稳定的最少时间。数据到达吋间( data arrival time)= Latch+Tlka+Tcq+ Logic建立时间的数据需求时间 data required time/ setup)= Capture+llkb-Tsu- Uncertainty保持时间的数据需求时间 data required time/hod)= Latch+Tk+Thd- Uncertainty( Uncertainty-还是+存疑)建立时间裕量( setup slack)=( data required time- data arrival time)=T-Tsu-(Tcq+ Logic)+ Skew保持时间裕量( hold slack)=( data arrival time- data required time)= Skew+Thd-(Tcq+ Logic15、四类时序路径及起点终点/完整的时序路径包含三部分/建立时间检查,保持时间检查/恢复时间检查,去除时间检查/检查违例的解决方案Start point-All input ports/pins or clock ports /pins of sequential cells are considered as start pointsEnd points-All output ports/ pins or d pin of sequential cells are considered as end pointsA.输入端口到第一级寄存器的数据输入D端之间路径B.最后一级寄存器输出Q端到输出端口之间路径C.系统内部寄存器的时钟端口CLK到下一级寄存器的数据输入端口D之间路径D.输入端口经过组合逻辑到输出端口之间路径个完整的时序路径包括源时钟路径(时钟端到当前寄冇器的时钟输入端),数据跤径(当前寄存器时钟输入端到卜一级寄存器数据输入端),目的时钟路径(时钟端到卜一级寄存器的时钟输入端)建立时间检查上要看数据路径的最大延迟路径,两级寄存器时钟skew最小的情况,淸足建立时间需要有:T+Tskew-Tsetup >(Tcq +Logic保持时间路径主要看数据路径的最小延迟路径,两级寄存器时钟skew最大的情况,淸足保持时间需要有:(cq+Tlogic)> Thd+ Tskew恢复时闩检査和去除时冋检査比较类似建立时间和保持时间检查,检查方式是一样的,主要看这个异步控制信号(通常是经过“例如异步复位同步释放生成的的复位信号”后传递给寄存器的复位信号)到达的时间是否和时钟边沿满足一定的时间关系,否则可能导致复位失败或者控制失败对于建立时间违例,可以考虑对较大的组合逻辑插入寄存器增加一级流水线,或者是考虑降低时钟频率,或者是考虑优化组合逻辑使之延迟降低;对于保持时间违例可以考虑插λ buffer或者两级反相器对效据路径实现延迟。16、时序约束/时钟约束/输入输出约束/时序例外约束/多周期路径约束( Multicycle paths)/伪路径约束( Falsepaths/ min-max约束/ set bus skew吋序约束是指的对电路的吋序提出要求,并在时序约束的基础上检验系统电路是否能够满足设计需求。●时钟约束是指的对系统中出现的时钟信号添加的限定条件,主要有以下类别:1) Primary clock(通过引脚输入系统) creat clock- name clk in- period10- waveform05}[ get ports clk2) Virtual clock(并未连接到系统的任何端口,只是用来做输入信号的参考,而该信号按照这个虚拟时钟的速率传输,只是这个时钟也没有接到系统任何韶位。可以理解为上游芯片的一个数据时钟,只是这个时钟没有接入系统)tcl语言描述为 create clock- name virtual clk-period103) Generated clock(通过PLL或者内部逻辑,如计数分频生成的吋钟) example1: create generated clock-nameclk div2 -source [get_ports clkin]-divide by 2 [get pins clk div 2]; example2: create generated clock -nameclk div_ mul-source [get_pins mmcmo/ clkin]-multiply by 4 -divide by 3 [get_pins mmcmo/clkout4) Clock groups(主要对异步时钟组之间约束,避免对异步时钟之间进行无效的时序分析,例如两个独立的时钟以及他们生成的时钟网络之间,或者是虽然来自同一个时钟源但是牛成的时钟在1000ck内无法确定公共周期的时it i [a )set clock groups -name async clk -asynchronous- group clk1-group clk 2 set clock groups-name clkunexclusive-group clko-group clk1;5) Clock latency(由于EDA工只通常会自动计算内部网络的时钟延迟,因此通常只需要提供器件外部时钟走线延iRRP H)set clock latency-source-early 0.2 [get ports sysclk]; set clock latency -source -late 0. 5 [get ports sysclk6) Clock jitter (E A input jitter FA system jitter) set input jitter sysclk 0.3 set system jitter 0.117) Clock uncertainty(为特定的时钟或者时钟之间约束) set clock uncertainty0.1[ get clocks clk];set clock uncertainty 0. 2 from [get_ports clk1] to [get clocks clk2输入输出约束1) set_input delay(用于确定和系统某个时钟相关的输入信号的外部路径延迟,通常取决于外部器作输出的最后一级寄存器的Tcq和中间走线延迟。 Consequently, the input delay value can be positive or negative, depending on theclock and data relative phase at the interface of the device,这个相关的时钟可以来自于系统的某个时钟或者虚拟时钟)example 1: set_input delay -clock sysclk [get_ ports din]; example 2: set_ input_ delay -clock sysclk-max 4 [get_ports din]example3: create clock -name clk virtual- period 10set input delay -clock clk virtual -min 2 [ get ports din22) set output delay(用于确定和系统某个时钟相关的输岀信号的外部路径延迟,通常取决于外部走线延迟和下游芯片第一级输入寄存器的建立时冋和保持时冋)exεmple: set output delay- clock sysclk-min2[ get ports dout●时序例外包含多周期路径约束,伪路径约束,最大最小延迟约束1) Multicycle paths(多周期路径通常指的由于系统的特定设计,重新修改建立时间和保持时间检查方式,通常不像EDA工具默认的单周期的检查,多周期路径约束通常定义新的时序检查方式)BEFOREA)相同时钟下由于使能信号等原因导致的多个周期读取IHold:SetupLostnaton clock对于相同时钟,无需确定- start-end,因为参考的时钟都是一样的,只需要重Choct Erable新确定建立时间检查和保持时间检查的关系。由于 setup relationship同时影响crScure cocshold relationship,因此修改建立吋间的同吋也要修改保持吋间关系。如图set multicycle path n -setup -from [get _ pins a-to [get pins b]capture edgeClock Enableset multicycle path N-1hold-from[ get pins a] to get pins b](其中N为建立OIS 2IN 46 CrIS IN 10: I2Slaunch edge时间检查的移动周期数)setupB)相同周期时钟但是有相移,因此修改建立时间检查关系,保持检查会随之-。如。2。=。移动。 set multicycle_path2- - setup- from Iget clocks clk』to[ get clocks clk2]。Destinationapture edge8ns Bn:launch edge Ons 2neine如果是负相移(相移很小)的话,无需约束,情形相当于同吋钟无相移。C)慢时钟到快时钟。 set multicycle_path3- setup-from[ get clocks clk1]-to[ get clocks clk2]Set multicycle_ path 2-hold -end- from iget clocks clk1]-to [get clocks clk2D)快时钟到慢时钟。 set multicycle_ path3- setup- - start-from[ get clocks clk1]-to【xx] set multicycle_ paths2- hold -fromlget clocks clkl to [get clocks clk2];Table 5.3: To define a multicycle path with a Setup of nScenarioMulticycle Constraintslaunch edgeSource cloSame clock domain or betweenset_multicycle_path N-setup-from CLK1 -to CLK2c「L「LLsynchronous clock domains with sameFeriod and no phase-shiftsct_multicycle_path N 1 hold from CLK1 to CLKBetween SLOW-to FAST synchronous clock set_multicycle_ path N-setup from CLK1 -to CIcomaInsset_multicycle_path N-1 -hold-end -from CLK1-to CLK2clock(CLk2capture edgeBetween FAST-to SLOW synchronous clock set_multicycle_path -start -from CLK1 -to CLKcomaInsset_multicycle_path N-1-hold -from CLKI-to CLK2False paths(伪路径约束)对于一些永远不可能起作用的路径或者无需进行时序分析的路径可以设置为 Falsepath(例如异步时钟之间已经经过两级同步器同步则无需分析,例如上电瞬间内容确定则无需分析)example: set false_ path-from [get clocks clk1] to [get clocks clk2]● Min-max(用于约束输入端口到输出端口的最人延迟以及异步信号之间的最人廷迟(意思是即使两个时钟域以经通过同步器或者FFO进行同步,依然可能需要一个最大路径延迟约束川 example1: set max delay10from [get _ ports din]-to [get ports dout] example 2: set max delay - from [get_ pins a]-to [get _pins b●set_bus_skew(用于对异步时钟域多位数据传输路径延迟进行约束,通常用于格雷码转换,多bit数据传输由于传输是多位的bit,因此每个bt之间的路径差异需要被约束,通常是约束一个目的时钟周期。 exampleset bus skew -from[ get cells gray*]-to[ get cells gray_sync+2.5,其中*代表这个寄存器的每个bt;同时为∫保证源时钟和目的时钟之间数据正常传输,需要进一步设置 sex max delay使得这个数据路径的延迟不能超过一定时间(通常是一个源时钟周期) set max delay-datapath only-from[ get cells gray]to[ get cellsgray_sync 517、竞争冒险/消除方法竞争是指的由J逻辑和走线延迟差异导致不同信号到达输入端的时间不同,冒险是指的由于不同信号到达输入端时间差异导致输出信号存在短时不稳定的现象,也叫输出毛刺。消除互补乘积项,例如(A~+B)*(A+C需要消除AA●增加冗余项,例如AB+A~C,当B=C=1的时候是A+A~,因此可以考虑增加BC项,这样就桷保输出无毛刺。输出端并联电容器,能够是的毛刺的上升下降沿变得缓慢,从而抑制毛刺被后级电跻读取的慨率。将组合逻辑电路转变为时序逻辑,因为触发器对毛刺边沿不敏感,可以有效减少毛刺对后级电路影响18、状态机分类/状态转移图/一段两段三段式状态机区别特征(优缺点,本质特征,状态数差别,输出改变时间差别,状态机也分为同步状态机(有CLK控制输出)和异步状态机)/思考具体的状态机实例(饮料售卖)MeaⅣy状态机:输出取决于当前状态和输入,输出可以在输入发牛改变之后立刻响应,具有异步输出的特点,Meay由于结合了当前输入信息和状态信息,因此状态数量更少。Moore状态机:输山仪仅取决于当前状态,和Meay相比 Moore机首先根据输入信息更新状态,然后在下个时钟根据当前状态决定输出,因此速度响应比Meay慢一拍,但是具有可以同步输出的特点。设计状态机首先考虑改计功能需求,然后根据运作流程列举可能的状态并根据转移条件列状态转移表转移图。状态的编码可以考虑采用格雷码(适用于连续跳变)或者是独热码,段式状态机将状态转移和输出集中在一个 always块内书写,电路为时序逻辑不会产生毛刺,但是书写代码冗长且不易修改,可维护性差;两段式状态机将状态转移和输出分放在两个 always块中,前一个用时序逻辑进行状态调转,第二个用组合逻辑控制下一状态的计算和组合逻辑输出,容易产生毛刺。这种与法只有最优的血积和时序性能,但是由于是组合逻辑输出因此增加了到下一级寄存器的输出延迟。段式状态机分为状态调转模块,状态转栘条件判断模块,输岀逻辑模块。三段式状态机将组合和时序逻辑分开,易于维护和综合饮料杋编写(自己编的题目),可以首先考虑实现的玏能,输入应该包括时钟信号,复位信号,输入的钱,输入的饮料选择,以及是否有当前饮料存货;输岀应包括找岺,饮料输出,无饮料提小等信息。中间状态应包括空闲状态,提示无饮料,输入钱多,输入钱正好,输入钱相等,找钱,出饮料,提示继续输入钱等状态,基于上述可能的状态进行状态转移图绘制,然后编写状态转移组合逻辑以及输出逻辑。“H、 Desktop Hardware_ study Sail_· machine”19、系统级/算法级/RTL级/门级/开关级Verilog HDL语言自顶向下通常分为系统级,算法级,RTL级(寄存器传输级),门级,开关级;系统级措述语言提供的髙级结构和所能实现的性能算法级措述算法运行的模型,以上两种描述级别一般不涉及具体实现细节,不考虑是否能转化为硬件结构。RTL级用」描述数据如何在寄存器之问流动和传输门级用于描述逻辑门之间的连接模型开关级措述的是器件晶体管规模的具体连接和信号流动模型前三个级别表述的是行为级,后两个级别分别代表逻辑级和电路级20、阻塞赋值/非阻塞赋值阻塞赋值是指的执行当前语句的时候阻塞其他语句的执行,因此阻塞赋值的执行具有一定的顺序性;非阻塞赋值是指的一次激活操作来临后会首先计算所有非阻塞语句表达式的右值,在激活操作结束后统一赋值给左边变量,执行无先后顺序,当前语句的赋值操作不会阻塞其他语句的赋值操作,因而叫做非阻塞赋值。在设计代码的付候通常对组合逻辑采用阻塞赋值,对时序逻辑采用非阻塞赋值,对阻寒赋值和非阻寒赋值分开在不同的away坎中实现。21 function/task/ repeat/ while/ forFunction用于执行一段的功能电路,由组合逻辑组成,至少一个输入,无输出。返回一个输出值(缺省值为1bit寄存器数据),输入输出的类型可以自己定义。 function可以驱动和使用全局变量,内部定义的为局部变量。函数

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • STM32F4xx中文参考手册
    stm32f4xx系列开发指南。新手朋友和嵌入式开发者必备资料。RM0090目录353擦除∴....653.54编程....,,,,.,,,..66355中断663.6选项字节673.6.1关于用户选项字节的说明3.62用户选项字节编程363读保护(RDP).70364写保扩.,723.7次性可编程字节.7238 Flash接||寄存器,,7338.1Fash访问控制寄存器( FLASH ACR)382Fash密钥寄存器( FLASH KEYE)74383Fash选项密钥寄存器( FLASH_ OPTKEYR)743.84Fash状态寄存器( FLASH SR)75385用于STM32F405XX/07xX和STM32F415X/17XX的Flash控制寄存器( FLASH CR)...7638.6用于STM32F42XX和STM32F43XXX的Flash控制寄存器( FLASH_CR)77387Fash选项控制寄存器( FLASH_PTc388用于STM32F42XXX和STM32F43XXxFlash选项控制寄存器( FLASH OPTCR1)80389Fash接口寄存器映射,,,,,81cRC计算单元■■■■■■■■■■■■■■■■■■■■■,,,834.1cRC简介834.2CRC主要特性.■1■1834.3CRC功能说明.,834.4CRC寄有器.8444.1数据寄存器(CRC_DR)....84442独立数据寄存器(CRG_DR)8444.3控制寄存器( CRC CR)85444CRC奇存器映射855电源控制器PWR).865.1电源,,,,,865.1.1独立AD转换器电源和参考电压5.1.2电池备份域翻着潘875.1.3调压器89文档ID018909第4版3/1284目录RM009052电源监控器1■■90521上电复位(POR/掉电复位(PDR)90522压复位(BOR05.23可编程电压检测器(PVD)9153低功耗模式925.3.1降低系统时钟速度93532外设时钟门控,935.3.3睡眠模式.,,,,945.34停止模式翻D95535待机模式翻965.3.6对RTC复用功能进行编程以从停止模式和待机模式唤醒器件985.4电源搾制寄存器..,,,100541用于STM32F405XX/07XX和STM32F415X×/17XX的PWR电源搾制寄存器(PWR_CR).100542用于STM32F42xX和STM32F43XXX的PWR电源控制寄存器(PWR_CR).101543PWR电源控制/状态寄存器(PWR_CSR).,,.10355PWR寄存器映射104复位和时钟控制(Rcc)1056.1复位056.1.1系统复位1056.1.2电源复位1056.13备份域复位10662时钟10662.1HSE时钟108622HS|时钟,,.109623PLL配置110624LSE时钟11062.5LS|时钟111626系统时钟( SYSCLK)选择11627时钟安全系统(CSS)111628RTC/AWU时钟629看门狗时钟11262.10时钟输出功能11262.11某于TM5TM11的内部/外部时钟测量,,,,.,,.,1134/1284文档I018909第4版RM0090目录63RCC寄有器114631RCC时钟控制寄存器( RCC CR)114632 RCC PLL配置寄存器(RCC_ PLLCFGR),.,,,,116633RCC时钟配置寄存器( RCC CFGR)118634Rcc时钟中断寄存器(RCC_C|R),,,,,,120635 RCC AHB1外设复位寄存器( RCC AHB1RSTR.123636 RCC AHB2外设复位寄存器( RCC AHB2RSTR)...125637 RCC AHB3外设复位寄存器(RGC_AHB3RSTR)125638用于STM32F405X×/07XX和STM32F415X×/17XX的RCC APB1外设复位寄存器( RCC APB1RSTR126639用于STM32F42XXX和STM32F43XXXRCC APB1外设复位寄存器( RCC APB1RSTR).12963.10用于STM32F405XX/07XX和STM32F415X×/17Xx的RCC APB2外设复位寄存器(RcG_APB2RSTR...13263.11用于STM32F42XXX和STM32F43XXxRCC APB2外设复位寄存器(RCC_APB2RSTR)..1336312 RCC AHB1外设时钟使能寄存器( RCC AHB1ENR)13563.13 RCC AHB2外设时钟使能寄存器(RCC_AHB2ENR)..1376314 RCC AHB3外设时钟使能寄存器(RCC_AHB3ENR),,.13863.15用于STM32F405XX/07xX和STM32F415X×/17xx的RCC APB1外设时钟使能寄存器( RCC APB1ENR)1363.16用于STM32F42XXX和STM32F43XXx的RCC APB1外设时钟使能寄存器( RCC APB1ENR),.,,14163.17用于STM32F405XX/07XX和STM32F415X/17XX的RCC APB:2外设时钟使能寄存器(RCC_APB2ENR).1446318用于STM32F42Xx和STM32F43Xxx的RCC APB2外设时钟使能寄存器(RCC_APB2ENR)1466.3.19用于STM32F405XX/07xX和STM32F415X×/17xx的低功耗模式寄存器中的 RCC AHB1外设时钟使能(RCC_AHB1 LPENR)14863.20用于STM32F42XXX和STM32F43XxX的低功耗模式寄存器中的RCC AHB1外设时钟使能(RCC_ AHB1LPENR)..,,.1516.321用于低功耗模式寄存器中的 RCC AHB2外设时钟使能(RCC_ AHB2LPENR)1546.322低功耗模式寄存器中的 RCC AHB3外设时钟使能(RCC_ AHB3LPENR).15563.23用于STM32F405X/07XX和STM32F415X×/17xx的低功耗模式寄存器中的 RCC APB1外设时钟使能(RcC_APB1 LPENR).1556324用于STM32F42XX和STM32F43XXX的低功耗模式寄存器中的RCC APB1外设时钟使能(RCC_ APB1LPENR)1586.3.25用于STM32F405X/07XX和STM32F415X×/17XX的低功耗模式寄存器中的 RCC APB2外设时钟使能(RcC_APB2 LPENR)16文档ID018909第4版5/1284目录RM00906.3.26用于STM32F42XXX和STM32F43xX的低功耗模式寄存器中的RCC APB2外设时钟(RcC_APB2 , LPENR),,,,,,,1636.327RCC备份域控制寄存器( RCC BDCP).1656328RCC时钟控制和状态寄存器(RcC_cSR.,.,1666.329RCC扩频时钟生成寄存器(RCC_ SSCGR),,,,.,,1686330 RCC PLL2S配置寄存器(RCC_PL凵|2 SCFGR).696331RCC专用时钟配置寄存器(RGC_ DCKCFGR)1706332RGC寄存器映射171通用Mo(GP|o)17571GP|O简介,,,1757.2GPO主要特性1757.3GPO功能描述1757.3.1通用MO(GP|O1777.32|O引脚复用器和映射..,1777.3.3WO端口控制寄存器181734MO端口数据寄存器18173.5MO数据位操作.1817.3.6GPO锁定机制7.3.7|O复用功能输入/输出182738外部中断线/唤醒线1827.3.9输入配置..,,...1827.3.10输岀配置.......1837.3.11复用功能配置:::1837.3.12模拟配置1847313将OSC32NOSC32_OUT引脚用作 GPIO PC14/PC15端凵引脚1857.3.14将OSC|N/OSC_OUT引脚用作 GPIO PHO/PH1端口引脚18573.15选择RTC_AF1和 RTC AF2复用功能18574GP|O寄存器,.18774.1GPO端口模式寄存器( GPIOX MODER)(x=A.D)187742GP|O端口输出癸型寄存器( GPIOX OTYPER)(x=A.D...187743GPO端口输出速度寄存器( G PIOX OSPEEDR)(x=A.J)188744GPo端口上拉/下拉寄存器(GP|Oⅹ_ PUPDR)(X=A.O.18874.5GP|o端口输入数据寄存器(GPOX|DR)(x=A.)1897.4.6GP|o端口输出薮据寄存器(GP| Ox ODR)(X=A.)..18974.7GPO端口置位/复位寄存器(GP| OX BSRR)(X=A.).,,.19074.8GPO端口酤置锁定寄存器(GP| Ox LCKF)(x=A.).,.1906/1284文档I018909第4版RM0090目录7.4.9GP|O复用功能低位寄存器(GP|OⅹAFRL)(x=A.)19174.10GPO复用功能高位寄存器(GP| Ox AFRH)(X=A.)1927.4.11GPO寄存器映射192系统配置控制器( SYSCFG)1948.11O补偿单元19482 SYSCFG寄存器.194821 SYSCFG存储器重映射寄存器( SYSCFG MEMRMP)194822用于STM32F405X×/07xx和STM32F415X×17xx的SYSCFG外设模式配置寄存器( SYSCFG_PMC)195823用于STM32F42XxX和STM32F43XXx的 SYSCFG外设模式配置寄存器( SYSCFG_PMC).....195824 SYSCFG外部中断配置寄存器1( SYSCFG_ EXTICR1)...1968.25 SYSCFG外部中断配置寄存器2( SYSCFG_ EXTICR2)...196826 SYSCFG外部巾断配置寄存器3( SYSCFG_ EXTICR3)...197827 SYSCFG外部中断配置寄存器4( SYSCFG_ EXTICR4)..198828补偿单元控制寄存器( SYSCFG_ CMPCR),,198829 SYSCFG寄存器映射199DMA控制器(DMA20191DMA简介..20192DMA主要特性,20193DMA功能说明..2029.3.1般说明202932DMA事务204933通道选择.205934仲裁器206935DMA数据流2069.3.6源、日标和传输模式.2069.3.7指针递增210938循环模式210939双缓冲区模式293.10可编程数据宽度、封装/解封、字节序21293.11单次传输和突发传输2139.3.12FFO,21493.13DMA传输完成21693.14DMA传输暂停217文档ID018909第4版7/1284目录RM00909.3.15流控制器9.3.16可能的DMA配置汇总..2189.3.17流置过程...21893.18错误管理21994DMA中断,,,,,,2209.5DMA寄存器22095.1DMA低中断状态寄存器(DMA_LSR.220952DMA高中断状态寄存器(DMAH|SR)221953DMA低屮断标志清零寄存器( DMA LIFCE).222954DMA高屮断标志清零寄存器( DMA HIFCE)223955DMA数据流ⅹ配置寄存器(DMA_SXCR)(X=0.7)....2239.5.6DMA数据流ⅹ数据项效寄存器( DMA SXNDTR)(X=0.7).,226957DMA数据流X外设地址寄存器( DMA SXPAR)(x=0.7)227958DMA数据沇存储器0地址寄存器( DMA SXM0AR)(x=0.7).…2279.59DMA数据流ⅹ存储器1地址寄存器( DMA SXM1AR)(X=0.7)2289.5.10DMA数据流ⅹFIFO控制寄存器( DMA SXFCR)(x=0.7)22895.11DMA寄存器映射10中断和事件.23310.1联套向量中断控制器(NVC)..…...23310.1.1NV|C特性.23310.12 Sys Tick校准值寄存器23310.1.3中断和异常向量233102外部中断/事件控制器(EXTI233102.1EXT主要特性..24010.22EXT框图2410.2.3唤醒事件管理,,,,,24110.24功能说明24110.25外部中断/事件线映射243103EXT寄存器.D面重,24410.3.1中断屏蔽寄存器( EXTI IME)24410.32事件屏蔽寄存器( EXTI EMF)24410.33上升沿触发选择寄仔器( EXTI RTSR)245034下降沿触发选择寄存器( EXTI FTSE).24510.3.5软件中断事件寄存器( EXTI SWIER)24610.36起寄存器( EXTI PR)246037EXT寄存器映射2478/1284文档I018909第4版RM0090目录模数转换器(ADc)■■■24811.1ADC简介1面■■■口■■248112ADC主要特性.24811.3ADC功能说明,,,24811.3.1ADC开关控制...25011.32ADC时钟25011.3.3通道选择..25011.3.4单次转换模式.......25111.3.5连续转换模式.25111.36时序图.25211.37模拟看门狗11.38扫描模式25311.3.9注入通道管理25311.3.10不连续采样模式254114数据对齐...25511.5可独立设置各通道采样时间...,25611.6外部触发转换和触发极性..25611.7快速转换模式,,,,,,,25811.8数据管坦25811.8.1使用DMA.25811.82在不使用DMA的情况下管理转换序列25911.8.3在不使用DMA和溢出检测的情况下进行转换11.9多重ADC模式25911.9.1注入同时模式26211.92规则同时模式26311.9.3交替模式2641194交替触发模式266119.5混合型规则/注入同时模式26811.9.6规则同时+交替触发组合模式2681.10温度传感器26911.11电池充电监视.....27111.12ADC中断11.13ADC寄存器27111.131ADC状态寄存器( ADC SR)...27111132ADC控制寄存器1(ADC_cR1)272文档ID018909第4版9/1284目录RM009011.133ADC控制寄存器2(ADC_cR2)..27411.134ADC样时间寄存器1(ADC_SMPR1).,,,,,.27711.13.5ADC采样时间寄存器2(ADC_SMPR2)27711.136ADC注入通道数据偏移寄存器Ⅹ( ADC JOFRX)(X=1.4).2781113.7ADG看门狗高阈值寄存器(ADC_HTR)27811.138ADC看门狗低阈值寄存器(ADC_LTR)27911.139ADC规则序列寄存器1(ADC_SQR1)2791113.10ADC规则序列寄存器2(ADC_SQR2).....28011.1311ADC规则序列寄存器3(ADC_SQR3).11.1312ADC注入序列寄存器( ADC JSQR)11.1313ADC注入数据寄存器ⅹ( ADC DRX)(x=1.4)2811.13.14ADC规则数据寄存器(ADC_DR)..28211.1315ADC通用状态寄存器(ADC_CSR)2821113.16ADC通用控制寄存器(ADC_CCR).,28411.13.17适用于双重和三重模式的ADC通用规则数据寄存器(ADC_CDR).28511.13.18ADC寄存器映射....28612数模转换器(DAC)288121DAC简介288122DAC主要特性88123DAG功能说明..,29012.3.1DAC通道使能29012.3.2DAG输出缓冲器使能290123.3DAC数据格式2901234DAG转换2911235DAC输出电压29212.36DAC触发选择.,.2921237DMA请求.29212.38生成噪声.,,29312.3.9生成三角波29412.4DAC双通道转换,,,294124.1独立触发(不产生波形)2951242独立触发(生成单个LFsR)...295124.3独立触发(生成不同LFsR)295124.4独立触发(生成单个三角波)295124.5独立触发(生成不同三角波)2961246同步软件启动29610/1284文档I018909第4版
    2020-12-08下载
    积分:1
  • 基于聚类(Kmeans)算法实现客户价值分析系统(电信运营商)
    基于聚类(Kmeans)算法实现客户价值分析系统(电信运营商)包含(custinfo.csv,custcall.csv以及输出的数据集result,还有图片)
    2020-12-12下载
    积分:1
  • Qt界面多线opencv调用摄像头
    本代码是在qt平台下opencv利用多线程调用摄像头进行实时的视频显示在gui界面上,利用的时QThread的方法,是本人用了一年时间在维护的代码,需要的可以前来下载。当然我这也有qt上位机部分的代码,有需要的可以在评论区留言,我后续会上传。
    2020-12-06下载
    积分:1
  • 衰落信道数字通信基础
    本书内容分为两部分,第一部分包括:准备知识,多径衰落信道模型,平衰落信道,频率选择性信道,多普勒衰落信道,衰落信道上的单信道接收机性能分析及衰落信道上多信道接收机(前半部分)。这一部分的对象是通信专业及相近专业的研究生,追求建立清晰的衰落信道的物理概念,熟悉分析衰落信道的方法,了解衰落信道与高斯信道的主要区别,以及对抗衰落的基本方法。第二部分包括:衰落信道上的多信道接收机(后半部分),衰落信道接收...
    2020-12-09下载
    积分:1
  • 基于win7(32位、64位)的snopt工具箱(包括使用说明)
    【实例简介】基于win7(32位、64位)的snopt工具箱,用于MATLAB解决非线性优化问题,下载附送snopt的使用说明
    2021-11-11 00:32:53下载
    积分:1
  • 基于Matlab的IR-UWB无线通信信道模型仿真
    超宽带通信技术是一种全新的短距离无线通信技术。它利用极窄脉冲传输数据,具有传输速率高、功耗低、抗多径能力强等许多优点,并且由于频谱的功率谱密度极小,它通常具有扩频通信的特点。该技术以其独有的特性正受到通信学术界和产业界乃至军方的重视,并将取得进一步的发展,获得日益广泛的应用。本文首先概括地介绍了超宽带无线通信的基础知识,重点研究TH-UWB信号特点及传播特性,对比超宽带信道模型与窄带无线信道的不同,在此基础上分析路径损耗模型和多径衰落模型对PPM-TH-UWB超宽带信号传输的影响。利用MATLAB仿真分析了PPM-TH-UWB和PAM-TH-UWB信号时域表达式及其功率谱密度(PSD),同时
    2020-12-10下载
    积分:1
  • m序列发生器 matlab
    本设计是用来产生m序列的。既有关于m序列的原理性概述,又有自己编的产生m序列的函数。已通过仿真。注释详尽。
    2020-12-09下载
    积分:1
  • 采用db4小波实现维信号的分解与重建(mallat):
    课堂作业,采用db4小波实现一维信号的分解与重建(mallat):
    2020-12-06下载
    积分:1
  • 基于C#的实验室设备管理系统
    采用vs2012开发的实验室设备管理系统,适合初学者学习
    2020-12-05下载
    积分:1
  • web静态网页
    基于静态的web网页下载之后即可使用主要是以nba为题材。有科比的介绍以及姚明的回顾还有前两年的强队介绍。还有一组很炫的画,是用flash工具以地球仪的形势做出来的。如果想教web的作业,这个完全可以帮你搞定
    2020-11-29下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载