当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]LX800在车载监控系统中的应用

摘要:随着嵌入式Linux操作系统的迅速发展,嵌入式Linux已逐渐成为嵌入式操作系统的一个重要分支。介绍了LX800在车载监控系统中的应用,实现了CAN总线实时数据和视频的显示和控制。主要阐述了x86系统平台的硬件总体设计、PCI9054驱动的实现及应用主程序相关流程。
关键词:嵌入式Linux;LX800;PCI9054

引言
    嵌入式系统由于体积小、功耗低、可靠性高、可裁减性强、软硬件集成度高等特点的被广泛地应用于工业制造、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、消费类产品等众多领域。一个完整的嵌入式Linux解决方案应包括嵌入式Linux操作系统内核、运行环境、图形化界面和应用软件等。由于嵌入式设备的特殊要求,嵌入式Linux解决方案中的内核、环境、GUI等都与标准Linux有很大不同,其主要挑战是如何在狭小的Flash、ROM和内存中,实现高质量的任务实时调度、图形化显示、网络通信等功能。本文基于AMD LX800微处理器和Linux操作系统进行车载监控系统的设计。车载监控系统是对车辆工作状态、运行情况进行显示、控制并完成人机交互的系统,实现系统实时响应操作、显示相关的机车信息。

1 系统硬件设计
    GeodeLX处理器是AMD公司推出的基于x86体系结构的嵌入式处理器,主要用于工业控制、移动设备等领域。GeodeLX处理器支持i586指令集,并且带有MMX和AMD“3DNow!”指令集扩展;其CPU频率在400~500MHz,带有8级单发射的指令流水线,64 KB指令L1Cache和64 KB数据L1 Cache,128 KB的可配置为指令或数据的L2 Cache。处理器内部集成了图形和视频处理单元,提高了二维图形和视频的应用加速。
    PCI总线即外围部件互连总线,是一种先进的高性能32/64位地址/数据复用局部总线,可同时支持多组外围设备,并且不受制于处理器,为处理器与高速外围设备提供了一座沟通的桥梁,提高了数据吞吐量(32位最大可达132 MB/s),因此是现在PC领域中很流行的总线。P CI总线具有严格的总线规范,保证了良好的兼容性,符合PCI总线规范的扩展卡可以插入任何PCI系统可靠地工作。因此,和GeodeLX处理器一起使用的CS5536芯片通过PCI总线组提供南桥的功能,如IDE、USB2.0、Flash、AC97和x86的外围设备接口。
    为了扩展一些用户接口,如高速串口、CAN总线接口等,需要将复杂的PCI总线接口转换为相对简单的用户接口。本系统采用PLX公司生产的PCI总线通用接口芯片PLC9054,处理器可以通过PCI总线访问扩展资源,如CAN总线、液晶屏数据线、按键高速串口等其他扩展设备。此款芯片采用先进的PLX数据管道结构技术,符合PCIV2.1和V2.2规范;提供了两个独立的可编程DMA控制器;每个通道均支持块和分散/集中的DMA方式;在PCI总线端支持32位数据总线,33 MHz时钟信号;本地端可以编程实现8/16/32位的数据宽度;传输速率最高可达132 MB/s;本地总线端时钟最高可达50 MHz,支持复用/非复用的32位地址数据。PCI9054提供了PCI、LOCAL、EEPROM总线3个接口,作为一种桥接芯片在PCI总线和LOCAL总线之间提供传递消息。
    W83627DHG通过LPC接口与CS5536通信,此款LPC接口的I/O芯片除了可以支持传统的输入/输出接口,如键盘和鼠标、并口、软盘口、UART、SPI口等,硬件监控针对新一代的CPU,提供符合VRD11.0规格的CPU电压侦测功能,并且可经由键盘任一按键或是鼠标将系统由休眠状态唤醒。
    BIOS实际是一组被固化到电脑中,为电脑提供最基本的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,负责响应硬件的即时要求,并按软件对硬件的操作要求执行。本设计BIOS芯片采用LPC Flash可擦写芯片。


    系统的整体硬件结构如图1所示,系统由处理器、外围电路及外围接口设备组成。外围电路包括晶振、电源、复位电路、串口、网口、PCI总线、USB接口、Flash等。
[!--empirenews.page--]
2 系统软件设计
   
