什么情况下要打狂犬疫苗| 鸡内金是什么东西| 看见壁虎是什么兆头| 马齿苋别名叫什么| 魔芋是什么植物| 隔离霜是干什么用的| 富士康是干什么的| 本我是什么意思| 睡莲和碗莲有什么区别| 笃什么意思| 乾隆和康熙是什么关系| 北海龙王叫什么| 三岁看小七岁看老是什么意思| 医疗保险是什么| 7月17什么星座| 昝是什么意思| 番茄什么时候种植| 宫外孕是什么意思| 字义是什么意思| 女属羊和什么属相最配| 双减是什么意思| 碗打碎了预示着什么| 用纸盒能做什么手工| 咳嗽出血是什么原因| 什么的衣服| 女性虚火旺吃什么下火| 晕车药什么时候吃| 宝宝说话晚是什么原因造成的| 8月29日是什么星座| 焗油和染发有什么区别| 为什么吃辣的就拉肚子| 喜新厌旧是什么生肖| 先兆流产是什么原因| 非洲讲什么语言| novo是什么牌子| 今天会开什么生肖| 胸ct和肺ct有什么区别| 10年是什么婚| 右耳朵痒是什么预兆| 悲伤是什么意思| vsd是什么意思| 初潮是什么意思| oa是什么| 什么把什么造句子| 十月十二号是什么星座| 癌症病人吃什么| 豆支念什么| 村居是什么意思| 什么是转基因食品| 更年期吃什么药调理| 突然尿多是什么原因| 2月3日什么星座| 707是什么意思| 珉字五行属什么| 莲子和什么搭配最好| 99年属什么的| 1.9号是什么星座| 人为什么会得抑郁症| opi是什么意思| 血粘度查什么项目| 门静脉增宽是什么意思| 用甲硝唑栓有什么反应| 头疼呕吐吃什么药| lmp是什么意思| 胃不好应该吃什么| 化疗后吃什么恢复快| 肺结核复发有什么症状| 戴黄金对身体有什么好处| sy什么意思| 吃什么药升血小板最快| 梦见老公不理我是什么意思| peni是什么意思| 胖大海和什么搭配最好| 蜜蜂是什么牌子| 今年是什么年庚| 甲状腺穿刺是什么意思| 排尿困难吃什么药| 教师节送什么礼物给老师| 这些是什么| 太阳穴疼吃什么药| 体寒的女人吃什么能调理好身体| 认生是什么意思| 九华山在什么地方| AX是什么意思| 什么颜色衣服最防晒| 细菌属于什么生物| 自负什么意思| 软件开发需要学什么| acb是什么意思| 什么花走着开| 黑色的蜂是什么蜂| 三杯鸡的三杯是什么| ca125检查是什么意思| 血糖是什么引起的| 玉米什么时候打药| 粉玫瑰适合送什么人| 为什么女人阴唇会变黑| 骨折吃什么消炎药| 呆若木鸡的意思是什么| 女人每天吃什么抗衰老| 坐月子能吃什么菜| 病毒性心肌炎吃什么药| 69年什么时候退休| 烤鱼什么鱼好吃| 四月十四日是什么节日| 肚脐下方硬硬的是什么| 云的五行属性是什么| 韩束属于什么档次| 起床口苦是什么原因| 下午4点半是什么时辰| 人外是什么意思| 月光石五行属什么| 乜贴是什么意思| 吃什么治疗便秘| 退行性改变是什么意思| 冲喜什么意思| 什么为力| 比心是什么意思| 心率低吃什么药好| 考试什么的都去死吧歌曲| 妇检tct是什么检查| 记吃不记打的下一句是什么| 吃黑豆有什么好处和坏处| 直捣黄龙是什么意思| 孕20周做什么检查| 多普勒超声检查是什么| 陌上是什么意思| 温煦是什么意思| 英文为什么怎么写| rice什么意思| 亲额头代表什么意思| 子宫多发肌瘤是什么意思| 南京有什么好玩的地方| 中年危机是什么意思| lof是什么基金| kh什么意思| vogue是什么牌子| 胃热吃什么中成药| aoerbo是什么牌子的手表| 仙草粉是什么做的| 海棠花什么时候开花| energy是什么牌子| 特应性皮炎是什么意思| 超敏c反应蛋白高是什么意思| cc代表什么意思| 献血后吃什么补血最快| 什么察秋毫| 去医院看痘痘挂什么科| 血糖高忌什么食物| 什么是甘油三酯| 什么水果汁减肥效果好| 男人经常熬夜喝什么汤| 尿酸高适合吃什么食物| 长脚气是什么原因引起的| 牡丹是什么季节开的| 贝加台念什么| 梧桐树叶像什么| 去医院要带什么| kitty什么意思| 锁骨中间的窝叫什么| 骚扰是什么意思| 神经性皮炎不能吃什么食物| 豆豉是什么东西| 肚子突然疼是什么原因| 撒丫子是什么意思| 小猫吃什么食物| 克苏鲁是什么| 精神焦虑症有什么表现有哪些| 长史相当于现在什么官| 八月二十是什么星座| 以什么乱什么| 做梦梦见自己生孩子是什么意思| 止咳平喘什么药最有效| 梦见剃光头是什么预兆| 莴笋不能和什么一起吃| tory burch什么牌子| 腰酸胀是什么原因男性| 血压为什么高| 鹅口疮是什么样的图片| 猪肝有什么功效| 加特纳菌阳性是什么病| 被交警开罚单不交有什么后果| 50年属什么生肖| 无花果有什么好处| 不议价什么意思| 梦见自己生了个女儿是什么预兆| 什么是体脂率| 冰箱发烫是什么原因| 肾病什么症状| 维生素b吃多了有什么副作用| 剖腹产第三天可以吃什么| 七月一是什么星座| 巨蟹座跟什么星座最配| 什么补蛋白最快的食物| 半月板损伤有什么症状| 背胀是什么原因| 血小板减少会出现什么症状| 牛仔裤配什么上衣| 肚子老是胀是什么原因| 厅长是什么级别| 左侧卵巢多囊样改变什么意思| 孕妇胃痛可以吃什么药| 南无阿弥陀佛什么意思| 维生素c主治什么| 中性粒细胞绝对值偏高是什么原因| 好学不倦什么意思| 梦见蜜蜂是什么预兆| 什么叫胰岛素抵抗| 三点水加邑念什么| 肝肾挂什么科| 妈妈的奶奶应该叫什么| 胃反流是什么原因引起的| 去胎毒吃什么最好| 集成灶什么品牌最好| 三八妇女节送老婆什么礼物好| 空心菜长什么样| 屁股上长痘痘是什么情况| 阿普唑仑片是什么药| 盐酸盐是什么| 什么是桃花劫| 香蕉不能和什么一起吃| cfu是什么意思| 有出息是什么意思| 胎膜早破是什么意思| 舌头发麻是什么情况| 流汗太多对身体有什么危害| 莆田医院是什么意思| 19属什么| 氯低是什么原因| 女生抽什么烟合适| 为什么老是想吐| 木薯是什么| 金字旁乐读什么| 叶凡为什么要找荒天帝| 唾液臭是什么原因| 势均力敌是什么意思| 小仓鼠吃什么| 立秋日有什么禁忌| 血脂厚有什么症状| 静息心率是什么意思| 吹空调流鼻涕吃什么药| 为什么人不会飞| 翡翠和和田玉有什么区别| 44是什么意思| 家里为什么不能放假花| 胃反酸吃什么| 233什么意思| 长期喝苦荞茶有什么好处| 暖皮适合什么颜色衣服| 桂林是什么地貌| ace什么意思| 手机壳什么材质的好| 检查身体挂什么科| 红色加紫色是什么颜色| 洗衣机什么牌子好| 晋字五行属什么| 渡情劫是什么意思| 盆腔肿物是什么意思| 惊厥是什么症状| 坤位是什么方向| 一国两制什么时候提出的| 中国的八大菜系是什么| 装牙套有什么坏处| 生目念什么| 百度

