自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Altium 22 去掉封装内部规则检查

4、电机1选择如图,2选择下拉如图、3选择对应封装。如图,去掉这个固定孔的内部clerance报错。6、再次DRC,如下图,报错去掉了。5、修改clearance。3、进入如下,去掉ALL。

2023-10-12 13:36:02 243

原创 Altium designer 22 整个PCB顶层底层对调(顶层变底层)

此时可以看到电路板顶层变为了底层,底层变为了顶层。1、选中整个电路板所有。

2022-12-29 10:18:13 4613 1

原创 STM32---BOOTLOADER

1、什么是BootloaderBootloader是硬件启动的引导程序,是运行操作系统的前提。在操作系统内核或用户应用程序运行之前运行的一段小代码。对硬件进行相应的初始化和设定,最终为操作系统准备好环境。2、Bootloader作用bootloader的作用一般是用作更新APP,和初始化后设定跳转到对应的APP。如果APP不加更新功能的话也可以直接将APP写入到0x08000000这个地址里。更新程序就是数据包的接收、校验、写入,全部写入完成后检查APP的启动向量为合格就可以跳转到APP里。

2021-11-30 17:02:36 3215 1

原创 STM32 RT-THREAD 4:使用env工具添加一个PWM

1、首先在已有工程文件夹空白处右键conemu here,打开env工具。之后输入命令menuconfig,打开如下界面。选择最下面的硬件驱动配置进入之后中间一项进入之后进入如下界面,Y键使能pwm,使能成功变星号之后继续点击进入如下界面也是Y键使能继续进入使能2、但是如果我们工程里边没有的,比如TIM1-CH1....

2021-09-26 15:28:19 805 1

原创 STM32+FPGA FSMC实验

本质是把FPG去操作A当做一个SRAM1、首先通过cube配置stm32原理图地址总线如下原理图数据总线如下:原理图其余部分

2021-08-10 16:59:42 5210 8

原创 C语言:枚举类型

在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天。枚举类型实际往往是为了增加程序可读性。例如CAN总线电机驱动程序,如下定义了三个电机地址:只给第一个赋值,枚举类型特点是后续每个加一,所以Y地址2,Z地址3.当然也可以在里边随意赋值。enum{ Emotor_X = 1, Emotor_Y, Emotor_Z }应用程序类似如下的:swi...

2021-07-20 10:46:51 270

原创 ALtium Designer: .prjscr .pas转换成封装库(从ADI公司下载封装)

1、使用ALtium Designer打开下载的文件如下:2、双击1文件,点击2的运行。如果没看到运行按钮,则view-----script debug,打开对应的工具栏3、弹出如下对话框,里边文件选择下载文件夹的.txt文件4、看到出现了原理图、PCB库,完成...

2021-06-28 14:28:09 4915 1

原创 NIOS II 17:错误No such file or directory的解决办法

在对应的makefile里边加入如下的

2021-06-23 12:09:53 715

原创 STM32 RT-THREAD 3:安装ENV工具安装,配置项目

安装1、https://www.rt-thread.org/document/site/#/development-tools/env/env 按照官网安装ENV工具和git。去RT-THREAD即可下载安装完成git可以使用cmd输入git,安装成功能看到如下2、https://www.rt-thread.org/page/download.html。下载源码。3、请完全参照https://www.rt-thread.org/document/site/#/development-tools/

2021-06-18 10:20:25 747

原创 NIOS II 16:Avalon MM Master学习总结

1、Avalon MM Master 通过学习我们知道NIOS II就是一个典型的Avalon MM Master. Master在Avalon MM总线上,可以对Slave进行读写操作。2、用户自定义Avalon MM Master外设 a: master read 包括单次模式和突发模式 b:master write 包括单次模式和突发模式3、master摸板有三部分组成 a: 时钟、复位 b: master总线读写逻辑 ...

2021-06-02 15:17:32 410

原创 NIOS II 15:AD7606共享SDRAM

1、首先登陆analog官网下载此文件下载此文档如下2、解压后一会这个文件复制到我们工程内3、把之前SDRAM工程复制一份,在ip文件夹内复制第2步里边的AD7606文件夹。4、打开qsys,左侧能看到如下,如果看不到。点击tools--options,里边加入路径就能看到了5、qsys加入ad7606IP核,连线。注意avalon master 一定要连接到sdram的S1,因为我们AD数据要存在sdram内6、生成。之后修改verilog顶层...

