[轉]互聯型嵌入式應用ARM選型分享

轉載自:鄭州恆邁–張弓與非網博客 http://www.eefocus.com/HIGHMAXIM/blog/15-05/312818_2d2cf.html  伴隨著大眾創業萬眾創新的趨勢節奏和創客空間的遍地開花,伴隨著智能硬件產品的赤手可熱和物聯網的應用的不斷深入,伴隨著終端產品研發周期的拼命壓縮和產品的快速量化,也伴隨著半導體原廠新品系列的層出不窮和競爭格局的不斷加深,要想在眾多半導體原廠的產品系列裡,能夠快速的找到適合自己研發項目的功能需求,而且是要求可靠性和穩定性以及性價比都比較高的集成電路主控產品,對於原本選型就比較頭疼和困難的工程師同仁們來說,現在乃至以後所面臨的挑戰會越來越大,困難也會越來越多,盡管目前我們所能夠掌握的信息量越來越多,信息也越來越透明,但如果能從眾多的信息裡面解脫出來,關注自己所關注的應用領域,從全局來了解和把握行業的應用,對於工作繁忙的我們來說,是需要有一種智慧和一個開放的,樂於分享的心態。繞了很大的一個彎兒回來,我先分享下我對:互聯型嵌入式應用ARM選型的一些做法和見解,希望能夠和具有同樣應用的同仁們一起探討和交流。         在ARM應用方面我們都熟知的是ST(意法半導體),當然在互聯性應用的ARM方面我們通常都會順藤摸瓜的選用自己熟知的品牌,我首先看了看STM32F107RB這個型號,基於Cortex-M3核的ARM,帶10/100M的以太網MAC,程序加上軟件的TCP/IP協議棧,128K的閃存應該夠用,但公司要求要有一個備選或者是優化的器件,以面對無端的缺貨和價格的問題。以備不時之需,接著我就看看NXP(恩智浦)的LPC1764FBD100,同樣是基於Cortex-M3核的ARM,帶10/100M的以太網MAC,128K的閃存,而且主頻達到100MHz。這下思路好像一下子打開了一樣,既然是Cortex-M3核的ARM,這兩家半導體廠商會有,那麼其他的主控廠商應該也都會有,於是我就找到了ATMEL(愛特梅爾)的ATSAM3X4EA-AU,順帶說一句就連AVR也有帶以太網MAC的器件,真是不看不知道。找到了SPANSION(飛索半導體)的MB9BF216SPMC,內存容量竟有512K,在看到TI(德州儀器)的LM3S6911是,有個驚奇的發現,原來這個器件不僅有10/100M的以太網MAC,而且還帶了物理層(PHY),這樣的話不僅電路板的面就會縮小,而且可靠性也會比用兩個器件要高,也省去了兩個器件的匹配麻煩,不巧的很官方網站已經不推薦使用,推薦的器件是Cortex-M4內核的TM4C129X,既然是推薦Cortex-M4內核的ARM,那就順便看看飛思卡爾(FSL)基於Cortex-M4內核MK60DN256VLL10這個芯片看著看著,突然想想不對啊,想起前段時間在微信上看到的一個段子,一個人原本打算去買輛自行車結果開了一輛高級轎車回來,既然Cortex-M4內核的ARM不靠譜,那麼有沒有成本比較低的Cortex-M0內核的ARM也帶有以太網MAC的呢?         功夫不負有心人,終於看到了WIZNET(微知納特)的W7500,這個器件足夠強悍:是基於Cortex-M0內核的ARM,同樣是128K的閃存,不僅具有10/100M以太網MAC,而且帶有物理層(PHY),更是用硬件邏輯門去實現TCP/IP協議棧,也就是說軟件的TCP/IP協議棧都不用寫,將本來占用ARM存儲以及運算資源的以太網通信協議,用一顆片外的芯片獨立去實現,不僅節省主控制器的FLASH及RAM的空間,節省了ARM處理TCP/IP通信的中斷及線程,而且降低了開發難度,提升了開發效率及系統表現力,雖然省去了通用型微控制器的一些用不到的功能,但是卻加固了芯片的網絡處理專業能力,簡單易用。有的時候就在想,選擇大於努力這句話真是經典,既然有這樣現成的器件去選擇,那我們干嘛要去努力的琢磨原本不大熟悉的TCP/IP通信協議,不僅浪費了時間還有可能增加了產品不穩定因素,這樣出力不討好的做法難道會成為我們整天忙碌加班的原因?干嘛非要等到公司要求我們這樣做,我們才去這麼做呢,如何才能把被動的工作變換為主動的學習,打開自己的思路,在這終端產品多樣化快速更新的時代裡,在這亂花漸欲迷人眼的繽紛型號裡,在這要求愈來愈嚴格而又快節奏的工作進程裡,在這選擇大於努力而我們又不太善於選擇,甚至都沒有時間去靜心想像怎麼選擇的氛圍裡,這才應該是我們應該考慮的,我們究竟需要的是什麼。 就是因為選擇太難,所有我們本應去選擇適合我們的! 附件:互聯型嵌入式應用ARM對比列表