ST-BUS总线接口模块的Verilog HDL设计

  作者:张殊凡 时间:2025-08-07
百度   厚德永远不应当成为一个抽象的概念或者说说而已的套话,它应当就在我们的日常行为上。

  摘 要: 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上升沿处保持低电平。

  

740)this.width=740" border=undefined>

 

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

  ST-BUS接收模块

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

  

740)this.width=740" border=undefined>

 

  图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时隙。

  

740)this.width=740" border=undefined>

 

  a)ST-BUS接收模块仿真

  

740)this.width=740" border=undefined>

 

  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接口板,完成了多路不同接口的数据复接通信,运行状况良好。

关键词: ST-BUS 总线 接口 模块 Verilog 设计

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路


1月24日什么星座 牙齿上有黄斑是什么原因 移民瑞士需要什么条件 水漫金山是什么意思 回民为什么不能吃猪肉
尿频吃什么药最快见效 知识渊博是什么意思 黑色加什么颜色是棕色 三昧什么意思 额头出油多是什么原因
嫂夫人什么意思 疳积是什么意思 猫起什么名字好 鹅蛋有什么功效 负离子是什么
impress是什么意思 双侧腋下见淋巴结什么意思 什么样的充电宝不能带上飞机 反目成仇是什么意思 b型和ab型生的孩子是什么血型
尿隐血弱阳性是什么意思hcv8jop0ns8r.cn 韬光养晦什么意思jingluanji.com 为什么会长小肉粒hcv7jop5ns4r.cn au750是什么意思tiangongnft.com 高碎是什么茶bfb118.com
emg是什么意思hcv8jop9ns3r.cn 底线是什么意思hcv8jop9ns1r.cn 女人一般什么时候绝经hcv9jop5ns9r.cn 老学究什么意思hcv9jop6ns3r.cn 肝实质回声欠均匀是什么意思hcv9jop6ns1r.cn
什么分泌胆汁hcv9jop0ns0r.cn 打喷嚏流清鼻涕是什么感冒hcv9jop1ns5r.cn 孕吐一般什么时候开始hcv8jop0ns0r.cn 铁是补什么的hkuteam.com 排骨汤什么时候放盐最好mmeoe.com
宇宙是什么意思hcv7jop9ns3r.cn 精神焦虑症有什么表现有哪些hcv9jop5ns6r.cn 冯字五行属什么hcv8jop6ns0r.cn 失眠是什么原因导致的bjhyzcsm.com 羊球是什么hcv8jop3ns4r.cn
百度