<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • VxWorks下PC/104-CAN驅(qū)動(dòng)程序設(shè)計(jì)

    時(shí)間:2024-07-02 00:22:09 理工畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    VxWorks下PC/104-CAN驅(qū)動(dòng)程序設(shè)計(jì)

    摘要:詳細(xì)介紹實(shí)時(shí)多任務(wù)操作系統(tǒng)VxWorks環(huán)境下驅(qū)動(dòng)程序的設(shè)計(jì)原理;針對(duì)驅(qū)動(dòng)程序?qū)崿F(xiàn)的困難,給出VxWorks下實(shí)現(xiàn)驅(qū)動(dòng)程序的工作步驟。文件以PC/104-CAN適配卡為例,簡(jiǎn)要介紹硬件結(jié)構(gòu),重點(diǎn)給出驅(qū)動(dòng)程序?qū)崿F(xiàn)的關(guān)鍵代碼。

    VxWorks是一款優(yōu)秀的實(shí)時(shí)多任務(wù)操作系統(tǒng),具有搶占式調(diào)試、中斷延遲小等特點(diǎn)。本文在簡(jiǎn)要介紹必備的硬件環(huán)境下,以VxWorks為平臺(tái),詳細(xì)介紹驅(qū)動(dòng)程序的開發(fā)。

    1 PC/104-CAN適配卡的硬件結(jié)構(gòu)

    PC/104-CAN適配卡主要由CAN控制器(SJA1000)、光電隔離(6N137),收發(fā)驅(qū)動(dòng)器(82C250)及譯碼電路組成。編程主要了解的是控制器SJA1000。CAN適配卡原理如圖1所示。

    2 CAN地址譯碼和中斷選擇

    系統(tǒng)104主板的CPU為486DX,其對(duì)接口板訪問有兩種方式:內(nèi)存映射和I/O訪問。I/O尋址采用專門的指令,每次只能傳送單個(gè)字節(jié)。內(nèi)存映射方式可以訪問較大的地址空間并且指令豐富,便于實(shí)現(xiàn)快速交換數(shù)據(jù)。本文討論的CAN卡采用存映射模式工作,與486DX接口是104總線,它與ISA總線兼容。對(duì)于Intel X86體系的CPU,ISA可以映射的空間為0xC8000~0xEFFFF。使用比較器和地址選擇開關(guān)組成可選端口地址譯碼電路,通過開關(guān)選通內(nèi)存映射基地址(C8000H、C9000H、CA000H、…、EF000H),以避免與其它器件沖突。CAN偏移地址分配如下:

    00~FFH SJA1000的寄存器;

    100H~1FFH 對(duì)該范圍內(nèi)的任意地址進(jìn)行寫操作,均可導(dǎo)致CAN硬件復(fù)位。

    SJA1000的INT引腳通過跳線選擇IRQ3~7、IRQ9~12或IRQ15中的一個(gè),避免與其它的適配卡沖突。

    3 PC/104-CAN適配卡驅(qū)動(dòng)實(shí)現(xiàn)

    3.1 VxWorks驅(qū)動(dòng)概述

    VxWorks操作系統(tǒng)有兩種方式實(shí)現(xiàn)驅(qū)動(dòng)。第一種方式是,把設(shè)備驅(qū)動(dòng)程序作為獨(dú)立任務(wù)實(shí)現(xiàn),直接在頂層任務(wù)中實(shí)現(xiàn)硬件操作,完成特有專用的驅(qū)動(dòng)程序。第二種方式是,VxWorks的I/O系統(tǒng)將設(shè)備程序作為內(nèi)核過程實(shí)現(xiàn)。這種方式便于實(shí)現(xiàn)I/O子系統(tǒng)的層次模型,便于文件系統(tǒng)一起把設(shè)備作為特殊文件處理,提供統(tǒng)一的管理、統(tǒng)一的界面和統(tǒng)一的使用方法,并把設(shè)備、文件及網(wǎng)絡(luò)通信組織成為一致的更高層次的抽象,為用戶提供統(tǒng)一的系統(tǒng)服務(wù)和用戶接口。我們和這種驅(qū)動(dòng)方式。

    作為I/O系統(tǒng)和硬件設(shè)備之間的連接層,VxWorks驅(qū)動(dòng)就是屏蔽硬件操作,為I/O系統(tǒng)提供服務(wù)。實(shí)現(xiàn)一個(gè)完整的驅(qū)動(dòng),必須了解VxWorks下I/O的三個(gè)基本元素:File、Driver和Dervice。File是為用戶提供訪問設(shè)備的統(tǒng)一接口;Driver是實(shí)現(xiàn)具體的基本控制函數(shù),也就是實(shí)現(xiàn)I/O系統(tǒng)所需要的接口;而Device則是一個(gè)抽象的硬件設(shè)備,是一系列的結(jié)構(gòu)體、變量和宏定義對(duì)實(shí)際物理設(shè)備的定義。一般而言,實(shí)現(xiàn)一個(gè)驅(qū)動(dòng)應(yīng)該有三個(gè)基本的步驟:①用編程語言完成對(duì)實(shí)際物理設(shè)備的抽象;②完成系統(tǒng)所需要的各類接口及自身的特殊接口;③將驅(qū)動(dòng)集成到操作系統(tǒng)中。之后還有一些調(diào)試工作。

    3.2 VxWorks I/O系統(tǒng)驅(qū)動(dòng)程序框架

    VxWorks為各種設(shè)備(包括字符設(shè)備、塊設(shè)備、虛擬設(shè)備及網(wǎng)絡(luò)設(shè)備)提供統(tǒng)一的訪問接口,包括七種基本的I/O函數(shù):open(filename、flags、mode),create(filename、flags),read(fd、

    【VxWorks下PC/104-CAN驅(qū)動(dòng)程序設(shè)計(jì)】相關(guān)文章:

    WindowsCE.Net下CAN卡的驅(qū)動(dòng)程序設(shè)計(jì)03-20

    windowsnt環(huán)境下fddi網(wǎng)卡驅(qū)動(dòng)程序設(shè)計(jì)(2)03-18

    windows nt環(huán)境下fddi網(wǎng)卡驅(qū)動(dòng)程序設(shè)計(jì)03-18

    嵌入式Linux下CAN總線驅(qū)動(dòng)程序設(shè)計(jì)03-07

    在VxWorks下實(shí)現(xiàn)NAT/NAPT的方法03-20

    基于VxWorks的多DSP系統(tǒng)的多任務(wù)程序設(shè)計(jì)03-18

    I2C總線在uClinux操作系統(tǒng)下的驅(qū)動(dòng)程序設(shè)計(jì)11-22

    基于Vxworks實(shí)時(shí)操作系統(tǒng)的串口通信程序設(shè)計(jì)與實(shí)現(xiàn)03-18

    在Linux下驅(qū)動(dòng)STN彩色LCD03-18

    基于PCI總線的雙DSP系統(tǒng)及WDM驅(qū)動(dòng)程序設(shè)計(jì)03-19

    主站蜘蛛池模板: 国产精品无码无在线观看| 国产人成精品午夜在线观看| 久久久国产乱子伦精品作者| 国产精品第1页| 精品国产_亚洲人成在线高清| 亚洲欧洲成人精品香蕉网| 国产麻豆精品入口在线观看 | 日韩人妻无码精品久久久不卡| 国产乱码精品一区二区三| 色综合久久精品中文字幕首页| 精品无码人妻一区二区三区品| 无码国模国产在线无码精品国产自在久国产| 91精品国产高清久久久久久国产嫩草 | 久久夜色精品国产噜噜麻豆| 亚洲精品高清在线| 国产精品偷窥熟女精品视频| 九九在线精品视频专区| 2021国产精品视频| 国产综合精品女在线观看| 日韩精品无码久久久久久 | 91精品国产高清久久久久久io| 亚洲精品无码Av人在线观看国产 | 国产精品无码不卡一区二区三区| 久久99久久99小草精品免视看| 99国产精品久久| 国产精品一区二区久久不卡| 久久成人国产精品| 久久精品国产网红主播| 亚洲AV成人无码久久精品老人| 亚洲精品WWW久久久久久| 亚洲AV永久无码精品一区二区| 日韩一区二区三区精品| 网友偷拍日韩精品| 亚洲国产精品激情在线观看| 三级国产精品| 亚洲日韩一页精品发布| 亚洲国产精品无码久久SM| 日韩精品无码一本二本三本| 精品国产午夜理论片不卡| 国产成人精品999在线观看| 国产福利91精品一区二区|