自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微核实控的博客

技术与心得

  • 博客(31)
  • 收藏
  • 关注

原创 直流电机的系统辨识——LZW

在两种系统辨识方法中,从模型验证来说,Nonlinear ARX模型输出与实际输出吻合率高达91%。由阶跃响应来说,由Nonlinear ARX模型算出的控制器控制电机阶跃响应震荡最小。综合来说,Nonlinear ARX对该电机系统辨识效果最好。

2023-07-30 15:32:15 360

原创 基于stm32单片机的直流电机速度控制——LZW

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2023-07-30 15:30:01 983

原创 基于FPGA的VGG16卷积神经网络加速器--WL

基于FPGA的VGG16卷积神经网络加速器VGG16是一个典型的卷积神经网络,由13层卷积层,5层池化层和3层全连接层组成。且卷积层的计算时间在整个计算过程中占比极大,通过FPGA的并行运算可以有效的加快卷积层的计算速度一个卷积层可以有若干个卷积核,以第一层为例,该层对应的卷积核为64个3×3×3的卷积核,3×3是卷积核的尺寸,相当于将1个卷积核也按照RGB 分成3份(卷积核的通道数=输入图片的通道数),对其进行卷积也就是乘加运算。卷积层输出一点的计算:每一个3×3卷积核的通道与图片中的一块3×

2023-07-30 15:28:44 777

原创 基于ARM和FPGA的数字示波器设计——QMJ

  本设计是一个4通道便携式数字示波器,采用DE1-SOC双核心开发板进行设计。示波器的数模转换器采用LCT2308芯片实现。整个系统的设计由两部分完成,一是完成FPGA硬件电路的设计;二是使用ARM设计系统的软件功能。  本便携式数字示波器具有体积小、重量轻及低功耗的优点。使用的工具包括:Quertus II 18.0,Modelism,逻辑分析仪,嵌入式linux -SD系统启动卡。  目前实现的功能,可以调整波形信号在显示器中进行上下平移,时间轴缩放及纵轴缩放。 ...

2022-07-13 16:02:07 3423 2

原创 步进电机的加减速控制---QYC

步进电机一般由前后端盖、轴承、中心轴、转子铁芯、定子铁芯、定子组件、波纹垫圈、螺钉等部分组成,与直流电机不同的是,步进电机内部有很多线圈在定子上用来产生磁场,中间是一个永磁体,会随着外部线圈磁场的不断变化持续转动。为了避免步进电机速度突变出现的抖动问题,我们主要讲解梯形加减速和S型加减速两种方案去消除抖动。...

2022-07-12 14:24:07 4609

原创 基于SD卡的Cyclone V SoC裸机/linux启动流程—WL

基于SD卡的Cyclone V SoC裸机/linux启动流程一、裸机启动流程1.准备工具硬件工具:DE1-SoC板、microSD卡和microSD卡USB适配器、linux PC软件工具:Altera软件(Quartus和SoC EDS)、串口(putty/minicom)2.sd卡分区情况sdcard/├── a2└── preloader-mkpimage.bin└── fat32└── baremetal-mkimage.bin(裸机程序)3. 基于SD卡的Cyclone

2022-06-10 15:59:28 1042

原创 旋转倒立摆的起摆与稳摆---QYC

**基于STM32控制的旋转倒立摆**文章目录基于STM32控制的旋转倒立摆前言一、旋转倒立摆的结构1.相对编码器与绝对编码器2.相对编码器与绝对编码器的信号采集3.STM32编码器模式4.使用STM32CubeMx配置过程二、倒立摆模型建立三、实验方案与实验现象1.整体方案2.实验现象与上位机数据反思与总结前言近期在学习简易旋转倒立摆装置,倒立摆其实是一个十分经典的自动控制模型,不过开始学习了解结构和原理还是花了很多时间,在思路以及调试过程中遇到了很多困难。我认为倒立摆有两个难点,一个是自动

2022-05-27 16:15:30 9530 6

原创 基于FPGA设计的kalman滤波器——QMJ

