999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

物聯(lián)網(wǎng)數(shù)據(jù)采集器硬件設(shè)計(jì)

2021-11-11 05:18:08高學(xué)群
中國(guó)軍轉(zhuǎn)民 2021年19期
關(guān)鍵詞:嵌入式設(shè)備

■ 高學(xué)群

Linux 系統(tǒng)作為嵌入式操作系統(tǒng)有著明顯的優(yōu)勢(shì),首先,Linux源代碼是開放的,全球的Linux 愛好者都是在不斷地開發(fā)完善Linux內(nèi)核;其次,Linux 系統(tǒng)內(nèi)核很小,最小可達(dá)約134KB。同時(shí)Linux 內(nèi)核的更新速度很快并且可以定制。Linux 一大亮點(diǎn)就是免費(fèi)。Linux 適應(yīng)多種CPU 硬件平臺(tái)表現(xiàn)了嵌入式操作系統(tǒng)必須的特色。如今,Linux 操作系統(tǒng)不僅支持二三十種CPU,而且容易開發(fā)、使用和性能良好。Linux的平臺(tái)移植成為CPU 芯片行業(yè)的熱門項(xiàng)目,移植速度更是超過了Java。在網(wǎng)絡(luò)方面,Linux 內(nèi)核的結(jié)構(gòu)更有優(yōu)勢(shì),能夠完備的支持TCP/IP 協(xié)議并且能夠提供了最高千兆的以太網(wǎng)以及無線等網(wǎng)絡(luò)支持。

本設(shè)計(jì)選用Linux作為軟件平臺(tái)進(jìn)行開發(fā),內(nèi)核版本2.6.39。

1 基于Linux 的設(shè)備驅(qū)動(dòng)介紹

設(shè)備驅(qū)動(dòng)在字面可以清楚的理解為“驅(qū)使硬件設(shè)備行動(dòng)”。驅(qū)動(dòng)是與底層硬件接觸,而不同硬件設(shè)備具有不同的工作方式,所以驅(qū)動(dòng)要按照具體的工作方式讀寫硬件設(shè)備寄存器,完成中斷處理、物理內(nèi)存向虛擬內(nèi)存的映射等,使設(shè)備各功能能夠正常工作,如能夠收發(fā)數(shù)據(jù)的通信設(shè)備,能顯示文字的顯示設(shè)備等。

驅(qū)動(dòng)的對(duì)象不是CPU 內(nèi)核而是存儲(chǔ)器和外設(shè)。Linux把存儲(chǔ)器和外設(shè)分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。字符設(shè)備是像觸摸屏、鼠標(biāo)之類的以串行順序依次進(jìn)行訪問的設(shè)備。塊設(shè)備是可以用任意順序進(jìn)行訪問并經(jīng)過系統(tǒng)的快速緩沖的設(shè)備。雖然字符設(shè)備不經(jīng)過系統(tǒng)的快速緩沖,但是它們之間并沒有明顯的界限,就像有塊設(shè)備特點(diǎn)的Flash 設(shè)備,也可以把它看成一個(gè)字符設(shè)備來訪問。網(wǎng)絡(luò)設(shè)備主要是接收和發(fā)送數(shù)據(jù)包。

2 設(shè)計(jì)的嵌入式Linux 驅(qū)動(dòng)程序設(shè)計(jì)

2.1 串口底層驅(qū)動(dòng)程序

異步串口是通信最常用的資源。RS-232 和RS-485都是串行數(shù)據(jù)接口標(biāo)準(zhǔn)。RS-485比RS-232在傳輸速度、距離等方面都有著明顯優(yōu)勢(shì),同時(shí)一條總線上最多可連接32 個(gè)接收器。由于它們的時(shí)序完全一樣,只是在電氣特性上有所區(qū)別,所以它們之間也很容易實(shí)現(xiàn)轉(zhuǎn)換。

串口驅(qū)動(dòng)位于tty 子系統(tǒng)。對(duì)于用戶來說,訪問串口與訪問其它字符設(shè)備的方法一樣,都是通過系統(tǒng)調(diào)用訪問設(shè)備文件從而訪問設(shè)備。串口主要有open 函數(shù),read函數(shù),write函數(shù)。因此驅(qū)動(dòng)程序中也要實(shí)現(xiàn)這三個(gè)實(shí)現(xiàn)函數(shù),如圖1 串口驅(qū)動(dòng)包含以下部分:

