![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| 高速DSP扩展低速接口的实现解决方案 | |||||
作者:互联网 文章来源:本站原创 点击数: 更新时间:2007-1-23 ![]() |
|||||
|
§摘要§ 根据电视监控系统开发项目中存在的高速DSP器件与低速器件接口的时序不匹配问题,提出了采用高速DSP的SPI口串行通讯和GPIO并行通讯,解决高速DSP与PC机之间的接口问题,并给出了通过这种方法扩展键盘和LED显示器的例子和扩展PC机通讯的例子。 1引言 随着电子技术迅速发展,在电视监控领域中,音视频图像信息的传输将逐步转为网络传输方式。这需要对模拟的音视频图像信号进行压缩和转换,这种处理必须采用高速的处理器件,以前最常见的办法是采用专用的高速压缩处理器件,而现在高速DSP发展很快,最高计算速度达到3 在实际的装置中,除了需要用高速DSP对音视频图像信号进行压缩和转换外,还需要一些辅助的功能,例如键盘控制、LED状态信息显示以及对云台镜头等的控制。这些事务性工作的处理量不大,但是需要消耗很多时间,一般采用单片机更合适。因此高速DSP与低速器件的接口问题成为了主要问题,即如何解决高速DSP与单片机接口是主要的研究任务。 本文以TI公司的TMS (1)将高速DSP的缓冲串口配置为SPI口,实现与单片机接口的方案。 (2)将单片机与高速DSP的GPIO并行接口连接的办法,实现与单片机接口的方案。 这两种方案都仅仅需要DSP或是单片机按照规定的模式编程,避免了多CPU之间的协同工作问题,便于程序编制。 这2种方案可以适用于几乎所有TI公司DSP器件(TMS 2 TMS TMS 3 采用SPI接口扩展外部低速接口 SPI接口是TMS SPI接口是一种4根信号线的接口协议,包含串行数据输入(MISO)、串行信号输出(MOSI)、移位时钟(SCK)和从设备使能(SS)信号。SPI是由主设备时钟控制数据的传输过程,在从设备使能的情况下,主设备内部的数据寄存器与从设备内部的数据寄存器构成一个环形寄存器,在主设备的时钟信号控制下,主设备内部的数据寄存器依次传入从设备的数据寄存器中,而与此同时,从设备内部的数据寄存器的数据依次传入主设备的数据寄存器中。在这个通讯过程中,完全由主设备的时钟控制传输速度。 TMS TMS 这时的主时钟频率由SRGR寄存器中的CLKSM位来选择时钟源,由CLKG DV设置时钟的频率。这时的时钟频率需要受到从设备的最高接收时钟的限制,一般带SPI接口的单片机SPI口的最高速度低于4Mb/s,因此需要使用较低的通讯速率,例如2Mb/s。 TMS 在实际通讯中,若DSP的McBSP作为SPI的主设备,则需要分两次向单片机发命令,首先发控 制命令,然后再发取数命令,便于单片机有足够的时间响应命令。单片机平时按照DSP的命令显示数据,并执行键盘控制功能,若收到DSP的命令,则立即停止当前的工作,快速响应DSP的命令,减少DSP的等待时间。 在实际应用中,为了控制传输速度,需要设置CLKx的时钟源取自CPU时钟,并且CLKGDV=95或是更大。由于分频后的时钟占空比为50%,这样高电平宽度=低电平宽度。这样CLKx时钟周期 T为: T=(1+CLKGDV)×P(1) 其中P是CPU时钟周期。若CPU取200MHz,则P=5ns,这时CLKGDV=95,则T=480ns,相应的位传输速度为2.1Mb/s,这是一个较低的速度。由于CLKGDV取值范围在0~255之间,这时SPI的传输速度可以在0.78~200 Mb/s之间变化。 另外,还需要注意,DSP的McBSP接口的电压在3.3 VDC,而外部单片机一般在5 VDC左右,需要考虑适当的电平转换接口,例如SN54LVT16373。 若是扩展键盘、LED显示器等低速外部接口,可以通过单片机实现,若是构造RS232接口与PC机通讯时,可以采用MAX3100接口。 DSP通过MAX3100与PC机或其他设备之间的异步数据传输。由于DSP的接口电源为3.3 VDC,而MAX3100也可以工作在3.3 VDC,因此可以直接接口,这是需要采用一款可以工作于3.3 VDC的RS232接口芯片,SP3232可以工作在3.3 VDC,接口电平符合设计要求。 MAX3100工作前需要做初始化。在用MAX3100构成RS232接口,与PC机之间异步数据传输时,一般采用8b模式,不传校验位,通讯速度取9600~115.2 kb/s,接收FIFO打开,部分中断打开。当对MAX3100初始化后,MAX3100的UART发送部分接收SPI数据,按照配置参数,加上起始位和停止位,并按要求的波特率通过TX按异步串行发送出去,当发送缓冲器空后,可以产生中断;MAX3100的UART接收部分按照配置参数,以16倍波特率时钟采样接收端,若发现接收端由高变低作为起始位,然后继续以16倍波特率时钟采样接收端,按第7,8,9次的结果确定数据,并根据设置参数,每字节读取7~9位数据,最后根据停止位停止。MAX3100的接收数据进入接收FIFO中,若达到8 B可以产生中断,便于DSP快速获取数据。 4 GPIO接口扩展低速外围接口 TMS 对GPIO的控制是通过对GPIO的数值寄存器GPVAL的读写实现的。一旦设置好GPEN寄存器和GPD IR寄存器,DSP就可以直接利用GPIO控制外围的低速IO接口了。但是这样操作需要DSP用软件搜索来实现IO控制,DSP的开销太大,特别是对键盘、LED等需要经常操作的低速接口更是如此。解决办法是增加一片89S52单片机。这时可以将16个GPIO口分为8 b数据线和必要的2根联络线。键盘和LED显示可以用单片机来控制,仅仅需要DSP将需要显示的数据通过接口传给单片机,或是单片机将键盘数据传送给DSP,这样DSP的负担大大降低。在单片机一侧,可以用中断实现快速接口,而DSP这一侧目前仍然采用搜索/等待的办法,对需要高速计算的DSP来说,接口负担仍然较重。 为了降低DSP用GPIO控制外设的开销,TMS 在GPIO中,仅仅GPIO 0和GPIO 4~7具有中断功能,同时所有GPIO都有EDMA功能。这可以通过对GPIO相应寄存器设置实现。由于采用简单的接口设计,因此DSP的GPIO采用中断方式更简单一些,对高速数据计算影响也不是很大。将DSP与单片机的通讯协议设计为: 帧头:8位特殊字符;命令:8位字符;帧长度:8位字符;数据1:8位字符;…;数据 N:8位字符;CRC校验:8位字符。 在实际通讯中,当DSP向单片机发命令时,先发数据,然后发字节同步信号到单片机的INT0脚(中断),这样单片机采用中断方式快速接收处理。规定通讯间隙为1~10 ms,这样对两 者的要求都不高。一旦启动一帧通讯后,在DSP内部采用定时器的EDMA实现定时发送,不必再消耗DSP的资源。 在单片机向DSP发命令时,单片机先发数据,然后发字节同步信号到DSP的GPIO脚(中断),这样DSP采用中断方式快速接收处理,计算资源消耗很少。 5 结语 采用上述两种方法解决了在进行网络传输音视频图像时所需的数据压缩和转换运算必须 采用高速DSP芯片,而在处理其他事务性管理时运算小耗时大,因此选用单片机为宜的多CPU 处理器系统中的接口同步问题。研究两者的特点后,可视通讯需求选择其中一种方法。本方 案选择了SPI串行口的方法与单片机和PC进行通讯,取得了较好的效果。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于ADSP-BF533处理器的滤波… 高速DSP系统PCB板的可靠性设… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|