搜索
bottom↓
回复: 235

开贴研究STM32 WIFI,打造2013年最酷的贴

  [复制链接]

出0入0汤圆

发表于 2012-12-28 09:15:40 | 显示全部楼层 |阅读模式
本帖最后由 xi_liang 于 2012-12-28 19:29 编辑

目前手上有USI(环隆电气)WM-G-MR-09的linux驱动,wince驱动,内部芯片是Marvell 的88w8686

两份代码流程基本上一样,具体实现方式稍有不同。

从linux应用的角度来看,WIFI驱动和DM9000驱动并无差别,差别只在eth0,wlan0或者eth0,eth1,这样说来,搞过linux的人知道怎么回事了,
应用的话,WIFI驱动和协议都不需要去了解,只需要会socket编程

从STM32的角度来看,底层需要移植wifi的驱动,这部分包括SPI的读写,固件的下载,wlan驱动(通过命令控制WIFI模块,读取相关的802.11数据),实现TCP/IP协议

硬件连接方式通过SPI接口
SPI_CS
SPI_MISO
SPI_MOSI
SPI_SCK
INT

SPI通信采用16位方式,模式CPOL=0,CPHA=0
读取WM-G-MR-09 ID = 0x000b
然后写寄存器,下载固件

项目完成后资料将全部开源



















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-5-14 17:08:09 | 显示全部楼层
源码来了,这里楼主位不能修改了,发布在另外一个帖子了
http://www.amobbs.com/thread-5534196-1-2.html

出0入0汤圆

发表于 2012-12-28 09:17:16 | 显示全部楼层
我顶一下,支持开源!!!!

出110入0汤圆

发表于 2012-12-28 09:29:21 | 显示全部楼层
支持开源!

出0入0汤圆

发表于 2012-12-28 09:45:43 | 显示全部楼层
严重支持  一直想搞这个wifi模块

出0入0汤圆

发表于 2012-12-28 10:00:16 | 显示全部楼层
真是不错,买了百为的开发板我算是值了

出0入0汤圆

发表于 2012-12-28 10:04:50 | 显示全部楼层
支持楼主。

出0入0汤圆

发表于 2012-12-28 10:07:23 | 显示全部楼层
我会静悄悄的告诉你rt-thread已经实现了么.

出0入0汤圆

发表于 2012-12-28 10:13:21 | 显示全部楼层
我记得微星的tcp/ip有支持wifi的。

出0入0汤圆

发表于 2012-12-28 10:17:31 | 显示全部楼层
支持楼主。 这个非常好。

出0入0汤圆

发表于 2012-12-28 10:22:19 | 显示全部楼层
支持楼主,等待楼主。这个非常好。

出0入0汤圆

发表于 2012-12-28 10:46:24 | 显示全部楼层
支持 学习一下

出0入0汤圆

发表于 2012-12-28 10:53:31 | 显示全部楼层
支持楼主的开源精神

出110入0汤圆

发表于 2012-12-28 10:58:32 | 显示全部楼层
zzm24 发表于 2012-12-28 10:07
我会静悄悄的告诉你rt-thread已经实现了么.

这么有效率!

我又多了一个上rt的理由了

出0入0汤圆

发表于 2012-12-28 10:59:08 | 显示全部楼层
楼主会失败

出0入0汤圆

 楼主| 发表于 2012-12-28 11:21:24 | 显示全部楼层
zzm24 发表于 2012-12-28 10:07
我会静悄悄的告诉你rt-thread已经实现了么.

rt-thread用的是STM32F4,有操作系统,文件系统。
我们打算只在裸机上实现,不需要文件系统之类的

出0入0汤圆

 楼主| 发表于 2012-12-28 11:23:01 | 显示全部楼层
wuguoyan 发表于 2012-12-28 10:00
真是不错,买了百为的开发板我算是值了

我们的开发板资料一直有更新,留意amo这里就行了

出0入0汤圆

发表于 2012-12-28 11:30:10 | 显示全部楼层
等待 LZ 成功。

出0入0汤圆

发表于 2012-12-28 11:32:39 | 显示全部楼层
支持楼主,吼吼

出0入0汤圆

 楼主| 发表于 2012-12-28 11:38:46 | 显示全部楼层
Hz01800475 发表于 2012-12-28 10:59
楼主会失败

失败乃成功之母,linux那么庞大大家都可以搞定,WIF相信也没想像中的难

出0入0汤圆

发表于 2012-12-28 11:43:33 | 显示全部楼层
支持 楼主

出0入0汤圆

发表于 2012-12-28 12:34:47 | 显示全部楼层
zzm24 发表于 2012-12-28 10:07
我会静悄悄的告诉你rt-thread已经实现了么.

RT支持哪些wifi 芯片?

出0入0汤圆

发表于 2012-12-28 12:46:36 | 显示全部楼层
支持楼主