圖1 串口驅(qū)動(dòng)程序結(jié)構(gòu)

本設(shè)計(jì)基于Linux-2..639內(nèi)核源碼完成對(duì)串口驅(qū)動(dòng)程序的開發(fā)。其主要代碼在linux-2.6.39drivers tyserialatmel_serial.c 中實(shí)現(xiàn)。其中部分函數(shù)如下:

(1)驅(qū)動(dòng)加載與卸載函數(shù)

(2)開始發(fā)送數(shù)據(jù)

本設(shè)計(jì)基于Linux-2..639內(nèi)核源碼完成對(duì)串口驅(qū)動(dòng)程序的開發(fā)。其主要代碼在linux-2.6.39drivers tyserialatmel_serial.c 中實(shí)現(xiàn)。其中部分函數(shù)如下:

(1)驅(qū)動(dòng)加載與卸載函數(shù)

(2)開始發(fā)送數(shù)據(jù)

2.2 以太網(wǎng)口底層驅(qū)動(dòng)程序

在物聯(lián)網(wǎng)發(fā)展的今天,嵌入式系統(tǒng)都會(huì)擁有網(wǎng)絡(luò)模塊。以太網(wǎng)作為通信接口有著傳輸速度快、穩(wěn)定等優(yōu)點(diǎn)。它也可以作為嵌入式系統(tǒng)開發(fā)的調(diào)試的接口。Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系結(jié)構(gòu)如圖2 所示

圖2 Linux 網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系結(jié)構(gòu)

網(wǎng)絡(luò)設(shè)備接口及以上層次的源碼都可以通過Linux 內(nèi)核中找到,因此對(duì)于特定網(wǎng)絡(luò)硬件驅(qū)動(dòng)程序的移植關(guān)鍵在于設(shè)備驅(qū)動(dòng)功能層,包含接收數(shù)據(jù)、發(fā)送數(shù)據(jù)等控制。所有網(wǎng)絡(luò)設(shè)備在Linux 中都可以抽象為一個(gè)接口,網(wǎng)絡(luò)設(shè)備在內(nèi)核中的運(yùn)行情況由網(wǎng)絡(luò)設(shè)備接口(結(jié)構(gòu)體struct net_device)來表示。以dev_base 為頭指針的設(shè)備鏈表(每個(gè)元素代表一個(gè)網(wǎng)絡(luò)設(shè)備接口)管理著所有網(wǎng)絡(luò)設(shè)備。大部分供系統(tǒng)訪問和協(xié)議層調(diào)用的設(shè)備方法都在結(jié)構(gòu)體net_device 中,有init 函數(shù)(初始化)、open 和stop 函數(shù)(設(shè)備打開關(guān)閉)、hard_start_xmit 函數(shù)(數(shù)據(jù)包發(fā)送)以及中斷處理函數(shù)等。

本設(shè)計(jì)基于Linux-2.6.39內(nèi)核源碼完成對(duì)網(wǎng)口驅(qū)動(dòng)程序的開發(fā)。其主要代碼在linux-2.6.39drivers etfec.c中實(shí)現(xiàn)。其中部分功能如下:

(1)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的模塊加載與卸載函數(shù)

(2)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)的初始化

(3)網(wǎng)絡(luò)設(shè)備打開與釋放

(4)數(shù)據(jù)包發(fā)送函數(shù)

2.3 液晶顯示底層驅(qū)動(dòng)程序

嵌入式處理器能夠提供一個(gè)良好的人機(jī)交互平臺(tái),屏幕主要有LCD,液晶等。幀緩沖存儲(chǔ)器是Linux 操作系統(tǒng)提供一個(gè)接口,以便連接顯示設(shè)備,并且能夠讓上層應(yīng)用程序直接進(jìn)行讀寫顯示緩沖區(qū),方便用戶使用。

fbmem.c 中的file_operations 結(jié)構(gòu)體是幀緩沖設(shè)備提供給用戶空間的,對(duì)應(yīng)的xxxfb.c 文件實(shí)現(xiàn)對(duì)于特定幀緩沖設(shè)備關(guān)于fb_info結(jié)構(gòu)體的注冊(cè)與注銷等,以及fb_ops中成員函數(shù),LCD 控制器硬件寄存器由fb_ops 中成員函數(shù)操作。Linux 幀緩沖設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)見圖3。

