分频器

8位数控分频器

 ̄綄美尐妖づ 提交于 2019-12-06 04:45:33
数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号实现不同的分频比,即可实现设置数的分频计数器。 程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dvf is port( clk:in std_logic; d:in std_logic_vector(7 downto 0); four:out std_logic ); end; architecture one of dvf is signal full:std_logic; begin p_reg:process(clk) variable cnt8:std_logic_vector(7 downto 0); begin if clk'event and clk='1' then if cnt8="11111111" then cnt8:=d; full<='1'; else cnt8:=cnt8+1; full<='0'; end if; end if; end process p_reg; p_div:process(full) variable cnt2:std_logic; begin if full'event and full='1' then cnt2:=not cnt2;

Verilog设计分频器(一)

匿名 (未验证) 提交于 2019-12-02 22:56:40
分频器,顾名思义,就是将一个波形,分成具有若干占空比的波。占空比是指在一个脉冲循环内,通电时间相对于总时间所占的比例。占空比(Duty Ratio)在电信领域中有如下含义:例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。在一段连续工作时间内脉冲占用的时间与总时间的比值。 在CVSD调制(continuously variable slope delta modulation)中,比特”1”的平均比例(未完成)。 引申义: 在周期型的现象中,某种现象发生后持续的时间与总时间的比。 例如,在俗语中有句话:「三天打渔,两天晒网」,是说五天里有两天在晒网,即周期为5天,”打渔”的占空比为5分之3。 在Verilog数字系统设计中,我们要深入理解输入与输出端口,以及模块化设计。下图为其模块: 可以看出,我们要得到分配后的时钟,为其输出端口。 例如,我们要设计一个三天打鱼两天晒网的分频器,可以设计Verilog代码如下: module div ( input clk,rst_n; output [ 4 : 0 ] Q; output clk_div;); always@(posedge clk or negedge rst_n) begin if (!rst_n) begin Q<= 0 ; clk_div<= 1 ; end else if (Q<= 4 ) begin /

学习分享STM32时钟系统小结

泪湿孤枕 提交于 2019-11-30 10:18:22
在 STM32 中,有五个时钟源,为 HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 、 HSI 是高速内部时钟, RC 振荡器,频率为 8MHz 。 ②、 HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz 。 ③、 LSI 是低速内部时钟, RC 振荡器,频率为 40kHz 。 ④、 LSE 是低速外部时钟,接频率为 32.768kHz 的石英晶体。 ⑤、 PLL 为锁相环倍频输出,其时钟输入源可选择为 HSI/2 、 HSE 或者 HSE/2 。倍频可选择为 2~16 倍,但是其输出频率最大不得超过 72MHz 。 其中 40kHz 的 LSI 供独立看门狗 IWDG 使用,另外它还可以被选择为实时时钟 RTC 的时钟源。另外, 实时时钟 RTC 的时钟源还可以选择 LSE ,或者是 HSE 的 128 分频。 RTC 的时钟源通过 RTCSEL[1:0] 来选择。 STM32 中有一个全速功能的 USB 模块,其串行接口引擎需要一个频率为 48MHz 的时钟源。该时钟源只能从 PLL 输出端获取,可以选择为 1.5 分频或者 1 分频,也就是,当需要使用 USB 模块时, PLL 必须使能,并且时钟频率配置为 48MHz 或 72MHz 。 另外, STM32 还可以选择一个时钟信号输出到 MCO 脚 (PA8)