<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ST-BUS總線(xiàn)接口模塊的Verilog HDL設(shè)計(jì)

          ST-BUS總線(xiàn)接口模塊的Verilog HDL設(shè)計(jì)

          作者: 時(shí)間:2011-04-09 來(lái)源:網(wǎng)絡(luò) 收藏


          (1)同步檢測(cè)
          if(!f0)beginfile://同步信號(hào)低電平有效
          f0_flag=1; file://置同步標(biāo)志
          bitcounter=bitsofbyte-1;//時(shí)隙內(nèi)的數(shù)據(jù)位數(shù)減法計(jì)數(shù)器復(fù)位
          bytecounter=0; end
          file://時(shí)隙數(shù)加法計(jì)數(shù)器復(fù)位

          (2)定位計(jì)數(shù)
          if(f0_flag) file://判斷同步狀態(tài)
          begin case(bitcounter) file://根據(jù)數(shù)據(jù)位計(jì)數(shù)值進(jìn)行時(shí)隙切換
          0:begin
          bitcounter=bitsofbyte-1;
          file://數(shù)據(jù)位計(jì)數(shù)器復(fù)位
          bytecounter=bytecounter+1;
          file://時(shí)隙通道計(jì)數(shù)器遞增
          end
          default:bitcounter=bitcounter-1; file://時(shí)隙內(nèi)位計(jì)數(shù)器遞減
          endcase end

          (3)接收數(shù)據(jù)(含標(biāo)志及使能信號(hào)產(chǎn)生)
          if(bytecounter==byte_pos1) begin file://檢查第1通道
          din2=8‘bZ;
          file://釋放通道2暫存單元
          receive2_flag=0;
          file://清除通道2接收標(biāo)志
          din1=din11;
          file://移位準(zhǔn)備接收下一位數(shù)據(jù)
          din1[0]=dr; file://讀入數(shù)據(jù)位
          if(bitcounter==0) begin receive1_flag=1;end//接收完整通道數(shù)據(jù)置標(biāo)志
          end
          else if(bytecounter==byte_pos2)
          file://多通道接收(同上)
          ……
          else begin
          file://當(dāng)前通道不接收數(shù)據(jù),則釋放暫存單元并清除接收標(biāo)志
          din1=8‘bZ;din2=8‘bZ;receive1 _flag=0;receive2_flag=0;end

          根據(jù)收發(fā)規(guī)則及接收基本工作原理,為了31時(shí)隙與0時(shí)隙的可靠切換,中采用狀態(tài)轉(zhuǎn)換與數(shù)據(jù)接收分開(kāi)的方法,也即以上可由2個(gè)always語(yǔ)句實(shí)現(xiàn),一個(gè)采用C2上升沿實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換,一個(gè)采用C2下降沿實(shí)現(xiàn)數(shù)據(jù)接收。在Altera公司提供的Quartus II 5.0SP1集成開(kāi)發(fā)環(huán)境下,利用MAX7000S系列最低性能的CPLD器件作綜合后的時(shí)序仿真結(jié)果如圖3(a)所示。圖中第一通道為0時(shí)隙,第二通道為31時(shí)隙。

          本文引用地址:http://www.ex-cimer.com/article/150876.htm


          a)接收仿真


          b)發(fā)送模塊仿真
          圖3 ST-BUS收發(fā)模塊綜合后的時(shí)序仿真結(jié)果(C2時(shí)鐘為10MHz)

          ST-BUS發(fā)送模塊
          ST-BUS發(fā)送模塊主要將控制模塊送來(lái)的數(shù)據(jù)按照所設(shè)置的時(shí)隙進(jìn)行發(fā)送,也就是將一般數(shù)據(jù)信號(hào)轉(zhuǎn)換為ST-BUS信號(hào),其原理結(jié)構(gòu)框圖如圖2(b)所示。

          發(fā)送模塊可工作于兩種模式,即主動(dòng)模式和被動(dòng)模式。圖中細(xì)的虛線(xiàn)部分(除去相應(yīng)的實(shí)線(xiàn)部分)表示工作于主動(dòng)模式的連接,此時(shí),時(shí)鐘和同步信號(hào)均由模塊內(nèi)部產(chǎn)生;若除去細(xì)的虛線(xiàn)部分,則模塊工作于被動(dòng)模式。在本文涉及的E1中,系統(tǒng)采用了自動(dòng)模式選擇的工作方式。圖中同步的作用,在主動(dòng)模式時(shí)為同步發(fā)生,在被動(dòng)模式時(shí)為同步檢測(cè)。

          被動(dòng)模式下ST-BUS發(fā)送模塊的基本工作原理與接收模塊類(lèi)似,所不同之處在于數(shù)據(jù)傳輸方向相反。與接收模塊一樣,圖2(b)中的時(shí)隙定位和數(shù)據(jù)位定位也可以合并采用單計(jì)數(shù)器實(shí)現(xiàn)。ST-BUS發(fā)送操作的關(guān)鍵之處也在于前一幀31時(shí)隙與當(dāng)前幀0時(shí)隙之間的切換,因?yàn)樾枰瑫r(shí)檢測(cè)同步信號(hào),并且狀態(tài)轉(zhuǎn)換和總線(xiàn)數(shù)據(jù)加載都在C2上升沿完成。發(fā)送模塊的 實(shí)現(xiàn)可劃分為兩部分,與接收模塊劃分不同,這里已把發(fā)送數(shù)據(jù)的操作嵌入到了同步檢測(cè)和定位計(jì)數(shù)當(dāng)中,當(dāng)然也可嚴(yán)格按功能塊劃分。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();