2021-06-02 12:07:11 496 1

原创 NIOS II 14:avalon mm master 共享sdram存储器

1、前边那我们写的程序NIOS II的cpu内存使用的是SDRAM。但是当我们其他外设例如ADC也想使用SDRAM时,就涉及到共享SDRAM。这时候我们需要使用avalon mm master。我们可以理解成master和nios II 是一样的,都可以对sdram、甚至串口、ADC等进行读写。去官网搜索avalon mm master。找到如下的下载此2、里边有个文档,里边给出了master读写的框架。文档里也详细描述了每个信号作用。3、里边还给出了verilog代..

2021-06-02 11:34:23 1040

原创 NIOS II 13 :地址对齐

1、在上一次自定义IP时候我们使用了IOWR_16DIRECT这个函数,然后我们verilog 中分别对应16位的地址用红色标出了,这样写很麻烦,每次还要想着。2、所以我们也想使用像下面PIO里边直接使用IOWR这个函数3、使用这个函数需要在我们生成的ip核的tcl文件中添加如下一句话,之后在qsys中,重新生成4、重新生成以后,全编译,下载。这时候在elipse中我们可以看到如下变化。16变成了325、这时候程序修改如下6、下载程序,成功7、当然在我们在tc

2021-05-29 15:18:28 328

原创 NIOS II 12:自定义IP总结

一、自定义IP核顶层avalon总线接口程序包含内容1、接口 a,:全局 接口:时钟、复位:clk,reset_n b:avalon mm slave接口: 地址 as_adress 片选:as_chipselect/as_chipselect_n ...

2021-05-29 13:32:14 685

原创 NIOS II 11:自定义IP,自定义IP调用

1、以创建ADC128S022为例。当然这个可以直接使用SPI的IP核。ADC128s022里边程序对外主要包含开始转换信号、转换完成信号,数据等2、通过前期学习我们知道一个IP要有自己的基地址,里边有很多可控的寄存器本质上都是有地址的。所以有个信号adress 另外需要一个片选信号,来使能当前IP核:select 时钟信号:CLKxie 复位信号:RST_N写使能信号:WRITE——N写入数据:WDATA中断请求信号:irq读数据端口:...

2021-05-26 11:29:22 1186

原创 STM32 CUBEMX IIC (AT24CM01)

1、CUBE下的IIC配置如下2、使用freertos建立任务如下3、经过仿真独写正确。但是貌似不能跨页读写

2021-05-20 15:15:17 629

原创 NIOS II 10:操作系统多任务,看门狗

在NIOS II 9基础上修改,关于elipse工程每次最好新建,否则莫名其妙的一些错误,还不如新建工程把代码拷进来快。在更改了硬件部分时,来到elipse一定要重新生成bsp,如果报错,可以clean再生成bsp任务控制8个LED闪烁。1、控制LED闪烁,就要加入#include "altera_avalon_pio_regs.h"头文件。由于我定义的PIO是双向的,所以要首先给出方向。定义方向首先加入#include "system.h"头文件 IOWR_ALTERA_AVALON.

2021-05-08 16:37:09 463

原创 NIOS II 8:SDRAM(W9825G6KH-6),从这里开始使用软件版本改为18.

1、新建工程,打开qsys,加入如下的部分2、生成如下3、写verilog顶层文件如下加入sys文件到工程4、编译之后打开elipse。新建工程5、

2021-05-07 12:14:06 2609 1

原创 altium designer 18 PCB拼板:V型切割和邮票孔方式

在绘制完成PCB以后。1、点击file-new-pcb,保存在随便一个文件夹内,名字随意2、新的pcb中,place embedded board array/panelize。此时按下tab键。1是被拼板的pcb原文件,请按照自己路径添加。2是横向纵向各几块,图中拼完20块板子3、4是每块板子之间间距3、点击放置,放置好以后...

2021-02-18 14:13:11 14374

原创 NIOS II 9:操作系统、定时器

1、Qsys内加入操作系统定时器2、加入一个通用定时器3、加一个看门狗,根据手册4、添加看门狗用的reset 控制器5、连线如下6、新建一个7、

2021-02-08 15:11:54 318

原创 NIOS II 7:中断方式串口接收、发送。时序约束添加

quartus里边和NIOS II 6里边一摸一样1、使能接收中断 IOWR_ALTERA_AVALON_UART_CONTROL(UART_0_BASE,0x0080); //使能接收中断2、中断定义如下 char *p; alt_ic_isr_register (UART_0_IRQ_INTERRUPT_CONTROLLER_ID, //ID ...

