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

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

3天内不再提示

基于TMS320C6727B处理器实现高速实时数据通信接口的设计

电子设计 来源:单片机与嵌入式系统 作者:蔡湘平,戴青玲 2021-05-05 11:53 次阅读

作者:蔡湘平,戴青玲 来源:单片机嵌入式系统

引 言

电子技术和芯片技术的发展使得数字系统运行的速度越来越快,设备内部和设备之间的数据交换对高速、实时、突发的要求越来越高。总线技术是数据交换的必要环节。早期的总线传输一般是串行方式,一些串行总线已经成为标准,非常适合语音和控制信号的低速数据传输,数据传输速率一般低于1 Mbps。这类总线包括RS232I2C、SPI、I2S等,特点是引线少、速率低。并行总线由于线数多,可以从8位扩充到16位、32位和64位,甚至更高,使得数据传输速率成倍提高。但由于布线的差异以及干扰的存在,使得其数据传输的同步时钟速率很难超过150MHz。差分串行总线能够解决布线差异引起的问题,并具有较高的抗干扰性能,使得串行总线的传输速率得到迅速的提高。USB总线就是一种差分的串行总线,其速率可以达到480 Mbps,已经得到非常广泛的应用。

很多设备的应用场合中,设备之间的连接非常困难甚至不能实现,基于无线总线的数据传输从而得到发展和应用。无线总线包括蓝牙、无线网卡、无线传感器等。无线USB(Wireless Universal Serial Bus,WUSB)也是这样的一种无线总线技术。由于现有设备的存在,使得单一的WUSB设备不能直接和现有设备进行交互。为了解决WUSB向有线USB 兼容的问题,需要研制同时具有WUSB和USB功能的设备,实现单一的WUSB设备和单一的USB设备之间的数据交换。本文研制了一种有线和无线USB共存的系统,使用Cypress公司的CY-WUSB6935实现WUSB的数据收发,使用该公司的CY7C68013实现有线USB的数据收发,同时使用 DSP实现两者之间的控制和数据处理。

1 硬件设计

1.1 WUSB和CYWUSB6935

WUSB技术的数据收发采用超宽带技术(Ultra WideBand,UWB)的脉冲调制方式。由于其载波信号不是连续存在的,仅仅存在于数据传输瞬间,使得其数据收发间隙几乎没有功耗,因此非常适合电池供电并工作较长时间。在3 m距离内,目前的WUSB2.0标准可以实现480 Mbps的数据传输速率,正在规划的WUSB3.0可以实现1 Gbps的数据传输速率。

CYWUSB6935是Cypress公司推出的一款支持WUSB标准的芯片。其发射频率为2.4 GHz,采用直接序列扩频(Direct Sequence Spread Spectrum,DSSS)技术,以避免来自2.4 GHz频段中802.11b、Bluetooth、无绳电话以及微波炉等无线信号的干扰;具有-95 dBm的接收灵敏度,确保在50 m范围以内获得较强的全方向信号;待机功耗非常低,具有约0.25μA的待机电流,使用普通电池待机时间可达数年;具有可自适应的发射功率,可以识别收发信号的强弱,发射功率具有-30~0 dBm的动态范围。注意,CYWUSB6935具有高达62.5 kbps的数据传输速率,平均响应时间少于10 ms。图1是CYWUSB6935的内部结构框图。

无线信号的收发由集成在片内的GFSK调制器和解调器完成,调制/解调器需要外部提供标准的13 MHz的时钟信号。该信号经过频率合成器转换为发射载波信号,如果频率合成器锁定时钟,将输出同频率的13 MHz时钟,可以由此判断调制/解调器是否正常工作。

CYWUSB6935具有2路功能完全一样的基带信号处理通道,射频端2路基带通道都和调制解调器连接。发送数据经过并串转换传输到基带处理通道;接收时基带通道处理后的数据经过串并转换传输到数字接口。基带通道主要功能是将数据调制在扩频码上,可以根据设置将一个数据位扩频到64个或者32个码片上。

数字接口主要包括1个SPI接口,由于CYWUSB6935最大只有62.5 kbps的数据传输速率,所以SPI接口完全满足数据传输要求。数字接口还具有复位、中断、休眠选择和设置引脚,以提高芯片的适应性。

CYWUSB6935有4种工作模式:64 chip/b单通道、32 chip/b双通道、32 chip/b单通道双倍采样和32 chip/b单通道两倍数据速率。第3种工作模式的数据传输速率最低,但性能更加可靠,一般在较远距离或者信道状况较差情况下使用;第4种工作模式的数据传输速率最高,但性能最差,一般在较近距离或者信道状况较好情况下使用。模式选择通过配置数据速率寄存器来实现。

