新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA+DSP+ARM的數據傳送總線變換器

        基于FPGA+DSP+ARM的數據傳送總線變換器

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

          4 系統軟件設計

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

          4.1 嵌入式操作系統

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

          4.2 驅動和應用程序的開發

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


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

          result=register_chrdev(HPI_MAJOR,hpi,hpi_fops)

          驅動程序的主要結構如下:

          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驅動程序編寫完成后,將驅動程序源代碼置于../linux-2.4.x/driver/char目錄下,同時修改同級目錄下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o

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

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

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

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

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


        上一頁 1 2 3 下一頁

        關鍵詞: FPGA DSP ARM 數據傳送

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 和静县| 固始县| 和林格尔县| 黄平县| 周宁县| 安塞县| 蛟河市| 门头沟区| 南城县| 巩义市| 建湖县| 东乡| 益阳市| 通州市| 昆明市| 牡丹江市| 芮城县| 来宾市| 九龙城区| 福安市| 乐山市| 科尔| 离岛区| 黎川县| 通山县| 湘乡市| 奎屯市| 扎兰屯市| 怀远县| 康保县| 布尔津县| 哈尔滨市| 杭锦后旗| 抚松县| 高碑店市| 巨鹿县| 临漳县| 工布江达县| 大埔区| 凌云县| 金山区|