<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA 的UART 擴展總線(xiàn)設計和應用

基于FPGA 的UART 擴展總線(xiàn)設計和應用

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

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

本文引用地址:http://dyxdggzs.com/article/189976.htm

1 引言

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

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

2 EP1K 的邏輯設計

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

2.1 WISHBONE

WISHBONE采用主從結構,也稱(chēng)之為SLAVE/MASTER 結構。主單元MASTER 是發(fā)起 與從單元SLAVE 之間的數據傳輸,MASTER 和SLAVE 通過(guò)握手協(xié)議來(lái)實(shí)現可靠通信的。

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

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


圖 2 WISHBONE 總線(xiàn)的邏輯結構圖

總線(xiàn)的詳細設計過(guò)程請參考 WISHBONE SoC Architecture Specification, Revision B.3,而 MASTER 和SLAVE 的設計可以參考OpenCores 的網(wǎng)站上相關(guān)設計。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA UART 總線(xiàn)設計

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>