新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA 的UART 擴展總線設計和應用

        基于FPGA 的UART 擴展總線設計和應用

        作者: 時間:2012-08-30 來源:網絡 收藏

        摘要:現在嵌入式系統的功能越來越集合化,需要控制大量外設。外設模塊普遍采用作為通信接口,但是通常處理器都會自帶一個串口。實際應用中一個串口往往不夠用,需要對系統進行擴展。本文所介紹的就是以為實現方式的擴展總線設備的邏輯設計以及相關的驅動程序的設計。

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

        1 引言

        在嵌入式領域,由于UART 具有操作簡單、工作可靠、抗干擾強、傳輸距離遠(組成 485 網絡可以傳輸1,200 米以上),設計人員普遍認為UART 是從CPU 或微控制器向系統的 其他部分傳輸數據的最佳方式,因此它們被大量地應用在工業、通信和家電控制等嵌入式領 域。而通常處理器都會自帶一個UART 串口,實際應用中一個串口往往不夠用,需要進行 UART 串口擴展。而本文在分析了片內總線技術和UART 的工作原理的基礎上了實現UART 總線設備的設計,使主控芯片可以控制4~6 個外圍設備。

        本文中的嵌入式系統由AT91ARM9200 處理器、Linux 操作系統和ALTERA 公司的 ACEX 系列的EP1K 所組成。

        2 EP1K 的邏輯設計

        設計所要實現的功能是 AT91ARM9200 處理器通過EP1K 控制多個帶有UART 接口的 外設。EP1K 中包含了多個邏輯模塊如圖1 所示,為了實現多個模塊間的互聯就需要片內總 線的支持,而本文采用的是WISHBONE 片內總線規范。

        2.1 WISHBONE

        WISHBONE采用主從結構,也稱之為SLAVE/MASTER 結構。主單元MASTER 是發起 與從單元SLAVE 之間的數據傳輸,MASTER 和SLAVE 通過握手協議來實現可靠通信的。

        WISHBONE 總線架構提供了四種不同的互聯方式:點對點(Point-to-point)、數據流(Data flow)、共享總線(Shared bus)和交叉開關(Crossbar switch)。為了實現單個MASTER 和多個SLAVE 的設計要求,同時要求總線結構占用較少的邏輯單元,所以采用了共享總線 的互聯方式。

        共享總線應包括 MASTER、SLAVE、INTERCON 和SYSCON 四個部分。MASTER 和 SLAVE 是實現總線信號與IP 核的信號轉換,INTERCON 用于MATER 和Slave 的信號互聯, 而SYSCON 則提供穩定的時鐘信號和復位信號。總線邏輯結構如圖2 所示,因為只有一個 MASTER,設計時就省略了對總線使用權的總裁。MASTER 的地址和數據總線分別與四個 SLAVE 相聯,其它的控制信號也都是直接相連,而SLAVE 的選通是通過stb 信號實現。 SLAVE 的stb 信號是由地址譯碼產生SLAVE 選擇信號s_sel、m_cyc 和m_stb 三個信號相與 的結果。所選通的SLAVE 將ack 信號置1 表明一個數據傳輸周期的正常結束并將數據鎖存 或發送到總線上,而err 信號置1 表示非正常結束,rty 信號置1 表示要求數據重發。


        圖 2 WISHBONE 總線的邏輯結構圖

        總線的詳細設計過程請參考 WISHBONE SoC Architecture Specification, Revision B.3,而 MASTER 和SLAVE 的設計可以參考OpenCores 的網站上相關設計。


        上一頁 1 2 3 下一頁

        關鍵詞: FPGA UART 總線設計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 辰溪县| 依兰县| 佛坪县| 灵武市| 额敏县| 修武县| 高雄县| 治县。| 宕昌县| 清流县| 敦煌市| 新巴尔虎右旗| 庄浪县| 淮北市| 绥棱县| 安徽省| 兴业县| 望城县| 湘潭县| 新干县| 昌邑市| 偃师市| 平原县| 泗阳县| 兴安盟| 台南市| 延长县| 广汉市| 集贤县| 神木县| 通河县| 石棉县| 昌黎县| 湛江市| 三江| 太谷县| 桃江县| 石屏县| 拉萨市| 霸州市| 西乌珠穆沁旗|