当前位置:首页 > 智能硬件 > 智能硬件
[导读]结合某专用通信系统E1接口转换板的设计,本文对ST-BUS总线进行了介绍,讨论了ST-BUS总线接口收发模块的设计方法,给出了Verilog HDL实现和模块的时序仿真图。

摘  要: ST-BUS是广泛应用于E1通信设备内部的一种模块间通信总线。结合某专用通信系统E1接口转换板的设计,本文对ST-BUS总线进行了介绍,讨论了ST-BUS总线接口收发模块的设计方法,给出了Verilog HDL实现和模块的时序仿真图。
关键词:ST-BUS;Verilog HDL;接口模块;E1;CPLD

引言
    随着数字技术的迅速发展,现代通信系统已成为一个庞大的综合化数字网络。电信核心网络除了提供传统电话服务外,还为其它专用通信(比如警用集群通信等)提供中继服务。电信系统一般从交换机引出E1信号线路以供其它专用通信系统接入。为了满足电信网的接入规范,E1终端设备内部常采用一种被称为ST-BUS的总线来对需要接入通信网的各路用户数据进行排队,以便统一与E1信号进行转换,充分利用E1线路资源。由于批量生产的接口芯片都是针对某些特定标准接口而设计,无法满足E1通信的特殊需要。为满足多种特殊接口与电信线路间进行数据交换的需要,增加系统可重配置的灵活性,本文在所涉及项目中的E1接口转换板的设计中采用了可编程器件实现了多种特殊接口的混合接入。为了简化问题,文中主要介绍ST-BUS总线接口收发模块的Verilog HDL设计。

ST-BUS基本原理
    ST-BUS(Serial Telecom BUS,串行通信总线)是卓联半导体公司根据电信应用的需要而定义的一种重要的通信设备内部总线通信协议,它可以将多路信息(包括音频、视频、控制信息以及其它数据等)进行复接或解复接,以便统一进行信号转换,实现本地设备与电信E1线路间的数据交换。随着通信系统越来越复杂,电信设备常有局部部件的淘汰或者更新换代。为了提高设备兼容性也便于系统升级,电信设备广泛采取了模块化设计方法,而ST-BUS就是将各功能模块连接起来协同工作的一种总线标准。所以,不论模块的功能和外部接口怎样,只要具备ST-BUS总线接口,都可以方便地嵌入到特定的通信系统中。

    根据卓联对ST-BUS的信号及时序规范所作的定义,ST-BUS是一种传输数字信息的高速同步串行通信总线,总线接口所需信号有帧同步信号、位时钟信号和串行数据信号。帧同步信号主要有类型0和类型1两种:类型0的同步脉冲仅出现在帧的开头,如图1所示,总线上各部件将之作为重要参考信号并由此决定何时开始接收或发送数据流;类型1的同步脉冲需要维持一个完整的时隙周期(即8个位时钟周期),在此期间部件也要接收或发送信息数据,这种同步方式较少应用。ST-BUS定义了4种标准时钟频率,即16.384MHz、8.192MHz、4.096MHz和2.048MHz,其中每一种时钟频率均可作为部件的内部时钟,不过任意时刻只能选择其一,自适应系统在设计时采用了自动选择模式。除频率2.048MHz外,其它时钟频率总是数据速率的两倍,即支持最大数据速率为8.192Mbps。如果ST-BUS数据速率为2.048Mbps,那么时钟可以是2.048MHz或4.096MHz。由图1可知,一个完整ST-BUS的帧周期为125ms,而每帧又根据数据速率分为几种不同的时隙总数。但是,为了与E1信号的时隙相对应,E1终端子系统常采用每帧32时隙的信号方式。

ST-BUS收发模块设计与仿真
    为了实现ST-BUS总线与各种不同(总线)接口之间的可靠数据传输,下面讨论同步模式下ST-BUS接口模块的设计,并在部分Verilog HDL描述中以注解方式进行详细说明。根据ST-BUS总线协议,ST-BUS接口模块可大致分为接收模块、发送模块和控制模块(含数据交换)三部分,分别完成ST-BUS总线数据的接收、发送和控制(包括与其它接口单元进行数据交换)等功能。要实现某种特定接口(如RS-232等)与ST-BUS总线之间的数据通信,则需要将该接口单元的I/O信号及控制信号接到ST-BUS接口的控制模块,通过控制模块来控制收发时序以及在ST-BUS中所占用的时隙位置及数目,而在实际应用中,各路数据对应的时隙位置及数目常通过外部控制接口设置。为简化问题,这里仅讨论ST-BUS接口收发模块设计,且假定时隙设置是固定的。

    如图1所示,ST-BUS总线的数据收发遵守以下规则:发送端在时钟C2的上升沿发送,而接收端则在C2的下降沿采数据,且同步脉冲在0时隙开始的第一个C2上升沿处保持低电平。


