首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于CPLD的ST-BUS总线收发模块设计与实现

基于CPLD的ST-BUS总线收发模块设计与实现

引言
现代电信系统已发展为一个庞大的综合化数字网络,除了提供传统电话服务外,也提供多种数据接入服务,其典型应用是为其它专用通信系统提供数据中继服务。因E1信号接入方式简单,一般电信交换机都会预留部分E1接入端口以供专用通信系统使用。为满足电信网接入要求并充分利用线路资源,E1终端子系统内部常采用ST-BUS总线对各路用户数据进行复接或解复接,并实现与E1信号的转换。考虑到专用接口芯片针对某一种或几种标准接口而设计,已无法满足所有接口标准(尤其是新型接口标准)要求。为使各种接口都能与电信线路进行数据交换,且系统配置能更加灵活,文中所述模块的电路设计采用了先进的可编程器件来实现,便于多种接口的混合接入。鉴于接口种类及标准繁多,文中主要讨论外部接口与ST-BUS总线通信所需公共模块(即ST-BUS收发模块)的设计与验证。
ST-BUS总线规范
在电信设备中,模块互连普遍采用总线架构,其中应用最为广泛的是ST-BUS(即Serial Telecom BUS,串行电信总线)。电信芯片制造商Zarlink半导体公司根据电信模块化应用的需要对ST-BUS的信号与时序规范作了明确的定义,该总线在很大程度上简化了不同模块间的通信方式,可以传输包括音频、视频、控制信息等在内的数据信息。
由定义知,ST-BUS是一种传输数字信息的高速同步串行通信总线,其总线信号包括帧同步、位时钟和串行数据,帧同步信号是一个负脉冲,分为两种类型:类型0的 F0 同步脉冲仅出现在帧开头的一个位时钟周期内,如图1(a)所示,它决定着总线上各部件何时开始收或发一帧信息数据流;类型1的 F1 同步脉冲也出现在帧开头且需维持8个位时钟周期(即一个时隙周期),在此期间总线上各部件 同时也在收或发信息数据流,如图1(b)所示,相比于类型0,类型1同步方式应用较少。另外,考虑到模块间通信速率的匹配,ST-BUS定义了四种标准时钟频 率 ,即 16.384MHz、8.192MHz、4.096MHz和2 .048MHz,均可用作部件的内部时钟,且同一时刻只能选择其一,而自适应系统则采取自动选择 模式。除了常用的基准时钟2.048MHz外,其余时钟频率总是对应数据速率的两倍,即ST-BUS支持的最大数据速率为8.192Mbps。假设ST-BUS速据速率为2.048M bps,则时钟频率可在2.048MHz与4.096MHz中任取其一。由图1(a)可知 ,ST-BUS的一个完整 帧周 期为12 5μs,每帧又根据不同数据传输速率分为不同的时 隙数。不过,为了与E1信号时隙一一对应,实际应用中ST-BUS常采用每帧32时隙的信号方式。
由于通信系统越来越复杂,为了提高设备兼容性且便于系统或模块升级,电信设备广泛采用模块化设计思想和方法,而ST-BUS正是便于将各功能模块联接起来协调工作的总线标准,所以模块只要具备ST-BUS总线接口就能方便地嵌入特定通信设备。
ST-BUS收发电路与CPLD逻辑设计
ST-BUS收发电路设计
为了实现完整的ST-BUS收发模块,首先介绍一下ST-BUS收发电路设计。
为ST-BUS收发模块的电路原理图。这里,ST-BUS收发模块功能电路以CPLD作为核心元件,CPLD采用全球第二大可编程器件厂商Altera公司MAX7000B系列的 EPM7128SLC84-15(128个宏单元,PLCC84封装)。
同时考虑到调试与验证方便,电路模块采用一个Atmel公司的AT89C51单片机(DIP40封装,文中不作详细讨论)作为外部控制器。单片机通过四线制SPI接口设置收发模块的工作模式、时隙参数等,也可通过SPI或并口P0接口读(或写)ST-BUS收发模块接收(或发送)的数据,并通过RS-232C接口与计算机通信。另外,ST-BUS收发模块还设置了2个中断输出信号,并在分别连接到单片机的中断输入引脚 INT0 和 INT1 。因此,单片机也可以采取中断方式来读取ST-BUS收发模块接收到的数据。
单片机的外接晶体11.059MHz;CPLD片上系统时钟由外部4.096MHz有源晶体振荡器提供,采用10引脚双列插座的JTAG接口实现CPLD的在线编程;RS-232C与TTL接口电平转换采用MAXIM公司的MAX232ACPE。
ST-BUS收发模块设计
ST-BUS收发模块的功能是实现ST-BUS总线串行数据的可靠收发,接下来就探讨 F0 同步模式下ST-BUS总线接收与发送的模块设计。
ST-BUS总线数据收发规则为:发送端在时钟C2上升沿时发送数据,而接收端在C2下降沿时采样并读取数据,且 F0 同步脉冲在第0时隙开始的第一个C2上升沿处保持低电平。需要说明的是,实际应用中ST-BUS收发模块的一端接到各种接口的数据交换单元,且通过外部控制接口设置各路数据所占用的时隙位置参数,不过,在不影响本文讨论ST-BUS收发模块设计的情况下,这里暂不考虑收发数据与其它接口的交换部分,并假定收发模块各路数据通道占用固定的时隙通道(实际上,这里是由单片机软件设置的)。
另外,根据时钟等信号的提供方式,时序电路模块的工作模式常分为主动模式和被动模式两种。若电路模块所需时钟和同步信号均来自外部,该模块就处于被动模式;相反,若时钟和同步信号由模块内部产生,该模块就处于主动模式。下面的讨论假设模块处于时钟与帧同步均由外部提供的被动模式,但讨论结果对主动模式同样成立。
返回列表