论文部分内容阅读
AHB总线是当前应用广泛的一种片上总线,由ARM公司开发。CardBus是PCMCIA推出的新一代高性能32位总线主控接口,它是类PCI的一种总线,同时与16bit PC卡的接口有统一的物理规格,在数字机顶盒等电子产品中应用广泛。自主研发的AHB-CardBus桥IP核可以很好地与ARM微处理器结合在一起,加快产品设计。Linux由于其优良的特点,包括内核高效稳定、广泛的硬件支持、源码开放、完善的网络通信和文件管理机制、优秀的开发工具等,是目前嵌入式操作系统研究开发的热点,在通讯系统、消费电子、半导体SOC等领域中正势如破竹地发展应用。本论文的主要内容就是阐述在嵌入式Linux和ARM处理器的环境下,AHB-CardBus桥IP核驱动程序的设计与实现。论文首先介绍了AHB总线和CardBus总线的发展和研究现状,继而分析了Linux设备驱动开发的一般方法,重点阐述了中断处理的机制,然后从分析自主研发的AHB-CardBus桥IP核的特点和Linux中PC卡的工作机制入手,提出了一种针对该IP核的驱动程序设计方案,并详细阐述了控制模块的实现和CardBus封装层的设计,接着介绍了CardBus卡驱动程序的移植,论文最后对AHB-CardBus桥IP核的FPGA测试做了阐述。由于AHB-CardBus桥IP核在系统中起到主控制桥的作用,这决定了其驱动程序不仅要完成对桥本身的配置,而且还必须有效地响应设备端驱动程序的请求。分析和设计过程是本论文阐述的一个重点,在内容安排上遵循设计过程。根据作者所做的工作,论文从三个方面进行了详细的阐述:驱动程序总体架构的设计、驱动程序控制模块的实现和CardBus封装层的设计。本论文基于一个实际工程项目的开发,针对自主研发的AHB-CardBus桥IP核而设计的驱动程序结构紧凑,灵活实用。工程结果表明,该IP核在SOC系统中可以稳定高效地工作。