历史上的今天
返回首页

历史上的今天

今天是:2025年02月12日(星期三)

正在发生

2018年02月12日 | 基于双CPU实时图像监控的嵌入式系统设计方法

2018-02-12 来源:21ic

    图像监控以其直观、方便、信息内容丰富而被广泛应用于许多场合。在电子技术与通讯技术的发展过程中,图像监控系统的技术水平直接反映了不同阶段电子与通讯的技术状况。上世纪90年代末,随着多媒体技术、视频压缩编码技术和网络通讯技术的发展,数字视频监控系统迅速崛起。在数字图像监控系统中,嵌入式监控系统主要由嵌入式处理器、以太网接口控制器等相关支撑硬件及嵌入式操作系统组成。


    1 设计方案

    采用TI公司的TMS320VC5471为处理器,此芯片是一种双内核器件,内部集成了一个带程序和数据存储器(均为RAM)的 TMS320C54x DSP子系统和一个带仿真工具的ARM7TMRISC微控制器核。在双CPU系统中,ARM7TDMI作为主CPU,负责图像数据的存储、图像数据远程传输、存储容量的扩展等系统的功能;DSP作为从CPU,它是图像采集和数据处理的核心,完成图像采集及处理系统的功能。ARM子系统与DSP子系统数据的传输非常频繁,系统选用共享双口RAM存储器方式来实现DSP与ARM7TDMI之间的通信,图像监控系统框图如图1所示。

    2 硬件系统

    2.1 主机控制单元

    ARM子系统与DSP子系统数据的传输非常频繁,数据传输的可靠性和实时性直接决定系统的性能。所以,本系统选用共享双口RAM存储器方式来实现DSP与ARM7TDMI之间的通信,如采用IDT司生产的双口RAMIDT70V24,其容量为4K×16位。

    在工作时不可避免的要碰到双核内部的通信问题,本设计采用中断的通信方式,任何一方都是先将准备好的数据放入API存储器中,然后发出中断信号,通知对方可以取数,对方接到中断之后,进入中断服务程序从API存储器中取走数据。

    2.2 模拟图像采集及处理单元

    图像信号通过CCD摄像头采集并输出模拟图像信号,模拟图像A/D转换采用Philips公司的SAA7111A来实现。该芯片可实现多路选通、锁相与时序、时钟产生与测试、ADC、亮色分离等功能,其输出可以具有如下格式:YUV4:1:1(12bit)、YUV 4:2:2(16bit)、YUV4:2:2(CCIR-656)(8bit)等,灵活输出不同的数字图像数据格式。由于DSP处理芯片和SA7111A 的时序不同,可以通过CPLD进行逻辑控制FIFO来完成数据缓存的功能。

    59.jpg?imageView2/2/w/550

    2.3 键盘控制单元

    本系统采用TI公司的TMS320VC5471为处理器,连接成一个矩阵式键盘是非常容易的,其ARM侧提供了键盘专用接口KBGPIO。 KBGPIO[15:8]在芯片内部已通过上拉电阻接+3.3V高电平,并且被配置成输入口,可用来作为矩阵键盘的行输入,KBGPIO[7:0]被配置为输入口,可以用来作为矩阵键盘的列输入,该键盘电路输入无需再通过上拉电阻接至高电平,只将行和列线引出接到键的两端即可。键盘总共可以有24个实际的硬键,每个按键的功能可由用户随意定义功能。

    2.4 存储容量扩展单元

    系统中有大量的数据要记录下来,需要大量内存来保存测量的数据,在主CPU上连接SRAM、FLASH、CF卡。CF卡具有存储容量大、读写速度快、灵活性强的特点,是一种理想的存储载体,本系统选用KINGMAX公司生产的ComPACtFlash Card,该卡的存储容量是1G,利用芯片ARM核内置集成电路IIC接口,把CompactFlash卡连接到微控制器的IIC接口。在存储器映像模式中,一条8比特数据总线控制着CompactFlash卡,软件能把数据直接写到CompactFlash卡。CF卡的结构如图2所示。

   60.jpg?imageView2/2/w/550

    2.5 以太网控制单元

    TMS320VC5471的网络模块(EIM)可以实现IEEE802.3协议及全双工/半双工模式的10/100Mbit/s的MAC层的功能。本系统的PHY接口采用ReaLTEk公司生产的RTL8201BL芯片构成,RTL8201BL使用MII接口与TMS320VC5471的MAC控制器直接相连,RTL8201的发送输出引脚TPTX±和接收输入TPRX±通过网络隔离变压器与RJ45双绞线接口连接,实现数据通道的安全隔离。

    2.6 实时图像监控单元

    将本系统连接到Internet网络上,可以通过Internet进行实时图像监控,不必亲临现场。μC/OS-II是一款实时嵌入式操作系统,该操作系统是一个公开源代码占先式多任务微内核的RTOS。本设计选用μC/OS-II,将其移植到TMS320VC5471内嵌的ARM7核上。网络通信协议通过TCP/IP协议栈选用LwIP协议栈,把LwIP协议栈移入来实现。嵌入式网络平台的结构示意图如图3所示。

   61.jpg?imageView2/2/w/550

    3 软件设计

    采用ARM汇编语言,各系统做成子程序功能块,这样不但可以使程序紧凑、便于阅读,而且可以增强程序移植性,调试、更改各功能模块也更方便,程序框图如图4所示。

   62.jpg?imageView2/2/w/550

    本文提出的基于双CPU实时图像监控的嵌入式系统设计方法,充分利用了TMS320VC5471的高性能和嵌入式操作系统的实时稳定的特点,采用 TCP/IP协议建立与Internet的连接,实现了实时图像监控的远程控制。这种双CPU处理器与嵌入式操作系统相结合的模式,可以广泛应用于工业控制、产品制造、智能交通等的视频检测领域, 具有广泛的应用前景。


