<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA+DSP+ARM的數據傳送總線(xiàn)變換器

基于FPGA+DSP+ARM的數據傳送總線(xiàn)變換器

作者: 時(shí)間:2010-09-02 來(lái)源:網(wǎng)絡(luò ) 收藏

  4 系統軟件設計

本文引用地址:http://dyxdggzs.com/article/191587.htm

  4.1 嵌入式操作系統

  在該總線(xiàn)變換器中,實(shí)時(shí)數據壓縮的任務(wù)由完成。 S3C4510B完成與PC之間的以太網(wǎng)通信,其軟件實(shí)現所要求的實(shí)時(shí)性、可靠性和復雜性使得選擇一種帶有TCP/IP協(xié)議包的嵌入式實(shí)時(shí)操作系統成為必需,而μCLinux是一個(gè)帶有完整的TCP/IP協(xié)議的操作系統,在μCLinux中加入實(shí)時(shí)RT-Linux模塊以滿(mǎn)足對嵌入式操作系統的實(shí)時(shí)性要求。

  4.2 驅動(dòng)和應用程序的開(kāi)發(fā)

  基于μCLinux操作系統的硬件驅動(dòng)和應用程序的開(kāi)發(fā)是在交叉編譯環(huán)境中進(jìn)行的,首先在PC機上開(kāi)發(fā),然后移植到目標機上進(jìn)行調試并最終固化到目標機上。所開(kāi)發(fā)的硬件驅動(dòng)有以太網(wǎng)卡控制器驅動(dòng)、LCD驅動(dòng)、HPI驅動(dòng)等驅動(dòng)程序。系統軟件結構如圖4所示。


  在μClinux操作系統上運行三個(gè)任務(wù):讀取壓縮數據、通過(guò)以太網(wǎng)發(fā)送數據、接收和執行來(lái)自遠端PC機的命令。其中讀取壓縮數據任務(wù)對實(shí)時(shí)性有要求,它通過(guò)中斷處理程序來(lái)實(shí)現,而其他的兩個(gè)任務(wù)則通過(guò)用戶(hù)進(jìn)程來(lái)實(shí)現。以太網(wǎng)發(fā)送數據的任務(wù)和讀取壓縮數據的任務(wù)共享一個(gè)緩沖區,通過(guò)ioctl函數在其間傳遞緩沖區雙向鏈表的地址。所以需要為數據處理模塊上的通信接口HPI注冊一個(gè)驅動(dòng)程序,注冊驅動(dòng)程序的函數是:

  result=register_chrdev(HPI_MAJOR,hpi,hpi_fops)

  驅動(dòng)程序的主要結構如下:

  struct file_operations hpi_fops=

  {

  owner: THIS MODULE,

  open: hpi_open,

  read: hpi_read,

  write: hpi_write,

  ioctl: hpi_ioctl,

  mmap:hpi_mmap,

  release:hpi_release,

  };

  HPI驅動(dòng)程序編寫(xiě)完成后,將驅動(dòng)程序源代碼置于../linux-2.4.x/driver/char目錄下,同時(shí)修改同級目錄下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o

  同時(shí),為了能夠在?滋Clinux啟動(dòng)時(shí)自動(dòng)初始化此字符設備,還需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:

  (1)新添加的字符驅動(dòng)程序初始化函數聲明:extern void hpi_init(void);

  (2)在字符設備統一初始化函數int _init chr_dev_init(void)中調用新設備的初始化函數,需要在int _init chr_dev_init(void)中加入語(yǔ)句:hpi_init();

  在函數int _init chr_dev_init(void)中,字符設備的初始化函數將被統一調用,并完成字符驅動(dòng)file_operations數據結構的注冊,初始化之后就可以使用HPI字符設備了。

  本文所設計總線(xiàn)變換器,不僅解決了由于傳輸距離遠而引起的信號畸變問(wèn)題,而且滿(mǎn)足了信息傳遞的實(shí)時(shí)性要求,同時(shí)具有網(wǎng)關(guān)功能和嵌入式Web功能,能確保系統安全接入Internet。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA DSP ARM 數據傳送

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>