2)修改NANDFLASH驱动代码
μCLinux内核从2.6.14开始更改了NANDFLASH的驱动代码,使驱动更加智能化,不再需要写读写函数,只需要实现读写时序函数。时序函数只关心如何来发送指令到NANDFLASH,例如写指令周期需要对ALE线使能,那么μCLinux下的读写函数会给这个时序函数发送一段指令中包含使能ALE线的指令,然后将数据写到数据总线上,CLE的实现与之相类似。
3.3 CAN控制器驱动设计
对于微处理器来说,CAN控制器完全是基于事件触发的,即CAN控制器会在本身状态发生改变时,会将状态变化的结果告诉微处理器。所以微处理器处理CAN控制器时,可以采用中断的方式,也可以采用轮询查看CAN控制器状态的方式来对CAN控制器做出相应的处理。在μCLinux下CAN驱动程序设计包括初始化函数、读函数、写函数、中断服务函数等设计,使用文件指针注册设备,用户程序则通过对设备文件的操作来收发CAN总线数据。CAN驱动程序主要功能包括:
1)CAN控制器的初始化CAN控制器的初始化工作包括硬件使能CAN、设置管脚连接、软件复位、设置CAN报警界限、设置总线波特率、设置中断工作方式、设置CAN验收过滤器的工作方式以及启动等。
2)CAN总线数据发送先将数据送到发送缓冲区,然后对发送寄存器赋值以启动发送。CAN控制器只负责发送,并不保证发送成功。因此要知道是否发送成功,须查询TCS状态位,或配合发送成功中断来判断。
3)CAN总线数据接收CAN总线数据接收通过读取状态寄存器查询当前缓冲区中是否有数据,当有数据时将数据读出并放到CAN接收环形数据存储区中,当用户程序需要数据时则从该缓存区中读出。
4)CAN中断处理 通过中断获知CAN控制器的当前状态,然后做出相应的处理,包括接收中断处理、发送中断处理以及异常中断处理。中断处理由中断服务函数实现。
4 结论
本文提出一种基于LPC2294微控制器,使用μCLinux作为操作系统的CAN主节点软硬件设计方案。主节点通过扩展SRAM、FLASH提高了系统的性能,采用带隔离功能的CAN收发器增强了CAN总线节点的抗干扰能力,外接以太网控制器实现了计算机远程监控。基于μCLinux的软件系统既提高了系统的稳定性、应用软件的开发效率,又使得众多的Linux平台软件可容易地移植到主节点,增强系统的功能。通过制作了样机并进行实验,验证了这一方案的有效性。
来源;电子工程网
关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。