出0入0汤圆

发表于 2012-12-28 12:54:50 | 显示全部楼层
支持楼主,支持开源

出0入0汤圆

发表于 2012-12-28 12:56:49 | 显示全部楼层
强烈支持!~

出0入0汤圆

发表于 2012-12-28 13:00:13 | 显示全部楼层
淘宝上有卖的已经实现了

出0入0汤圆

发表于 2012-12-28 13:01:46 | 显示全部楼层
支持楼主

出0入0汤圆

发表于 2012-12-28 13:29:03 | 显示全部楼层
支持楼主~~占位学习

出0入0汤圆

发表于 2012-12-28 13:52:12 | 显示全部楼层
支持LZ,找了好久了。

出0入0汤圆

发表于 2012-12-28 14:02:37 | 显示全部楼层
请问楼主有没有WM-G-MR-08模块的驱动,TB上这个模块比WM-G-MR-09还便宜大约一半吧。如果能用就太超值了。

出0入0汤圆

 楼主| 发表于 2012-12-28 14:30:51 | 显示全部楼层
htjgdw 发表于 2012-12-28 14:02
请问楼主有没有WM-G-MR-08模块的驱动,TB上这个模块比WM-G-MR-09还便宜大约一半吧。如果能用就太超值了。 ...

WM-G-MR-08那个貌似是很老的芯片了,现在WM-G-MR-09也很便宜,明年估计还会将到三十以内

出0入0汤圆

发表于 2012-12-28 14:41:10 | 显示全部楼层
等待LZ的好消息

出0入0汤圆

发表于 2012-12-28 14:59:51 | 显示全部楼层
xi_liang 发表于 2012-12-28 11:21
rt-thread用的是STM32F4,有操作系统,文件系统。
我们打算只在裸机上实现,不需要文件系统之类的 ...

这个市场上有很多人实现了,但是没有开源。

出0入0汤圆

发表于 2012-12-28 15:06:03 | 显示全部楼层
等待楼主的好消息,WIFI这个东西比较复杂,是牛人们搞的事

出0入0汤圆

发表于 2012-12-28 16:10:35 | 显示全部楼层
等待楼主的好消息啊!
支持楼主!

出0入0汤圆

发表于 2012-12-28 16:13:39 | 显示全部楼层
好想法,支持楼主!!

出0入0汤圆

发表于 2012-12-28 16:35:07 来自手机 | 显示全部楼层
问题在于wpa

出0入0汤圆

发表于 2012-12-28 16:37:30 | 显示全部楼层
支持楼主,期待早日成功后共享。

出0入0汤圆

发表于 2012-12-28 16:49:26 | 显示全部楼层
强烈支持!        

出0入0汤圆

发表于 2012-12-28 16:52:12 | 显示全部楼层
支持楼主,祝你成功。

出0入0汤圆

发表于 2012-12-28 18:59:09 | 显示全部楼层
支持楼主!

出0入0汤圆

发表于 2012-12-28 20:06:03 | 显示全部楼层
这个绝对支持

出0入0汤圆

发表于 2012-12-28 20:46:26 | 显示全部楼层
支持楼主的研究,希望能开源

出0入0汤圆

发表于 2012-12-28 20:48:49 | 显示全部楼层
支持楼主,多多开源

出0入0汤圆

发表于 2012-12-28 20:57:02 | 显示全部楼层
挺好学习下Wifi

出0入0汤圆

发表于 2012-12-28 21:16:30 | 显示全部楼层
支持啊,楼主加油

出0入0汤圆

发表于 2012-12-28 21:40:22 | 显示全部楼层
搭贴跟着学习

出0入0汤圆

发表于 2012-12-28 21:50:42 | 显示全部楼层
支持开源

出0入0汤圆

发表于 2012-12-28 22:23:10 | 显示全部楼层
支持开源!

出0入0汤圆

发表于 2012-12-28 22:38:00 来自手机 | 显示全部楼层
支持楼主,mark……
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端

出0入0汤圆

发表于 2012-12-28 22:48:27 | 显示全部楼层
强烈支持楼猪,开放性。ST32是牛啊

出0入0汤圆

发表于 2012-12-28 22:58:27 | 显示全部楼层
必须顶楼主

出0入0汤圆

 楼主| 发表于 2012-12-28 23:25:36 | 显示全部楼层


88w8686 SPI管脚定义如上图

STM32采用SPI1接口与WM-G-MR-09的连接如下

STM32F103ZET6            WM-G-MR-09
PC0------------------------------SPI_CS
PC5------------------------------SPI_INT
PA6------------------------------SPI_MISO
PA7------------------------------SPI_MOSI
PA5------------------------------SPI_CLK

STM32和WM-G-MR-09通信的第一个数据是由STM32发出
SPI数据是MSB方式