View More [轉]互聯型嵌入式應用ARM選型分享

[轉]如何移植使用W5500官方提供的最新Socket庫

轉載自:http://www.embed-net.com/thread-55-1-1.html 官方提供了W5500的最新驅動庫,下載地址如下:http://wizwiki.net/wiki/doku.php?id=products:w5500:driver下面簡單介紹下如何使用這套庫 首先下載庫源碼,文件目錄如下所示: 我們主要用到Ethernet文件夾下面的文件,將這些文件加入到自己的工程中,然後編譯,若編譯出現類似於如下錯誤 則需要根據自己的編譯器做下設置,keil MDK設置如下所示:<ignore_js_op> 主要原因是Keil MDK默認設置不支持按照結構體名稱初始化結構體的原因導致。 W5500和MCU是通過SPI接口通信的,庫是利用如下結構體中的相關函數指針實現SPI通信和其他功能。 根據函數名字和庫中的注釋,我們這裡也對要實現的函數做個簡單的說明wizchip_cris_enter :進入臨界區的函數,可以不管wizchip_cris_exit :退出臨界區的函數,也可以不管wizchip_cs_select :輸出有效片選信號的函數,也就是控制CS輸出低電平的函數,必須實現wizchip_cs_deselect :控制CS輸出高電平的函數,必須實現wizchip_bus_readbyte :SPI總線讀取一字節數據函數,必須實現wizchip_bus_writebyte :SPI總線寫一字節數據函數,必須實現根據以上可知,只要實現了SPI的基本操作,移植基本完成,是不是很簡單 下面我們就新建一個spi.c的文件來實現這幾個函數,當然這些函數名字可以不和這個結構體裡面的函數名字一樣,到時候可以調用相關的函數注冊下即可 到這裡,移植基本上完成。 但是這些SPI的接口函數如何跟這套庫銜接呢?不用怕,庫提供有這樣的函數來注冊,只要在主函數中調用下就可以了,具體程序如下 到這裡,移植工程基本完成,下面我們就將官方提供的一個loopback的測試程序移植到我們自己的工程中來,基本上也沒做什麼修改,下面是測試工程用到的幾個測試函數 我們自己在工程中加了串口打印程序,程序運行後串口輸出信息如下: 能ping通,看來沒什麼大問題了 STM32工程源碼下載:http://www.embed-net.com/thread-55-1-1.html來源: iwiznet.cn

View More [轉]如何移植使用W5500官方提供的最新Socket庫

物聯網的新平台 nogs.cc – 在 Nogs Stamp CN1 首發 – 強勁的Cortex M4 加上W5500 以太網