2021-02-07 17:09:43 1516

原创 NIOS II 6:查询方式串口接收

在NIOS II 5的基础上修改1、quartus程序如下module NIOS_UART(CLK_50M,RST_N,LEDOUT,KEY,uart_0_txd,uart_0_rxd);input CLK_50M;input RST_N;inout LEDOUT;reg [3:0] LEDOUT;inout [3:0] KEY ;i...

2021-02-07 16:23:36 611

原创 NIOS II 5:查询方式实现串口发送

继续使用nios II 4里边的例子改一下nios部分1、如果要使用自己的串口驱动,查询的方式。切记要关闭系统的串口驱动,否则可能出现不能收发的情况2、添加串口头文件。还要使用基地址,要讲system.h头文件也添加进来。3、快速找到UART0 base,看手册找到怎么关闭中断 IOWR_ALTERA_AVALON_UART_CONTROL(UART_0_BASE,0x0000); //关闭所有中断4、清状态寄存器IOWR_ALTER...

2021-02-05 15:46:46 865 1

原创 NIOS II 4:串口UART hello world。串口寄存器学习

1、新建一个工程叫做NIOS_UART 建立一个Qsys工程,基本配置如下2、添加UART3、UART连线,assign base adress,之后生成4、定义quartus文件如下module NIOS_UART(CLK_50M,RST_N,LEDOUT,KEY,uart_0_txd,uart_0_rxd);input CLK_50M;input RST_N;ino...

2021-02-05 12:01:17 923 1

原创 NIOS II 3:按键中断KEY

在NIOS II 2的博客中工程基础上更改。上次已经注明了关于Qsys中中断怎么设置,此次只是记录eclipse中如何修改程序。1、quartus工程,PIO高四位是按键2、Qsys中配置3、eclipse中修改#include "alt_irq.h" 程序加入这个中断头文件首先打开中断,我们的KEY是高四位,所以下面语句IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE,0xf0);...

2021-01-28 17:21:31 885

原创 NIOS II 2:控制多个LED(8个)(使用双向便于理解寄存器)----KEY按键,按键使用查询和边沿捕获实现

里边主要讲了大概过程,详细过程请看NIOS点亮LED博客这里主要记录多位PIO怎么控制1、建立quartus工程,LED82、打开Qsys。选择如下,在NIOS控制LED博客中详细记录了这几个怎么选择3、PIO做如下选择,位宽8.使能单个的位控制,这样可以分别控制每个LED注意:Bidir和inout有个明显区别。使用Bidir有一个端口。使用inou有两个端口所以如果信号外接到FPGA引脚一定要选Bidir型,如果内部使用可以inout之后连线,generate...

2021-01-28 11:38:24 1110

原创 STM32 RT-THREAD 2:使用CUBE建立RT-THREAD操作系统的闪灯工程

CUBE如何安装RT-Thread网上有很多,不再写了。1、打开CUBE,FILE-new project,选择自己的芯片信号即可2、点击 software packs--select components进入如下界面,操作如下3、进行自己需要的常规配置4、配置LED5、这三个勾去掉,因为RT-THREAD已经帮我们配置了,否则会重复报错6、加入操作系统7、配置时钟8、输出生成我们的keil ...

2021-01-21 14:34:04 270

原创 eclipse如何加载已有的NIOS II工程. 以及老工程移植后问题

1、file-import2、弹出如下界面,点击1,选择工程文件夹,之后project处能自动出现功能文件。勾选,点击finish完成3、右键工程,点击build project4、回到quartus,下载sof文件到FPGA5、回到nios II run-run configureration打开界面,电机nios II hardware打开如下界面选target connection 如果2没有,点击3直到2出现如下此时点击1处能看到ID...

2021-01-19 17:12:58 1966 1

原创 NIOS II 1:点亮LED---NIOS程序固化

1、基本构成2、第一步创建一个普通工程取名LEDTEST3、tools--Qsys,或者下图快捷键会进入如下界面,双击修改时钟频率为自己的实际频率4、加入nios II软核5、给软核添加ROM6、给软核添加RAM7、给系统添加ID,如果使用多个系统用来区分用8、添加IO口9、设置nios,选定RAM、ROM。之后system--assign base adress10、连线...

2021-01-12 11:49:51 1067 7

