新聞中心

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

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

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


        (1)同步檢測
        if(!f0)beginfile://同步信號低電平有效
        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=din11;
        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

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

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


        a)接收仿真


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

        ST-BUS發送模塊
        ST-BUS發送模塊主要將控制模塊送來的數據按照所設置的時隙進行發送,也就是將一般數據信號轉換為ST-BUS信號,其原理結構框圖如圖2(b)所示。

        發送模塊可工作于兩種模式,即主動模式和被動模式。圖中細的虛線部分(除去相應的實線部分)表示工作于主動模式的連接,此時,時鐘和同步信號均由模塊內部產生;若除去細的虛線部分,則模塊工作于被動模式。在本文涉及的E1中,系統采用了自動模式選擇的工作方式。圖中同步的作用,在主動模式時為同步發生,在被動模式時為同步檢測。

        被動模式下ST-BUS發送模塊的基本工作原理與接收模塊類似,所不同之處在于數據傳輸方向相反。與接收模塊一樣,圖2(b)中的時隙定位和數據位定位也可以合并采用單計數器實現。ST-BUS發送操作的關鍵之處也在于前一幀31時隙與當前幀0時隙之間的切換,因為需要同時檢測同步信號,并且狀態轉換和總線數據加載都在C2上升沿完成。發送模塊的 實現可劃分為兩部分,與接收模塊劃分不同,這里已把發送數據的操作嵌入到了同步檢測和定位計數當中,當然也可嚴格按功能塊劃分。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 韩城市| 长沙县| 东莞市| 阳新县| 景德镇市| 区。| 大同市| 泰和县| 新野县| 托里县| 乌拉特前旗| 陇川县| 大城县| 旬邑县| 修文县| 龙川县| 琼海市| 临沧市| 靖西县| 闽侯县| 沂源县| 专栏| 重庆市| 常熟市| 长子县| 米林县| 当阳市| 秦安县| 新田县| 正定县| 全南县| 吴旗县| 临西县| 大埔县| 琼中| 乌兰浩特市| 隆安县| 宁陵县| 炉霍县| 丁青县| 塘沽区|