自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 小梅哥18——线性序列机设计SPI接口DAC驱动

DIN数字串行数据输入脚,上升沿时FPGA驱动DIN变化(数据输送到DIN),确保DAC在SCLK下降沿采样稳定,CS_N拉低后传输16位数据。数据写入完成后(DAC下降沿采样完成),寄存器在下个上升沿更新,第16个数据后必须有上升沿,确保DAC将内部接收的16位数据输出到缓冲器。双通道即有两个锁存器Latch,通过3线制的SPI接口传过来的串行数据,转为并行锁存在Latch,输出连接到数模转换单元,转换成模拟电压再经过2倍缓冲器放大输出。DAC输出电压与参考电压、芯片位数(12位)、传输码关系。

2023-11-14 23:27:37 219 1

原创 小梅哥17——基于SPI接口的ADC芯片功能和接口时序分析

手册中同时指出,模拟输入电压低于 VA/8192 时,输出 0000_0000_0000b,当输出数 0000_0000_0000b 变为 0000_0000_0001b 时,实际输入电压变化为 VA/8192 而不是 VA/4096。双积分型 ADC,先对输入采样电压和基准电压进行两次积分,获得与采样电压平均值成正比的时间间隔,同时用计数器对标准时钟脉冲计数。②逐次逼近型 ADC,逐个产生系列比较电压,逐次与输入电压分别比较,以逐渐逼近的方式进行模数转换,属于中速 ADC 器件。缺点是成本高、功耗大。

2023-11-10 22:10:45 1331 2

原创 小梅哥16——PLL锁相环介绍与应用

使用 PLL 分别生成25M、75M、100M 的时钟,使用生成的三个时钟以及输入时钟分别驱动一个 LED 闪烁模块,控制 LED 的亮灭。通过观察四个LED 灯在完全相同的驱动模块的驱动下,不 同驱动时钟对其闪烁速度的影响,从而验证锁相环对时钟的倍频和分频处理的正确性。采用仿真测试文件中的参数,LED翻转频率加快,c0为25MHz(40ns),对c0计数25次(1000ns)LED0翻转,则LED0周期为2000ns,测量为500KHz(2000ns)。pll输入时钟clk0对应晶振,50M。

2023-11-01 12:30:47 168 1

原创 小梅哥15——嵌入式块RAM应用之FIFO

由于传感器的单次读取数据可能很快,但并不是时刻都需要采集数据,例如某传感器使用SPI接口的协议,FPGA 以2M的SPI数据速率从该传感器中读取20个数据,然后以9600 的波特率通过串口发送出去。由于【传感器数据的读取和串口数据的发送都是可以同步于同一个时钟,都可以由系统时钟分频得到】,因此可以使用单时钟结构的FIFO来实现此功能。假如 CLK1的频率为20M,ADC的数据位宽为16位,则可以使用混合宽度的双时钟 FIFO,在实现异步时钟域数据收发的同时,实现数据位宽的转换。q[7:0] 数据读取端口。

2023-10-31 21:22:10 242 1

原创 小梅哥14——嵌入式块RAM应用之ROM

2. 使用 QuartusPrime 软件中提 供的 In-System Memory Content Editor 工具在线更改 ROM 中的数据(将数据更改为正弦波形表),ROM由RAM配置,实质上是RAM,表现形式为ROM,因此数据可以更改。1. 将一组固定的数据(三角波形表)存储在 FPGA 中使用块RAM配置的ROM IP核中, 开发板上电后,系统开始从 ROM 中读出数据,并将数据直接通过并口输出。④保存在工程目录下,更改样本深度,可以改变存储器占用位数,十个周期2550,选4k。

2023-10-30 21:03:19 106 2

原创 小梅哥13.2——串口收发与存取双口RAM系统

串口接收PC机发送的数据(每次一个字节,1Byte,8bit)到FPGA,FPGA接收数据后将数据存储在双口RAM的一段连续空间中(地址0地址1...),通过In-System Memory Cotent Editor内存查看工具,查看对应地址RAM中存储的数据。按下按键0,FPGA将RAM中存储的数据读出来,通过串口发送回PC机,与RAM中数据进行比对。当 按键按下后启动一次发送,然后判断上一字节是否发送结束,是则进行下一字节发送否则不 进行下一次发送。

2023-10-30 15:46:03 223 1

原创 小梅哥13.1——嵌入式块配置双口RAM的时序测试

左上为结构图,data为写入端口,wraddress为写入地址,wren写请求(高电平有效,高电平将数据写到指定地址),rdaddress为读端口。后仿真:读地址0被时钟上升沿检测到后,下个上升沿不立即输出,延迟一段时间稳定后输出(在读地址被检测到后,再间隔两拍的时钟上升沿取用数据才是稳定的)读地址0被时钟上升沿检测到后,255在下一个上升沿输出(寄存器延迟一拍,总共间隔两拍)读写同时的时候,don't care:可能读到上一个数据,可能读到正写入的数据。前仿真:wren为1,写地址0上输入数据255。

2023-10-29 21:19:00 150 1

原创 小梅哥12——串口接收模块设计与验证

bps_clk为高电平时,bps_cnt才计数,在bps_cnt为指定值且bps_clk为高电平(已经是下一个)时才采样,则会滞后一个周期,即在bps_cnt为6时采样得到的是7对应的电平,因此可以将6改为5,得到6对应的电平,Rs232_tx是外部输入信号,是异步信号,对其采样可能采集到不定态,D触发器会发生振荡,振荡后在下一个时钟信号到来前稳定下来,其稳定结果不确定,因此经过两级寄存器同步处理(与系统时钟变化一致)。将中间6次结果加起来(3位),>3(最高位为1)为1,

2023-10-19 22:34:23 574

原创 小梅哥11——UART串口发送模块设计

使用ISSP输入需要通过串口发送的数据,按下按键(复用按键消抖模块),FPGA将数据发送出去串行通信协议tx是输出,不能直连,rx是输入,在管脚分配时tx连接rx的管脚因为是串行数据:PC发送速率=FPGA接收速率,波特率是主从端约定的通信速率,每位数据变换(长度)固定,则需保证Clk信号稳定,间隔为波特率,常用9600bps,即频率为9600HzUART发送一个字节时序图:起始位+八位数据(高低电平均可)+停止位2个2选1多路器——考虑优先级。

2023-10-17 21:08:24 544

原创 小梅哥10——基于HC595的数码管动态扫描实现

八个led(1:灭,0:亮)组成的显示器件,其等效电路为:数码管分为共阴极和共阳极。此为共阳极,led亮需要:阳极——sel为高电平(位选),阴极为低电平(段选)

2023-10-13 10:28:26 607

原创 小梅哥09——按键消抖模块设计与亚稳态问题

en_cnt为1时cnt开始计数,为0则cnt计数清零,通过控制en_cnt来实现计数,计数满时en_cnt为0。

2023-09-21 19:16:59 263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除