请选择 进入手机版 | 继续访问电脑版

雨林木风

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14|回复: 0

基于Linux操作系统和红外发射器实现系统模块的设计

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32519
发表于 2021-2-17 22:18:05 | 显示全部楼层 |阅读模式
  是当今通行的操作编制之一。因为其内核强大、运转高效、源码盛开,而且Linux是免费的操作编制,再加上其优越的可移植性等技艺上风,使其一经成为嵌入式操作编制的主流。装备驱动顺序是Linux操作编制中的一个要紧的构成片面,现正在延续升级的Linux内核中,扩充最众的即是驱动顺序。因为Linux是盛开源代码的,给咱们供给了一个绝好的时机来领会和改制装备驱动顺序,使其满意本身的卓殊利用,如许正在嵌入式产物中,就可认为本身特有的外围装备编写一个装备驱动顺序。因为IrDA技艺的郁勃繁荣,供给了各样消息家电装备之间的无线贯穿的最佳挑选,数据传输,本钱低廉、贯穿便利、方便易用、构造紧凑,正在小型嵌入式转移装备中也获得了平常的利用。装备有红外技艺转移电话、片面数字助理、札记本电脑都已上岸商场,因而,嵌入式装备的IrDA模块的斥地有着盛大的商场前景。
  本文将详尽疏解基于Inte1的PXA255解决器的Sitsang斥地平台红外模块的打算,此中搜罗Linux下的IrDA驱动顺序的斥地和基于MC68HC908AP64红外发射器的软硬件打算两个片面。
  编制挪用是操作编制内核和利用顺序之间的接口,驱动顺序是操作编制内核和呆板硬件之间的接El,也是利用层和现实硬件装备之间的软件。一个驱动顺序即是一个函数和数据构造的凑集,它的方针即是达成一个方便的执掌装备的接口。内核用这个接口仰求驱动顺序驾御装备的I/O操作。装备驱动顺序为利用顺序樊篱了硬件的细节,如许正在利用顺序看来,硬件装备只是一个装备文献,利用顺序可能像操作日常文献一律对硬件装备举行操作。Linux操作编制扶助三种差异类型的装备,即字符装备、块装备和搜集接口,相应地有三品种型的装备驱动顺序。本文首要会商字符型装备的驱动顺序。装备驱动顺序是内核的一片面,首要告终以下的效力:
  因为利用顺序是通过装备文献同硬件打交道,对装备文献的操作式样不过乎即是少少编制挪用,如open、read、write、close等等。Linux操作编制是通过一组固定的接口把编制挪用和驱动顺序干系起来的。这组入口点是由每个装备的装备驱动顺序构成了一个数据构造来向编制供给的,它供给了字符型装备驱动顺序所需的操作。这是一个极度合头的数据构造:
  这个构造的每一个成员的名字都对应着一个编制调月。利用顺序运用编制挪用正在对装备文献举行诸如read/write操作时,编制挪用通过装备文献的主装备号找到相应的装备驱动顺序,然后读取这个数据构造相应的函数指针,接着把驾御权交给该函数。这是Linux的装备驱动顺序事务的根基道理。既然是如许,编写装备驱动顺序的首要事务即是编写子函数,并填充me_operations的各个域。大批情状下,只需为上面构造中的少数手腕编写供职函数,其它均设为NULL。
  一经提到,利用顺序是通过装备文献来与现实的硬件打交道的。每个装备文献都有其文献属性(c/b),外现是字符装备仍是块装备。其它每个文献都有两个装备号:第一个是主装备号,标识驱动顺序;第二个是从装备号,标识行使统一个装备驱动顺序的差异的硬件装备,比方有两个软盘,就可能用从装备号来分别它们。装备文献的主装备号必需与装备驱动顺序正在立案时申请的主装备号同等,不然用户过程将无法访候到驱动顺序。
  IrDA是一种低价、近隔断、无线、低功耗、保密性强的通讯技艺,适合于低本钱、跨平台、点对点高速数据贯穿,特别是嵌入式编制;首要利用于无线数据传输,有时也用于无线搜集接入和近程遥控。IrDA同意了良众红外通讯和说,此中IrDA1.0和说基于异步,最高通讯速度正在1152kbps,简称sIR(SeriaInfrared,串行红外和说),采用3/16ENDEC编/解码机制。咱们所要达成的即是基于sIR的IrDA驱动。它的发射强度与授与圆活度因差异器件、差异利用打算而强弱纷歧,行使时只可以半双工式样举行红外通讯。
  咱们的打算思念是Sitsang板只举动授与端,而基于MC68HC908AP64红外发射器举动发送端。此中file_operations构造中的ioctl()函数可能举行发送或授与的状况切换。原Sitsang板载Linux编制所带的IrDA驱动顺序是举动搜集片面编写的,行使过于庞大,且正在解决数据收发时必要做少少本身的解决和验证规矩,于是咱们行使模范串口正在Linux下本身编写了一个IrDA的装备驱动顺序。如许正在行使时,可能按照本身的必要作相应的更改,斗劲精巧。
  用户空间过程通过接口函数进入到内核,内核再挪用驱动顺序相应的I/O函数。IrDA驱动顺序是字符类型的驱动顺序,咱们用中缀的式样达成内核与装备之间的数据传输。当驱动顺序正在启动后装备就挂起本身,直到串口告终操作并发出一个中缀仰求(IRQ)。当IRQ爆发时,注册的中缀解决顺序sir_handlejrq得以运转。正在Sir_handle_irq中,顺序通过相应的寄存器操作获得授与的数据,并将数据存入到一个内部缓冲中。
  sir_open函数的首要效力即是递增行使计数和装备初始化操作。这里把筑设并初始化sitsang板上的红外装备放正在了sir_open函数中,如许正在每次翻开IrDA装备时,红外装备都邑被准确地筑设,确保了红外硬件的寻常事务。其它,把申请装备中缀号的事务也放到了Sir_open函数中,如许IrDA装备所占用的中缀号,正在没有行使IrDA装备时也可能被其它装备共享。
  sir_close()函数所作的事务与sir_open()的正好相反,计数器减1,刊出装备中缀号。
  因为所行使的红外收发器HSDL-3200只可以半双工式样举行红外通讯,于是就必要号召举行授与和发送状况的转换。ioctl函数的首要效力即是对硬件装备举行驾御,因而正在sir—ioctl函数中达成了这一效力。
  这两个函数首要告终读取利用顺序传送给内核装备文献的数据和回送利用顺序仰求的数据,并把数据从内核传送到硬件和从硬件读取数据的通讯进程。这也是正在悉数驱动顺序中最要紧的片面。
  装备驱动顺序的主体告终了,现正在要把驱动顺序嵌入内核。达成Llnux下IrDA装备驱动效力首要有两种形状:一是通过内核来举行加载,必要用户正在./etc/rc.d/目次中界说的初始启动剧本中写入号召,当内核启动的时期,就出手加载IrDA装备驱动顺序,内核启动告终之后,IrDA驱动效力也随即达成了,然则增大了内核;第二是通过模块加载的形状。斗劲两者,第二种形状特别精巧,正在此着重对模块加载形状举行会商。模块打算是Llnux中特有的技艺,它使Linux内核效力更容易扩展。采用模块来打算Linux装备驱动顺序会很轻松,而且可以变成固定的形式。任何人只须遵守这个形式去打算,都能打算出优越的装备驱动顺序。
  先扼要概述一下基于模块加载的装备驱动顺序的打算举措。最先每一个可安装的装备驱动顺序都必需有init_module和cleanupmodule两个函数,装载和卸载装备时内核主动挪用这两个函数。前者正在insmod的时期实践,后者正在rmmod的时期实践。通过模块加载号召insmod来把IrDA装备驱动顺序插入到内核之中。正在init_module中,除可能对硬件装备举行搜检和初始化外,还必需挪用reglster_*’函数将装备立案到编制中。本例中是通过register_chrdev来立案的,倘若是块装备或搜集装备则该当用reglstei_blkdev和register_netdev来立案。registeT_chrdev的首要效力是将装备名和构造flleoperatioons立案到编制的装备驾御块中。结尾可能通过实践模块卸载号召rmmod,挪用IrDA驱动顺序中的cleanup_module()函数,来对IrDA驱动顺序模块卸载,简直达成进程如图1所示。

  为了可能检测Sitsang板端的IrDA装备能否寻常事务,打算了一个IrDA发射器。发射器的体积为l3cm×10cm,安置精巧便利。正在发射器上有一个拨位开合,可能用来筑设发射差异的码值。红外收发器选器材有半双工效力的HSDL-3200。
  单片机的牢靠性和片上资源是挑选的合头。如一片单片机的资源不够,还要另加其它芯片,就会给编制的牢靠性、外型体积、制价带来良众负面的影响。MC68HC908AP64单片机对顺序平和运转有较全盘的扞卫。与其它的MCU比拟,最要紧的是它内部集成有UART单位及其接口,扶助IrDA模范,有红外接口可能直接与红外收发体例贯穿。可能直接驱动HSDL_3200,片上的其它资源蕴涵了发射器的一切必要,而且低价低功耗。于是选用其举动发射器的主控芯片电途如图2所示。

  发射器的软件编程对产物的牢靠性有很大影响。因为IrDA是异步半双工的通讯式样,正在某一个功夫,IrDA收发器只不妨透露一种状况。鉴于这种情状,筑设IrDA收发器永远处于发射状况,而SitSang板上的IrDA收发器永远处于授与状况,如许就无须切换收发状况,保障了编制的安祥性。发射器和授与器之间的通讯必要同意一套合理的通讯和说来协和总通讯。这里采用的是数据包通讯式样。通讯波特率为9600bps,通讯数据是成帧发送的,每帧数据都可能筑设本身的辅导码和数据。此中辅导码是用于同步每一帧数据;数据是IrDA发射器拨位开合的值,可能本身粗心设定。当红外发射器和Sitsang板调通此后,也可能通过sir_ioctl函数来切换收发状况,抵达两边通讯的方针。发射器的软件流程如图3所示。

  本文领会了装备驱动顺序正在内核中的达成手腕,并疏解了基于Intel的PXA255解决器的Sitsang平台斥地的驱动顺序打算和达成进程。此中连合Linux下一个现正在行使平常的IrDA驱动顺序,详尽论述了红外模块驱动顺序的打算和斥地进程,结尾从硬件和软件两个方面讲述了基于MC68HC908AP64红外发射器的打算和达成。固然嵌入式Linux操作编制和守旧的嵌入式操作编制比拟还不敷成熟完好,然则Linux自己所具有的卓越性使其正在转移装备的OS范围具有盛大的利用前景。
  CPU:RK3399 编制:Android 7.1.2 为了低浸本钱,主板将 Type-C 改为 MicroUSB 接口,节流了 fusb302芯片 参考...
  提到坚果、魅族、一加这几个手机品牌,你会念到什么? 极客、执着、死磕?编制、打算、情怀? 用“小而美....
  巨头市调机构Mercury Research的最新数据显示,AMD 3年来第一次正在消费级解决器商场丢....
  麒麟软件揭晓,银河麒麟桌面操作编制V10 (2101)更新一经宣告,扶助飞扬、鲲鹏、龙芯、兆芯、海光....
  正在Linux内核中增加wifi驱动 Linux WIFI驱动实习rtl8723 Wifi联网测试 ...
  [td]系列32位微驾御器,基于 -M3解决器。它能扶助32位平常的利用,扶助搜罗高本能、及时效力、数字信号解决,和低功耗、低操作,...
  平居运维进程中,咱们通常必要解决磁盘空间题目,当接到告警后,第有时间会去找那些大文献,日常比方 Ce....
  2020年,因新冠肺炎疫情使长途办公与教学需求提拔,使得环球札记本电脑需求产生爆炸性发展。据Tren....
  三星 Galaxy S10eS10S10+One UI 3 估计今日推送 基于 Android 11.0
  2 月 4 日音问 今日三星 GALAXY 盖乐世官方微博揭晓,三星 Galaxy S10eS10....
  苹果这回的更新算是一次重磅更新,不光扶助Apple Watch解锁手机,同时还列入了不少新效力,行家....
  除了灵耀X双屏,华硕即日还揭晓了一款更高端的版本“灵耀X双屏Pro”,团体打算根基同等,然则筑设特别....
  按照深度操作编制官方的音问,11031.002(build)版本现已宣告,升级全新内核到 Kerne....
  2月3日,“屏行全邦”华硕灵耀X双屏札记本宣告会实行。华硕正式宣告高端札记本电脑旗舰系列新品——灵耀....
  Sudo 东西中存正在十年之久的缺点,不妨会授予随便当地用户对基于 Unix 的编制(搜罗 macOS....
  消费电子芯片缺货潮也延迟到汽车范围。奥迪,戴姆勒、宝马、丰田、日产、斯巴鲁、群众等车企均受到芯片欠缺....
  苹果宣告了macOS Big Sur 11.2,这是旧年11月推出的macOS Big Sur操作系....
  苹果宣告iOS/iPadOS 14.5的首个Beta版本更新:豪爽新效力
  面向斥地者,苹果宣告了 iOS/iPadOS 14.5 的首个 Beta 版本更新,引入了豪爽令人激....
  小米为其即将面世的RedmiBook Pro札记本电脑宣告了新的宣扬图片海报
  通过查看促销图片,咱们可能看到前置摄像头将像大大批札记本电脑一律放正在顶部。因而,咱们可能盼望正在顶部边....
  【CSDN 编者按】MicroDroid 素质上仍是一个 Android 编制,换句话说,乃至不行将....
  Epsxe是一个PC Windows境遇下运转的Sony Play Station逛戏模仿器,它扶助....
  近几年AMD景象大盛,特别是正在消费级解决器范围。然而,Intel也并未束手就擒,而是主动调度商场计谋....
  有一个转移操作编制Ubuntu的所谓的触摸,基于通行的Linux发行- Ubuntu Linux编制....
  近几年AMD景象大盛,特别是正在消费级解决器范围。然而,Intel也并未束手就擒,而是主动调度商场计谋....
  即日微软针对Windows 10 20H1/20H2推送了新的更新,正在升级之后,版本号折柳提拔至 B....
  阿里旺旺是一款购物谈天东西,很众用户为了便利跟卖家相合,都邑正在电脑中安置行使,然则有些win7编制用....
  很众各样各样的UNIX和 Linux软件是源码形状的压缩文献。这些一律的安置包正在编译后运转正在差异的机....
  微软揭晓了 Windows 10 云筑设供职(Cloud configuration)。这项供职供给....
  2月2日,联念小新官方带来了联念小新Air 14 2021锐龙版的最新爆料,着重提及了键盘方面。
  这个内存执掌的常识点还真的必要咱们特意的去融会一下,即日行家一块来练习练习内存执掌的常识。 ...
  弁言: 这里行使的是润和的 IPC Hi3518EV300 斥地板 本篇著作倘若形式禁绝确或者其他题目,可能转到我的博客食用...
  IPC Hi3518EV300斥地板——移植Linux 0.串口神速烧录教程
  这意味着他们将逗留授与新版本的Apple操作编制及其所必要的全面。换句话说,他们将无法行使新版本的新....
  即使不是新技艺,但OLED技艺仍谢绝易正在札记本电脑和札记本电脑中找到。片面情由是因为其履行确当前本钱....
  与守旧版本Max-P比拟,这些具有较低功耗(TGP)的​​版本最终显示出本能低浸。Max-Q技艺通过....
  Creative Strategies消费技艺主管Ben Bajarin外现:“他们对更始周期的外观....
  Google正在Chromebook札记本电脑上宣告了最新版本的Chrome操作编制
  Chrome OS 88中蕴涵的新效力称为屏幕扞卫顺序,它行使户可能将其Chromebook的锁定屏....
  Banana Pi BPI-M2 Pro开源硬件单板打算机,Amlogic S905X3 四核A55 64位解决器打算
  Banana Pi BPI-M2 Pro是比派科技于2021年推出的一款单板机打算机。它采用Amlogic S905X3四核Cortex-A55 (2.0 XXG...
  1.号召简介 id 号召用于查看真正有用的用户 ID(UID)和组 ID(GID)。 2.号召形式 ....
  当将您的家庭纳入目标时,阅读Messenger,Instagram和WhatsApp,数字会特别令人....
  1.效力简介 readelf 用于读取 ELF(Executable and Linkable Fo....
  按照切磋公司Canalys的说法,Chromebook从这一趋向中受益匪浅,仅惠普(HP)的同比增加....
  16岁高中生为一台无法寻常行使的iPhone 7告成移植了Ubuntu 20.04
  指日,海外一名 16 岁的斥地者宣告了一则视频,显现本身为一台一经无法寻常行使的 iPhone 7 ....
  1.号召简介 pidof 号召用于查找指命名称过程的过程ID,是号召 killall5 的一个软链接....
  ZenBook 14 Ultralight是华硕Tiger Tiger札记本电脑新产物阵容的超便携机型
  因为用镁制成的札记本往往会觉得有点塑性,因而华硕对ZenBook 14 Ultralight举行了微....
  1.号召简介 as 号召是二进制东西集 GNU Binutils 的一员,是 GNU 推出的一款....
  1.号召简介 strings 号召是二进制东西集 GNU Binutils 的一员,用于打印文献....
  从外面上讲,机会不必定会令人惊讶,极端是由于这只是一个小更新,不该当带来巨大改正。重心将放正在引擎盖下....
  全新完善时钟办理计划将IEEE1588软件与瑞萨时钟芯片相连合,供给更高打算精巧性,大幅低浸数据包延....
  1.号召简介 nm 号召是 GNU Binutils 二进制东西集的一员,用于显示主意文献中的符号。....
  Android 11进入中央智高手机的速率之于是如斯讲明,是由于它是Android One顺序的一部....
  指日,一个名为 Jingling Tech 的研发团队宣告了一个基于 Ubuntu 的平板电脑操作系....
  1.号召简介 ar(ARchiver)号召是 GNU Binutils 的一员,可能用来创筑、修....
  据海外媒体报道,正在智高手机所用的OLED屏幕方面,三星显示公司上风较为分明,苹果iPhone X、i....
  1.号召简介 ldd 号召用于打印顺序或者共享库文献所依赖的共享库列外。提神,ldd 自己不是一个二....
  Linux编制,果然被两个不懂任何技艺的小孩“攻破”了。 他们只是正在键盘和屏幕上一通乱按,就轻松绕过....
  AM4379 AM437x ARM Cortex-A9 微解决器 (MPU)
  TI AM437x高本能解决器基于ARM Cortex-A9内核。 这些解决器通过3D图形加快获得加强,可达成充足的图形用户界面,还装备了协解决器,用于举行确定性及时解决(搜罗EtherCAT,PROFIBUS,EnDat等工业通讯和说)。该器件扶助高级操作编制(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的打算搜集和生态编制合营伙伴处获取。 这些器件扶助对采用较低本能ARM内核的编制升级,并供给更新外设,搜罗QSPI-NOR和LPDDR2等存储器选项。 这些解决器蕴涵效力方框图中显示的子编制,而且后跟相应的“解释”中增加了更众消息解释。 解决器子编制基于ARM Cortex-A9内核,PowerVR SGX图形加快器子编制供给3D图形加快效力以扶助显示和高级用户界面。 可编程及时单位子编制和工业通讯子编制(PRU-ICSS与ARM内核辞别,应承独立操作和计时,以达成更高的效力和精巧性.PRU-ICSS扶助更众外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|appname
快速回复 返回顶部 返回列表