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

物聯網數據采集器硬件設計

2021-11-11 05:18:08高學群
中國軍轉民 2021年19期
關鍵詞:嵌入式設備

■ 高學群

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

本設計選用Linux作為軟件平臺進行開發,內核版本2.6.39。

1 基于Linux 的設備驅動介紹

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

驅動的對象不是CPU 內核而是存儲器和外設。Linux把存儲器和外設分為字符設備、塊設備和網絡設備。字符設備是像觸摸屏、鼠標之類的以串行順序依次進行訪問的設備。塊設備是可以用任意順序進行訪問并經過系統的快速緩沖的設備。雖然字符設備不經過系統的快速緩沖,但是它們之間并沒有明顯的界限,就像有塊設備特點的Flash 設備,也可以把它看成一個字符設備來訪問。網絡設備主要是接收和發送數據包。

2 設計的嵌入式Linux 驅動程序設計

2.1 串口底層驅動程序

異步串口是通信最常用的資源。RS-232 和RS-485都是串行數據接口標準。RS-485比RS-232在傳輸速度、距離等方面都有著明顯優勢,同時一條總線上最多可連接32 個接收器。由于它們的時序完全一樣,只是在電氣特性上有所區別,所以它們之間也很容易實現轉換。

串口驅動位于tty 子系統。對于用戶來說,訪問串口與訪問其它字符設備的方法一樣,都是通過系統調用訪問設備文件從而訪問設備。串口主要有open 函數,read函數,write函數。因此驅動程序中也要實現這三個實現函數,如圖1 串口驅動包含以下部分:

圖1 串口驅動程序結構

本設計基于Linux-2..639內核源碼完成對串口驅動程序的開發。其主要代碼在linux-2.6.39drivers tyserialatmel_serial.c 中實現。其中部分函數如下:

(1)驅動加載與卸載函數

(2)開始發送數據

本設計基于Linux-2..639內核源碼完成對串口驅動程序的開發。其主要代碼在linux-2.6.39drivers tyserialatmel_serial.c 中實現。其中部分函數如下:

(1)驅動加載與卸載函數

(2)開始發送數據

2.2 以太網口底層驅動程序

在物聯網發展的今天,嵌入式系統都會擁有網絡模塊。以太網作為通信接口有著傳輸速度快、穩定等優點。它也可以作為嵌入式系統開發的調試的接口。Linux網絡驅動程序的體系結構如圖2 所示

圖2 Linux 網絡驅動程序的體系結構

網絡設備接口及以上層次的源碼都可以通過Linux 內核中找到,因此對于特定網絡硬件驅動程序的移植關鍵在于設備驅動功能層,包含接收數據、發送數據等控制。所有網絡設備在Linux 中都可以抽象為一個接口,網絡設備在內核中的運行情況由網絡設備接口(結構體struct net_device)來表示。以dev_base 為頭指針的設備鏈表(每個元素代表一個網絡設備接口)管理著所有網絡設備。大部分供系統訪問和協議層調用的設備方法都在結構體net_device 中,有init 函數(初始化)、open 和stop 函數(設備打開關閉)、hard_start_xmit 函數(數據包發送)以及中斷處理函數等。

本設計基于Linux-2.6.39內核源碼完成對網口驅動程序的開發。其主要代碼在linux-2.6.39drivers etfec.c中實現。其中部分功能如下:

(1)網絡設備驅動程序的模塊加載與卸載函數

(2)網絡設備驅動的初始化

(3)網絡設備打開與釋放

(4)數據包發送函數

2.3 液晶顯示底層驅動程序

嵌入式處理器能夠提供一個良好的人機交互平臺,屏幕主要有LCD,液晶等。幀緩沖存儲器是Linux 操作系統提供一個接口,以便連接顯示設備,并且能夠讓上層應用程序直接進行讀寫顯示緩沖區,方便用戶使用。

