2 DSP的外围关系 本系统中DSP的外围器件比较多,而且各自都具有特殊的功能和用法,所以理顺它们的电气关系,是系统设计的首要问题。
2.1 DSP的程序载入所需要的外围 C542的运行程序除了厂家直接烧制到片内ROM的情况外,需要外加器件帮助DSP存储程序。在系统上电复位后,首先要将程序代码由片外加载到DSP的片内RAM中再执行。C54x提供了多种程序加载的方法:HPI接口程序加载方法、8位I/O接口程序加载方法、16位I/O接口程序加载方法、8位并行EPROM程序加载方法、16位并行EPROM程序加载方法和串口程序加载方法。本系统选择用一片32K×8bit的EPROM采用8位并行EPROM的程序加载方法给DSP加载程序。 DSP在上电复位后首先读取IO端口地址为0FFFFh的数据SRC。这个18位数据SRC的最低两位bit1-0决定用户所选择的程序下载方法。当这两位是01时,即可选择8位并行EPROM程序加载方法。然后,SRC的bit7-2位数据乘以210后的结果将作为DSP访问EPROM的起始地址。此后,DSP将把程序代码从这个起始地址开始的数据区载入到程序区里去执行。 本系统将一片32K×8bit的EPROM作为起始地址为8000h的数据空间存储加载程序。此时,SRC的bit7~0应设置为10000001。本系统依据CMOS电路规范,采用4.7kΩ的电阻将DSP数据线的第0、7位上拉为高电平,同时数据线的1~6位用4.7kΩ电阻下拉接地。电阻的使用使得一方面当有器件驱动数据总线时不会影响数据线上的正确逻辑,另一方面当DSP访问0FFFFh的IO端口时,只要其它芯片释放数据总线,DSP就可以读取到正确的SRC数据。
2.2 专用视频图象编/解码ASIC 专用视频图象编/解码ASIC可以提供16位的数据接口,通过4根地址线来选择访问ASIC的内部不同寄存器的数据。通过这个接口,DSP可以设置视频图象编/解码的工作状态,图象压缩效果。通过这个接口,DSP也可以读取到图象的相关统计数据,比如图象的总亮度,像素的最大亮度和最小亮度等信息,以便为DSP调整压缩效果提供依据。通过这个接口,还可以读出压缩图象数据或者写入压缩图象数据,此时,该接口等效为一个FIFO接口。这个专用视频编/解码ASIC能够主动发出服务请求中断,向DSP申请数据访问和控制处理。 根据这个专用视频编/解码ASIC的接口特点,本系统利用DSP的IO端口来访问处理该外设器件。
2.3 低速控制单片机 DSP作为高速的运算处理器不适合低速的控制应用。本系统中,对图象亮度、色度和对比度的调节,对摄像云台的控制,对用户控制器信号的接收以及对系统工作状态指示灯的显示,都是一些低速的控制。本系统选用单片机来完成这些工作,这样同时也就需要DSP和单片机交换控制命令。 C542的HPI接口提供了一个很好的DSP和单片机之间通信的解决方法。虽然HPI接口的8条数据线和5条访问控制线要占用单片机的13个IO引脚,但是本系统所用单片机IO资源是足够的。有了HPI接口,单片机可以将用户命令发送给DSP,并通过引发DSP中断申请DSP处理。DSP也可以将命令通过HPI接口要求单片机执行相应操作。利用HPI接口的特点,两个微处理器之间的通信不必匹配数据传输速率,也不会影响各自程序的执行速度。
2.4 图象数据存储SRAM 为了实现数据传输的流速控制,需要存储器缓冲数据。同时,要实现图象冻结和其它一些处理功能,也同样需要足够的存储空间。本系统选择了128K×16bit的高速SRAM来扩展C542有限的存储空间。C542的内部RAM占据了地址从0000~27FFh的数据区,8000~0FFFFh的数据区已经分配给了EPROM放置程序代码,最后只有2800~7FFFh的地址可以给SRAM使用。有一种扩展SRAM访问地址线的方案是采用两次寻址方法。第一次先给出部分地址并缓存下来,此时不访问数据;在第二次访问时,给出余下的地址数据,然后利用拼接的总地址来访问数据。 由于图象数据是数据流,它在SRAM中的存放和读取都是地址顺序递增的。依据这一特点,本系统设计了一种新的SRAM地址线扩展方法。该方法将每32个16位字图象数据划分为一次数据操作的最小单元组。这32个字数据在SRAM中存放地址的高12位是一样的,这高12位地址用DSP的低12位地址线选择。而SRAM的低5位地址用一个5位二进制计数器自动递增生成,即每访问一次高12位地址,低位地址自动增1。这样,实际只用了DSP的12根地址线,就可以高效地访问SRAM的所有存储空间。最后,DSP地址线的高四位A15~12应该在0011~0111之间选择两个值,一个用来片选SRAM,一个用来复位计数器。
2.5 数据通信高速串口 本系统直接利用C542的缓冲串口BSP作为系统开放给用户的通信接口。该接口的数据速率最高可以达到40Mbps,数据包的长度可以在8位、10位、12位和16位之中选择。BSP串口的接收部分BSPR工作在被动方式下,伴随接收数据的时钟和帧同步信号应该由外部提供。BSP串口的发送部分BSPX既可以工作在主动模式下,其数据时钟和帧同步由DSP内部提供。BSPX也可以工作在被动模式,数据时钟和帧同步时钟由外部输入。BSP的缓冲区数据自动发送和接收功能,也简化了DSP的处理工作。本系统在DSP的BSP串口基础上增加了接口驱动构成了系统的通信接口。
|