接收和发射均采用中断方式,有3种:发射中断、接收中断和唤醒中断。这些中断共用一个IRQ引脚。通过读取中断状态寄存器可以确定中断类型。如果为接收中断,则从相应的数据接收寄存器中获得相应通道的数据;如果是发射中断,则接收数据送到基带通道中进行扩频处理;如果是唤醒中断,则切换休眠状态到工作状态,准备接收或者发射数据。

1.2 CYWUSB6935和DSP的连接

CYWUSB6935的数据接口一般采用SPI接口,与各种控制器的连接非常方便。DSP芯片选用TI公司的TMS320C6727B。该芯片是浮点型 DSP,最高工作频率达到350 MHz;单个指令周期可以执行6个浮点数据运算,最高达到2 100 MFLOPS;片内具有256 KB的RAM,片内外设具有各种接口(其中包括与CYWUSB6935连接的SPI接口)。CYWUSB6935和TMS320C6727B的连接如图2 所示。

TMS320C6727B作为主控制器,提供SPI的时钟和使能信号(图2中的SPIO_CLK和SPIO_SCS)给CY_WUSB6935。工作状态下,CYWUSB6935一共发送3种中断信号到TMS320C6727B,均由IRQ引脚传输到TMS320C6727B。其中,工作定时中断表明 CY-WUSB6935处于正常工作状态,如果TMS320C6727B超过时间未收到定时工作状态信号,则由SPI接口软件复位CYWUSB6935;如果软件复位后仍然不能正常工作,则由GPIO0引脚硬件复位CYWUSB6935,从而确保CY-WUSB6935不会进入死锁和非正常工作状态,大大提高了系统的可靠性。在休眠方式下,TMS320C6727B使用GPIO1引脚控制CYWUSB6935的PD引脚,控制其进入休眠方式;同样,使用该引脚可以唤醒CYWUSB6935。TMS320C6727B的Flash用于存储程序代码AIC23为音频处理芯片,可以使用音频信号控制 TMS320C6727B;CYWUSB6935的收发天线PCB天线,直接在电路板上制作完成。

1.3 USB和CY7C68013

USB接口一般包括3个部分:具有USB接口的PC系统,能够支持USB的系统软件,以及使用USB接口的设备。USB接口的应用采用通用连接技术,实现外设的简单快速连接,从而达到方便用户、降低成本、扩展PC机连接外设范围的目的。

USB接口的特点如下:连接灵活、使用方便;为USB接口设计的驱动程序和应用软件可以自动启动,无需用户干预;单独使用自己的保留中断,不会同其他设备争用资源;可以为外设提供电源,USB接口能自动识别外设所需的电源,并通过USB电缆向该设备供电(最高可达500mA,可以使用2根USB电缆,提高供电电流到1 A)。

CY7C68013是Cypress公司推出的USB2.0芯片。它包括8051处理器、智能串行接口引擎、USB收发器、16 KB片上RAM存储器以及通用可编程接口。智能串行接口引擎执行所有基本的USB功能,将嵌入的8051处理器解放出来用于实现其他功能,以保证连续、高速、有效的数据传输。RAM存储器可以分配4 KB的大容量FIFO用于数据缓冲,作为从设备时,可采用同步或者异步FIFO接口与主设备连接;作为主设备时,可通过GPIO接口配置控制时序来实现与其他从设备连接。

CY7C68013的内部结构如图3所示,其中与外部设备的接口包括I2C总线、GPIO接口和FIFO接口等。数据通过这些接口传输到内部的数据和地址总线,由8051处理器处理,或者直接送到USB接口的智能引擎单元;然后传输到USB收发器,最终传输到PC机。CY7C68013片内还包括PLL时钟电路,将外部的24 MHz时钟信号连接到USB收发器和8051处理器,驱动内部模块工作。

1.4 CY7C6801 3和DSP的连接

CY7C68013和DSP的连接有两种方式:从设备的FIFO方式和主设备的GPIO方式。本设计采用从设备的FIFO方式,DSP作为主设备。DSP可以像读写普通FIFO一样对CY7C68013内部的多层缓冲FIFO进行读写。具体的接口电路如图4所示。

FlagA、FlagB和FlagC是CY7C68013内部FIFO的状态标志,分别对应FIFO的空、半满和全满状态。TMS320C6727B 通过GPIO0、GPIO1和GPIO2引脚来获得这些状态信息。其中,CY7C68013的半满状态可由软件设置。半满仅仅表示FIFO中有数据,还存在未写的空间。例如,如果1 024个数据为全满,可以设置半满个数为1~1 023。

TMS320C6727B通过EMIF接口的CE2空间对CY7C68013进行读写操作。当通过CY7C68013向PC机发送数据时,首先查看空、半满和全满这3个状态信号,如果状态为空或者半满,则向CY7C68013写入适当大小的数据,以保证数据不会溢出;PC机通过CY7C68013向 TMS320C6727B发送命令字时,CY7C68013通过中断方式通知DSP读取其命令字。