Linux采用统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。Linux可以随意地配置,不需要任何许可证或与商家的合作关系,源代码可以免费得到,这使得采用Linux作为操作系统不会遇到任何关于版权的纠纷。Linux本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高,Linux的高度模块化使添加部件非常容易。Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制、支持大量硬件(包括x86、Alpha、ARM等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开,任何人可以修改,并在GNU通用公共许可证下发行。这样,开发人员可以对操作系统进行定制裁减,适应其特殊需要。其强大的语言编译器GCC、G++等不但成熟完善,而且使用方便。本论文中基于V2.6.27内核通过make menuconfig对内核进行部分功能裁减。
    软硬件综合开发是嵌入式系统的一大特色,软件设计是在紧密联系硬件的基础上来完成的。本文的车载监控系统设计遵循嵌入式软件的体系结构设计方法,分为两个部分:①相关驱动的开发,如底层包括扩展的PCI9054驱动、串口驱动、CAN驱动及内核自带的网络驱动、USB、CS5536等设备驱动;②应用程序的开发,包括显示监控任务的实现、配置文件读写实现等。
2.1 设备驱动开发
   
底层接口层封装监控显示软件与底层通信硬件接口、操作系统交互等部分的代码,通过定义统一的接口规范,实现上层软件不依赖具体的硬件平台,从而实现软件易于移植。
    作为底层驱动模块的基本结构至少必须包含两个函数:module_init()和module_exit()。第一个函数是在把模块加载入内核时调用的;第二个函数则在删除该模块时调用。module_init()向内核注册模块所能提供的所有新功能,即可以由应用程序使用的新功能。函数module_ exit()的任务是清除掉module_init()所做的一切,保证这个模块被安全地卸载。模块的调用情况如图2所示。下面以PCI9054为代表,描述硬件驱动设计过程。


    PCI9054驱动程序主要实现PCI9054设备的中断使能屏蔽,PCI9054设备的中断处理,PCI9054设备的挂载、卸载、初始化。
2.1.1 定义和注册PCI9054设备
   
    [!--empirenews.page--]
2.1.2 PCI9054_probe()函数任务
   
对于probe驱动函数,驱动程序的许多任务及硬件初始化工作都将在此函数中完成。它主要完成注册PCI9054时调用的函数,完成PCI9054配置信息读取,取得外设地址,申请中断,配置PCI9054的杂项寄存器。探测流程如图3所示。


2.1.3 pci9054_init_module初始化函数
   
主要完成PCI的初始化、注册PCI设备、使能PCI中断等。流程图如图4所示。


[!--empirenews.page--]
2.1.4 pci9054_cleanup_module注销函数
   
用于注销PCI9054设备及相关扩展设备。流程图如图5所示。


2.2 应用程序的开发
   
车载监控系统应用程序的实现过程主要包括:窗体和各个信息控件的初始化并显示窗体实现人机交互、对按键的响应、参数的存储、发送语音消息、图5 PCI9054设备的卸载CAN事件数据的处理并实时刷新屏上信息显示当前设备的工作状态。其程序流程如图6所示。


2.3 应用程序与设备驱动的关联
   
在Linux系统中,对于一个硬件设备对应的是/dev目录下的逻辑设备节点,这个节点以文件的形式存在,但它不是普通意义上的文件,是设备文件,更确切地说,它是设备节点。这个节点是通过mknod命令建立的,其中指定了主设备号和次设备号。通常而言,主设备号表明了对应着确定的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。
    insmod加载驱动程序,设备号是从/proc/devices文件中获得的,所以通常是有驱动程序在内核中,才有设备节点在目录中。这个设备号(这里特指主设备号)的主要作用,就是声明设备所使用的驱动程序。驱动程序和设备号是一一对应的,当你打开一个设备文件时,操作系统能知道这个设备所对应的驱动程序的加载。
    设备节点文件中的file属性中指明了驱动程序中fops方法实现的函数指针。应用程序通过使用open、write、read、ioetl等函数来访问设备节点,进行相应的工作。

结语
   
LX800微处理器以其丰富的接口、较快的处理速度、稳定性及易扩展性而受到嵌入式开发者的青睐。基于LX800的车载监控系统采用Lin ux操作系统,使其具备了实时多任务处理的能力。经过测试,系统运行稳定可靠,有较好应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP

曼谷2023年9月18日 /美通社/ -- 作为东南亚的旅游胜地,泰国一直在全球范围内吸引着无数游客的目光。泰国旅游和体育部近日公布的报告显示,今年前7个月,泰国旅游业总收入约为1.08万亿泰铢(约合人民币2233亿元)...

关键字: BSP GEN 国美 AN
关闭
关闭