写操作时写完地址可以立即写数据


读操作时写完地址需要延时再读数据




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-12-28 23:39:27 | 显示全部楼层
严重支持

出0入0汤圆

发表于 2012-12-28 23:39:54 | 显示全部楼层
Hz01800475 发表于 2012-12-28 10:59
楼主会失败

宝马哥有何高见

出0入0汤圆

发表于 2012-12-29 00:12:33 | 显示全部楼层
楼主能上传下 WM-G-MR-09 的封装吗?

出0入0汤圆

发表于 2012-12-29 08:59:23 | 显示全部楼层
顶一个, LZ加油啊

出0入0汤圆

发表于 2012-12-29 09:15:52 | 显示全部楼层
rt-thread是个好东西,+1

出0入0汤圆

发表于 2012-12-29 09:54:02 | 显示全部楼层
严重支持!!!

出0入0汤圆

发表于 2012-12-29 10:41:28 | 显示全部楼层
   支持一下!

出0入0汤圆

发表于 2012-12-29 11:10:01 | 显示全部楼层
支持楼主研究STM32 WIFI

出0入0汤圆

发表于 2012-12-29 11:11:55 | 显示全部楼层
支持!密切关注此贴!

出0入0汤圆

 楼主| 发表于 2012-12-29 16:33:20 | 显示全部楼层
本帖最后由 xi_liang 于 2012-12-29 16:40 编辑






88w8686比较重要的一个寄存器0x5c 中断状态寄存器HOST_INT_STATUS_REG

其中位定义如下
/* Bit definition for HOST_INT_STATUS (Host Interrupt Status) */
#define GHIS_TxDnLdRdy                        B_BIT_0
#define GHIS_RxUpLdRdy                        B_BIT_1
#define GHIS_CmdDnLdRdy                        B_BIT_2
#define GHIS_CardEvent                        B_BIT_3
#define GHIS_CmdUpLdRdy                        B_BIT_4

GHIS_TxDnLdRdy表示8686准备好可以发送数据
GHIS_RxUpLdRdy表示8686接收到数据
GHIS_CmdDnLdRdy表示8686准备接收命令
GHIS_CardEvent表示有事件中断
GHIS_CmdUpLdRdy表示命令回应中断

自己翻译的还是不太习惯,还是看英文的舒服,呵呵

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-12-29 17:50:39 来自手机 | 显示全部楼层
支持,请及时更新

出0入0汤圆

发表于 2012-12-29 18:00:14 | 显示全部楼层
支持楼主

出0入0汤圆

发表于 2012-12-29 18:58:24 | 显示全部楼层
顶起!               

出0入0汤圆

发表于 2012-12-29 21:33:27 | 显示全部楼层
哈哈  支持!

出0入0汤圆

发表于 2012-12-29 21:57:34 | 显示全部楼层
内部芯片是Marvell 的88w8686

通讯稳定吗

出0入0汤圆

发表于 2012-12-29 22:17:24 | 显示全部楼层
顶楼主,加油哈

出0入4汤圆

发表于 2012-12-29 22:38:41 | 显示全部楼层
mark,跟帖学习;每日关注进度。

出0入0汤圆

发表于 2012-12-30 10:51:59 | 显示全部楼层
要是能搞定wpa就牛了。哈

出0入0汤圆

发表于 2012-12-30 11:22:12 | 显示全部楼层
此巾必顶。。

出0入0汤圆

发表于 2012-12-30 11:30:54 | 显示全部楼层
楼主要裸机实现?

出0入0汤圆

发表于 2012-12-30 11:41:26 | 显示全部楼层
支持搞!学习楼主

出0入0汤圆

发表于 2012-12-30 23:32:52 | 显示全部楼层
好帖,顶下,收藏明年研究(过几天哈)

出0入0汤圆

发表于 2012-12-31 11:02:23 | 显示全部楼层
强烈支持!!

出50入0汤圆

发表于 2013-1-1 08:29:34 来自手机 | 显示全部楼层
强烈支持楼主,学习

出0入0汤圆

发表于 2013-1-1 10:10:18 | 显示全部楼层
有多快的速率?

出0入0汤圆

发表于 2013-1-1 11:15:42 | 显示全部楼层
顶顶顶顶

出0入4汤圆

发表于 2013-1-1 15:00:58 | 显示全部楼层
必顶帖!

出0入0汤圆

发表于 2013-1-3 12:14:02 | 显示全部楼层
楼主有点滞后了,呵呵,淘宝上已经有在卖的了,都支持裸机运行,一个是叫新动力,从Linux移植的代码,另一个叫微嵌科技,从wince移植的代码,都挺好的,感兴趣的同学不妨关注一下,个人觉得实在没必要自己从底层再弄一遍,有精力不如把现有的东西弄得更完善一点。

出0入0汤圆