原创 libero soc 11.9 UART IP核测试

1、创建IP核,使能TX FIFO。使能FIFO使得发送的数据可以一次性都传给TX,TX慢慢发送。后面会有仿真波形说明。2、发送测试程序我使用的16M时钟。想要测试波特率100K。则16000000/(16*1000000)-1=9;所以BAUD_VAL=9;测试程序如下。module TESTUART(CLK_16M,RST_N,TX,RX,DATA_OUT,WEN,OEN);input CLK_16M;input RST_N;output

2020-11-23 12:31:22 1569 1

原创 libero soc 11.9 modelsim仿真

只是记录一个仿真过程首先建立一个工程,简单的分频程序点击图片处新建一个testbench定义testbench名字随意。由于用的16M时钟,所以62.5ns。ok

2020-11-20 12:30:05 2628 2

原创 Altium Designer 18生成光绘(GERBER)文件

1、生成转孔文件file–frabrication outputs–NC drill files,默认设置点击ok。2、生成geber文件file–frabrication outputs–gerber files【绘制层】–【选择使用的】,【镜像层】–【全部去掉】,选择机械层两处打钩光圈默认画圈处各加一个0,点击ok完成...

2020-10-30 15:44:18 1899

原创 modelsim 仿真过程

以一个计数程序为例,记 fluorescentG1,fluorescentG2,fluorescentG3在70ms的计数值 , 这三个数的计数值。testbench如下:`timescale 1ns/1psmodule FluorescentAC_Test;reg clk_16M;reg rst_n;reg go;reg fluorescentG1;reg fluorescentG2;reg fluorescentG3;wire[15:0] G1CNT;wire[15:0] G2

2020-10-14 12:02:11 313

原创 STM32H743使用keil下载程序,报错 Error:Flash Download failed - “Cortex-M7”

无论使用stlink还是jlink都报这个错。去官网下载了最新的keil,H7的固件库,如下图。安装之后就可以了

2020-07-06 15:50:52 9130 2

原创 AD18快捷键

测距:CTRL+M放大镜:SHIFT+M查找元件:J+C修改覆铜:E+M+GPCB最大显示:V+F找坐标原点:CTRL+END切换信号层:*或+ -隐藏覆铜:CTRL+D单层显示:SHIFT+S退出高亮:SHIFT+C选择高亮:SHIFT+鼠标选择改变走线形式:SHIFT+空格查找坐标:J+L3D和2D显示:数字键3和23D翻转:SHIFT+鼠标右键拖动两面翻转:V+B隐藏坐标信息:SHIFT+H...

2020-06-19 13:08:58 1518

原创 迪文屏程序制作。通讯

1、基本触控。点击之后不会给单片机返回串口数据。但是可以根据需要进行页面切换2、按键值返回。点击之后会给单片机返回串口数据,也可以进行页面切换注意数据自动上传要勾选,否则不会给单片机发串口数据。如果我们做了这样一个按键。此处以按返回变量地址0000,键值0021为例:5A A5 06 83 00 00 01 00 025A A5 表示:帧头06 ...

2020-04-15 15:53:18 3749

原创 ALtium 16相同重复模块PCB布局,复制布局走线

1、原理图可以使用层次化设计,设计如下图,随便画的实验的文件名CANM2、顶层文件如下,调用三次CANM模块,分别叫做A,B,C工程如下:3、导入PCB如下图,得到三个模块,三个ROOM如下4、我们首先给A模块布局,走线如下,实验效果!5、点击菜单design-rooms-copy room format。之后点击一下布局好的A模块,再点击B模块,弹出如下的对话框,可勾选自己想...

2020-03-20 10:08:19 16995 4

原创 quartus II :FIFO-modelsim、signalnap仿真

1、端口2、例如我们定义了32个字节的fifo,则在最开始的时候empty为高,写入一个数据以后就变低了。当写完32个数据以后,full变高。读取一个字节以后,full再次变低。usedw标志fifo中还有多少个数据3、写时序-modelsim4、读时序-modelsim5、signalnapII仿真...

2020-01-17 16:40:29 344

原创 quartus II :RAM IP核

1、写时序

2020-01-17 16:38:49 4658 6

原创 quartus II :DDR2使用-接口芯片MT47H64M16HR

tools-,-interfaces-external mermory-DDR2,写入内核名字。

2020-01-17 16:37:51 1289

空空如也

空空如也

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

TA关注的人

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