linux user mode可以访问物理地址0x0,嵌入式Linux 第五章.ppt

嵌入式Linux 第五章

嵌入式系统上的CAN总线接口 处理器本身带有CAN总线控制器 使用CAN总线控制芯片 SJA1000——Philips 独立CAN控制器,替代82C200,支持CAN2.0A/B,同时支持11位和29位ID,位速率可达1M,具有总线仲裁功能,扩展的接收缓冲器(64字节FIFO),增强的环境温度范围(-40-+125℃)。并行总线接口。 MCP2510/5——MicroChip 支持CAN2.0A/B,同时支持11位和29位ID,位速率可达1M,具有总线仲裁功能。2个接收缓冲区,3个发送缓冲区。高速SPI接口。 CAN总线驱动芯片 82C250 CAN总线收发器,?是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动额接收能力,有很强的抗电磁干扰(EMI)的能力 ,至少可挂110个节点。 TJA1050、1040 替代82C250产品,电磁辐射更低 ,无待机模式 uCOS-II下的驱动程序 uCOS-II没有给驱动程序提供统一的标准接口 任何在系统中对于硬件的管理都可以称为uCOS的驱动程序 为了方便驱动程序的模块化划分,提高代码的可重用性,uCOS-II的驱动程序可以自定义标准 驱动程序抽象层 操作系统只和特定的驱动抽象层通讯,无论在抽象层下面对应的是什么类型的设备,对操作系统和用户的应用程序来说都是统一的接口。 通过使用C语言的指针函数的方法,实现了驱动抽象层的软件设计。通过指向不同驱动子程序的函数指针,为同一操作系统挂载了多种驱动程序。 uCOS-II中CAN总线驱动程序结构 uCOS-II中CAN总线驱动程序剖析 在can.h中定义CAN总线驱动程序的结构can_driver_t 通过全局数组can_driver挂载CAN总线驱动 CAN总线的抽象层在can.c中实现 驱动程序在mcp2510.c中实现 系统的启动与驱动程序的加载过程 * 目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连。1.DB9和DB25的常用信号脚说明 9针串口(DB9) 25针串口(DB25 )针号 功能说明 缩写 针号 功能说明 缩写1 数据载波检测 DCD 8 数据载波检测 DCD2 接收数据 RXD 3 接收数据 RXD3 发送数据 TXD 2 发送数据 TXD4 数据终端准备 DTR 20 数据终端准备 DTR5 信号地 GND 7 信号地 GND6 数据设备准备好 DSR 6 数据准备好 DSR7 请求发送 RTS 4 请求发送 RTS8 清除发送 CTS 5 清除发送 CTS9 振铃指示 DELL 22 振铃指示 DELL AD7843的工作时序 同步串口(SIO)向ADS7843发送控制字 转换完成后从ADS7843串口读出电压转换值 A/D转换时序(每次转换需要24个时钟周期) 触摸屏与LCD的配合 FM 7843送回控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。而且,LCD分辨率与触摸屏的分辨率一般来说是不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。转换公式如下: x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin) y=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin) 其中,TchScr_Xmax、TchScr_Xmin、TchScr_Ymax和TchScr_Ymin是触摸屏返回电压值x、y轴的范围,LCDWIDTH、LCDHEIGHT是液晶屏的宽度与高度。 触摸屏(键盘)驱动程序结构 触摸屏的驱动 #define ADS7843_CTRL_START0x80 #define ADS7843_GET_X0x50 #define ADS7843_GET_Y0x10 #define ADS7843_CTRL_12MODE0x0 #define ADS7843_CTRL_8MODE0x8 #define ADS7843_CTRL_SER0x4 #define ADS7843_CTRL_DFR0x0 #define ADS7843_CTRL_DISPWD0x3// Disable power down #de

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值