新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ST-BUS總線接口模塊的Verilog HDL設計

        ST-BUS總線接口模塊的Verilog HDL設計

        作者: 時間:2011-04-09 來源:網絡 收藏


        (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://先送高位到
        dout1=data11; 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=dout11; 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

        根據總線收發規則及發送基本工作原理,發送各功能塊均采用C2上升沿,或者采用C2下降沿轉換狀態而采用C2上升沿發送數據。對前者,以上發送可用1個或2個always語句完成;對后者,以上發送模塊則至少需用2個always語句實現,并將數據發送從以上兩部分中分離出來。采用類似接收模塊的方法,對發送模塊單獨綜合后作時序仿真,結果如圖3(b)所示。值得注意的是,為了說明模塊對于通道設置順序的無關性,圖中第一通道為31時隙,第二通道為0時隙。

        控制模塊
        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接口板,完成了多路不同接口的數據復接通信,運行狀況良好。

        本文引用地址:http://www.104case.com/article/150876.htm

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 北碚区| 梁山县| 新平| 夏邑县| 库车县| 东阿县| 台南县| 建德市| 阿克苏市| 武平县| 塔城市| 霍邱县| 青冈县| 定南县| 莱阳市| 龙门县| 邻水| 许昌县| 临夏市| 十堰市| 炎陵县| 奉化市| 上高县| 泽州县| 东丽区| 临城县| 射阳县| 莱西市| 张家口市| 黔西| 雷波县| 嘉善县| 且末县| 大洼县| 化州市| 哈巴河县| 乌海市| 固安县| 辛集市| 马鞍山市| 罗源县|