<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è) > 消費電子 > 設計應用 > 基于Nios II的非一般模式類(lèi)設備設計與集成

基于Nios II的非一般模式類(lèi)設備設計與集成

——
作者: 時(shí)間:2007-11-16 來(lái)源:FPGA設計網(wǎng) 收藏

  按其功能可分為筆段式和點(diǎn)矩陣式,后者又可以分為字符點(diǎn)陣式和圖形點(diǎn)陣式。圖形點(diǎn)陣式液晶顯示器不僅可顯示數字、字符等內容,還能顯示漢字和任意圖形。但此類(lèi)液晶顯示屏屬于非一般模式類(lèi)設備,在 中不能直接開(kāi)發(fā)使用。

  對于一個(gè)全新的外部設備, 有更好的解決方案快速的掌握它的控制方法。按照設備的電器要求,使用 的已有的基本控制設備(例如通用輸入輸出端口PIO)掌握新設備的控制特性與方法。當充分理解新設備的特性后就可以按照Nios II的硬件抽象層(HAL)的定義方法,編寫(xiě)新設備的驅動(dòng)將其集成到Nios II中。這樣在今后的開(kāi)發(fā)中在SOPC Builder中就可以像其他設備一樣增添這個(gè)新設備,Nios II軟核生成后會(huì )自動(dòng)加載此設備的設備驅動(dòng)。這樣提高了新設備的二次使用時(shí)的開(kāi)發(fā)效率。

  以下是液晶屏顯示模塊接口的設計與集成過(guò)程。

  液晶顯示模塊的設計

  液晶顯示簡(jiǎn)介

  GM12864A 是帶顯示存儲器的圖形液晶顯示器。它的內部是由兩塊KS0108B作為列顯示控制器和一片KS0107B作為行顯示控制器組成。顯示屏上各像素點(diǎn)的顯示狀態(tài)與顯示存儲器的各位相互對應,顯示存儲器的數據直接作為圖形顯示的驅動(dòng)信號。顯示數據為“1”,相應的像素點(diǎn)變亮。液晶屏結構如圖1所示。

  

液晶屏GM12864A的結構圖

  圖1 液晶屏GM12864A的結構圖

  PIO類(lèi)的介紹

  設計初始階段主要的目的在于充分了解新設備的特性與控制方法,為之后的設備集成打好基礎。因此采用通用的輸入輸出控制接口(PIO)直接對液晶屏的引腳進(jìn)行控制。

  Nios II中PIO分為三大類(lèi):輸入(I)、輸出(O)和三態(tài)(Tri)。PIO通過(guò)Avalon總線(xiàn)與Nios II相連接。如圖2所示。

  

通用輸入輸出接口與Nios II的連接

  圖2 通用輸入輸出接口與Nios II的連接

  接口的設計

  在Quartus II中新建一個(gè)工程,芯片類(lèi)型選擇Cyclone 1C6Q240C8。設置畫(huà)面如圖3所示。

  

芯片設置界面

  圖3 芯片設置界面

  工程創(chuàng )建完成后在SOPC Builder中定制Nios II處理器。液晶屏顯示器驅動(dòng)接口在設計初步作為普通的外部設備,用PIO進(jìn)行操作。所以為系統增添所需要的PIO接口。設計完成后如圖4所示。

  

定制的Nios II處理器結構

  圖4 定制的Nios II處理器結構

  定制結束后生成Nios II處理器模塊。生成后回到Quartus II中進(jìn)行系統頂層結構的設計。通過(guò)SOPC Builder生成的Nios II模塊需要一個(gè)時(shí)鐘和一個(gè)復位輸入端,輸出與定制時(shí)所設計的一致。增添相應的輸入輸出引腳。頂層結構如圖5所示。

  

液晶屏控制系統頂層結構

  圖5 液晶屏控制系統頂層結構

  將控制系統編譯,液晶屏與芯片的接口連接電路如圖6所示。

  

液晶屏與FPGA的接口電路

  圖6 液晶屏與FPGA的接口電路

  液晶屏顯示模塊的HAL集成

  為了更好的對新外設進(jìn)行高效二次開(kāi)發(fā),通過(guò)編寫(xiě)外設驅動(dòng)并集成到HAL中是最好的方法。這樣可以更加方便的再次構件系統,有效降低開(kāi)發(fā)周期,提高開(kāi)發(fā)效率,降低開(kāi)發(fā)難度。

  開(kāi)發(fā)外設并集成的開(kāi)發(fā)流程如圖7所示。

  

新設備集成HAL流程

  圖7 新設備集成HAL流程

  對于新外部設備的HAL集成流程是從設備功能角度出發(fā)并劃分控制單元模塊,因此使控制程序代碼對設備無(wú)關(guān),即外部設備細節控制對開(kāi)發(fā)者是透明的,從而使代碼具有更好的規范性和可移植性。當此設備處于不同的硬件配置的Nios II系統時(shí)仍能正常工作。

  結語(yǔ)

  在A(yíng)ltera FPGA中使用軟核處理器Nios II可以將外部存儲器、液晶顯示屏、以太網(wǎng)控制器等外部設備連接在一起,進(jìn)行外設的協(xié)調工作和數據共享。從而具有較高靈活性并且能適應變化較多的技術(shù)領(lǐng)域。

  一個(gè)新的外部設備只要根據Nios的內部規范編寫(xiě)驅動(dòng)就可以集成到HAL中,加強新設備的運行穩定性和二次使用的效率。

  另外,可以根據系統的需要添加多個(gè)Nios II處理器實(shí)現“多內核”系統或者在Nios II核中加入實(shí)時(shí)操作系統(RTOS),實(shí)現多任務(wù)的調度。運用 Altera的SOPC技術(shù)可以高效快速的開(kāi)發(fā)一個(gè)用戶(hù)定制的片上系統。并且具有外圍電路少,控制靈活方便,研發(fā)周期短等特點(diǎn)。

p2p機相關(guān)文章:p2p原理




評論


相關(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>