我只是想簡單介紹一個全新的平台:“改變遊戲規則的開源物聯網技術…” 這樣做是為了讓物聯網真正的對象與智能“即時編碼”和執行 Lua script。 Nogs.cc 才剛剛開始,這也是只是一個非常早期的首發硬件: Nogs Stamp CN1 首個被命名為 “Nogs Stamp CN1“ 的硬件特點如下: ATMEL 公司的 ARM Cortex M4,ATSAM4SA16BA,120MHz的 160KB RAM + 1MB 閃存 WIZnet 公司…

View More 物聯網的新平台 nogs.cc – 在 Nogs Stamp CN1 首發 – 強勁的Cortex M4 加上W5500 以太網

基於W5500 + STM32的SNMP協議應用

概述 工具: PC W5500EVB Net-SNMP軟件包編譯環境:Keil4 &IAR 功能:通過網絡管理協議SNMP及基本的控制命令實現簡單的LED控制 一、W5500簡介 韓國WIZnet公司生產的以太網控制芯片W5500整合了五層結構中的前四層,即物理層、數據鏈路層、網絡層和傳輸層,並在內部利用硬件實現了TCP/IP協議棧。 開發者無需專業的網絡知識,使用W5500如同控制外部存儲器一樣簡單,為用戶提供了最簡單的網絡接入方法。 全硬件TCP/IP協議棧完全獨立於主控芯片,可以降低主芯片負載且無需移植繁瑣的TCP/IP協議棧,便於產品實現網絡化更新。 以太網控制芯片W5500具有以下特點: W5500支持硬件TCP/IP協議,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE和以太網的PHY和MAC層,TCP/IP協議的硬件實現 支持8個獨立的SOCKET同時工作,可同時工作在不同的工作模式 支持高速SPI接口(SPI MODE 0,3),SPI的時鐘最高可達到80MHz,極大地提高了網絡通信的數據傳輸速率 內部集成32KB存儲器用於發送/接收緩存 內嵌10BaseT/100BaseTX以太網物理層(PHY) 支持自動協商(10/100-Based全雙工/半雙工) 工作電壓為3.3V,但I/O信號口可承受5V電壓; 二、SNMP協議簡介 SNMP:“簡單網絡管理協議”,用於網絡管理的協議。 SNMP定義在IP協議上,使用無連接的UDP進行通信,SNMP支持5個基本的操作,分別是:GetRequest、GetNextRequest、SetRequest、GetResponse和Trap,這5個操作來自各自的PDU結構。 SNMP採用的是一個請求—應答的通信方式,Trap除外,Trap不需要應答。…

View More 基於W5500 + STM32的SNMP協議應用

PIP Arduino的網頁瀏覽器

PIP是一個在Arduino UNO上運行良好的多功能Web瀏覽器。它可以下載並呈現純HTML(無圖像,CSS或JavaScript),並可跟隨嵌入的鏈接。它是操縱桿控制的,並使用一個320×240的液晶屏為輸出。 以太網和SD卡使用約代碼20KB,這樣LCD驅動器,HTML解析器和渲染擠進12KB。 進行中的代碼工作現在可以在Github上下載。 組件: 1×Arduino Uno (Any ATMega 328p-based board should do) 1×WIZnet 5100 Ethernet shield (Includes a micro SD card slot and uses…

View More PIP Arduino的網頁瀏覽器

Notendo Gamebox

這是一個安裝到紙箱的Arduino便攜式掌上遊戲機,它的名稱是 Gamebox 軟件 該軟件可以正常載入, 源代碼:github 如有必要,可以更改IP地址,或完全用#define在源代碼的頂部省略此部分。該代碼的未來版本將包括選擇不同的遊戲,和菜單。事實上,這取決於當你閱讀本指南上,該代碼可能已經有! 硬件 Arduino Ethernet Shield 16×2字母數字顯示屏 按鈕,和蜂鳴器 裝上電池,蓋上蓋子,把看中的標籤放在前面,並開始播放! 來源:wiznetmuseum

View More Notendo Gamebox