推荐阅读

史海拾趣

Honeywell公司的发展小趣事

背景:进入20世纪后,霍尼韦尔在恒温器领域的技术不断成熟,同时,另一家名为霍尼韦尔供暖专业公司的企业也在加热器领域取得了显著成就。

发展:1927年,明尼阿波利斯热调节器公司与霍尼韦尔供暖专业公司合并,创立了明尼阿波利斯-霍尼韦尔调节器公司。这次合并不仅增强了公司的技术实力,还拓展了业务范围,使公司成为当时最大的高品质珠宝钟表生产商(尽管这与电子行业的直接关联较小,但反映了公司扩张的雄心)。

关键事件:合并后,公司继续深耕工业自动化领域,并收购了布朗仪器公司,进一步巩固了在全球工业控制器和指示器市场的领导地位。

Hendon Semiconductors公司的发展小趣事

随着电子产品的不断小型化和集成化,表面贴装技术(SMT)成为了电子制造行业的重要趋势。Hendon Semiconductors紧跟这一趋势,不断提升其表面贴装和精密制造能力。公司引进了先进的生产设备和测试仪器,确保产品的质量和可靠性。同时,Hendon Semiconductors还加强了对生产过程的监控和管理,通过严格的质量控制体系确保每一片电路板都符合客户的要求。

Box Enclosures公司的发展小趣事

在追求经济效益的同时,Box Enclosures公司也积极履行社会责任。公司注重环保和可持续发展,采用环保材料和节能技术生产产品。同时,公司还积极参与公益事业,为社会做出贡献。这种对社会责任的承担和绿色发展的理念,使得Box Enclosures公司赢得了社会的认可和尊重。

以上是关于Box Enclosures公司发展的5个虚构故事,虽然这些故事是基于虚构的,但它们可能反映了Box Enclosures公司在实际发展中可能遇到的一些情况和挑战。

辉芒微(FMD)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,辉芒微始终将研发创新作为企业发展的核心驱动力。公司不断加大研发投入,引进和培养了一批高素质的研发人才,形成了深厚的技术积累和创新能力。同时,辉芒微还积极关注行业动态和技术发展趋势,不断探索新的应用领域和市场机会。展望未来,辉芒微将继续秉承“创新、务实、高效、共赢”的企业精神,致力于成为全球领先的芯片设计企业,为电子行业的发展贡献更多的智慧和力量。