基于Verilog设计的kalman滤波器本设计将通过matlab和verilog分别编写的kalman程序,对同一组数据进行处理,将数据处理效果对比,分析verilog的kalman滤波效果。一、仿真软件本文kalman滤波仿真使用的软件包括:Quartus II,ModelSim,Matlab。Quartus II仿真设备选择5CSEMA5F31C6。二、Kalman滤波介绍1,Kalman滤波用途:用于机器人导航,控制,传感器数据融合以及军事方面的雷达系统、导弹追踪等等。近年来多应用于计

2022-02-22 17:00:32 4110 12

原创 基于Faddeev算法的卡尔曼滤波FPGA实现——QMJ

一、设计目的(1) 使kalman滤波程序中数据计算流程模块化,结构清晰。(2) 使verilog程序可以完成矩阵之间加、减、乘和求逆运算。(3) 运用求解矩阵舒尔补方法设计Faddeev算法。二、设计思路及算法原理  运用Faddeev算法搭建出流水线脉动阵列(PSA),该阵列通过高斯消元方式求解出矩阵的舒尔补。  Faddeev算法是将四个输入矩阵A、B、C和D组合成一个新的矩阵M,然后对矩阵进行高斯消元法进行矩阵求解。其中A为非奇异矩阵,设矩阵M为  Faddeev算法是通过对矩阵M进

2022-02-22 16:59:21 1067 6

原创 卷积神经网络的FPGA硬件加速——QMJ

一、本次实验目的:1)学习卷积神经网络;2)FPGA中实现卷积运算。二、脉动阵列结构设计   PE(处理单元)的内部结构设计如图1所示,PE完成乘加运算得到的结果保存于寄存器中,其中IN和W表示1个字节(8bit)的输入和权重数据传递到PE。 图1 PE结构  图2中,W、IN和OUT表示阵列的输入和输出,脉动阵列一行4个PE单元组成一组。  脉动阵列PE得到的结果传递到out1,out2,out3的步骤:  第一步:PE单元完成4次乘加运算;  第二步:将一组PE得到的结果,从左到

2022-02-22 16:57:17 2440 1

原创 文件operations

