微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 车载网络系统硬件及其驱动的设计

车载网络系统硬件及其驱动的设计

时间:01-05 来源: 点击:
3.3 串口驱动程序的设计

  串口驱动程序采用查询方式,主要包括串口初始化函数、数据接收函数和数据发送函数。串口初始化函数USIinit()主要是用来设置 USART工作是的参数,用户应用程序可以通过调用数据接收函数RevUSData()对接收到的函数进行各种处理。USART的数据接收和发送都是一个主动的过程,因此此函数的设计较为简单。数据发送函数SendUSData()类似于数据接收函数,可以被用户程序调用。

  3.4 LCD控制器驱动程序的设计

  在驱动LCD设计过程中首要的是要配置LCD控制器,而在配置LCD控制器时最重要的则是指定帧缓冲区(FrameBuffer)。帧缓冲设备对应的设备文件是/dev/fb*,数据结构如下:

Static struct file_operations
fb_fops={ ower:THIS_MODULE,
read:fb_read,
write:fb_write,
ioctl:fb_ioctl,
mmap:fb_mmap,
open:fb_open,
}

  其中的函数对具体的硬件进行操作,对寄存器进行设置,对显示缓冲进行映射。初始化函数首先初始化LCD控制器,在Linux中可以用kmalloc()函数动态分配连续LCD显示缓冲区。接着就是初始化一个fb_info结构,补充成员变量,调用register_framebuffer(& fb_info),将fb_info注册入内核。结构fb_info的成员函数:
struct fb_ops{
int (*fb_get_fix)(struct fb_fix_screeninfo *fix, int con, struct fb_info *info);
int (*fb_get_var)(struct fb_var_screeninfo *var, int con, struct fb_info *info);
int (*fb_set_var)(struct fb_var_screeninfo *var, int con, struct fb_info *info);
}

  4结束语

  本文详细介绍了嵌入式车载网络系统的底层硬件和驱动程序的设计并成功地完成了硬件与软件的调试。本文作者创新点:此网络系统极大地减少了电控装置数,节省了粗大线束占用的汽车宝贵空间资源以及实现了汽车内部电子仪表间的数据共赏、通信与处理,从而提高了汽车的安全性能。 (编辑:chiying)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top