|
本帖最后由 avr-arm 于 2017-11-11 10:04 编辑
缘起
市面上的开源硬件非常多,例如Nano Pi、Fire prime、Beaglebone black、Raspberry Pi、Arduino等,这些平台做的很棒,我以我的标准来打造的话,那一定是充分强调:极致易用、小巧、廉价、Linux生态这四个特性,简单概括为:小而美的Linux玩具。既然它们都不满足,那我干脆打造一款。碰巧联发科在推广面向于IOT领域的MT7688芯片,看到芯片手册的那一刻我心里只有一个念头:就是你了!选好了CPU后,外围就好说了。从易用的角度我们做了几个人性化设计:一个是干脆板载console调试,让用户使用更少的线缆,另一个是支持免拆flash就可以用编程器刷机。还有一个是干脆板载了声卡,方便很多用户玩音频、语音。接下来做样板和小批量,很悲哀的是样板前后共做了五版才让我满意。系统这一块我们毫不犹豫的选择了OpenWrt而不是传统Linux,虽然意义上都是Linux系统,但易用性、扩展性、开发便捷上完全不在一个层次。就算看作是嵌入式的Android也不为过。说说名字,Widora是Wrt和Pandora的合成词。中文是歪朵拉,可以理解为一个可以跑OpenWrt的潘多拉盒子。
简介
NEO是一款电子原型平台,硬件基于MT7688AN Wi-Fi SOC,软件基于OpenWrt / LEDE 等Linux发行版,提供了丰富的外设和存储空间。允许使用 C , SHELL , Node.js , Python等语言进行开发。硬件资源如下:
MIPS CPU 580MHz + 32MByte FLASH + 128MByte DDR2 RAM + 150Mbps Wi-Fi 1T1R 802.11bgn + 100Mbps ETH
若干GPIOS + SPI CS0(FLASH占用),CS1预留 + UART0(默认控制台),UART1,UART2 + PWM0-3 + I2S 全双工 + USB2.0 HOST + SDIO
设计框图
外围接口
1. 板载WI-FI天线,默认发货时WI-FI信号走此天线
2. IPEX天线连接器,可以修改射频电阻来启用此接口,用于连接外置高增益天线
3. CPU硬复位按钮,随时按下即可复位
4. 用户按钮,IO信号对应GPIO38,在Uboot状态下按下可以进入web页刷机状态,进OpenWrt系统后长按超过3秒可以恢复出厂设置
5. 10/100Mbps网卡,对应Port0,默认是LAN口,在路由器模式下用作WAN口
6. FLASH芯片,存储Uboot和OpenWrt镜像,NEO有两种配置:
旧批次配置为FLASH为16MB,FLASH为SOP8封装。
新批次配置为FLASH为32MB,FLASH为WSON-8封装。
7. 复位IC,提供高可靠的上电复位和电压不稳复位(3.3V掉落至2.93V触发复位动作)
8. MT7688AN主芯片
9. DDR2颗粒,128MByte容量
10. 音频CODEC芯片,I2S接口,提供音频数字信号和模拟信号的双向转换
11. USB转串口TTL芯片CP2104,用户可省去外置的USB-TTL小板
12. 音频功放输出,一共4pin,正面看左侧2PIN是右声道输出,右侧2PIN是左声道输出,分别可接1个8欧扬声器
13. 耳机、MIC一体化音频接口,支持常见的手机带MIC耳机,例如小米、三星等耳机
14. NEO的USB供电口,兼备串口控制台功能
15. 三个LED,从上至下依次是电源指示(红色)、有线网口0连接指示(蓝色)、WI-FI指示灯(橙色)
16. NEO的USB-HOST口,可以外接U盘、USB摄像头等等,需要用一条OTG线
17. TF卡槽(背面),用于扩展系统存储或用来存储用户数据
资料
原理图:
尺寸图PDF:
MT7688_datasheet: https://labs.mediatek.com/en/download/50WkbgbH
其他手册:
SPIS部分编程手册:
无线校准文件(带水印,如有问题我会删除):
Wi-Fi驱动接口使用手册(带水印,如有问题我会删除):
联发科官方linkit-HDK,这里边有个Altium Designer的工程,适合观摩学习 :https://labs.mediatek.com/en/download/3eQOed51
源码
玩MT7688AN平台的源码分为两种,一种是联发科提供的Linux SDK,此SDK扩展性稍差,适合做路由器,网上很多,搜索MediaTek_ApSoC_SDK_4300_20140916.tar.bz2 字眼就能找到,不过我犹豫精力原因,不折腾它的sdk。
另一种是玩OpenWrt,相信玩过路由器的对OpenWrt都不陌生,活生生一个嵌入式Linux发行版,很多扩展功能都可以通过opkg安装来实现,非常方便。
我们做的源码:https://github.com/widora/openwrt_widora
Git搞下来,平台选择MT7628,Widora32m后编译即可。
Uboot源码:https://github.com/widora/u-boot-mt7688
注意:仅WiFi驱动是以KO形式提供,其他代码赤裸裸开源。
用C语言做的一些历程,驱动各种小外设: https://github.com/widora/ctest ,这个仓库要先看README
玩法、操作说明
整理好的玩法放到了wiki上: wiki.widora.cc
论坛里也有一些玩法,很有意思:
http://sns.widora.cc/topic/74/widora-neo-电视棒-玩软件无线电
http://sns.widora.cc/topic/50/导入-用widora-neo制作迷你相册-midas-zhou/12
http://sns.widora.cc/topic/279/widora-neo-热插拔自动播放u盘里的mp3-识别鼠标-用鼠标控制音量
http://sns.widora.cc/topic/283/widora-neo-挂三个声卡的效果
http://sns.widora.cc/topic/42/导入-wma定点解码mplayer-制作简单的网络收音机-midas-zhou
http://sns.widora.cc/topic/237/用-widora-neo-ting-01m-进行lora通信试验
http://sns.widora.cc/topic/218/分享一个非硬件spi控制的spi屏幕应用程序 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|