发表于 2013-1-3 21:12:30 | 显示全部楼层
关注楼主

出0入0汤圆

发表于 2013-1-3 21:40:42 | 显示全部楼层
顶!楼主威武!

出0入0汤圆

发表于 2013-1-9 10:03:33 | 显示全部楼层
请问楼主研究的stm32 wifi是带操作系统的还是不带的呢?请明示一下。

出0入0汤圆

发表于 2013-1-9 10:18:29 | 显示全部楼层
楼主强大,顶一个

出0入0汤圆

发表于 2013-1-9 10:41:15 来自手机 | 显示全部楼层
支持来源共享

出0入0汤圆

 楼主| 发表于 2013-1-12 01:24:22 | 显示全部楼层


每个传输的数据包(802.3或802.11)包括发送和接收,以硬件规格头部开始(可选),紧跟着包描述符(必须),然后才是具体的数据包。
发送和接收到的数据包描述符是不一样的。

接收数据包的描述符如下:
/** RxPD Descriptor */
typedef struct _RxPD
{
        /** Current Rx packet status */
    u16 RxStatus;

        /** SNR */
    u8 SNR;

        /** Tx Control */
    u8 RxControl;

        /** Pkt Length */
    u16 PktLen;

        /** Noise Floor */
    u8 NF;

        /** Rx Packet Rate */
    u8 RxRate;

        /** Pkt offset */
    u32 PktOffset;
    u8 RxPacketType;
    u8 Reserved_1[3];
        /** Pkt Priority */
    u8 Priority;
    u8 Reserved[3];

} __ATTRIB_PACK__ RxPD, *PRxPD;

发送数据包的描述符如下:
/** TxPD descriptor */
typedef struct _TxPD
{
    /** Current Tx packet status */
    u32 TxStatus;
    /** Tx Control */
    u32 TxControl;
    u32 TxPacketLocation;
    /** Tx packet length */
    u16 TxPacketLength;
        /**Destination MAC address */
    u8 TxDestAddr[MRVDRV_ETH_ADDR_LEN];
    /** Pkt Priority */
    u8 Priority;
    /** Trasnit Pkt Flags*/
    u8 Flags;
    /** Amount of time the packet has been queued in the driver (units = 2ms)*/
    u8 PktDelay_2ms;
    /** Reserved */
    u8 Reserved1;

} __ATTRIB_PACK__ TxPD, *PTxPD;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-1-12 01:31:28 | 显示全部楼层
gaofong 发表于 2013-1-3 12:14
楼主有点滞后了,呵呵,淘宝上已经有在卖的了,都支持裸机运行,一个是叫新动力,从Linux移植的代码,另一 ...

如果对WIFI和8686这个模块不了解,估计买个代码回来想用起来都挺困难的,我相信这里的研究能帮助彻底的了解WIFI底层
以及如何使用到具体的项目中去,but……给我点时间

出0入0汤圆

发表于 2013-1-12 08:10:35 | 显示全部楼层
SUPER ZHICHI

出0入0汤圆

发表于 2013-1-12 08:45:41 来自手机 | 显示全部楼层
留个记号,稍后下载。

出0入0汤圆

发表于 2013-1-12 09:58:26 | 显示全部楼层
支持 学习一下
头像被屏蔽

出0入0汤圆

发表于 2013-1-12 19:22:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2013-1-13 09:36:51 | 显示全部楼层
楼主 研究的 怎样了啊?

出0入0汤圆

发表于 2013-1-13 13:00:31 | 显示全部楼层
记号一下

出0入0汤圆

发表于 2013-1-13 14:43:22 | 显示全部楼层
没弄过WIFI模块,有空玩玩

出0入0汤圆

 楼主| 发表于 2013-1-14 08:51:53 | 显示全部楼层
kangbazi2012 发表于 2013-1-9 10:03
请问楼主研究的stm32 wifi是带操作系统的还是不带的呢?请明示一下。

不带操作系统的,带linux操作系统的早已实现了

出0入0汤圆

发表于 2013-1-14 10:02:35 | 显示全部楼层
xi_liang 发表于 2013-1-14 08:51
不带操作系统的,带linux操作系统的早已实现了

哦,最近我们也在搞这个不带OS的WIFI驱动,前两天在TB上看到一个stm32直接驱动WIFI的,不知真假,楼主,你怎么看?

出0入0汤圆

发表于 2013-1-14 10:17:10 来自手机 | 显示全部楼层
好,我等着

出0入0汤圆

发表于 2013-1-14 15:21:31 | 显示全部楼层
支持楼主。 这个非常好。

出0入0汤圆

发表于 2013-1-14 15:39:15 | 显示全部楼层
支持开源

出0入0汤圆

发表于 2013-1-15 11:08:47 | 显示全部楼层
MARK!!!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-18 11:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表