1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 嵌入式家庭網關中SPI接口的軟件模擬

        時間:2024-07-26 22:22:49 理工畢業論文 我要投稿
        • 相關推薦

        嵌入式家庭網關中SPI接口的軟件模擬

        摘要:介紹嵌入式家庭網關的基本框架和信息流程,及其CPU S3C4510B的體系結構和內部資源;說明在所選用uClinux操作系統下,添加SPI接口驅動程序的詳細過程。

        引言

        隨著信息社會的發展,網絡和信息家電越來越地出現在人們的生活中。人們普通要求將家庭內的所有家用電器與Internet連接起來,實現主人在遠方用計算機或電話通過Internet對象家庭電設施進行監控。家用電器制造商可以通過網絡對其生產的設備進行售后跟蹤服務;家用電器是故障時能自動按預設的郵件地址來發送電子郵件進行報警。這就需要有一個“家庭網絡中央控制器”。它對外與Internet連接,對內通過家庭內部無線局域網將所有家用電器連接成一體,從而確保信息家電安全地接入Internet。當前,多數研究單位推出的家庭網絡智能控制器,均以PC或準PC機作為硬件平臺,由于價位高而均未被市場容納。

        嵌入式Internet是近幾年發展起來的一項新興技術。以32位ARM嵌入式微處理器為硬件平臺,通過移植嵌入式操作系統uClinux內核,開發相應的硬件驅動、微型GUI和上層應用軟件,最終實現產品化的嵌入式家庭網絡中央控制器。該系統具有體積小、功耗低、價格便宜的特點。

        1 系統的硬件組成

        本系統以高性能、低價格的S3C4510B為主CPU。它是Samsung公司推出的基于ARM7TDMI核,精簡指令系統的32位高速微處理器。工作電壓為3.3V,內核ARM7TDMI的工作電壓為2.5V,大大降低了芯片的功耗。S3C4510B片上資源:一個總線仲裁器可以根據總線仲裁優先級在片上功能模塊和外圍設備之間進行系統總線控制權分配;8KB指令、數據復用Cache,每128bit為1頁,并可全部或部分設置為SRAM;1個主I2C總線控制器,可作為主發送器或主接收器,能連接多個從設備;2個通用DMA;18個通用I/O口; 2路4線UART口,其中一個支持IrDA 1.0,可用于紅外通信;6組ROM/SRAM/Flash用于管理外部存儲器。另外,可擴展4組動態存儲器和4 BANK擴展I/O設備;2通道帶有DMA傳送方式的HDLC口;1個10M/100M自適應以太網控制器。

        圖1為家庭網關的硬件框圖,以S3C4510B為基本核心系統,外圍擴展一系列功能模塊。有4×4鍵盤及以屏幕LCD顯示構成良好的人機界面,用于手動本地參數查詢和設定。家庭網關基本系統以SPI接口與PTR3000無線收發模塊相連,同時家庭內部家電控制器也通過SPI接口擴展PTR3000無線模塊。這樣,家庭網關的無線模塊以輪詢的方式與家庭內各家電控制器上無線模塊進行通信,從而組成家庭內部無線子網。家庭網關基本系統只需對SPI口進行操作即可實現與家電通信。實現了家電以家庭網關為中介與Internet在物理層互聯的三個通路:PC通過LAN經由Internet連接到基本系統的以太網口、PC通過Modem經由公司電話網與嵌入式Modem相連再到UART1、電話機經過公用電話網經語音卡連到UART1。

        2 uClinux嵌入式操作系統

        操作系統選用uClinux。它是一個完全符合GNU(GNU’s Not Unix,自由軟件基金會)/GPL(General Pulic License,通用公共許可證)公約的完全開放代碼項目,是標準Linux的一個分支,現在由Lineo公司支持維護。它專門針對沒有MMU的CPU,并且專為嵌入式系統做了許多小型化的工作。

        UClinux經過對標準Linux內核的改動,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,但uClinux仍然保留了Linux的大多數的優點,穩定、良好的移植性、優秀的網絡功能、完備的對各種文件系統的支持以及標準豐富的API。它的主要特片如下:

        ①在linux-2.4.x/driver/char/Makefile添加1行:obj_$(CONFIG_SPI) =SPI.0。在24行obj-y =mem.o tty_io.o后加PI.o。

        ②在linux-2.4.x/driver/char/Config.in,添加1行:bool'SPI'CONFIG_SPI便于在make me nuconfig時選擇。

        ③在linux-2.4.x/driver/char/mem.c在文件頭部添加:#ifdef CONFIG_SPI /*編譯時選擇該項就執行SPI的初始化函數*/

        extern void SPI_init(void);

        #endif

        在chr_dev_init()函數添加:#ifdef CONFIT_SPI

        SPI_init();

        #endif

        ④修改vendor/Samsung/4510b/Makefile,建立起設備節點。

        在12~35行間,DEVICE部分添加內容SPI,c,29,0。SPI是設備名,c代表字符設備,29是SPI的主設備號,0是SPI的次設備號。⑤make menuconfig時選中SPI編譯,然后直載。

        啟動后,會看到/proc/devinces中字符設備多了一項SPI 29。

        S3C4510B有18個通用I/O口,其中高10位可設置為其它功能口。在該系統中,設置P8為中斷接收線,P11模擬主機輸出線MOSI,P12模擬主機時鐘SCK,P13模擬主機輸入線MISO。P8口用于接收PTR3000的發送請求信號。當P8口接收到請求信號時,系統進入中斷處理。中斷處理進程喚醒睡在睡眠隊列SPI_WAIT上的讀進程,讀進程由P12口輸出SCK信號并由P13口讀入數據。值得說明的是,SPI不帶中斷線,在此用P8口做中斷接收線是為了避免操作系統在沒有進行SPI操作時不斷向SCK線發時鐘信號。因此,MSP430F147IPM必須另外與S3C4510B連一個引腳在請求發送數據時發出中斷接收線是為了避免操作系統在沒有進行SPI操作時不斷向SCK線發時鐘信號。因此,MSP430F147IPM必須另外與S3C4510B連一個引腳在請求發送數據時發出中斷請求信號。實現過程如下:

        Static wait_queue_head_wait; //休眠隊列

        嵌入式家庭網關中SPI接口的軟件模擬

        【嵌入式家庭網關中SPI接口的軟件模擬】相關文章:

        基于串行外設接口(SPI)的CAN總線隔離擴展設計03-18

        ADμC812的串行外設接口(SPI)及其應用03-18

        嵌入式系統的實時數據接口擴展03-20

        嵌入式系統中的PS/2接口設計11-22

        嵌入式軟件的覆蓋測試03-18

        嵌入式WEB傳感器的網絡化接口設計03-18

        基于SIP的嵌入式終端軟件系統03-07

        嵌入式處理器MPC8250與CF卡的接口設計03-18

        基于復雜度的嵌入式軟件功耗模型03-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>