新聞中心

        EEPW首頁 > 設計應用 > 基于Linux-ARM平臺的3G無線設計

        基于Linux-ARM平臺的3G無線設計

        作者: 時間:2010-09-26 來源:網絡 收藏

        0 引言

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

        目前,嵌入式技術已廣泛應用于工業控制、無線通訊、網絡應用、消費類電子產品、成像和安全產品等各類產品。隨著牌照的發放,無線網絡的帶寬大幅擴展,具有無線網絡接入功能的更加具有發展前景。本文將介紹中興的AC580在以S3C2410微處理器為核心的上的應用。

        1 終端系統的硬件平臺

        1.1 系統體系結構

        S3C2410處理器作為核心芯片集成了許多重要功能模塊,本系統主要用到以下部分:NandFlash控制器、SDRAM控制器、3個通道的 UART、2個USB主機接口、1個USB設備接口、JTAG。NandFlash作為存儲器,用于存儲支撐整個系統軟件的BootLoader、 Kernel、文件系統。在開發調試時串口作為控制臺起作用,USB設備接口起到與PC機連接并下載傳輸數據的作用,而USB主機接口用于連接設備,Embedded-ICE(20腳標準JTAG)接口和并口式JTAG接口則支掙ADS軟件的下載、調試以及Flash的燒寫。系統結構圖如下:

        1.2 USB主機接口硬件電路

        中興的AC580無線寬帶上網卡是基于CDMA20001X/EV-DO REVA網絡的數據卡產品。它采用USB接口進行連接,支持操作系統。其傳輸速率為上行(反向鏈路)最高到1.8Mb/s,下行(向前鏈路)最高3.1Mb/s,工作頻段為CDMA800MHz。網卡可以直接通過S3C2410集成了的USB HOST控制器接入,不需要附加額外的芯片,非常方便。USB總線協議定義了四條信號線,其中兩條負責供電,另外兩條負責數據的傳輸。USB HOST接口硬件電路如圖2所示。

        2 系統的3G無線網絡接入功能實現

        系統軟件包括以下三個部分:vivi作為BOOTLOADER(引導啟動程序);-2.6.24作為嵌入式操作系統;Cramfs作為系統的文件系統。系統將采用PPP撥號的方式接入無線網絡。

        2.1 設備驅動與KERNEL

        內核采用的是2.6.24版本,需要移植到平臺。設備驅動程序可以被看作操作系統的一部分。設備驅動既可以交叉編譯到內核鏡像中,也可以以模塊的形式存放在文件系統中,并在運行時加載模塊。本系統采用的方式是編譯到鏡像文件中。

        USB驅動程序分為主機控制器驅動程序(HostController Driver,HCD)、主機端設備驅動程序(USBD)和不同的USB設備的設備類驅動(Sla-ve Device Driver)。USB的HCD是USB主機驅動程序中直接與硬件交互的軟件模塊,USBD是整個USB主機驅動程序的核心,而USB設備類驅動則是最終與應用程序交互的軟件模塊。

        USBD和HCD需在配置內核編譯選項時選擇編譯進內核。對于USB設備類驅動,AC580使用的是高通公司的MSM6085芯片,這款芯片能在USB下仿真出串口,并通過它來完成撥號工作。將中興的USB Serial驅動源碼加入內核源碼中,修改Makefile和Kconfig,將USB Serial驅動編譯進內核。

        另外AC580是一個多合一設備,有CDROM、USBMASS Storage、USB Serial三部分,因此還需添加對SCCICDROM、USB MASS Storage的支持。同時為了實現撥號,編譯的內核還應添加對PPP協議的支持。

        2.2 建立Cramfs文件系統

        Cramfs文件系統是專門針對閃存設計的只讀壓縮的文件系統。當系統需要訪問Cramfs文件系統中某個位置的數據時,計算出該數據在文件系統中的位置,并實時解壓到內存中。文件系統中的系統基本應用程序可以使用Busybox來定制。

        本系統中使用的AC580連接到主機時,USB缺省工作方式是USB存儲設備,在Linux下顯示為CDROM和USB Storage兩個設備,撥號需要找到USB Serial設備。首先需要安裝好USB Serial驅動,其次使用eject/dev/srl命令彈出USB存儲設備。這時AC580中的高通芯片將翻轉為串口模式(在/dev目錄下顯示為/ttyUSB0、/ttyUSBl、/ttyUSB2、/ttyUSB3幾個設備),可以用于撥號及無線網絡數據傳輸。因此在配置編譯BusyBOX時,除必須的系統基本應用程序外,還必須置eject命令。

        在/lib目錄下添加共享鏈接庫。添加內核模塊和配置腳本,包括rt73.ko、/linuxrc、/etc目錄下的配置文件等。在/dev目錄下創建設備節點。字符設備的設備文件由字符“c”來識別,塊設備由字符“b”來識別。通常而言,主設備號標識設備對應的驅動程序,大多數設備按照“一個主設備號對應一個驅動程序”的原則組織,次設備號由內核使用,用于正確確定設備文件所指的設備。以下幾個節點是必須的

        2.3 PPP撥號接入CDMA2000 lx/EVDO無線網

        PPP是簡單鏈路設計的鏈路層協議,設計目的主要是用來建立點對點連接進行數據收發。一個PPP會話分為四個步驟:連接建立、連接質量控制、網絡層協議配置、連接終止。PPP協議作為鏈路層協議,它是在Linux內核中實現的。

        PPP撥號需要撥號程序及撥號腳本。撥號程序選擇的是PPP-2.4.1,將交叉編譯生成的chat、pppd、pppdump、pppstats程序文件添加至系統文件系統的/usr/sbin目錄下。
        撥號腳本及所需文件存放在文件系統的/etc/ppp/目錄下:pap-secrets、chap-secrets、PPP-off、 resolv.conf、chat-connect、/peers/cdma3g。其pap-secrets、chap secrcts是chap和pap認證文件;resolv.conf是域名服務器配置文件;chat-connect是chat腳本;PPP-off是下線腳本;cdma3g是pppd腳本,里面配置了pppd程序參數。以下是主要的PPPd程序參數:

        /dev/ttyUSB0 Modem在ttyUSBO上;115200串口的速率;noipdefault不使用指定ip;defaultroute加入缺省路由;scr“vnet.mobi”用戶名;connect‘/usr/sbin/chat-S-V-f/etc/ppp/cbat-connect’調用chat程序并使用chat-connect腳本。

        用mkcramfs工具生成Cramfs文件系統。至此,可以利用PPP撥號來實現3G無線網絡接入功能了:#pppd calledma3g

        3 結束語

        本文詳細介紹了基于S3C2410微處理器的嵌入式Linux系統接入3G無線網絡的方法,對系統的硬件架構及軟件實現進行了詳細介紹。3G無線寬帶網接入功能使得在無線通訊、網絡應用、消費類電子等方面具備廣闊的發展前景和強大的競爭力,給嵌入式系統帶來更廣泛的應用。

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

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江油市| 云浮市| 鲁山县| 长白| 凌源市| 兰坪| 平阴县| 奉贤区| 老河口市| 防城港市| 丹东市| 五华县| 黔江区| 佛学| 新闻| 朝阳县| 辉南县| 禹城市| 始兴县| 淄博市| 黄梅县| 大关县| 北海市| 邵东县| 蓬莱市| 唐海县| 福贡县| 浠水县| 甘孜| 东阿县| 昭苏县| 桓台县| 宁河县| 通许县| 阿克| 辽阳市| 来凤县| 江达县| 杭锦后旗| 莱西市| 常宁市|