fbmem.c 中的file_operations 結構體是幀緩沖設備提供給用戶空間的,對應的xxxfb.c 文件實現對于特定幀緩沖設備關于fb_info結構體的注冊與注銷等,以及fb_ops中成員函數,LCD 控制器硬件寄存器由fb_ops 中成員函數操作。Linux 幀緩沖設備驅動程序結構見圖3。

圖3 幀緩沖設備驅動的程序結構

本設計基于Linux-2.6.39內核源碼完成對顯示屏驅動程序的開發。其主要代碼在linux-2.6.39driversvideoatmel_lcdfb.c 中實現。其中部分函數如下:

(1)幀緩沖設備驅動的模塊加載與卸載函數

(2)平臺驅動的探測與移除函數

(3)幀緩沖設備驅動的讀寫函數

2.4 按鍵輸入底層驅動程序

在嵌入式系統中,有許多輸入設備,如觸摸屏、按鍵、鼠標等。本設計采用了6 個按鍵完成輸入功能,其底層驅動的結構如圖4。

圖4 按鍵驅動程序結構

(1)按鍵驅動模塊的加載和卸載函數

(2)實現設備操作函數

猜你喜歡
嵌入式設備
諧響應分析在設備減振中的應用
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于VB6.0+Access2010開發的設備管理信息系統
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 国产91丝袜在线播放动漫 | 免费看美女毛片| 毛片a级毛片免费观看免下载| 亚洲天堂777| 国产一区成人| 国产成人亚洲无码淙合青草| 午夜激情婷婷| 欧美亚洲欧美| 国产成在线观看免费视频| 激情亚洲天堂| 久久综合激情网| 国产自在线拍| 精品国产免费第一区二区三区日韩| 国产AV毛片| 亚洲娇小与黑人巨大交| 国产电话自拍伊人| 国产在线自乱拍播放| 亚洲日韩高清无码| 久久免费观看视频| 久久网欧美| 一本色道久久88| 欧美伦理一区| 欧美另类图片视频无弹跳第一页| 日韩免费毛片视频| 国产欧美日韩在线在线不卡视频| 狠狠躁天天躁夜夜躁婷婷| yjizz视频最新网站在线| 真人免费一级毛片一区二区| 四虎国产精品永久在线网址| 手机成人午夜在线视频| 99热这里只有精品国产99| 一边摸一边做爽的视频17国产| 亚洲天堂色色人体| 欧美成人怡春院在线激情| 亚洲综合天堂网| 午夜爽爽视频| 在线看片免费人成视久网下载| 国产人人射| 在线人成精品免费视频| 黄片在线永久| 国产成人亚洲无码淙合青草| 欧美专区在线观看| 国产性生大片免费观看性欧美| 国产一区二区在线视频观看| 国产精品高清国产三级囯产AV| 97国产精品视频人人做人人爱| 国产一级一级毛片永久| 91美女视频在线观看| 最新亚洲人成无码网站欣赏网| 日韩乱码免费一区二区三区| 亚洲欧美色中文字幕| 婷婷午夜天| 伊伊人成亚洲综合人网7777| 欧美在线导航| 久操线在视频在线观看| 91久草视频| 亚洲清纯自偷自拍另类专区| 日韩精品成人网页视频在线| 无码AV高清毛片中国一级毛片| 精品福利一区二区免费视频| 亚洲无码高清一区二区| 亚洲人成网址| 青草视频免费在线观看| 国产成人免费高清AⅤ| 制服丝袜亚洲| 精品国产99久久| 99久久精品国产综合婷婷| 国产区91| 欧美日韩亚洲综合在线观看| 中文字幕第4页| 亚洲国产理论片在线播放| 色综合中文| 性喷潮久久久久久久久| 国产亚洲欧美另类一区二区| 欧美黄网在线| 伊人无码视屏| 亚洲国产日韩一区| 欧美精品1区2区| YW尤物AV无码国产在线观看| 麻豆国产精品| 九九精品在线观看| 欧美三级视频在线播放|