2 软件设计

整个系统的软件设计包括3个部分:DSP的软件设计,PC的应用程序设计,以及CY7C68013的软件设计(包括固件设计和驱动程序设计)。

DSP运行的软件主要是作为CYWUSB6935和CY7C68013的数据收发通道。其具体的工作流程如图5所示。DSP上电初始化后,将依次扫描所有可用的127无线频带的无线信号,查看周围是否存在可用的无线USB设备,并判断它们是否属于本系统的设备。如果存在本系统的设备,则进行信噪比检测,并控制发射功率,也可以优先采用空闲频带。当双方建立连接后,即可进行正常的数据通信。DSP完成了某个频带的设备通信后,将进行下一个频带设备的搜索,直到搜索完成所有频带设备,然后重复整个搜索过程。

对于有线USB设备,DSP软件处理较简单,等待USB通信建立包就可以了。由于设备的识别和连接均由CY7C68013完成,DSP只须等待CY7C68013发出的通信中断。

CY7C68013运行的软件为固件程序,主要功能是控制CY7C68013接收并处理USB驱动程序的请求,控制CY7C68013接收应用程序的控制指令,通过CY7C68013存放数据并实时上传至PC机等。固件程序存储在PC机驱动程序中,通过CY7C68013的枚举过程自动下载到 CY7C68013中运行。

驱动程序一般由两部分组成:较高级的通用串行总线驱动程序模块和较低级的主控制器驱动程序模块。主要功能:实现管理USB设备驱动程序和USB控制器之间的通信;加载及卸载USB驱动程序;与USB设备建立通信,并执行设备配置、数据与USB协议框架和打包格式的双向转换任务。Cypress公司为了方便用户开发USB接口,在CY7C68013的软件开发包中提供了一个通用驱动程序。该程序可不加修改,编译后直接使用。

CY7C68013的工作流程如图6所示。上电初始化后,程序处于TD_Init状态,CY7C68013等待PC的设备建立命令。如果此时将 CY7C68013连接到PC机,PC机将检测到新的USB设备,并调用相应的USB驱动程序进行CY7C68013的枚举工作。枚举完成后PC机将提示有一个可用的USB外设,CY7C68013就可以和PC机进行数据通信了。此时CY7c68013运行在TD_Poll状态,一直检测是否收到通信建立包。如果收到该协议包则进行数据通信,直到数据通信结束;若空闲,则自动进入TD_Poll状态。CY7C68013在DSP控制过程中,如果收到通信建立包,则将该命令存储到其内部寄存器中,直到空闲时才会响应该通信建立包。作为PC机驱动程序,如果长时问未收到CY7C68013的响应,则重发该命令,若连续重发3次以上,会取消该命令。

结 语

USB设备作为高速实时的数据通信接口已经得到广泛的应用,无线USB也逐渐得到发展和应用。本文设计的系统能够实现无线USB和普通有线USB之间的数据传输。该系统具有小型化、低功耗、高性能的特点,具有良好的应用前景。由于采用DSP为处理器,可以方便地实现各种处理算法(例如压缩多个WUSB的语音信号传输到PC机),也可以实现多个WUSB语音信号的混音功能,实现多路的无线通信

责任编辑:gt

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

    关注

    68

    文章

    19118

    浏览量

    228873
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7960

    浏览量

    348005
  • 接口
    +关注

    关注

    33

    文章

    8465

    浏览量

    150751
