0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈TMS320C32的嵌入式RTOS视频网络检测系统

电子工程师 来源:国外电子元器件 作者:施越红 2021-05-26 15:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍了基于DSP芯片TMS320C32图像处理平台的网络测试系统,给出了使用专用视频输入处理芯片SAA711和CPLD实现高速连续视频帧采集的设计思路。同时给出了该系统在嵌入式系统中基于PPP协议的Internet的连接方法。

在远程测控系统中,嵌入式系统由于其稳定性和实时性优于传统平台而得到迅速发展。本文提出了一种以DSP芯片和VxWorks为操作系统的新型嵌入式系统设计方法。

1测试系统工作原理

o4YBAGCt9JuAP_xfAAAt1IlRMro029.png

图1所示的测试系统的主要任务是采用DSP芯片处理通过摄像头拍摄并经过A/D转换的图像。整个系统由视频解码器、DSP和PCI总线专用芯片组成。系统通过PCI总线同通信平台交换数据,同时通过网络进行检测控制,图1所示是其系统框图。

2关键设计及器件选择

本系统设计的关键是视频处理卡的设计,一般的视频检测卡功能有限,不能满足本项目的需求,为此,笔者自行设计了一块视频检测卡。其结构框图如图2所示。

o4YBAGCt9LGAEnimAABFBvT1U-Q085.png

2.1 TMS320C32的功能特点

本测试系统中的DSP芯片选用T I公司的T M S 3 2 0 C 3 x系列产品,该器件的工作频率为40MHz;采用哈佛总线结构。并且拥有独特的指令系统和硬件乘加运算;外带256k×32Bit的FLASH、2k×8Bit的NVRAM和256k×32Bit的SRAM。该芯片是在TMS320C30的基础上简化而来的,含有TMS320C30的CPU内核。

TMS320C32的主要功能如下:

●带有程序引导功能;

●串行接口传输和存储器均可支持8、16、32位的数据;

●可产生边沿中断和电平中断;

●可由用户编程设定中断向量表地址;

● 具有空等待和低功耗两种电源管理方式;

●具有两个DMA通道;

●功能强大的外部存储器接口既可以满足视频解码接口8位数据的要求,又可以实现PCI接口32位数据的高速数据传输;

●灵活的程序加载可实现在系统编程;

一般情况下,S5933和DSP之间的硬件连接就是利用DSP的读写信号R/ W、地址选通控制信号IOSTRB、外部设备就绪信号RDY和部分地址信号以及S5933的FIFO状态信号WRFULL来进行简单的时序和逻辑组合,从而生成对S5933外加总线接口的读写控制信号。

2.2 其它器件的选择

本系统中的CPLD芯片选用ALTERA公司的EPM9320RC208。两组帧存储器A和B采用CYPRESS公司生产的两块CY7C1049芯片,该芯片的容量为512k×8bit,存取时间不超过15ns,能满足图像实时采集要求。通过CPLD内部的一个乒乓开关控制模块可自动完成帧间读写两个通道接口的切换。而DSP和SAA7113之间的所有控制信号接口逻辑和时序转换都由CPLD来完成,并可编程修改,因而提高了系统的使用灵活性和可靠性。图3所示是EPM9320RC208与CY7C1049的接口控制逻辑框图。

pIYBAGCt9MaACP0OAAA5r7fVeiA690.png

PCI总线专用接口芯片S5933是一种功能强大且使用灵活的PCI总线控制器专用芯片,该芯片符合PCI局部总线规范2.1版本,它既可作为PCI总线目标设备来实现基本的传送;也可作为PCI总线主控设备访问其它PCI总线设备。S5933的峰值传送速率为132Mbps?32位PCI数据线?。该器件提供有3个物理总线接口:PCI总线接口、外加总线接口(ADD-ON BUS)以及可选的NV存储器接口。

SAA7113的作用是实现模拟图像的A/D转换。DSP与SAA7113之间的硬件接口的控制逻辑包括两个子模块:帧图像写入控制器和乒乓开关,这两种功能可由一块CPLD来完成。

在视频卡设计中,电源模块的设计也非常关键,它直接影响着视频卡的最后实现和稳定运行。

