- 博客(70)
- 收藏
- 关注
原创 hell world实验
的各种可配置块,其中灰色部分是固定的,绿色部分是可配置的,按工程实际需求配置。可以直接单击各种可配置块(以绿色突出显示)进入相应的配置页面进行配置,也可以选择左侧的页导航面板进行系统配置。用于设置生成过程中要使用的处理器的线程数,进行多线程处理,保持默认或设置为个人电脑处理器最大可使用线程数都可以,一般选择最大可使用线程数的一般。实际上这两个函数在该工程中并没有启动任何作用,因为这两个函数是针对于特定平台如Microblaze 的,对于我们使用的。这是创建工程的最后一步,显示工程摘要信息,如。
2025-01-15 17:04:44
949
原创 FPGA实战篇(UART通信实验)
另外还应该有一个对数据进行环回控制的模块,它负责把从串口接收模块接收到的数据送给串口发送模块,以实现串口数据的环回。其中,起始位标志着一帧数据的开始,停止位标志着一帧数据的结束,数据位是一帧数据中的有效数据。个停止位拉低,是为了确保发送模块发送数据的时间略小于接收模块接收数据的时间,否则当连续传输大量数据时,发送数据的时间会不断累积,最终导致在做串口环回实验时丢失数据。尽管串口发送数据只是接收数据的反过程,理论上在传输的时间上是一致的,考虑到我们模块里计算波特率会有较小的偏差,并且串口对端的通信设备(
2024-12-29 20:43:39
996
原创 FPGA实战篇(fifo实验)
这里我们使用“即将写满”和“即将读空”这两个信号,所以我们把它们勾选上,其他保持默认即可,如下图所示。读模块的代码结构与写模块几乎一样,也是使用一个不断进行状态循环的小的状态机来控制操作过程,读者参考着代码应该很容易能够理解,这里就不再赘述。的区别是没有外部读写地址线,采取顺序写入数据,顺序读出数据的方式, 使用起来简单方便,由此带来的缺点就是不能像 RAM。FIFO 时,写端口和读端口分别有独立的时钟,所有与写相关的信号都是同步于写时钟 wr_clk。”一样的位宽,这也是在实际应用中最常用的情况。
2024-12-16 22:27:54
1477
原创 STM32关键字
1.volatile的作用:直接从内存中读取该变量,防止编译器优化。编译器默认用的是3,会优化,如果不想用该关键字,可以该为1,编译器就不会优化。2.何时使用该关键字
2024-12-16 21:21:20
182
原创 STM32调试技巧和嘀嗒定时器
1.在debug时,可以通过以下按钮观察内核的寄存器信息。2.内核架构3.嘀嗒定时器架构。时钟类型可选,中断也可选。
2024-12-15 21:51:26
289
原创 GD32中断
1.什么是中断:打断现在正在做的事,去执行其他事。2.ARM异常中断结构 3.中断向量编号。中断向量是 进行了映射的,直接映射到 flash中的地址。 4.中断执行结构。向量里面保存的是执行函数的地址。(具体可在编译完后的map文件中查看) 5.EXTI硬件结构 5.中断优先级 。(抢占优先级相同不抢占)
2024-12-10 21:42:53
206
原创 STM32F10X与GD32工程创建区别
1.宏定义区别 GD32虽然与STM32F10X的管脚兼容,但是用keil创建工程时,GD32在选择芯片型号的时候就已经自己定义了宏。STM32F10x需要手动定义宏。在以下界面定义用到的单片机。2.时钟区别。GD32最大时钟为120Mhz,所用的hal库里面的系统初始化会初始化时钟。STM32F10x最大时钟为72MHz,系统初始化没有初始化时钟,用的内部默认的低速时钟,需要手动初始化时钟。
2024-12-08 20:32:07
197
原创 FPGA实战篇(IP核之RAM实验)
即随机存取存储器,它可以随时把数据写入任一指定地址 的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的。ILA 的探针端口上来进行观察,除此之外数据输出总线没有别的负载,不会带来难以满足的时序路径,因此这里取消勾选。是一种只读存储器,也就是说,在正常工作时只能读出数据,而不能写入数据。是一种随机存取存储器,不仅仅可以存储数据,同时支持对存储的数据进行修改;”,其综合过程独立于顶层设计的综合,所以在我们可以看到其正在综合,如下图所示。,和我们写入的值是相等的。
2024-12-08 13:38:17
2326
原创 基于HAL库点亮灯(架构)
3.代码的创建,需要引入哪些文件。在ARM处添加ARM内核启动文件;Hal库处添加点灯需要的驱动函数(可调用HAL库提供的函数)。第一个头文件用于uint32_t的变量声明;第二个是用于HAL库的头文件。1.嵌入式软件通用架构。
2024-12-07 13:44:02
228
原创 GPIO输入
1.模拟输入:通过ADC转换为数字信号。2.上拉输入。3.下拉输入:阻值一般非常大,分压很小。4.浮空输入:串口一般采用这种方式。(为了保持稳定,外部最好加一个上拉电阻)。5.外部电压大于0.7Vdd,为1.小于0.3Vdd.为0;(参考官方文档)6.32位单片机,默认变量就是32位。7.GPIO输出速度:高低电平翻转的频率。(可参考官方文档,tr和tf的描述)
2024-12-06 22:41:41
132
原创 寄存器点灯
1.keil创建工程。(不再概述)2.需要添加启动文件。所以添加库文件中的第二个。3.启动顺序。上电后先初始化堆栈指针,再运行该汇编,最后跳入main函数,系统初始化是初始化时钟的,暂时不需要,屏蔽。4.根据寄存器手册书写代码
2024-12-06 22:24:09
262
原创 FPGA实战篇(IP核之MMCM/PLL实验)
锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相 位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。已经对参数进行了最优的配置,在绝大多数情况下都不需要用户对它们进行更改,也不建议更改,所以这一步保持默认即可,如下图所示。中进行仿真以验证结果,最后生成比特流文件并将下载到开发板上,使用示波器来测量时钟的频率。”,其综合过程独立于顶层设计的综合,所以在我们可以看到其正在综合,如下图所示。,产生不同频率和不同相位的时钟信号,然后驱动全局时钟资源。
2024-12-06 20:50:03
1582
原创 交流和直流电简介
2.交流电:大小和方向都变化的电流,可用于远距离的传输。峰值用于计算设备的耐受性,有效值用于计算设备的功率。1.直流电:稳定,大小方向不变,用于各种精密仪器,比如手机充电器和芯片供电。
2024-12-06 20:31:49
178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人