圖3 幀緩沖設(shè)備驅(qū)動(dòng)的程序結(jié)構(gòu)

本設(shè)計(jì)基于Linux-2.6.39內(nèi)核源碼完成對(duì)顯示屏驅(qū)動(dòng)程序的開發(fā)。其主要代碼在linux-2.6.39driversvideoatmel_lcdfb.c 中實(shí)現(xiàn)。其中部分函數(shù)如下:

(1)幀緩沖設(shè)備驅(qū)動(dòng)的模塊加載與卸載函數(shù)

(2)平臺(tái)驅(qū)動(dòng)的探測(cè)與移除函數(shù)

(3)幀緩沖設(shè)備驅(qū)動(dòng)的讀寫函數(shù)

2.4 按鍵輸入底層驅(qū)動(dòng)程序

在嵌入式系統(tǒng)中,有許多輸入設(shè)備,如觸摸屏、按鍵、鼠標(biāo)等。本設(shè)計(jì)采用了6 個(gè)按鍵完成輸入功能,其底層驅(qū)動(dòng)的結(jié)構(gòu)如圖4。

圖4 按鍵驅(qū)動(dòng)程序結(jié)構(gòu)

(1)按鍵驅(qū)動(dòng)模塊的加載和卸載函數(shù)

(2)實(shí)現(xiàn)設(shè)備操作函數(shù)

猜你喜歡
嵌入式設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
如何在設(shè)備采購(gòu)中節(jié)省成本
原來他們都是可穿戴設(shè)備
主站蜘蛛池模板: av免费在线观看美女叉开腿| 黄色在线网| 亚洲国产精品美女| 在线播放国产一区| 久久久黄色片| 五月天在线网站| 国产在线八区| 日韩高清一区 | 色悠久久综合| 欧美日在线观看| 日本免费高清一区| 黄色片中文字幕| 欧美精品黑人粗大| 亚洲人成网站色7777| 国产第一页屁屁影院| 亚洲人成影院在线观看| 亚洲男人天堂网址| 国产精品自拍露脸视频| 九色在线视频导航91| 九色视频线上播放| 国产性爱网站| 欧美色综合网站| 成人亚洲国产| 婷婷综合在线观看丁香| 99无码中文字幕视频| 少妇极品熟妇人妻专区视频| 日本在线免费网站| 2021国产v亚洲v天堂无码| 污污网站在线观看| 国产免费看久久久| 伊人久久精品亚洲午夜| 国产亚洲精品97在线观看| 91久久天天躁狠狠躁夜夜| 四虎亚洲精品| 亚洲天堂区| 日韩最新中文字幕| 99久久国产综合精品2020| 日本少妇又色又爽又高潮| 亚洲国产91人成在线| 欧美成人a∨视频免费观看| 国内老司机精品视频在线播出| 九九热视频精品在线| 国产精品毛片一区| 毛片在线播放网址| 色屁屁一区二区三区视频国产| 久久综合久久鬼| 99久久精品国产自免费| 91视频首页| 久视频免费精品6| 亚洲日本在线免费观看| 婷婷激情亚洲| 亚洲乱伦视频| 99精品在线视频观看| vvvv98国产成人综合青青| 91小视频版在线观看www| 国产特级毛片| 九色在线视频导航91| 精品无码一区二区三区电影| 在线观看国产黄色| 成人免费网站久久久| 国产理论一区| 欧美人在线一区二区三区| 久久久久久尹人网香蕉| 欧美日韩一区二区三| 亚洲无码高清一区二区| 亚洲中文久久精品无玛| 亚洲日韩图片专区第1页| 一区二区三区精品视频在线观看| 夜夜操国产| 日韩天堂视频| 亚洲不卡无码av中文字幕| a毛片在线| 国产无码制服丝袜| 国产成人精彩在线视频50| 色亚洲成人| jizz在线免费播放| lhav亚洲精品| 免费国产一级 片内射老| 亚洲精品综合一二三区在线| 3p叠罗汉国产精品久久| 日本在线亚洲| 亚洲一欧洲中文字幕在线|