我加入工作室参加的第一个比赛是第五届中国高校智能机器人创意大赛,我参加的赛项是开放部件组轮式自主格斗机器人。经历了没日没夜的调试,无数次欣赏凌晨四点半的夜晚,感受着每天就睡两三个小时伴随着疲惫的开心。在我和队友的共同努力之下,我们的成绩也很优异,获得了预期的奖项。虽然原本我还有一个电控队友,但是因为疫情他没能和我一起参与备赛,这是令人可惜的一点。但人生总要向前看,备赛最重要的当然是过程,结果只是水到渠成的必然,宝贵的经历是什么都无法替代的,它使我成长,助我进步。相信我们在以后也会继续向前的。在先学习DMA之前,我要先了解ADC的原理,然后在ADC程序实现的基础上使用DMA模式,可以加快数据采集
说明:1、本代码为原创设计,仅供学习使用。2、从这篇开始,这个专栏将正式进入到RTL设计阶段。3、这篇文章过后还会有AXI-lite,XilinxAXI主机等代码的分析,供大家学习参考。一、功能说明二、测试结果三、设计讲解四、RTL代码(Verilog)AXI2DPRAM双口RAM同步FIFO五、能够自动比对数据的仿真代码一、功能说明该设计为一个AXI4接口的双口SRAM,支持读写最大outstanding数为30。数据位宽为32bit,RAM深度为256。(可按需修改)支持burst方式为INCRburst长度支持1~16读写设计分离,不会产生访问阻塞。二、测试结果如上图所示,tb中先后向A
说明:1、本代码为原创设计,仅供学习使用。2、从这篇开始,这个专栏将正式进入到RTL设计阶段。3、这篇文章过后还会有AXI-lite,XilinxAXI主机等代码的分析,供大家学习参考。一、功能说明二、测试结果三、设计讲解四、RTL代码(Verilog)AXI2DPRAM双口RAM同步FIFO五、能够自动比对数据的仿真代码一、功能说明该设计为一个AXI4接口的双口SRAM,支持读写最大outstanding数为30。数据位宽为32bit,RAM深度为256。(可按需修改)支持burst方式为INCRburst长度支持1~16读写设计分离,不会产生访问阻塞。二、测试结果如上图所示,tb中先后向A
文章目录@[toc]简介常用函数使用示例参考资料工程下载本文是XilinxMicroBlaze系列教程的第1篇文章。简介AXIGPIO是基于AXI-lite总线的一个通用输入输出IP核,可配置为一个或两个通道,每个通道32位,每一位可以通过SDK动态配置成输入或输出方向,支持中断请求,配合中断控制器IP可实现外部中断触发。不同系列FPGA所支持的最高频率:官方使用示例:xgpio_intr_tapp_example.cxgpio_example.cxgpio_intr_example.cxgpio_low_level_example.
文章目录@[toc]简介常用函数使用示例参考资料工程下载本文是XilinxMicroBlaze系列教程的第1篇文章。简介AXIGPIO是基于AXI-lite总线的一个通用输入输出IP核,可配置为一个或两个通道,每个通道32位,每一位可以通过SDK动态配置成输入或输出方向,支持中断请求,配合中断控制器IP可实现外部中断触发。不同系列FPGA所支持的最高频率:官方使用示例:xgpio_intr_tapp_example.cxgpio_example.cxgpio_intr_example.cxgpio_low_level_example.
好久没写博客了,最近挺忙的。近来有些好玩的实现,网上的资料并不是非常详细,打算慢慢写下来,希望别人能少走一点弯路。因为希望提高ADC的采样率,这次我试着实现了一下三重ADC交替采样+DMA搬运至内存+TIM的TRGO触发采样(环境是stm32cubemx6.5.0和keil5) 首先打开cubemx进行基础设置(设置时钟树,RCC,SYS)然后设置ADC1(下图为具体设置,仅供参考)此处我们将ADC_Mode设置为Tripleregularsimultaneousmodeonly,并打开DMA连续请求(为了使DMA能够填满数组,按照我们的预期工作)外部触发源设置为TIM2的TRGO由于已经设置
好久没写博客了,最近挺忙的。近来有些好玩的实现,网上的资料并不是非常详细,打算慢慢写下来,希望别人能少走一点弯路。因为希望提高ADC的采样率,这次我试着实现了一下三重ADC交替采样+DMA搬运至内存+TIM的TRGO触发采样(环境是stm32cubemx6.5.0和keil5) 首先打开cubemx进行基础设置(设置时钟树,RCC,SYS)然后设置ADC1(下图为具体设置,仅供参考)此处我们将ADC_Mode设置为Tripleregularsimultaneousmodeonly,并打开DMA连续请求(为了使DMA能够填满数组,按照我们的预期工作)外部触发源设置为TIM2的TRGO由于已经设置
SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间
SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间
目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)27倍频216MHz,CoreMark跑分测试AIR32F103(五)FreeRTOSv202112核心库的集成和示例代码AIR32F103(六)ADC,I2S,DMA和ADPCM实现的录音播放功能关于使用AIR32的ADC,I2S和DMA实现简单的语音录音和播放功能,以及使用ADPCM编码提升录音时长.使用的MCU型号为AIR32F103CCT6.如果用CBT6,对应的