本监控系统采用TI公司的TPS3307-33D来作为电源检测IC。该器件的Reset有效电源复位电压值定义为VDD=1.1V。TPS3307-33D可同时监视两种独立电压,还可控制另外一种电压,这种电压可以独立调整并在内部与复位逻辑电路相连。

3通信平台的嵌入式系统设计

本设计的软件系统包括底层软件和系统软件两部分,其中底层软件主要是DSP图像处理算法以及启动等运行程序,这些程序可在CCS环境下由C语言编写并进行汇编优化,CCS是TI公司发布的DSP软件运行环境;

在系统软件方面,基于PCI总线的图像处理系统所面临的难点颇多,其中难度最大的是PCI驱动问题。

3.1 系统软件的设计

系统软件可以选用以VxWorks为操作系统的嵌入式设计方法。

VxWorks操作系统的集成环境叫Tornado。Tor-nado集成环境是一个高效明晰的图形化实时应用开发平台,它包括一套完整的、面向嵌入式系统的开发和调测工具。VxWorks的优点如下:

(1)具有较好的可裁减性;

(2)支持应用程序的动态链接和动态下载;

(3)具有较好的兼容性;

(4)具有很高的可靠性和稳定性;

(5)具有很好的实时性;

VxWorks的多任务机制对任务的控制采用优先级抢占和轮转调度机制,从而充分保证了实时性,并可用同样的硬件配置满足更强的实时性要求,以便为应用开发留下更大的余地。

PCI设备有三种物理存储空间:配置空间、存储器空间和I/O空间。

其中配置空间是长度为256字节的一段连续空间,空间定义如图4所示,在配置空间中,只读空间包括设备标识、供应商代码、修改版本、分类代码以及头标类型。其中供应商代码用来标识设备供应商的代码;设备标识用来标识某一特殊的设备;修改版本标识设备的版本号;分类代码用来标识设备的种类;而头标类型用来标识头类型以及是否为多功能设备。除供应商代码之外,其他字段的值可由供应商分配。

基地址寄存器最重要的功能是分配PCI设备的系统地址空间。在基地址寄存器中,bit0(最低位)可用来标识到底是存储器空间还是I/O地址空间。基地址寄存器映射到存储器空间时,bit0为“0”,而当其映射到I/O地址空间时,bit0为“1”。

在驱动PCI设备时,首先是PCI设备的查找。嵌入式操作系统一般都提供有相应的API函数查找。而在VxWorks操作系统中,通过函数pciFindDevice?PCI_VENDOR_ID?PCI_DEVICE?index? &pciBus? &pciDevice,&pciFunc_可以找到供应商代码为PCI_VENDOR_ID、设备标识为PCI_DEVICE的第n(index+1)个设备,并且返回总线号、设备号以及功能号,然后分别保存于&pciBus、&pciDevice、&pci-Func中。

其次是PCI设备的配置。通过操作系统提供的API函数可以访问PCI设备的配置空间,从而完成PCI设备基址寄存器的配置、中断配置、以及ROM基地址寄存器的配置,最终得到PCI存储器空间和I/O地址空间的映射以及设备中断号等。在VxWorks操作系统中,访问PCI设备配置空间的API函数有:pciConfigOutLong和pciConfigInLong等,它们可分别完成对PCI设备配置空间的读写操作。

然后是根据PCI设备的配置参数来编写不同设备的初始化程序、中断服务程序以及对PCI设备存储空间的访问程序。

3.2 远程控制与通信链路

由于基于串行口的PPP协通信方式现已被各种ISP所接受。而且VxWorks系统也支持PPP协议,因此,在VxWorks下通过Modem建立与ISP的物理连接,然后再完成设备的PPP数据链路设置,就可以通过Internet实现远程控制。

pIYBAGCt9NGAN_lwAABvbS10tXI002.png

4结束语

