• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Jupiter處理器在嵌入式網關中的應用

    Jupiter處理器在嵌入式網關中的應用

    作者: 時間:2006-05-09 來源:網絡 收藏
    是基于Internet技術的分布式設備網絡平臺的關鍵。它提供一個不同協議網絡通信系統(如RS232接口、RS485接口、RF接口等)和以太網甚至是萬維網的連接。提供Web服務器以及對各種接口的連接方法。嵌入式Web服務器也是專門為嵌入式設備而設計的一種小巧精悍的Web服務器,能夠運行于嵌入式TCP/IP協議棧上,并能夠提供幾乎所有的傳統Web服務器所能夠提供的功能。

    1 利用嵌入式的工廠管理方案
    工廠內部利用4 8 5線或者以太網來傳遞指令,并且可以采用2種方法對監控對象故障發送報警信息:用標準的MODEM命令發送GSM短消息或通過SMTP客戶端發電子郵件。萬維網與控制網的交互是借助于嵌入式網關進行的。當控制終端通過萬維網向作為智能節點的現場設備發送控制信息時,它首先基于TCP/IP協議將信息發送給網關,再由網關根據現場設備總線采用相應的TCP/IP協議、RS485協議、RS232協議發送給相應的現場設備。反過來也是這樣,嵌入式網關主要負責現場協議間的相互轉化,通過嵌入式網關解決了不同協議標準的系統集成問題,如圖1所示。



    2 硬件子系統
    是韓國ADC公司生產的32位高速雙以太網,是一款低成本、高性能、建立在以太網系統基礎之上的高性能價格比的。該芯片內含2個10/1 00Mb/s自適應以太網接口,廣泛于集線器和路由器的設計,其最大優點類似于ARM內核的內建32位EISC,支持uClinux操作系統,是當今市場EISC系列的一個代表產品。(EISC結構)與CISC芯片相比具有優化嵌入式專長、代碼優化,而芯片結構外平相當。指令的易操作性使得硬件功能實現變得更簡單。
    Jupiter處理器工作頻率50MHz,采用16位單周期指令集,運算速度快;內含4K Cache、2個10/100Mb/s自適應雙以太網控制器、最大支持640480的彩色STNLCD控制器、2個串行的UART、2個DMA、串行SIO控制器、4個3 2位定時器及可編程I/O口、1個中斷控制器、DRAM控制器、ROM/SRAM控制器;芯片系統管理器還包括內部3 2位總線的仲裁器和擴展存儲器控制器;有8個3 2MB存儲器空間可供用戶擴展;處理器內建DHCP Client(含PPPoE、Proxy、DNS)及DHCP Server兩項功能,可廣泛于IP共享器、Sohu網關、工業現場Web服務器和瀏覽器、家庭網關、ADSL、工控網絡控制器等。
    韓國ADC公司的Jupiter芯片與其他公司的比較如表1所示。


    3 軟件結構
    傳統的嵌入式開發所針對的是一些相對簡單的應用。通常只有一個簡單(或固定的幾個)的應用運行,實現的任務簡單,并且是針對具體應用的,所以不需要復雜的任務管理、調度機制。從工程設計夠用就行的角度看,使用簡單的方法燒寫ROM,系統啟動后直接執行該程序就可以了,根本不需要操作系統參與,開發人員能夠了解所有應用啟動,資源管理細節,并能夠管理它們。 嵌入式網關根本作用是把嵌入式設備同現有的以太網絡連接起來,但又在很大程度上保持原有嵌入式網絡的各自功能,所以網關必須具有解析多種協議的能力。對于這種較為復雜的應用,傳統嵌入式設計的方法已經無法滿足要求,必須尋求操作系統以應付多任務和復雜任務的處理。
    uCliux是Linux操作系統的一種,是由Linux2.0內核發展來的,是專為沒有MMU的微處理器設計的嵌入式Linux操作系統。因為大多數內核源代碼都被重寫,uClinux的內核要比原Linux2.0內核小的多,但保留了Linux 操作系統的主要優點:穩定性,優異的網絡能力以及優秀的文件系統支持.uClinux中u表示Micr0,小的意思,C表示Cntrol,控制的意思,所以uClinux就是MicrO-C0ntroller-Linux,字面上的理解就是“針對微控制領域而設計的Linux系統”。
    uClinux可以通過定制使內棱小型化,還可以加上GUI(圖形用戶界面)和定制應用程序,并將其放在ROM、RAM、Flash或Disk On Chip中啟動。由于嵌入式uClinux操作系統的內核定制高度靈活性,開發者可以很容易地對其進行按需配置,來滿足實際應用需要。又由于uClinux是源代碼公開的,因此開發人員只要了解內核原理就可以自己開發各類驅動程序。
    Jupiter芯片是沒有內存管理單元(MMU)的處理器,而uClinux很好地解決了沒有MMU內存管理問題,采用存儲器的分頁管理.系統在啟動時把實際存儲器進行分頁。系統對于內存的訪問是直接的(它對地址的訪問不需要經過MMU,而是直接送到地址線上輸出),所有程序中訪問的地址都是實際的物理地址。操作系統對內存空間沒有保護(這實際上是很多嵌入式系統的特點),各個進程實際上共享一個運行空間(沒有獨立的地址轉換表)。

    4 網關的uCIinux的開發
    Jupiter已向用戶免費提供了uCinux操作系統源代碼及其相關參考通信類源程序。開發板利用串行口與PC機串行口相連接,利用Cygwin仿真Linux操作系統環境,由ADC公司提供的EISCStudio軟件包對用戶程序進行在線Debg通信與調試。提供C編譯器鏈接、反匯編窗口和存儲器窗口、匯編和C源程序調試窗口,可單步、宏單步、斷點設置、斷點運行、連續運行、全速運行等,通過變量窗口可觀察并可修改源程序的變量,軟件支持模擬調試和在線調試兩種方式。
    4.1 uClinux內核的生成
    首先安裝并運行Cygwin(Windows環境下虛擬Linux系統的軟件)
    進入X:cygwinhomeadministratoruClinux-eiSCuClInux-24.20(X為Cygwin安裝所在分區)
    在Cygwin環境下執行
    (1)>mike mroper
    (2)>make Jupiter_c0nfig
    (3)>make 01dconfig
    (4)>make dep
    (5)>maKe
    執行完上述步驟后,生成了romimage.bln文件,其中包括seloader.bin(bootloader文件)、linux.bm(1inux內核文件)和rdgz.bin(壓縮的ramdisk文件)
    4.2 uClinux內核的移植
    通過燒錄器將seloader.bin下載到系統的EPROM芯片上后進行如下操作。
    ①把Jupiter的cOMl口連PC的COM0,啟動超級終端,并把JUPiter網口0連到內部網上。啟動后,應該在超級終端窗口中看到如下信息:
    seloader is se3208 Boot Loader
    CPyright(C)2002 ad chips
    seloader comes With ABSOLUTELY NO WARRANTY:Read the
    GNU GPL for details
    AutObOOt abortedTvpe"help"to get a list of commands
    seloader>
    ② 在PC上安裝并運行兩個服務程序DHCP和TFTPD。
    DHCP(動態主機分配協議)是一個簡化主機IP地址分配管理的TCP/IP 標準協議。用戶可以利用DHCP服務器管理動態的IP地址分配及其它相關的環境配置工作(如DNS、WINS、Gateway的設置); tftpd是第三方的ftp工具,實現TFTP Internet 標準。該標準不要求用戶名和密碼。
    ③通過dhcp設置用戶網關內部網絡設備物理地址。Bootp sever configuration Option->add static address entry:Set the Hardware address by。"00:01:23:45:67:00"At the IP address first three octet must be same with server IPaddress and last octet can be anyone 設置完后自動啟動,在狀態欄中顯示:1istening onport 67。
    ④ 設置TFTPD.設置tftPd->configure.>homedirectory:為:X: ftpserver。在這目錄里存放了 linux.bin,rdgz.bin文件。然后tfptd->start,在狀態欄里顯示: serveris running。
    ⑤ 在超級終端中執行bootp命令。命令:seloader>bootp。
    ⑥執行tftp下載linux.bin命令:seloader>tftp linuxbin kernel。
    ⑦執行tftp下載rdgz.bin命令:seloader>tftp rdgzbin ramdisk。
    ⑧執行boot啟動uclinux 命令:seloader>boot。
    Startingkernel……
    inhead-se3208.S
    Linux version2.4.20-uc0(administrator@ZENGYU-X14PHIPI)(gccversion egos-2.91
    66 19990314(egcs-1.1.2 release)#1 Thu Apr 10 15:43:30 2003
    Architecture:eisc-jupiter
    .
    .
    .
    Command:hosmamejupiter
    Command:mount-t proc proc/proc
    command:cat/etc/motd
    Welcome to
    For further information check:
    htto://www.adc.co.kr/
    Command:ifconfig eth0 192.168.0.3
    Command:ifconfig ethl up
    Command:ifconflg ethl 192.168.10.3
    Command:roHte add default gw l92.168.0.2
    Command:ifconfigl0 127.0.0.1
    Command:route add-net l27.0.0.0 netmask 255.0.0.01o
    Conwnand:#dhcped-P-a eth0&
    Execution Finished,Exiting
    Sash command shell(version.1.1.1),(pgid:14)
    即在網關上建立了uClinux環境。驅動程序和應用程序的開發即可在LinUX平臺下進行。

    5 總結
    本文介紹了一種基于Jupiter處理器的網關設備實際上,這些設備還需要針對特定的網絡接口進行二次開發。平臺提供的是以太網和RS485、RS232端的接入,編譯開放環境(編譯器、調試器、函數庫)。具體的二次開發包括針對特定的嵌入式設備網絡接口器件開發驅動程序,針對具體的控制解決方案開發控制程序,實現具體的控制策略。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 怀来县| 宣恩县| 英吉沙县| 葫芦岛市| 台南县| 大宁县| 龙里县| 巨野县| 和政县| 土默特右旗| 隆德县| 平凉市| 望谟县| 湖州市| 鄂伦春自治旗| 通辽市| 贵南县| 新绛县| 望江县| 城固县| 广河县| 海门市| 西林县| 榆林市| 静宁县| 兰坪| 宕昌县| 平塘县| 通江县| 古丈县| 安福县| 秦皇岛市| 三门县| 叶城县| 武乡县| 丰都县| 拉孜县| 额济纳旗| 广饶县| 舟山市| 乾安县|