导言
现代电信体系已发展为一个巨大的归纳化数字网络,除了供应传统电话服务外,也供应多种数据接入服务,其典型使用是为其它专用通讯体系供应数据中继服务。因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收发模块规划的情况下,这儿暂不考虑收发数据与其它接口的交流部分,并假定收发模块各路数据通道占用固定的时隙通道(实践上,这儿是由单片机软件设置的)。
别的,依据时钟等信号的供应办法,时序电路模块的作业形式常分为自动形式和被动形式两种。若电路模块所需时钟和同步信号均来自外部,该模块就处于被动形式;相反,若时钟和同步信号由模块内部发生,该模块就处于自动形式。下面的评论假定模块处于时钟与帧同步均由外部供应的被动形式,但评论成果对自动形式相同树立。
(一)接纳模块
ST-BUS接纳模块的功用原理框图。从本质上讲,ST-BUS接纳模块的功用是依据所设置的ST-BUS时隙方位接纳所需数据,再经过特定接口送出接纳模块并坚持至少一个位时钟周期。模块接纳数据时,因为发送端(见后)在上升沿处树立ST-BUS总线上的数据信号,此刻位时钟C2上升沿应仅触发状况转化及计数器计数,因而接纳端应在数据安稳期间采样,即在C2下降沿处读取串行数据。因而,双通道接纳模块用Verilog HDL完结时可选用两个always句子加以描绘,部分代码如下(为了简化起见,信号和常数声明略,下同)。
榜首个always句子内容为:
if(!f0)begin //同步检测,同步则置标志并复位计数器
f0_flag<=1;bitcounter<=bitsofbyte-1;bytecounter<=0;end
else if(f0_flag)begin //判别当时是否处于同步状况
case(bitcounter) //时隙内位计数处理
0:begin bitcounter<=bitsofbyte-1; //当时时隙末位则位计数器复位
if(bytecounter==(bytes_per_frame-1)) //查看是否帧末时隙
begin bytecounter=0; //时隙计数复位
if(f0)f0_flag<=0;end / /无同步信号则铲除同步标志
else bytecounter<=bytecounter+1;end //非帧末时隙则递加
default:bitcounter<=bitcounter-1; //正常接纳数据时计数器递减
endcase end
位时钟C2下降沿触发数据锁存并作接纳处理,则第二个always句子内容为:
if(f0_flag)begin if(bytecounter==byte_pos1)//查看当时时隙是否接纳数据
begin receive2_flag<=0;din1<=din1<<1;din1[0]<=dr;
if(bitcounter==0)receive1_flag<=1;end
else if(bytecounter==byte_pos2) //多通道接纳(同上)
……
end
在Altera公司供应的Quartus II 5.0 SP1集成开发环境下,根据MAX7000S系列的CPLD器材EPM7128SLC84-15对上述双通道ST-BUS接纳模块作归纳,占用资源为27个LC,占用率为21%。再做归纳后时序仿真,成果如图4(a)。因未评论单片机的操控接口,仿真的通道设置如下:榜首通道为0时隙,第二通道为31时隙,这样设置也是为了验证帧切换问题。由仿真成果能够看出,接纳模块的功用和时序正确。
(二)发送模块
ST-BUS发送模块的功用原理框图。从本质上讲,ST-BUS发送模块的功用是依照所设置的时隙将待发数据变换为特定的串行格局发送,行将数据信号转化为ST-BUS总线信号。由前述,发送端在位时钟C2的上升沿处能够既转化状况又发送数据,因而,双通道发送模块用Verilog HDL完结时能够选用一个always句子加以描绘,相应的部分代码如下:
if(!f0)begin f0_flag<=1;bitcounter<=bitsofbyte-1;bytecounter<=0;
if(byte_pos1==0) //时隙0为榜首通道,发送数据data1
begin dx<=data1[7];dout1<=data1<<1;dout2<=data2;end
else if(byte_pos2==0) //时隙0为第二通道,发送数据data2
……
else dx<=1'bZ; end //非选守时隙,则输出高阻开释总线
else if(f0_flag)begin case(bitcounter)
0:begin
…… //状况转化,相似于接纳模块
if(bytecounter==byte_pos1-1) //发送榜首通道数据
begin dx<=dout1[7];dout1<=dout1<<1;end
else if(bytecounter==byte_pos2-1)//发送第二通道数据
……
else dx<=1'bZ;end
default:begin bitcounter<=bitcounter-1;
…… //同上,发送数据
end endcase end
选用与接纳模块相似的办法,在Quartus II 5.0 SP1开发环境下根据EPM7128SLC84-15器材对双通道发送模块作归纳,占用资源为25个LC,占用率为20%。后时序仿真,成果如图4(b)。仿真时,为了阐明双通道发送模块的发送时序与通道设置的次序无关,与接纳模块的通道设置相反,发送模块的榜首通道设置为31时隙,第二通道设置为0时隙。由仿真成果可见,发送模块的功用和时序也正确。
接纳和发送模块的功用原理框图可知,两个模块之间的差异只要数据收发部分,两个模块的同步检测、时隙定位以及位定位都能够共用,因而两个模块能够兼并为一个收发模块,如图3(c)所示,能节约部分器材资源。从归纳成果来看,假如收发模块相对独立,那么资源占用将是27+25=52个LC,占用率高达41%。而接纳与发送模块兼并后的收发模块,占用资源35个LC,占用率27%。明显,有效地节约了CPLD的LC资源。
上面评论并没有严厉区别被动形式和自动形式,可是,前面的电路规划已考虑到了双形式的验证,CPLD器材的外接晶体振荡器能够让ST-BUS收发模块作业于自动形式。当作业于自动形式时,收发模块会自己发生时钟和帧同步等信号,并供应给ST-BUS总线上的其它部件。相反,当作业于被动形式时,收发模块的收发部分会屏蔽掉本地时钟,而由外部ST-BUS总线供应时钟。
根据所选定的CPLD器材EPM7128SLC84-15剖析收发模块最高作业功能可知,接纳模块和发送模块的最高作业频率均大于20MHz。这阐明,所规划模块的作业频率高于前面所述C2几种作业频率的最大值,也就是说在C2的各频率条件下,ST-BUS收发模块都是适用的。
结束语
文中所评论的ST-BUS收发模块的完结电路及CPLD内部逻辑规划已成功使用于某专用通讯设备的E1接口板,运转功能安稳。根本文中规划的收发模块,在多种不同规划的可编程器材上已成功完结了ST-BUS与RS-232等多种规范接口单元以及部分自界说接口的顺畅对接,完结各种 接口与ST-BUS总线间的数据复接通讯,作业功能安稳牢靠。所规划的ST-BUS收发模块具有较强的通用性、可扩展性及可移植性,能够便利地移植到选用可编程器材的ST-BUS通讯接口使用电路。