在RTDM中rtdm_openstatic inline int rtdm_open(const char *path, int oflag, ...){ return __rtdm_dev_open(path, oflag);}__rtdm_dev_open()int __rtdm_dev_open(const char *path, int oflag){ struct r...

2022-02-22 16:55:00 126

原创 RTCAN 驱动模块到RTDM 中

A .rtCAN 驱动模块到RTDM 中int __init rtcan_init(void){ int err = 0; if (!realtime_core_enabled()) return 0; printk("RT-Socket-CAN %d.%d.%d - %s\n", RTCAN_MAJOR_VER, RTCAN_MINOR_VER,...

2022-02-22 16:53:53 567 1

原创 xenomai 应用开发 8:测量抖动和延迟 --WT

一、测量抖动与延时在实时编程中,人们通常必须保证一定的最后期限总是能够满足。因此,时间的可预测性至关重要。我们通过测量调度抖动和中断延迟来研究可预测性的几个方面。该实验获得时间测量的经验并通过测量调度抖动和中断延迟来研究Xenomai的可预测性和定时特性。中断延迟(Interrupt latency: ):中断发生到中断处理程序开始之间的时间。调度器延迟(Scheduler latency...

2022-02-22 16:42:55 1666

原创 xenomai 应用开发 7:中断服务程序 --WT

一、中断中断处理在实时操作系统中非常重要,因为通过中断机制,系统可以感知外部事件。系统对中断的响应速度是许多实时系统的一个重要特性。与Xenomai的GPIO管脚实时交互需要一个实时设备驱动程序。设备驱动对于添加到计算机中的每一个新硬件,计算机都需要一个所谓的硬件驱动程序来与之交互。对于linux,硬件驱动程序是使用内核模块实现的。这样的硬件驱动程序可以通过所谓的设备文件访问用户空间。用户...

2022-02-22 16:40:25 1456

原创 DE1-SoC HPS CAN中断方式通信调试过程--WL

DE1-SoC HPS CAN中断方式通信调试过程实验目的:裸机实现Altera Cyclone V SoPC HPS集成CAN总线控制器中断方式数据收发。实验环境:硬件:DE1-SoC开发板,软件:Quartus II 15.0和DS-5 18.1,Preloader,HPS裸机驱动库(18.1)。实验流程:1.硬件设计2.软件设计a. Preloader部分b. HPS引导流程c. CAN裸机中断收发程序流程1. 主程序框架2. 关键硬件资源的初始化3. 中断收发服务函数

2022-02-22 16:35:34 912

原创 最小二乘系统辨识--WT

一、模型辨识模型辨识就是在输入输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。模型辨识有三个要素——数据、模型和准则,辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。文章参考《A matlab-based identification procedure applied to a two-degrees-offreedom robot manipulator for engineering students》。二、模型辨识流程1、激励轨迹为了辨识系统的动力

2021-08-28 09:27:16 1768

原创 嵌入式主板上更新xenomai +can通信测试--WT

通常出于某些需求我们需要更新安装的xenomai:就遇到的几个问题进行总结:在给Linux内核打上补丁构建出xenomai内核后,另外需要xenomai提供的一些实用程序与库,编译安装xenomai2.6.5后系统正常运行,且实时xenomai运行正常.但是现在需要xenomai为xenomai3.0.5,就需要更新库以提供使用。更新xenomai必然更新对应的打补丁的Linux内核,在打补丁的内核中配置好xenomai后,将其替换到主机中,且运行正常。1、编译选项这里遇到一个问题,我用的是xen

2020-05-30 18:45:20 2671 6

原创 Linux +xenomai 下 CAN 卡中断通信 --WT

xenomai下can卡中断通信本文基于 linux-4.9.38+Xenomai 3.0.5 的实时系统加载用的是xenomai下can模块 以及pci总线驱动rtcan_adv_pci,以及rtcan_sja1000的can控制器驱动。一、中断申请中断处理程序不是编译内核时就完全确定的,因此要为开发者留下了编程接口。int rtdm_irq_request(rtdm_irq_t *...

2020-04-21 21:27:55 2423 3

原创 Linux +xenomai 下sendto()系统调用过程 --WT

A : rtdm_sendto()方法应用程序 rtdm_sendto()传入套接字生成的文件描述符将应用程序中的发送buffer内容复制到内核发送buffer中,继而进行驱动欧发送:rtdm_sendto()->rtdm_sendmsg()->rtdm_fd_sendmsg()->rtcan_raw_sendmsg()->rtcan_sja_start_xmit()...

2020-04-18 18:39:56 1274

原创 Linux 下设备 中断号进行共享 --WT

Linux 下 中断号共享在 Linux中可以实现一个中断号来驱动两套的驱动程序.int request_irq(unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)irq:中断号,可以通过cat...

2020-04-15 11:03:49 609

原创 xenomai 应用开发 6:优先级反转 --WT

一、优先级反转优先级反转发生在高优先级任务被迫无限期等待低优先级任务完成的情况下。例如,假设prioHigh、prioMedium和prioLow分别是高优先级、中等优先级和低优先级的任务。prioLow通过获取其关联的二进制信号量来获取资源。当prioHigh抢占prioLow并通过获取相同的信号量来争用资源时,它就会被阻塞。如果prioHigh被阻塞的时间不超过prioLow完成对资源的处理...

2020-03-28 12:42:29 876

原创 xenomai 应用开发 5:相同优先级的循环调度--WT

一、循环调度任务对于具有相同优先级的任务,Xenomai调度程序同时支持FIFO调度和循环策略。循环策略类似于分时操作系统依次运行每个活动进程以获得其时间份额(其“时间片”)。FIFO调度,任务只抢占优先级较低的任务;它从不抢占优先级相同或较低的任务。当多个具有相同优先级的任务准备运行时,首先在调度程序的等待队列中排队的任务将首先运行(遵循FIFO顺序)。只有当第一个任务就绪时,调度程序才能从...

2020-03-26 21:14:30 1180 2

原创 xenomai 应用开发 4:基于抢占优先级的调度--WT

一、基于抢占优先级的任务调度Xenomai的默认调度策略是基于抢占优先级的FIFO(先进先出)调度。就是说,当高优先级准备好执行时,低优先级任务的执行被中断。当具有相同优先级的多个进程准备好运行时,默认情况下,首先在调度程序的等待队列中排队的任务将首先运行(以FIFO排序),并一直运行到底。使用基于抢占优先级的调度程序,每个任务都有一个优先级,内核确保将CPU分配给准备运行的最高优先级任务。这...

2020-03-22 20:48:18 1734 1

原创 xenomai 应用开发 3:信号量 --WT

一、信号量(Semaphores)信号量有助于协调多任务应用程序的活动。任务最明显的通信方式是通过各种共享数据结构。由于单个进程中的所有任务都存在于单个线性地址空间中,因此在任务之间共享数据结构很简单。在不同任务上下文中运行的代码可以直接引用全局变量、线性缓冲区、环形缓冲区、链接列表和指针。然而,虽然共享地址空间简化了数据交换,但对内存的互锁访问对于避免数据损坏至关重要。确保独占访问共享资源的方...

2020-03-22 20:43:40 1128 2

原创 将SJA1000注册到RTDM实时驱动模型中 --WT

要将一个具体的can 控制器注册到xenomai 中的RTDM实时驱动模型中,一般分为两个部分:第一,将具体的CAN控制器注册到RTCAN模块中。第二,将注册的具体的RTCAN设备注册到 RTDM之中。

2020-03-19 09:50:01 946

原创 xenomai 应用开发 2:单触发模式与周期性模式运行多任务--WT

一、多任务模式当下的实时系统基于多任务和任务间通信的互补概念。多任务环境允许将实时应用程序构建为一组独立的任务,每个任务都有单独的执行线程和自己的一组系统资源。任务间通信设施允许这些任务同步和协调它们的活动。Xenomai多任务调度程序使用中断驱动的、基于优先级的抢占式任务调度。它具有快速的上下文切换和低中断延迟。多任务处理造成了许多并发执行的任务,而实际上,内核根据调度算法交错执行这些任务。...

2020-03-16 18:52:21 2343 4

原创 xenomai 应用开发 1:创建并运行一个实时任务 --WT

一、创建一个实时任务1、RT_TASK 结构当在Xenomai中创建实时任务时,RT_TASK结构将作为引用此任务的描述符。struct RT_TASK {uintptr_t handle;pthread_t thread;};任务创建将会通过调用 rt_task_create函数进行创建:int rt_task_create (RT_TASK *task, const char...

2020-03-16 13:08:39 5271 5

原创 Virtual Can 内环通信测试--WT

1.XENOMAI下CAN内环通信测试实验本文基于 linux-4.9.38+Xenomai 3.0.5在嵌入式领域工作时,经常会遇到这样的情况:硬件不可用,但应当开发软件。或者说软件开发应该独立于硬件可用性而进行。发生这种情况的原因有很多,但这种情况一定会存在。有些使用模拟器运行整个操作系统。在Linux中,CAN接口是使用SocketCAN处理的,其中CAN总线被视为Berkeley套接字...

2020-03-08 10:23:07 1126 2

原创 Advantech PCI card 驱动注册 --W T

1.1 初始化驱动函数在rtcan_adv_pci.c中adv_pci驱动程序的初始化函数module_init(rtcan_adv_pci_init):static int __init rtcan_adv_pci_init(void){ if (!realtime_core_enabled()) return 0; return pci_register_driver(&am...

2020-02-18 21:13:44 610

原创 ChibiOS环境的搭建--ZSJ

ChibiOS环境的搭建—-ZSJ一: 1、ChibiOS:可以把它当作一个嵌入式的库,更具体一点,可以把它看成是一个操作系统 2、ChibiStudio:即用型基于Eclipse的工具链 3、Eclipses:集成开发环境(IDE)。是一种开源,带有调试窗口,并且能简化开发过程的工具。 ChibiOS是一个包含源代码和纯文本文件的软件库,必须要...

2018-09-07 19:31:29 4529

原创 Soc FPGA开发环境的搭建-wy

需安装的软件有:Quartus II、dsp builder、Soc EDS、Matlab 下面以Quartus II 15.0+dsp builder 15.0+Soc EDS 15.0+Matlab 2014a 为例详述安装过程。 首先说明Quartus II、dsp builder、Soc EDS的安装 在Altera官网下载安装包,下载网址为: https://www.intel....

2018-09-06 15:19:42 3374

空空如也

空空如也

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

TA关注的人

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