图像采集系统的关键是如何对大容量的信息进行暂存、压缩、传输和处理。本系统可以很好地解决这n个难题。在图像信息暂存方面充分利用DSP存储空间的可扩展性,可保证系统暂存信息量的足够大;而信息压缩则是DSP最擅长做的事情,DSP可以在很短的时间内完成大量的信息压缩工作;PCI总线的引入可保证信息在足够的带宽下进行快速传输。而采用嵌入式VxWorks操作系统又使得系统具有良好的灵活性和适应性,同时也大大降低了系统成本。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20156

    浏览量

    328975
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129091
  • PIC
    PIC
    +关注

    关注

    8

    文章

    511

    浏览量

    90450
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66851
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是嵌入式操作系统

    要理解嵌入式操作系统(Embedded Operating System,简称 RTOS/EOS),我们可以从本质定义→核心区别→实际作用→典型特征→嵌入式开发场景适配,五个维度来拆解
    发表于 12-09 10:33

    嵌入式应掌握的几种能力

    1. 编程语言 基本掌握嵌入式必备的编程语言。C语言为主,C++为辅。在资源有限的情况下,大多数嵌入式产品还是使用C语言为主的,特别是底层
    发表于 12-08 06:05

    C语言在嵌入式开发中的应用

    语言可以确保实时系统中的任务能够在规定的时间内完成,保证系统的稳定性和可靠性。 4、嵌入式网络编程 随着物联网技术的飞速发展,嵌入式
    发表于 11-21 08:09

    嵌入式系统的定义和应用领域

    大量使用了嵌入式系统。 不仅如此,汽车电子类产品、网络通信类产品、通信与娱乐产品以及工业控制类产品等众多领域也都受益于嵌入式系统的应用。可
    发表于 11-17 06:49

    嵌入式实时操作系统的特点

    操作系统具备高效的中断处理机制,能够快速响应和处理系统的中断事件。 资源管理:实时嵌入式操作系统提供有效的资源管理机制,包括内存管理、设备驱动程序、文件
    发表于 11-13 06:30

    如何采用SAFERTOS和ESM保护嵌入式系统安全

    信任根的重要组成部分是实时操作系统RTOS),它为应用程序的运行提供了一个安全的平台。嵌入式系统的具体安全要求取决于其架构以及所面临的威胁。在本博客中,我们将探讨
    的头像 发表于 10-24 15:51 1164次阅读

    嵌入式需要掌握哪些核心技能?

    /网络设备)、中断底半部处理,适用于高端嵌入式设备。 企业需求:RTOS是60%岗位的核心要求,Linux开发需求随项目复杂度增长。 4)通信协议与接口 基础协议:UART、SPI、I2C
    发表于 10-21 16:25

    入行嵌入式应该怎么准备?

    知识: 一、C/C++编程C/C++是嵌入式系统开发中最常用的编程语言。熟练掌握
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    : 单片机嵌入式 :开发环境相对简单,通常使用C语言或汇编语言进行编程,开发工具包括Keil、IAR等。 Linux嵌入式 :开发环境较为复杂,除了需要掌握C语言,还需要了解Lin
    发表于 06-20 09:46

    嵌入式超声电机微步距控制检测系统设计

    。实验结果表明,此系统能实现超声电机精确的微步距控制和检测。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:嵌入式超声电机微步距控制检测
    发表于 06-11 14:43

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Lin
    发表于 05-15 09:29

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于CC++语言
    的头像 发表于 03-19 14:10 1200次阅读

    【入门必看】从菜鸟到大牛,嵌入式系统完整学习路线!看这篇就够了!

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入
    的头像 发表于 02-20 10:53 3194次阅读
    【入门必看】从菜鸟到大牛,<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>完整学习路线!看这篇就够了!

    ARM嵌入式实时操作系统比较

    嵌入式系统领域,实时操作系统RTOS)是确保任务按时完成的关键技术。ARM架构因其低功耗、高性能的特点,在嵌入式
    的头像 发表于 12-28 09:15 2449次阅读

    TMS320C6472/TMS320TCI648X DSP通用输入/输出(GPIO)用户指南

    电子发烧友网站提供《TMS320C6472/TMS320TCI648X DSP通用输入/输出(GPIO)用户指南.pdf》资料免费下载
    发表于 12-17 16:13 0次下载
    <b class='flag-5'>TMS320C</b>6472/<b class='flag-5'>TMS320</b>TCI648X DSP通用输入/输出(GPIO)用户指南