完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`W7500(W7500P)芯片简介:
W7500 芯片为工业级以太网单芯片解决方案, 集成 ARM Cortex-M0,128KB Flash 及全硬件TCP/IP 核(和W5500、W5100内核一致),特别适用于物联网领域。 使用 W7500EVB, 让您轻松完成原型开发。 全硬件TCP/IP核的最大优点是他在执行联网操作时不需要占用MCU的运行资源,大大增加了MCU的工作效率。 本章将向大家介绍W7500的 DMA。本章将利用DMA将串口接收到的数据传送到变量中,在通过串口将变量输出打印出来。 想了解更多关于WIZnet W7500更多信息,或者有技术问题请联系我们:gustin@wisioe.com 深圳炜世科技—WIZnet官方代理商,全程技术支持,价格绝对优势! 电话:0755-86568556 邮箱:support@wisioe.com ` |
|
相关推荐
|
|
第十一章 DMA试验
本章将向大家介绍W7500的 DMA。本章将利用DMA将串口接收到的数据传送到变量中,在通过串口将变量输出打印出来。 本章分为如下几个部分: 11.1 W7500 DMA 简介 11.2 硬件设计 11.3 软件设计 11.4 下载验证 直接内存访问 (DMA) 用于外设与内存之间、内存与内存之间的高速数据传送。无需 CPU 参与,数据即可快速传送。这样就为 CPU 执行其他操作留出了资源空间。W7500的 DMA 控制器共有6个通道,每个通道都用于管理来自某个或多个外设的内存访问请求。在DMA 请求过程中,有一个处理优先级的裁决。 W7500的 DMA 有以下一些特性: u 6个通道 u 每一个通道用于连接专门的硬件 DMA 请求,并同时支持软件触发器。 u 软件编译来自 DMA 通道的请求优先级 (系统默认为高级)。 u 内存到内存传输 (仅支持软件请求)。 u TCP/IP 到内存传输 (仅支持软件请求)。 u SPI/UART 到内存传输 (支持软件及硬件请求)。 u 获取 Flash, SRAM, APB 及 AHB 外设作为源和目的地。 从外设(UART0, UART1,SSP0, SSP1)产生的 DMA 请求,通过逻辑或输入到DMA控制器,这就意味着同时只能有一个请求有效,如图11.1.1所示: 图11.1.1 W7500 DMA通道功能表 备注:软件请求是内存到内存及 TCP/IP到内存之间使用 DMA 的唯一方式。 这里介绍一下 DMA设置相关的几个寄存器。 第一个是DMA的状态寄存器(DMA_STATUS),如图11.1.2所示: 图11.1.2 W7500 DMA的状态寄存器 这个寄存器是只读的寄存器,读取ENABLE这个位可以获取DMA控制器的状态,读取STATE[4]-[7]位可以看到控制状态机的当前状态。 第二个是DMA 的控制数据库指针寄存器(DMA_CTRL_BASE_PTR),如图11.1.3所示: 图11.1.3 W7500 DMA 的控制数据库指针寄存器 把数据源的地址写入该寄存器。 第三个是DMA 的通道设置使能寄存器(DMA_CHNL_ENABLE_SET),如图11.1.4所示: 图11.1.4 W7500 DMA 的通道设置使能寄存器 该寄存器可以使能要开启的DMA通道。 第四个是DMA的通道软件请求寄存器(DMA_CHNL_SW_REQUEST),如图11.1.5所示: 图11.1.5 W7500 DMA的通道软件请求寄存器 在需要的时候设置对应的位来开启DMA的传输。 DMA配置可以直接调用函数库的dma_init函数来对DMA进行初始化。
如果要进行数据传输可以调用dma_memory_copy函数。
dma_memory_copy函数的第一个参数为传输通道,第二个参数为数据源地址,第三个为数据目的地地址,第四个参数是传输的数据大小,第五个参数是传输数据的长度。如果要将tx_data中的数据通过DMA通道0传输到rx_data中可以这样写:
11.2 硬件设计 本章用到的硬件资源有: 1) 串口 2) DMA 11.3 软件设计在W7500EVB DMA工程里,可以看到,user文件中多了 bsp_dma.c 文件和其头文件 bsp_dma.h,同时要引入 dma 相关的库函数文件 W7500x_dma.c 和W7500x _dma.h。 打开bsp_dma.c 文件, 主要代码如下:
该部分代码有2个函数,第一个dma_mm_init函数是DMA的初始化。第二个DMA_Memory_Copy函数是进行数据传输的。 最后看看W7500x_it.c文件如下:
这里可以看到并没有使用串口2的数据接收函数,而是有DMA通道3将UART2数据寄存器的数据传输到了rx_data变量中在利用串口2打印出来。 11.4 下载验证在代码编译成功之后,下载代码到W7500EVB上,打开串口调试助手向W7500EVB发送数据,W7500EVB也会回发数据给我们,如图11.4.1所示: 图11.4.1 W7500EVB DMA试验结果 |
|
|
|
|
|
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11790 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:08 , Processed in 0.656172 second(s), Total 69, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号