返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

码垛机器人嵌入式视觉系统软件设计流程

时间:2017-12-15 来源:机器人在线 阅读:13716

码垛机器人嵌入式视觉系统软件设计流程

采用模块化的思想可以有效减少嵌入式系统编程的复杂性,提高编程的条理性和有效性。可以把系统整体按照功能划分成用户程序加载、系统初始化、中断服务、图像处理算法等几大模块。总流程图如图4.1所示。
 
系统上电或复位后,首先装载用户程序。之后,配置系统外围及片外设备,完成初始化操作。接着,图像采集模块SAA7113启动,同时等待结束中断信号,当中断信号出现,就跳转到中断服务子程序,同时屏蔽外部中断,关闭DSP中断。然后将采集到的原始图像存入SDRAM中,进行图像处理算法的运算。然后将识别定位信息和控制处理结果发送到码垛机器人控制柜,以完成下一步操作。最后,打开外部中断和DSP中断,等待下一个中断信号,循环往复形成一个闭合环路。

码垛机器人嵌入式视觉系统系统初始化

DSP上电后,首先完成用户程序的加载,本系统采用ROM加载模式,用户程序存放在Flash中。之后,就要对系统进行初始化操作。

码垛机器人嵌入式视觉系统EMIF口初始化

在DM642中,一系列存储器映射寄存器完成了对EMIF口的控制和维护,其中有GBLCTL,  CECTL x,  SDCTL,  SDTIM等,x取值为0~3。GBLCTL寄存器用来设置片外存储空间的公共参数,包括总线的申请和挂起以及时钟输出使能等操作。CECTL x分别完成对相应CE空间存储器类型和接口时序的设置。SDCTL, SDTIM是用来控制SDRAM,  SDCTL完成对控制参数的设置,SDTIM用于控制刷新周期
本系统的片外存储设备((SDRAM,  Flash等)通过EM IF口与DM642相连。区别于TI公司其他系列的DSP,为了保证接口设备的正常运行,DM642通过对EMIF进行软件初始化来实现这一目的。
用户在对SDRAM进行初始化时,可以不用考虑初始化过程的具体细节,通过将SDCTL寄存器中的INIT位修改为1,  EMIF便会自动完成初始化的各个步骤。初始化操作只有在上电或复位时进行是安全的,应避免在SDRAM进行读写数据操作时进行初始化。
对Flash进行初始化设置需要在EMIF的CE1空间通过配置CECTLI完成。表4.1列出了CECTLI寄存器的配置信息。
 
 

码垛机器人嵌入式视觉系统视频口的初始化配置

DM642具有3个视频口,本文使用VPO口进行图像显示。对于VP口的配置包括V PO口的配置和SAA7113H芯片的配置,具体步骤如下:
(1)将参数DIS_ PARAMS_PORT_ DEFAULT值赋给VPORT_PortParamsvDisParamsPort。目的是配置VP0口显示参数。
(2)设置VPO口的显示模式设置为PAL制式,并将PAL制式配置下每行的和每列的像素数分别为320和2400
(3)将参数DIS_ PARAMS_ CHAN_ BT6_56_ DEFAULT赋值给静态变量VPORTDIS_ Params vDisParamsChan,目的是使用嵌入式同步信号配置VP口显示驱动。
(4)初始化EDMA3驱动。EDMA3将视频数据从指定的内存搬运到显示缓存FIFO中,因此要进行EDMA3的初始化。
(5)调用FVID_ create和FVID_ control函数配置SAA7113芯片的的输出信号长度,显示模式,状态位和显示通道。
对SAA7113芯片进行初始化就是通过I2C总线对其内部寄存器进行设置,外部引脚RTC O通过不同的取值来改变I2C总线接口地址置。RTCO为。时,SAA7113的写地址为42H,读地址为43H0 RTCO为1时,SAA7113的写地址为40H,读地址为41H0SAA7113的寄存器设置包括模拟输入设置、同步控制、亮度控制、色度控制、输出格式控制等。SAA7113的初始化配置程序如下:
 
 工业机器人选型神器
机器人 码垛机器人 技术干货

好的文章,需要您的鼓励

4

  • 最新资讯
  • 最新问答
推荐