C6000与C2000系列DSP之间串行数据通讯的研究与实现
扫描二维码
随时随地手机看文章
tms320c6711是ti公司tms320c6000系列32位浮点dsp,它具有专用硬件逻辑的cpu、片内存储器、片内外设,支持汇编和c语言的单独或混合编程。该系列dsp最主要的特点是采用了vliw体系结构,因此可以单周期发射多条指令,实现很高的指令级并行效率。其计算和处理速度非常快,系统单指令周期可达到6.67ns,被广泛用于dsl、无线基站、雷达声纳、数字图像处理等方面。在tms320c6711中有2个多通道缓冲串行接口mcbsp,mcbsp不仅可以配制成串行接口,还可以独立配制成通用的输入(gpi)、输出(gpo)和输入输出端口(gpio)。其优点是数据处理能力强大,但控制接口少,片内集成外部设备少,控制能力较弱。 ti公司的tms320lf2407为16位定点dsp微控制器,内嵌有看门狗定时器(wdt)、can总线控制器、模数转换器(adc)、串行外设接口(spi)、异步串行口(sci)等多种外设模块,并有大量输入输出引脚(gpio),可以满足控制系统多方面的控制需求。但由于tms320lf2407的指令周期最短为25ns(40mhz主频),对于数据处理运算量特别大的系统,其运算速度略显不足。 多数数字图像处理应用系统既要求系统有强大的数据处理能力,以满足对图像处理的实时性要求,又要求系统有强大的控制能力,以便实现对外部众多设备的控制。在实际应用系统中,将tms320c6711作为处理器完成数字图像的实时处理,tms320lf2407作为控制器完成系统的控制功能,便可兼顾系统的数据处理能力与外部设备控制能力。这样的系统要求在tms320c6711和tms320lf2407之间建立有效的数据交换通道,本文所介绍的设计思想就是基于以上工程需要提出的。1 系统结构 本系统为嵌入式数字图像处理系统,数字图像数据由下位机tms320c6711处理,处理结果采用异步串口通讯的方式传送给上位机tms320lf2407,tms320lf2407将采集到的模拟量、开关量等参数,与通过异步串口接收到的图像处理结果一起通过can总线向远程监控终端发送。
tms320c6711的多通道缓冲串行接口mcbsp与tms320lf2407的sci模块,通过特定的软硬件设计可以支持使用标准格式的异步数字通讯。通讯数据的格式为:一个起始位、数据(长度可通过编程在16位~8位内可选)位、可供选择的奇/偶/非极性位、一个或两个停止位。
1.1 mcbsp接口 mcbsp可以分为数据通道和控制通道两部分。数据发送引脚(dx)和数据接收引脚(dr)分别负责数据的发送和接收,发送时钟引脚(clkx)、接收时钟引脚(clkr)、发送帧同步引脚(fsx)和接收帧同步引脚(fsr)提供串行时钟和控制信号。cpu和dma控制器通过外设总线与mcbsp进行通讯。当发送数据时,cpu和dma将数据写入数据发送寄存器(dxr1,dxr2),接着复制到发送移位寄存器(xsr1,xsr2),通过发送移位寄存器输出至dx引脚。同样,当接收数据时,dr引脚上接收到的数据先移位到接收移位寄存器(rsr1,rsr2),接着复制到接收缓冲寄存器(rbr1,rbr2),rbr再将数据复制到数据接收寄存器(drr1,drr2)中,并通过串口事件通知cpu或dma读取数据。这种多极缓冲方式使得片内数据通讯和串行数据通讯能够同时进行。
1.2 sci接口 sci模块支持cpu和其他使用标准格式的异步设备间的通讯。它具有scirxd(串行数据接收端)和scitxd(串行数据发送端)两个i/o引脚。在全双工模式下具有一个发送器(包括scitx2buf及其主寄存器txshf)、一个接收器(包括scirxbuf及其rxshf)。发送器在scitxbuf存放要发送的数据,并每次一位地将数据移位至scitxd引脚;接收时则每次一位地将scirxd引脚上的数据移入,载入scirxbuf和scirxemu给cpu读取。具有一个可编程的波特率发生器,可得到超过65 000种不同的可编程速率。sci为接收器和发送器提供独立的中断请求和中断向量:如果rx/bkint ena位(scictl2.1)被置位,当sci接收到一个完整的帧,并把rxshf中的数据传送到scirxbuf时,这个动作置位rxrdy标志(scirxst.6)并启动一个中断。如果tx int ena位(scictl2.0)被置位,则在任何时候,只要scitxbuf中的数据送到txshf,发送器中断就会被认定,表示cpu可以向scitxbuf写。这个动作置位txrdy标志位,并启动一个中断。2 硬件实现 当tms320c6711d与tms320lf2407a进行标准异步串行通讯时,tms320lf2407a的sci接口可直接支持该通讯,只需将sci接口通过内部特殊功能寄存器配置为串行接口模式即可。而tms320c6711d的mcbsp除通过内部特殊功能寄存器配置成串行接口外,在硬件设计上还应将dr和fsr短接,并与sci的串行数据发送引脚(scitxd)相连。这是由于标准异步串行通讯中数据线上既包含了帧同步信息,也包含了数据信息。sci的串行数据接收引脚(scirxd)与mcbsp的dx相连。 由于tms320c6711d与tms320lf2407a的接口电压均为3.3v,二者引脚可直接相连,不需要电平转换。
3 软件参数的配置与计算
3.1 针对tms320c6711d
(1)波特率的计算
tms320c6711d内部生成的串行时钟由系统时钟