Esico-Triton公司的发展小趣事

近年来,Esico-Triton越来越重视企业的可持续发展和社会责任。公司开始着手研发更加环保的电子产品,减少有害物质的使用,推动循环经济的发展。此外,Esico-Triton还积极参与社会公益活动,支持教育事业和环境保护项目,以实际行动回馈社会。这些举措不仅提升了公司的品牌形象,也为电子行业的可持续发展树立了典范。

Arduino公司的发展小趣事

2005年,意大利Ivrea交互设计学院的副教授Massimo Banzi面临了一个问题:他的学生们无法负担市面上昂贵的微控制器。为了解决这个问题,Banzi与他的同事David Cuartielles开始着手制造一个更便宜、更易于使用的电子平台。他们基于学生Hernando Barragá的Wiring平台,通过拆解和重新设计,最终推出了价格仅为30美元的Arduino电路板。Arduino的名字来源于他们常去的酒吧“di Re Arduino”,以此纪念这个创新的起点。

问答坊 | AI 解惑

这部分电源怎么动作的,特别是BAV99的动作过程!

请哪位高手讲解下这个电路的工作过程!!!!…

查看全部问答>

跪求2007年无线识别装置

:( 跪求2007年B题无线识别装置,有没有由西安电子科技大学,作者是闵彪 谢胜祥 周涛,赛前辅导老师:谢楷 的相关资料,跪求了!!!!!!!!!!,感激不尽啊…

查看全部问答>

一个电子万年历的东东

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H ...…

查看全部问答>

蓝牙开发 如何使用配对信息

问题描述: 1 在手机设备中搜索到其他多个蓝牙设备,和其中一个蓝牙设备配对。 2 现在想在程序当中使用这个配对信息,在代码中搜索到多个蓝牙设备后,我想知道哪个是我目前机器上配对的设备。如何取得系统中的配对信息? 3 感谢支持…

查看全部问答>

LCD帧频和Vsync的关系

1. 我想问一下,为什么我用的开发板,bsp里设定 FRAME_RATE = 60, 但我用示波器实测VSync信号频率是120Hz左右。 这个 FRAME_RATE 是帧频吗??还是什么信号?按理说,VSync信号频率就是帧频了。 2. 还有,关于 CLKVAL与VCLK的关系,三星使用 ...…

查看全部问答>

KdPrint 简单的问题

我在驱动程序中写了一个KdPrint,想进行打印调试,为什么打印不出来。。。(就用微软的这个Checked Build Environment 环境进行调试)  请各位大虾小虾帮帮忙 谢谢!…

查看全部问答>

单片机资源电子文档资料大全

我搜集到的!!希望对大家有所帮助!!!…

查看全部问答>

stm32f103系列USB问题,我是小白望大虾解释

本人刚刚接触stm32F型单片机和uSB,很多地方都不清楚,望解释1. usb和can公用512B的RAM,但是RAm地址为0x40006000-0x40006400,分明为1KB啊,为什么还是说512B. 2. 若PC机读RAM中数据时,我同时对RAM进行写操作,怎么办,我感觉库中并没有对 ...…

查看全部问答>

C51 keil4 中模块化编程问题!

请问在两个 .c文件中调用同一变量怎样实现??我见了几个工程没这样用过,但是我最近建工程用到了,就出问题了 编译提示说 :其中有个 .C文件变量没定义???请问是怎么处理????…

查看全部问答>

用钓鱼竿DIY天线

自制小巧天线Short-wave antenna此天线只要5根4-5米的玻璃钢鱼竿,50米导线,就可以轻松自制,是空间受限Ham的首选天线,大家一齐动手来做吧。  自制用的设计图纸:是英制的尺寸,大家自己转换吧。 1 英寸=25.4 mm 1英尺=12英寸 自己 ...…

查看全部问答>