收藏 人收藏

    评论

    相关推荐

    TMS320DM642如何与计算机实现数据通信

    请问TMS320DM642如何与计算机实现数据通信,将TMS320DM642处理图像后得到的数据
    发表于 08-11 10:04

    TMS320C6727B与FPGA的接口

    您好,最近在做一块板子,需要C6727B外接SDRAM,Flash,FPGA,但是C6727B的EMIF片选只有两个即EM_CS[0]和EM_CS[2],我让EM_CS[0]作为SDRAM的片选,EM_CS[2]作为Flash的片选,可是FPGA该怎么接呢?
    发表于 06-21 13:22

    请问仿真XDS510支持TMS320C6727B吗?

    请问:仿真XDS510支持TMS320C6727B吗?还是只有XDS560支持呢?O(∩_∩)O谢谢
    发表于 01-02 15:28

    双口RAM CY7C025 实现DSP间的高速数据通信

    双口RAM具有两套独立的地址线、数据线和控制信号线,利用它可以实现两个控制之间的高速数据通信。本文在详细介绍CY7
    发表于 05-13 16:35 35次下载

    HPI在主从式系统数据通信中应用

    摘要:数据通信是主从式系统设计的一个关键技术,HPI是TI DSP的一个重要外设,文中旨在介绍TMS320C54x中主机 接口HPI在数据通信中的应用。介绍了
    发表于 01-19 16:27 17次下载
    HPI在主从式系统<b class='flag-5'>数据通信</b>中应用

    TMS320F206实现OEM板GPS定位数据处理

    介绍了利用DSP 处理器进行OEM板GPS 定位数据处理的方法,重点讨论了基于高速实时数字信号处理器的串行
    发表于 10-12 16:10 38次下载
    <b class='flag-5'>TMS320</b>F206<b class='flag-5'>实现</b>OEM板GPS定位<b class='flag-5'>数据处理</b>

    双端口RAM实现ARM与DSP高速数据通信设计

    本文通过使用IDT70261双端口RAM,实现了ARM与TMS320C6211 DSP之间的高速实时数据通信,给出了双端口RAM 与TMS320C
    发表于 07-27 11:33 4033次阅读
    双端口RAM<b class='flag-5'>实现</b>ARM与DSP<b class='flag-5'>高速</b><b class='flag-5'>数据通信</b>设计

    TMS320C6727的音频采集处理与回放系统设计

    TMS320C6727的音频采集处理与回放系统设计。
    发表于 01-21 11:08 39次下载

    TMS320C6727B TMS320C6727B TMS320C6726B TMS320C6722B TMS320C6720 Floating-Point DSPs

    电子发烧友网为你提供TI(ti)TMS320C6727B相关产品参数、数据手册,更有TMS320C6727B的引脚图、接线图、封装手册、中文资料、英文资料,TMS320C6727B真值
    发表于 10-15 11:08
    <b class='flag-5'>TMS320C6727B</b> <b class='flag-5'>TMS320C6727B</b> <b class='flag-5'>TMS320C6726B</b> <b class='flag-5'>TMS320C6722B</b> <b class='flag-5'>TMS320C</b>6720 Floating-Point DSPs

    TMS320C6727 浮点数字信号处理器

    电子发烧友网为你提供TI(ti)TMS320C6727相关产品参数、数据手册,更有TMS320C6727的引脚图、接线图、封装手册、中文资料、英文资料,TMS320C6727真值表,
    发表于 10-15 15:28
    <b class='flag-5'>TMS320C6727</b> 浮点数字信号<b class='flag-5'>处理器</b>

    SM320C6727B SM320C6727B 浮点数字信号处理器

    电子发烧友网为你提供TI(ti)SM320C6727B相关产品参数、数据手册,更有SM320C6727B的引脚图、接线图、封装手册、中文资料、英文资料,SM320C6727B真值表,S
    发表于 11-02 19:35
    SM<b class='flag-5'>320C6727B</b> SM<b class='flag-5'>320C6727B</b> 浮点数字信号<b class='flag-5'>处理器</b>

    基于TL16C550C实现DSP UART数据通信的方法研究

    由于TMS320C6416不带异步串行收发接口(UART),无法实现DSP系统常用的通串行通信。为此,本文基于TL16C550C设计了一种通
    的头像 发表于 01-13 16:19 4408次阅读
    基于TL16<b class='flag-5'>C550C</b><b class='flag-5'>实现</b>DSP UART<b class='flag-5'>数据通信</b>的方法研究

    SM320C6727B浮点数字信号处理器数据

    电子发烧友网站提供《SM320C6727B浮点数字信号处理器数据表.pdf》资料免费下载
    发表于 08-02 09:16 0次下载
    SM<b class='flag-5'>320C6727B</b>浮点数字信号<b class='flag-5'>处理器</b><b class='flag-5'>数据</b>表

    TMS320C6727B TMS320C6726B TMS320C6722B TMS320C6720浮点数字信号处理器数据

    电子发烧友网站提供《TMS320C6727B TMS320C6726B TMS320C6722B TMS320C6720浮点数字信号处理器
    发表于 08-06 11:42 0次下载
    <b class='flag-5'>TMS320C6727B</b> <b class='flag-5'>TMS320C6726B</b> <b class='flag-5'>TMS320C6722B</b> <b class='flag-5'>TMS320C</b>6720浮点数字信号<b class='flag-5'>处理器</b><b class='flag-5'>数据</b>表

    TMS320C6727 TMS320C6726 TMS320C6722浮点数字信号处理器数据

    电子发烧友网站提供《TMS320C6727 TMS320C6726 TMS320C6722浮点数字信号处理器数据表.pdf》资料免费下载
    发表于 08-08 09:26 0次下载
    <b class='flag-5'>TMS320C6727</b> <b class='flag-5'>TMS320C</b>6726 <b class='flag-5'>TMS320C</b>6722浮点数字信号<b class='flag-5'>处理器</b><b class='flag-5'>数据</b>表