新闻中心

EEPW首页>嵌入式系统>设计应用> 基于嵌入式硬件平台的划片机视觉系统设计

基于嵌入式硬件平台的划片机视觉系统设计

作者: 时间:2016-12-02 来源:网络 收藏

S3C2510 ARM处理器,内部PCI(MINI-PCI)&PC Card控制器符合PCI总线规范2.2版本,将S3C2510的PCI(MINI-PCI)&PC Card控制器设置为PCI Host工作模式(见表1),具有32bit地址/数据复用总线,支持非线性传输和突发传输,最高数据传输速度可以达到264 MB/s及66 MHz(132 MB/s及33 MHz)。而且带有地址变换机制,可以将内部的PCI总线地址映射到内存或者外围设备。在设计中设定PCI总线的时钟频率为66 MHz,因此主板上PCI总线的最高传输速度可以达到264 MB/s,能够满足数据的快速传输。系统利用时钟反馈来弥补PCI的时钟延迟。

当PCI控制器工作在PCI HOST、模式下时,其时钟源是由系统内部提供的,S3C2510有3个PCI时钟输出信号PCICLK1,PCICLK2和PCILK3,将PCI设备诊断寄存器PCIDIAG0的DC3位设置为l,即将PCICLK3设置为输出无效,此时PCICLK1与PCICLK3相连,通过PCICLK3将时钟信号反馈给处理器内核,这样可以使外部PCI设备与PCI时钟保持一致,从而弥补时钟延迟。

系统以及PCI控制器的启动顺序如图4所示。其中在对PCI控制器的特殊功能寄存器进行配置时需要首先关闭中断,即设置PCIINTEN=0。然后设置PCI控制和状态寄存器PCICON[ARB,ATS,SPL,IOP,MMP],某些需要的情况下还要设置PCI诊断寄存器,这个寄存器是针对测试功能的,在PCMCIA Host工作模式下不需要进行设置。然后要对与基地址有关的寄存器PCIBAM0~l和PCI-BATPA0~2进行设计,设置完之后要配置有关PCI重启和时钟的寄存器,其中关键的一步是设置PCI重启和时钟寄存器PCIRCC[MSK]=0,这是为了防止重启信号和时钟信号的冲突。

在PCI控制器侦测外围设备并初始化外围设备的寄存器时,需要完成以下工作:

(1)读取所有的配置寄存器值,包括PCIHID,PCIHSC,PCIHSSID等;

(2)检查BAR(Backup Address Register)的范围并一一分配空间;

(3)使能外部设备并激活总线。

以上配置都是在PCI图像采集模块的驱动中完成的,因为已经把驱动程序加载到了ARM Linux的内核中,所以系统启动之后,操作系统会自动配置PCI外部设备。

3 ARM Linux移植和设备驱动实现

3.1 Boot Loader的移植

Boot Loader是和硬件紧密连接的,系统是通过Boot Loader。来调用操作系统内核并最终运行操作系统。本系统采用了U-Boot(Universal Boot Loader)作为。Boot Loader,U-Boot相当于一个小型的Linux系统,其工作涉及到硬件系统的初始化、存储空间分配等,在设计过程中主要完成了以下工作,相关的程序编写根据U-Boot提供的例程来完成:

(1)修改Makefile配置文件,添加针对目标板的编译命令行;

(2)在CPU目录下建立arm940t目录,主要包括中断设置函数代码interrupts9c,系统入口函数start.S,CPU相关代码文件cpu.c以及串口初始化代码相关文件serial.c等;

(3)在Board目录下建立S3C2510目录,主要包括FLASH初始化代码flash.c,连接器文件u-boot.1ds,内存分配代码MEMSetup.S等;

(4)编写配置文件,即:include/configs/s3c25 l0.h,对寄存器的定义等系统配置,大部分工作是参考S3C25l0的数据手册来进行的;

(5)编写flash.c文件,根据使用的AMD的NOR Flash来编写Flash的驱动,包括flash芯片的型号,打印信息,容量大小,flash擦除函数等;

(6)修改SDRAM的大小,修改配置文件in-clude/configs/s3c25 10.h 中 的 #define PHYS _SDRAM_ SIZE值。其大小是根据实际应用中SDRAM的大小来确定;

(7)修改串口参数文件serial.C。主要是设置串口波特率,波特率计算公式为:RUBRDIVO=((int)(MCLK/16./(gd_>baudrate)+0.5)-1);

(8)修改start.S文件,一个可执行的Image必须有一个入口点并且只能有一个唯一的全局入口,修改start.S中的.globl _start _start:使其放在Rom(flash)的0×0地址。编译U-Boot,通过Jtag口下载到目标板进行调试。



评论


技术专区

关闭