控制工程师论坛

电机与运动控制

MOTO 5307CPU有关接口及中断的问题

jill5460
jill5460

2005-12-06

1、要编写一个程序,读写数据总线D0-D20的数据,用片选4或5,当有数据时,发中断7,相应中断后,片选使能,将数据发到数据总线上,你看是否有现成的例子,及编程应注意的问题。 需求可以重新描述如下:数据总线宽度为21位,当数据准备好以后,需要给5307CPU发一个中断信号,5307CPU收到中断信号后,进入中断服务程序,读取这21位数据。 首先,硬件设计要保证正确。 5307CPU与Intel CPU不同,外设数据的低8位接5307CPU 的D25-D31,8-15位接D16-D24,16-24位接D8-D15,25-31位接D0-D7。 5307CPU的数据总线与外设之间需要用74LVT16245之类的总线收发器件隔离。 中断使用中断1或中断5,负电平有效。软件在进入中断服务程序之后要能够清除中断。 外设采集数据时应该使用FIFO或者双端口RAM对数据进行缓存,因为uClinux不是一个实时操作系统。 可能的情况下,使用查询而不是中断方式,以减小硬件和软件的设计复杂程度。 其次,软件设计主要是驱动程序的设计。驱动程序的初始化函数中要对片选信号进行初始化。一个比较完整的例子参考: home/uClinux-coldfire/Linux/drivers/char/keypad.c 这是一个键盘接口的驱动程序,可以使用查询和中断2种方式读取外接键盘的键值。 2、我要编程动态调整IP,并保存,是否有办法,不重新起动5307A 参考程序/home/uClinux-coldfire/user/route/ifconfig.c 3、5307A中如何解决组播协议不支持的问题。
回帖

评论2

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China