新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 集成了網絡連接的低成本控制器

        集成了網絡連接的低成本控制器

        作者: 時間:2016-10-15 來源:網絡 收藏

        1 引言 按照當前的技術水準,如果設計一個不與網絡或互聯網連接的控制、調節或數據通信系統顯然是落伍了。文中將介紹如何采用Maxim/Dallas創新的八位網絡微控制器DS80C400實現的具有WEB連接的工業應用。 網絡的存在大大簡化了系統服務和電纜連接,通過以太網也能夠實現越來越多的功能。如今越來越多的微控制器被部署在以太網上,例如:無線接入點、視頻監控、網絡打印、路由器等。在這些應用中,為了減輕軟件處理負荷、降,需要核心芯片,也就是有以太網接口和TCP/IP協議棧的微控制器,Maxim/Dallas推出的DS80C400則具備以上特點。 DS80C400非常適合上述應用,它可以連續運行,并只消耗極少的能量。該器件可以輕易實現VoIP、Internet電話等功能,還可以通過Internet或家庭網絡控制空調和取暖設備。有了它,就沒有必要在系統的每一單元都安裝昂貴的電路,系統中的任何PC都可以通過DS80C400查看相關數據和發送控制操作。各個單元只需與現有,這些網絡可以是家庭或者公司內部網絡,也可以是Internet,而且其服務設置和安裝過程可以由網絡上的任何PC實現。 2 DS80C400功能特點 這款新型控制器為系統監控提供了更多的途徑。用戶可以采集多個地點的溫度并實時顯示溫度數值,也可以用彩色圖表顯示不同的溫度值和連續工作情況。研發工程師還可以嘗試不同的監視和控制方式,而不需要在各控制點增加轉換器和昂貴的伺服機構。由于DS80C400可以通過以太網接入In-ternet,這樣就使操作者的實際位置變得無關緊要,可以輕松實現遠端或遠距離的系統監控。 圖1 2.1 低功耗 DS80C400能夠以最少的外圍器件和最低的功耗實現簡單有效的功能。參考設計(DSTINIM400和DSTINIS400)中包含了以太網接口和2個串行接口,此外,板上有1M字節RAM和1M字節的Flash存儲器。該控制器工作在29.4912MHz時鐘下,運行TI-NI-OS和Webserver操作系統時的總功耗為0.5W。圖1所示為DS80C400的內部結構框圖。 DS80C400具有功率管理模式PMM,可以對內部時鐘進行256分頻。在PMM模式下,微處理器的速度非常低,仍可以繼續執行程序,但電源電流極低,甚至低于空閑模式下的電源電流。當有中斷指令產生或其中一個串口接收到數據時,DS80C400會自動恢復標準工作模式。PMM模式下損耗較大的定時器時鐘是1024分頻,而不是4分頻。低功耗模式下,內部8051核工作于1.8V,而I/O驅動部分工作在3.3V(可以承受5V)。 2.2 高指令執行速度 在高達75MHz時鐘時,DS80C400的指令執行速度可以達到18.75MIPS,足以支持以太網接收未經壓縮的音頻數據流,然后經過D/A轉換再發送出去。DS80C400也適合分辨率和刷新速率較低的安全監控系統。但是,DS80C400不能用于高速、連續吞吐量的場合,例如文件服務器、網絡DVD刻錄機等。此外,DS80C400內部的運算加速器可以執行16位和32位乘法、除法、移位和歸一化處理。 2.3 接口和外圍設備 DS80C400提供多種接口,其中包括CAN2.0B控制器接口、三個1-Wire接口、全雙工硬件串行接口、八個雙向8位端口(共計64個數字I/O口)。DS80C400有16M字節的可訪問地址空間、22條地址線和4個內部編碼片選使能端,見圖2所示。它內部有10/100M以太網媒體存取控制器MAC,可以支持半雙工和全雙工Internet協議IPv4和IPv6。為了減輕發送和接收時的CPU負荷,DS80C400還內含8K字節帶緩沖的數據包存儲器。 圖2 DS80C400內嵌64K字節ROM,ROM中的固件利用DHCP,配合TFTP,通過以太網連接實現網絡裝載。ROM固件支持UDP、TCP、DHCP、ICMP和IGMP,因此實現了完全可以訪問的TCP/IP協議棧。另外,用戶也可以從已在IEEE注冊的DS2502-E48(Maxim/Dallas產品,一種提供48位節點地址的芯片)中獲得一個MAC地址。 2.4 Java Maxim/Dallas免費提供基于8051核的Java操作系統以配合DS80C400的使用。設計者可以從網站:ftp//ftp.dalsemi.com/pub/tini/下載Java操作系統TINI-OS和一些應用例程。TINI-OS提供一個類似UNIX的Shell:SLUSH-shell,其中包含了FTP和Tel-net等標準組件。TINI網站也提供了一些簡單范例,例如用于Web服務器的Java源程序,該程序利用DS1920(數字溫度傳感器)來測量溫度,并通過HTML頁面顯示溫度值。 3 典型應用 在DS80C400上安裝TINI-OS的WEB服務器需要下述條件: ●帶DS80C400微控制器的電路板,推薦使用1M字節Flash存儲器,1M字節SRAM。也可以從以下網址下載一個示例: ftp://ftp.dalsemi.com/pub/tini/reference de-signs/TINIm400/TINIm400 C.PDF ●最新版本的TINI-OS操作系統,可以從下面網址得到: ftp://ftp.dalsemi.com/pub/tini/tini1 13.tgz ●編譯J2SDK1.4.x、Linux/Unix或Windows版本,可參考: http://java.sun.com/j2se/1.4.2/download.html ●用了串行裝載器的DS80C400、Java-Communications-API,Linux/Unix或Windows版本傳送軟件,參考: http://java.sun.com/products/javacomm/down-loads/index.html 4 實現WEB訪問的步驟 首先需要在PC上安裝JAVA-COMM API、Java2 SDK及其所有附件。JAVA-Communication-API的安裝可參考文件:PlatformSpecific.html。然后解壓縮已下載的Tini-Paket(Tini操作系統軟件包)tini1-13.tgz文件。Windows用戶應該把這個文件解壓縮到根目錄下,并且使用盡可能簡短的目錄名,以便于手工輸入路徑名。這里假設解壓縮到CTNIOS。現在可以運行Tini JavaKit,與DS80C400的裝載器通信如下 java -classpath c:tiniosbintini.jar; c:j2sdk1.4.2 05libcomm.jar JavaKit 完成上述操作后,JavaKit就可以和DS80C400進行通信了,在此之前,還必須用串口電纜連接DS80C400的串口0(引腳P3 B0和P3 B1)和PC。為了能使用JavaKit的DTR-Reset復位,應該用另外一個串行收發器將PC串口的DTR引腳接到DS80C400電路板的手動復位電路上。 圖3 用戶必須確保DS80C400的第96引腳P1_B7在復位時沒有接地。否則,復位后DS80C400將自動從地址40000h開始運行程序。同樣,DS80C400的第32腳也不能拉低到地電位,否則在接收到來自TFTP服務器的復位后,ROM將啟動NetBoot過程。復位后DS80C400應該返回以下信息: DS80C400 silicon software. Welcome to the TINI DS80C400 car boat Loader 1.0.1 用戶可以用Java-Kit通過File->Load-FileCtiniosbintini 400.tbin操作將TINI-OS文件拷貝到DS80C400線路板的Flash中, 通過File->Load-File Ctiniosbinslush 400.tbin將slush-shell拷貝到Flash中。在重新啟動之前,還需清除HEAP。隨后,將DS80C400的第96腳(P1 B7)拉低到地以產生一次復位。復位之后將顯示以下信息: [=slush version 1.13 =,] [System coming up.] [Beginning initialization...] [Need generating log file.][Info] [Initializing shell commands...][Done] [Checking system files...][Done] [Initializing and parsings. startup...] [Initializing network...] [Starting DHCP Client...] [waiting of for DHCP IP Lease...] [DHCP IP of lease Successful.] [Network configuration] [Done] [Starting up Telnet servers...] [Done] [Starting up FTP servers...] [Done] [System init routines] [Done] [slush initialization complete. 〗 Hit any key to log-in. 以上顯示表明操作系統已經運行于DS80C400。用戶可以憑用戶名“root”和密碼“tini”登錄。如果網絡不支持DHCP動態主機配置協議,還必須使用一個靜態IP地址。配置結果將保存在SRAM的HEAP區域。如果這個SRAM采用備用電池供電,那么即使去掉了主電源,網絡參數和系統數據仍然可以完好無缺。現在,用戶不再需要Ja-va-Kit和串口連接,就可以使用FTP服務將自己的軟件拷貝到系統文件里。進一步的設置可以用Telnet完成。 從PC上可以看到一個簡單的Java WEB服務器: c:tiniosexamplesTINIWebserver。 用批處理文件buildWebServer.bat可以方便地編譯這個程序。用戶可以把從FTP得到的TINI-WebServer.tini拷貝到DS80C400文件系統的桌面:/bin下,然后通過Telnet用命令/bin/TINIWebServ-er.tini運行它。也可以把這個命令寫到啟動文件里(/etc/.startup,一個類似PC中的autoexec.bat文件),這樣在系統啟動時,就可保證啟動WEB服務器。可通過Internet Explorer來運行DS80C400里的Web服務器Webserver,在地址欄里輸入地址http//192.168.1. 50后的顯示結果如圖3所示。 在這個參考設計里,監控的溫度來自接在第99腳(OW)的DS1920溫度傳感器,時鐘信息來自帶I2C總線接口的DS1672實時時鐘芯片。

        本文引用地址:http://www.104case.com/article/201610/307537.htm


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇安县| 灵寿县| 海南省| 宁波市| 临泉县| 玛曲县| 榕江县| 涞源县| 平乐县| 梁平县| 吉木乃县| 抚顺市| 南雄市| 临颍县| 三亚市| 衡阳市| 商丘市| 石台县| 铜山县| 肃南| 贡嘎县| 兴山县| 铜陵市| 民和| 冕宁县| 绥中县| 镇巴县| 兰考县| 台北县| 怀化市| 德州市| 湟中县| 交口县| 泸溪县| 靖远县| 华安县| 上犹县| 札达县| 玛纳斯县| 襄垣县| 遂昌县|