STM32-WIFI-2 开发板用户手册
(V1.1)
wsum205.taobao.com
版本说明:
V1.0 初始版本
V1.1 增加对 MT7601 支持的说明,增加 MP3 播放例程的说明
1
目录
1 简述 ....................................................................................................................................... 3
2 开发环境 ............................................................................................................................... 4
3 硬件说明 ............................................................................................................................... 6
3.1 开发板介绍 ................................................................................................................... 6
3.2 开发板的使用 ............................................................................................................... 7
4 软件说明 ............................................................................................................................... 8
4.1 代码目录结构 ............................................................................................................... 8
4.2 keil 工程介绍 .............................................................................................................. 8
4.2 源代码介绍 ................................................................................................................... 9
4.2.1 bsp 库 ..................................................................................................................... 10
4.2.2 kernel ................................................................................................................. 10
4.2.3 drivers ............................................................................................................... 10
4.2.4 net ....................................................................................................................... 10
4.2.5 config ................................................................................................................. 11
4.2.6 app ....................................................................................................................... 11
4.3 wifi 操作 .................................................................................................................... 12
4.4 TCP/IP 操作 ................................................................................................................ 12
4.4.1 TCP 范例操作 ...................................................................................................... 13
4.4.2 UDP 范例操作 ...................................................................................................... 13
5 开发板启动过程 ................................................................................................................. 14
6 程序的烧写 ......................................................................................................................... 15
7 应用实例 ............................................................................................................................. 16
5.1 LED 灯控制 ................................................................................................................ 16
5.2 音频对讲 ..................................................................................................................... 17
5.2 MP3 播放 ...................................................................................................................... 18
2
1 简述
STM32-WIFI-2 开发板是一款基于 CortexM3 通用单片机驱动普通 WIFI 网卡芯
片的廉价 WIFI 方案,是我们开发的第二代产品。通过我们的方案,只需要在现
有的产品上插上一个 USB 网卡即可让您的产品具备高性能 WIFI 功能。我们提供
开发板的全部源码,不论是用于产品开发和学习都是您的不二选择。
开发板特点:
采用通用 ARM-Cortex M3 高性价比单片机 STM32F205RGT6,该单片机提供 1Mbyte 的
FLASH 和 128Kbyte 的 RAM 空间,具有丰富的外设资源。
采用普通的 WIFI 网卡,兼容数十种 MTK 芯片的 USB 网卡。
提供全套开发板源码及 android 测试软件源码,无 lib 文件,提供专业技术支持。
无线通讯速率超过 6Mbps(双向)
支持 WEP、WPA/WPA2 安全认证和 TKIP、AES 等各种加密模式
支持 AP、STATION 工作模式,可以虚拟出多个 AP
集成 LWIP-TCP/IP 协议栈,提供简单易懂的范例操作
集成 JPEG 编解码源码,以及 OV7670camera 驱动
集成 DHCP 服务器
集成 libmad-MP3 解码库
开发板提供 6 路 LED 显示,提供一个 camera 接口、一个麦克风、一个耳机插孔,提供
手机与开发板进行语音对讲、手机控制 led 灯的开关、在线播放 MP3 等多个有趣的范例。
开发板提供 1 片 1Mbyte 的 SPI-Flash
WIFI 方案特点:
硬件简单:采用插网卡的形式,无需进行射频电路设计和调试。
成本低廉:只需购买十多元或者几元钱的 USB 网卡即可,相比现有 WIFI 模块具有很大
优势。
接口兼容性好:只需要一个 USB 插口即可,无需考虑 WIFI 模块接口不统一的情况。
性能优异:单向速率可以轻松超过 5Mbps,目前市面上 WIFI 模块是很难达到的。
适用性强:你可以根据自己的需求选购不同的网卡,比如低功耗的短距离通信、大功
率的远距离通信等等,不受普通 WIFI 模块的功能限制。
系统稳定高效:方案采用稳定性非常好的实时操作系统以及 MTK 最新版的驱动源码,
相对于 linux 方案更加简单稳定,实时性更强。
可维护性强:源代码开放,DEBUG 功能强大,对整个产品的质量都可以由你自己掌控。
基于我们提供的方案你可以将 WIFI 协议栈快速的移植到其他单片机上面,
如 STM 单片机的不同系列或者 LPC 单片机的不同系列,只要该单片机支持
USB-HOST 并且硬件资源能达到一定的要求即可。我们提供的源代码包括 ucos 系
统、lwip 协议栈、802.11 协议栈等源文件,其编译出来代码量比较大,所以我
们建议的最低 MCU 配置为 512KFLASH+128KRAM,以预留足够的空间开发您的其他
应用。
3
2 开发环境
STM32-WIFI-2 开发板需要在 windows 环境下进行开发,代码编辑可用 source
insight 或者 keil 等多种编辑软件,我们提供的源代码包里面已经有 source
insight 和 keil 的工程,如果安装了上述软件直接打开即可。而代码编译需要
安装 keil(keil4 或 keil5)。
编译连接成功后,你可以通过 jtag 将代码烧写入单片机进行在线调试,也
可用通过串口将二进制文件下载到单片机运行(将在后面进行详细说明)。
下面列出本开发板需要用到的一些软硬件资源及工具:
1. Jlink 仿真器:如果需要进行在线仿真调试,这是必须的工具(需要自行
购买),开发板提供的 2*5 针(2.54mm)的标准 JTAG 接口(支持 JTAG,SWD)。
2. 串口:在电脑上打印调试信息必须用到串口,我们建议采用台式机的 232
接口,如果你用的笔记本请使用质量较好的 USB 转串口线。
3. 串口调试工具(MONITOR):下面是开发板工具包中提供的串口调试工具,
它可以显示当前系统的运行状态以及用户自定义的状态量,打开 log 窗口还可以
显示系统调试信息,右下角是为常用的操作定制的几个按键,按下一个按键会发
送一个字节的命令字给开发板,以方便你测试。运用这个调试工具可以帮助你快
速进行 bug 定位,缩短开发时间。
4. 串口调试工具:我们推荐使用 secureCRT,如果你没有 jlink 来烧写程序,
可以用这个工具将程序烧写到单片机(需要用到 Ymodem 传输),其运行界面如下:
4
5. TCP 调试工具:WIFI 数据通信的上层都是基于 TCP/IP 协议的,所以必须
要用到 TCP 调试助手,开发板工具包里面有提供(NetAssist.exe),你也可以用
其他的。
5
3 硬件说明
3.1 开发板介绍
整套开发板包括一块 PCB 主板、一个 USB 网卡(网卡类型可选)、一个 5V2A
电源、一根 RS232 数据线以及若干杜邦线,我们会提供主板原理图和 PCB 资料。
RS232 接口
复位按钮
JTAG 接口
CAMERA
接口
MCU
UART3 接
口
USB 网卡
5V
电源插孔
受话器和
说话按钮
耳机插孔
LED
STM32-WIFI-2 主板
开发板能支持的 USB 网卡列表如下
1. RT28XX 系列,如 RT2870、RT2880 等
2. RT30XX 系列,如 RT3070、RT3052 等
3. RT33XX 系列,如 RT3370 等
4. RT53XX 系列,如果 RT5370 等
5. MT7601
6
我们提供 RT3070、RT3370、RT5370、RT7601S 四种网卡供用户选择,这四种是比较常用的网
卡且经过我们的稳定性测试,其他种类的 MTK 产 USB 网卡理论上都是可以支持的,如果你
要应用其他网卡可以联系我们技术支持。
对于主板我们做下面几点说明:
1. 电源供电请确保使用 5V 电压,否则将可能烧坏 USB 网卡。
2. USB 工作对于频率稳定性要求较高,我们使用的是普通晶振,所以在板子工作过程中不
要去碰触晶振,应用于产品中时请尽量使用稳定性高的晶振。
3. CAMERA 接口是预留作为图像传输范例的,你也可以作为普通 IO 口使用
3.2 开发板的使用
开发板使 用 之前需 要 先连 接好 电源 线和 串口 线, 在电 脑 上安装并打开
monitor 串口调试软件,选择正确的串口(这个调试软件只支持 COM1-COM16,请
注意),接通电源之后可以看到底板中间的电源指示灯亮,此时 monitor 会开始
显示系统状态信息。如果打开了 log 窗口,在 log 窗口里面会打印开发板启动过
程中的一些信息:
[D: 0.120] SYSCLK_Frequency:120000000,HCLK_Frequency:120000000,
PCLK1_Frequency:30000000,PCLK2_Frequency:60000000,ADCCLK_Frequency:0
[D: 0.130] enter m25p80_init
[D: 0.130] flash id:001440ef
[D: 0.800] enter usb_enumeration
[D: 1.260] speed 1
[D: 1.260] enter USBH_HandleEnum
[D: 1.260] enter USBH_Get_DevDesc
[D: 1.260] idVendor 0
[D: 1.260] idProduct 0
[D: 1.300] enter USBH_Get_DevDesc
[D: 1.300] idVendor 5263
[D: 1.300] idProduct 10352
[D: 1.300] bLength 9
[D: 1.300] bDescriptorType 2
...
...
为了让用户直观的看到启动过程,我们保留了一些调试信息的打印,如果不需要
打印这些信息,可以搜索#define DEBUG 和#define DBG 将其注释掉并重新编译
烧写即可,一般位于 C 文件的最前面。同样,如果想关闭 monitor 功能,可以搜
索 SYS_MONITOR 宏定义将其置 0 关闭即可。开发板启动之后就可以进行后面的软
件操作了。
7
4 软件说明
4.1 代码目录结构
我们提供的开发板源代码目录结构如下(因版本而异):
4.2 keil 工程介绍
开发板源代码的 keil_project 目录下面是 keil 工程文件,打开后会显
示如下的界面:
8
用户应用程序ST官方提供的板级驱动跟配置有关的一些头文件驱动代码,包括UART、USB等Source insight代码编辑工程Keil工程UCOS代码以及将其进行封装的API代码网络通信有关的Lwip-TCP/IP代码和WIFI协议栈代码