图1 类型0帧同步ST-BUS总线信号时序

ST-BUS接收模块
    ST-BUS接收模块主要根据控制模块所设置的ST-BUS时隙等参数接收所需时隙的数据,并将接收到的数据送给控制模块,其原理结构框图如图2(a)所示。


图2 ST-BUS收发模块的原理结构框图

    根据时钟等信号的提供方式,模块的工作模式常分为主动模式和被动模式两种。由于图2(a)所示的接收模块所需时钟与同步信号均来自外部,因此该模块处于被动模式;相反,如果时钟和同步信号由模块产生,则模块处于主动模式。

    被动模式下ST-BUS接收模块的基本工作原理为:上电后,在时钟稳定的情况下,模块首先检测同步信号;在非同步状态下,除同步检测以外的其它部件均不能工作;检测到同步后(即在同步状态下),模块启动时隙定位和数据位定位的计数器工作,此时,模块根据参数设置进行数据接收。另外,图2(a)中的时隙定位和数据位定位在本设计中采用2个计数器实现,也可以合并为单计数器实现。ST-BUS总线接收操作的关键之处在于前一帧的最后一时隙(即31时隙)与当前帧的第一时隙(即0时隙)之间的切换操作,因为需要同时检测同步信号,而一旦同步信号没有检测到,则模块会进入失步状态。接收模块的Verilog HDL实现(信号和常数声明从略,且代码已简化,下同)可以划分为以下三部分。

(1)同步检测
if(!f0) begin file://同步信号低电平有效
f0_flag<=1;  file://置同步标志
bitcounter<=bitsofbyte-1;//时隙内的数据位数减法计数器复位
bytecounter<=0; end
file://时隙数加法计数器复位

(2)定位计数
if(f0_flag) file://判断同步状态
begin case(bitcounter) file://根据数据位计数值进行时隙切换
0:begin
bitcounter<=bitsofbyte-1; 
file://数据位计数器复位
bytecounter<=bytecounter+1;
file://时隙通道计数器递增
end
default:bitcounter<=bitcounter-1; file://时隙内位计数器递减
endcase  end

(3)接收数据(含标志及使能信号产生)
if(bytecounter==byte_pos1) begin file://检查第1通道
din2<=8'bZ;
file://释放通道2暂存单元
receive2_flag<=0;
file://清除通道2接收标志
din1<=din1<<1;   
file://移位准备接收下一位数据
din1[0]<=dr;      file://读入数据位
if(bitcounter==0) begin receive1_flag<=1;end//接收完整通道数据置标志
end
else if(bytecounter==byte_pos2) 
file://多通道接收(同上)
 ……
else begin         
file://当前通道不接收数据,则释放暂存单元并清除接收标志
din1<=8'bZ;din2<=8'bZ;receive1 _flag<=0;receive2_flag<=0;end

    根据ST-BUS总线收发规则及接收模块基本工作原理,为了31时隙与0时隙的可靠切换,设计中采用状态转换与数据接收分开的方法,也即以上模块可由2个always语句实现,一个采用C2上升沿实现状态转换,一个采用C2下降沿实现数据接收。在Altera公司提供的Quartus II 5.0SP1集成开发环境下,利用MAX7000S系列最低性能的CPLD器件作综合后的时序仿真结果如图3(a)所示。图中第一通道为0时隙,第二通道为31时隙。


a)ST-BUS接收模块仿真


b)ST-BUS发送模块仿真
图3  ST-BUS收发模块综合后的时序仿真结果(C2时钟为10MHz)

