<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現(xiàn)在位置:范文先生網>理工論文>電子通信論文>嵌入式家庭網關中SPI接口的軟件模擬

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

      時間:2023-02-20 23:49:09 電子通信論文 我要投稿
      • 相關推薦

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

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

          關鍵詞:家庭網關 S3C4510B uClinux SPI 軟件模擬

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

      引言

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

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

      1 系統(tǒng)的硬件組成

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

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

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

      UClinux經過對標準Linux內核的改動,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,但uClinux仍然保留了Linux的大多數的優(yōu)點,穩(wěn)定、良好的移植性、優(yōu)秀的網絡功能、完備的對各種文件系統(tǒng)的支持以及標準豐富的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 /*編譯時選擇該項就執(zhí)行SPI的初始化函數*/

      extern void SPI_init(void);

      #endif

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

      SPI_init();

      #endif

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

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

      Static wait_queue_head_wait; //休眠隊列

      //讀函數

      static ssize_t SPI_onlyread(struct file*file,char *buf,size_t count,loff_t *ppos)

      {

      interruptible_sleep_on(&SPI_wait); //讀進程睡眠等待讀中斷信號

      if(count>BUFNUM)count=BUFNUM;

      for(num=0;num<count;num++){

      for(i=0;i<8;i++){

      iopdata=iopdata^0x1000; //時鐘輸出

      SPI_read[num]=SPI_read[num]+((iopdata&0x2000)>>(12-i)); //數據輸入

      }

      }

      if(copy_to_user(buf,&SPI_read,count)) //數據從內核空間拷貝到用戶這間

      return-EFAULT;

      return count;

      }

      //寫函數

      static ssize_t SPI_onlywrite(struct file *file,const char *buf,size_t count,loff_t *ppos)

      {

      if(count>BUFNUM)count=BUFNUM;

      if(copy_from_user(&SPI_write,buf,count)) //數據從用戶空間拷貝到內核空間

      return-EFAULT;

      for(num=0;num<count;num++){

      for(i=0;i<8;i++){

      iopdata=((SPI_write[num]&0x1)<<11)+(iopdata&0xfffff7ff);

      SPI_write[num]=SPI_write[num]>>1;

      iopdata=iopdata^0x1000; //時鐘輸出

      }

      }

      return count;

      }

      //中斷響應函數

      static int SPI_irq(int irq,void *dev_id,struct pt_regs *regs)

      {

      intpnd=intpnd|0X1; //清中斷位

      wake_up_interruptible(&SPI_wait); //喚醒睡眠隊列

      return

      1;

      }

      //字符設備驅動接口

      static struct file_operations SPI_fops={

      owner; THIS_MODULE,

      read: SPI_onlyread,

      write: SPI_onlywrite,

      };

      //初始化函數

      int_init SPI_init(void)

      register_chrdev(29,"SPI"&SPI_fops);//設備注冊函數

      init_waitqueue_head(&SPI_wait);

      if(!request_irq(0,SPI_irq,SA_SAMPLE_RANDOM,"SPI"NULL)){ //中斷申請

      return-EFAULT;

      }

      iopmod=(iopmod&0xffffe7ff)=0x1800+iopmod; //設置通用I/O口模式

      iopcon=(iopcon&0xffffffe0)+0xle+iopcon;//設置通用I/O模式

      enable_irq(0); //開中斷

      return 0;

      }

      module_init(SPI_init);

      MODULE_LICENSE("GPL);

      EXPORT_NO_SYMBOLS;

      結語

      實驗證明,模擬的SPI口接收發(fā)送數據準確可靠。用戶程序可以以設備文件的形式進行訪問,與標準的SPI接口無異。該方案對于嵌入式家庭網關的研究,以及運用uClinux作為操作系統(tǒng)的嵌入式模擬通信接口,有一定的參考價值。


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

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

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

      兼容SPI接口的低功耗數字溫度傳感器ADT7301及其接口技術08-06

      通過SPI接口協(xié)議實現(xiàn)DSP與其它設備的通信08-06

      嵌入式設備鼠標接口的設計與實現(xiàn)08-06

      嵌入式系統(tǒng)的實時數據接口擴展08-06

      嵌入式軟件的覆蓋測試08-06

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

      嵌入式GSM短信息接口的軟硬件設計08-06

      主站蜘蛛池模板: 精品一区二区三区四区色| 亚洲第一无码AV无码专区| 久久国产一区二区日韩av| 虎白女粉嫩尤物福利视频| 国产AV福利第一精品| 国产成人剧情AV麻豆果冻| 亚洲天堂亚洲天堂亚洲色图 | 在线国产精品中文字幕| 亚洲高清乱码午夜电影网 | 亚洲全网成人资源在线观看| 成人区人妻精品一区二蜜臀| 91福利视频一区二区| 又大又粗又硬又爽黄毛少妇| 夜夜春久久天堂亚洲精品| 亚洲av无码乱码在线观看野外| 午夜爽爽爽男女免费观看影院 | 在线天堂最新版资源| 亚洲熟少妇一区二区三区| 国内精品久久久久影院网站| 国产成人A区在线观看视频| 日韩大尺度一区二区三区| 久久精品久久电影免费理论片| 国产在线无码视频一区二区三区| 天堂网av一区二区三区| 美女黄18以下禁止观看| 精品人妻少妇一区二区三区| 麻豆精产国品一二三区区| 久爱www人成免费网站| 日韩丝袜亚洲国产欧美一区 | 成 人色 网 站 欧美大片| 亚洲精品三区四区成人少| 国内不卡不区二区三区| 亚洲丰满熟女一区二区v| 一区二区三区四区自拍视频| 精品中文人妻中文字幕| 国产播放91色在线观看| 日本中文一二区有码在线| 亚洲性色AV一区二区三区| 国产免费性感美女被插视频| 2019久久久高清日本道| 72种姿势欧美久久久久大黄蕉|