您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > STM32F103+DM9051
1STM32F103ZEuIPDM9051PortingGuide1.前言1-1网卡芯片介绍DM9051NPSPI接口网卡芯片是为了方便MCU单片机系统进行以太网通信而开发出的解决方案。DM9051NP芯片是带有行业标准串列外设接口(SerialPeripheralInterface,SPI)的独立以太网控制器。DM9051NP符合IEEE802.3规范,它还支持以DMA模式來传输,以实现资料传送快速。DM9051NP通过1个中断引脚和SPI接口來进行与主控制器/MCU单片机的通信,资料传输规格为10/100M。•Package:32支接脚封装,QFN.•IEEE802.3azEnergyEfficientEthernet(EEE)•Built-inintegrated3.3Vto1.8Vregulator•远程唤醒(WOL)•并行线/交叉线自动切换(HPAuto-MDIX)•Support光口界面•具有16KBSRAM静态随机存取记忆•EMI(ClassB)andHBMESDRating8KV•工业温度规范:–40℃to+85℃•功率:(100/10M)=429/561mW•连续工作温度60℃1.DM9051NPSPI界面网卡介绍.Pdf2.DM9051NPdatasheet.pdf1-2工程代码&demo原理图1.stm32_dm9051_uIP_SPIDMA.RAR2.DM9051_DEMOV2.1.DSN2目錄1.前言.............................................................................................................................11-1网卡芯片介绍.................................................................................................11-2工程代码&demo原理图................................................................................12.搭建实验环境.............................................................................................................33.硬件和软件说明.........................................................................................................43-1硬件环境........................................................................................................43-2SPI配置..........................................................................................................53-2-1.接线部分............................................................................................53-2-2.软件配置部分....................................................................................54.网卡驱动...................................................................................................................114-1网卡介绍.......................................................................................................114-2Read/WriteRegister.....................................................................................114-3Read/WriteMemory....................................................................................134-3........................................................................................................................184-4DM9051ReceivedPacket............................................................................184-5DM9051TransmittedPacket......................................................................215.uIP基本结构与配置...............................................................................................235-1首先介绍下uIP协议部分..........................................................................235-2uIP基本结构................................................................................................255-3uIP配置部分................................................................................................295-3-1.IP地址配置......................................................................................295-3-1.MAC地址配置.................................................................................295-4uip-conf.h部分.............................................................................................305-5一个简单有效的ClockTick........................................................................316.案例——最简单的TCPecho程序........................................................................337.web页面控制...........................................................................................................358.测试结果...................................................................................................................419.移植相关...................................................................................................................4432.搭建实验环境先讲一下如何搭建实验环境。我们STM32F103ZET6+DM9051作为一个网络终端通过网线跟PC直连(DM9051支持自动翻转功能(Auto-MDIX),不用区分双绞线并行线)。例如调试PC机的IP地址如下图所示。图1PC机IP地址路由器的IP地址为192.168.1.1。那么开发板的IP地址可以设定为192.168.1.2到192.168.1.255。在这里,我们把开发板IP设为192.168.1.51。43.硬件和软件说明3-1硬件环境【百为开发板】百为开发板上外接DM9051NP模块,DM9051NP通过SPI接口控制内部寄存器,并有中断输出接口。STM32通过SPI1和DM9051NP相连。具体接口如下:DM9051STM32SPI_CS(Chip_Select)Pin01Pin26(PC0)SPI_MOSIPin03Pin43(PA7)SPI_MISOPin05Pin42(PA6)CPI_CLKPin07Pin41(PA5)InterrptPin02Pin97(PC7)由于SPI上同时挂载其他SPI从设备,所有初始化的过程中需要通过操作CS端口禁止其他SPI从设备。CS片选将DM9051NP相连拉低,其他从设备拉高即可。图二三:物理连接图53-2SPI配置3-2-1.接线部分SPI信号线说明,通常SPI通过4个引脚与外部器件相连:1.MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。2.MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。3.SCK:串口时钟,作为主设备的输出,从设备的输入4.NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。3-2-2.软件配置部分1.首先开启SPI1的时钟2.配置SPI1GPIOPIN,使用的pin還有SPI接線參考3-1。3.配置DMA,简单介紹一下:(1).DMA是AMBA的先进高性能总线(AHB)上的设备,它有2个AHB端口:一个是从端口,用于配置DMA,另一个是主端口,使得DMA可以在不同的从设备之间传输数据。(2).DMA的作用是在没有Cortex-M3核心的干预下,在后台完成数据传输。在传输数据的过程中,主处理器可以执行其它任务,只有在整个数据块传输结束后,需要处理这些数据时才会中断主处理器的操作。它可以在对系统性能产生较小影响的情况下,实现大量数据的传输。64.SPI_DMA的通信过程(1).设置外设地址(2).设置存储器地址(3).设置传输数据量(4).设置通道的配置信息(5).使能DMA通道,启动传输(6).发送时,在每次TXE被设置为’1’时发出DMA请求,DMA控制器则写数据至SPI_DR寄存器,TXE标志因此而被清除。(7).接收时,在每次RXNE被设置为’1’时发出DMA请求,DMA控制器则从SPI_DR寄存器读出数据,RXNE标志因此而被清除。DM9051SPI1DMA配置如下:voidDM9051_Configuration(void){SPI_InitTypeDefSPI_In
本文标题:STM32F103+DM9051
链接地址:https://www.777doc.com/doc-4592630 .html