ST-BUS发送模块
    ST-BUS发送模块主要将控制模块送来的数据按照所设置的时隙进行发送,也就是将一般数据信号转换为ST-BUS总线信号,其原理结构框图如图2(b)所示。

    发送模块可工作于两种模式,即主动模式和被动模式。图中细的虚线部分(除去相应的实线部分)表示工作于主动模式的连接,此时,时钟和同步信号均由模块内部产生;若除去细的虚线部分,则模块工作于被动模式。在本文涉及的E1接口板设计中,系统采用了自动模式选择的工作方式。图中同步的作用,在主动模式时为同步发生,在被动模式时为同步检测。

    被动模式下ST-BUS发送模块的基本工作原理与接收模块类似,所不同之处在于数据传输方向相反。与接收模块一样,图2(b)中的时隙定位和数据位定位也可以合并采用单计数器实现。ST-BUS总线发送操作的关键之处也在于前一帧31时隙与当前帧0时隙之间的切换,因为需要同时检测同步信号,并且状态转换和总线数据加载都在C2上升沿完成。发送模块的Verilog HDL实现可划分为两部分,与接收模块划分不同,这里已把发送数据的操作嵌入到了同步检测和定位计数当中,当然也可严格按功能块划分。

(1)同步检测及数据发送
if(!f0) begin  file://同步信号低电平有效
f0_flag<=1;//同步状态标志
bitcounter<=bitsofbyte-1;//位计数器复位
bytecounter<=0;          file://时隙计数器复位
if(byte_pos1==0)     file://通道1为时隙0,则开始发送数据
begin dx<=data1[7];  file://先送高位到ST-BUS总线
dout1<=data1<<1; file://移位准备下一位待发数据
dout2<=data2;end file://准备下一通道待发数据
else if(byte_pos2==0)//通道2为时隙0,则开始发送数据(同通道1)
……
else dx<=1'bZ; end   file://如果没有选择0时隙,则输出高阻,释放总线

(2)定位计数及数据发送
if(f0_flag)  file://判断同步状态
begin case(bitcounter)
0:begin  bitcounter<=bitsofbyte-1;//位计数器复位
if(bytecounter==(bytes_per_frame-1)) bytecounter<=0;//时隙计数满则复位
else bytecounter<=bytecounter +1;//时隙计数器递增
if(bytecounter==byte_pos1-1)
file://通道1发送数据
begin dx<=dout1[7];
file://发送数据的最高位
dout1<=dout1<<1; end      
file://移位准备下一位待发数据
else if(bytecounter==byte_pos2-1)  file://通道2发送数据(同通道1)
……
else dx<=1'bZ;end
file://非占用通道则释放总线
default:begin
bitcounter<=bitcounter-1;
file://位计数递减
……
file://同前面通道1、通道2发送数据
end endcase end

    根据ST-BUS总线收发规则及发送模块基本工作原理,发送模块各功能块均采用C2上升沿,或者采用C2下降沿转换状态而采用C2上升沿发送数据。对前者,以上发送模块可用1个或2个always语句完成;对后者,以上发送模块则至少需用2个always语句实现,并将数据发送从以上两部分中分离出来。采用类似接收模块的方法,对发送模块单独综合后作时序仿真,结果如图3(b)所示。值得注意的是,为了说明模块设计对于通道设置顺序的无关性,图中第一通道为31时隙,第二通道为0时隙。

ST-BUS控制模块
    ST-BUS控制模块主要完成ST-BUS总线的收发控制与协调,同时也负责与外部接口的数据交换功能,这部分代码因涉密不再列出,这里仅简单介绍一下其功能。

    控制模块的功能划分大致分为以下5部分:外部接口时钟产生及管理,控制收发模块与控制模块的数据交换,控制接口模块与其它接口的数据交换,对速率不匹配的数据作缓存(FIFO),提供对外通信接口供用户设置参数。根据实际应用情况,以上所列的功能可以适当取舍或调整。如果速率匹配,则可以舍弃第4部分;如果参数固化,则可舍弃第5部分。
  
结语
    基于MAX7000S系列CPLD器件分析收发模块的最高工作性能可知,接收模块的位时钟C2最高工作频率可达21.74MHz,而发送模块的位时钟C2最高工作频率则达到32.26MHz,完全符合设计要求。本文所设计的ST-BUS接口模块具有很强的通用性、可扩展性和可移植性,利用MAX7000S系列CPLD器件成功实现了ST-BUS与UART、RS-232、RS-485等接口单元的顺利对接,并已成功应用于某专用集群通信设备的E1接口板,完成了多路不同接口的数据复接通信,运行状况良好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