<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于8086 CPU的單芯片計算機(jī)系統(tǒng)的設(shè)計

          基于8086 CPU的單芯片計算機(jī)系統(tǒng)的設(shè)計

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏




          系統(tǒng)總線在接收到外設(shè)的中斷請求之后,會向CPU 提出中斷申請,一旦接收到中斷響應(yīng),要向外設(shè)傳送中斷響應(yīng)信號,同時修改譯碼單元,選通該外設(shè),保證在第二個中斷響應(yīng)期間能將中斷類型號通過總線傳送給CPU,使得CPU 能成功跳轉(zhuǎn)到中斷服務(wù)子程序。

          DMA 控制器在執(zhí)行數(shù)據(jù)傳輸時,需要掌握AHB 總線的控制權(quán),向片上存儲器或者總線上其他外設(shè)發(fā)出地址和控制信號,即相當(dāng)于AMBA 的主設(shè)備;另一方面,在DMA 控制器啟動工作之前,CPU 需要對其進(jìn)行預(yù)處理操作,以使其按照特定的配置參數(shù)進(jìn)行工作,在這個初始化階段,CPU 是AHB 總線上的主設(shè)備,DMA 控制器屬于從設(shè)備。基于DMA控制器的這種兩面性,在總線設(shè)計中配備了專門的DMA 通道與其相匹配:CPU 正常工作時,

          DMA 扮演從設(shè)備的角色,接受CPU 對其的初始化;利用HLDA 作仲裁信號,當(dāng)CPU 響應(yīng)外設(shè)DMA 請求時(即HLDA 為高電平),讓出總線控制權(quán)給外設(shè),利用DMA 數(shù)據(jù)通道傳輸數(shù)據(jù),傳輸?shù)膮f(xié)議同樣遵從AMBA 協(xié)議??偩€的時序控制模塊狀態(tài)如圖5 所示。



          3.3 存儲單元的接口設(shè)計

          存儲器子系統(tǒng)包括一個RAM 和一個ROM,8086CPU 支持20 位地址總線,具有1M 字節(jié)存儲空間,分為RAM 區(qū)和ROM 區(qū)。本文利用開發(fā)板的片上ROM 資源配置成16k*16 的格式作為存儲器中的ROM 單元,采用DE2 開發(fā)板上的8M 的SDRAM 配置成256K*16 位總線格式代替存儲器中的RAM 單元。

          在各種隨機(jī)存儲器件中,SDRAM 的價格低,體積小,速度快,容量大,是比較理想的器件。但SDRAM 的控制邏輯比較復(fù)雜,對時序要求也十分嚴(yán)格,這就要求有一個專門的控制器:控制SDRAM 的初始化,刷新和預(yù)沖以及基本的讀寫操作。同時,需要匹配SDRAM控制器和8086 CPU 的讀寫時序。該接口具體實(shí)現(xiàn)的狀態(tài)機(jī)如圖6 所示。



          T1:當(dāng)RDY 為高電平時,首先確定是進(jìn)行讀還是寫操作,這時DONE 為0:讀:設(shè)置WR=0,RD=1; 寫:設(shè)置WR=1,RD=0。

          T2:當(dāng)DONE 信號為高電平,表示可以進(jìn)行讀/寫操作,跳轉(zhuǎn)到T3。

          T3:CPU 通過SDRAM 控制器對SDRAM 進(jìn)行讀寫操作。

          T4:當(dāng)?shù)妥止?jié)有效信號bwl_n 為高電平時,執(zhí)行低字節(jié)傳輸。

          T5:當(dāng)高字節(jié)有效信號bwh_n 為高電平時,執(zhí)行高字節(jié)傳輸。

          T6:CPU 完成讀寫操作,相關(guān)控制信號清零。

          其中,DONE 信號用于指示是否讀寫完成,只有DONE 為高電平時表示讀寫完成,才能進(jìn)行下次讀寫操作。RDY 信號表示SDRAM 是否做好準(zhǔn)備接受CPU 的訪問,由SDRAM的寫請求信號(IN_REQ =1)和讀有效信號(OUT_VALID =1 )共同控制,其產(chǎn)生過程偽碼如表5 所示。



          根據(jù)單芯片計算機(jī)系統(tǒng)級設(shè)計的組成結(jié)構(gòu),調(diào)用已經(jīng)編寫完成的8086 IP 軟核、8255 IP軟核、SDRAM 控制器、SDRAM 模型IS42S16400、AHB 總線 IP 軟核以及譯碼器IP 軟核。

          連接相應(yīng)的輸入輸出端口,同時對8086 相關(guān)的輸入端口進(jìn)行賦值,將未使用的輸出端口懸空,完成單芯片計算機(jī)系統(tǒng)的RTL 級設(shè)計。

          4 單芯片計算機(jī)系統(tǒng)的仿真與驗(yàn)證

          單芯片計算機(jī)的RTL 級設(shè)計只是全部設(shè)計流程的一部分,為保證最終設(shè)計的成功,必須對其進(jìn)行全面的軟件仿真與硬件驗(yàn)證,包括搭建測試平臺,設(shè)計測試方案以及分析仿真結(jié)果,實(shí)現(xiàn)FPGA 驗(yàn)證。

          4.1 測試方案的設(shè)計

          在包含8255 應(yīng)用電路的單芯片計算機(jī)系統(tǒng)搭建完成的基礎(chǔ)上,要求實(shí)現(xiàn)八個開關(guān)量控制八個LED燈亮滅的功能。將八個開關(guān)量連接8255 的PA0~PA7;將八個LED 燈驅(qū)動電路連接8255 的PC0~PC7。在8086 CPU 的控制下,通過總線讀取連接在8255 PA 口的八個開關(guān)量,將開關(guān)值送往SDRAM 存儲,再從SDRAM 讀取開關(guān)量發(fā)送到8255 PC 口,使其驅(qū)動八個LED 燈的亮或滅。

          4.2 仿真結(jié)果分析

          單芯片計算機(jī)最小集的RTL 級仿真波形,如圖7 所示。在8086 CPU 的控制下,8255接口讀取連接在8255 PA 口的八個開關(guān)量11000010 以后,將其發(fā)送到8255 的PC 口,驅(qū)動輸出邏輯值11000010。



          使用QuartusII 軟件成功編譯設(shè)計,將布局布線生成的結(jié)果下載到FPGA 中,得到與設(shè)計等效的實(shí)際電路,對實(shí)際的電路用測試系統(tǒng)進(jìn)行測試,從而驗(yàn)證設(shè)計的正確性。將FPGA的驗(yàn)證結(jié)果經(jīng)邏輯分析儀讀取顯示,如圖8 所示。



          5 結(jié)束語

          本論文在基于集成電路設(shè)計方法學(xué)的指導(dǎo)下,探討了一種基于8086 CPU 核的單芯片計算機(jī)平臺的架構(gòu),研究了其與AMBA 總線、SDRAM、8255 等外圍IP 的集成。在此基礎(chǔ)上,設(shè)計基于8086 IP 軟核的單芯片計算機(jī)系統(tǒng),并實(shí)現(xiàn)了FPGA 功能演示。在后續(xù)的工作中,將考慮進(jìn)一步擴(kuò)展CPU 外圍接口IP 軟核;集成DMA 控制器,實(shí)現(xiàn)VGA 顯示功能;將DOS 操作系統(tǒng)加入8086 單芯片計算機(jī)平臺,并開發(fā)在操作系統(tǒng)下的設(shè)備驅(qū)動程序和應(yīng)用軟件。

          上一頁 1 2 3 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();