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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)

          基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)

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

            1 引言

            ARCNET協(xié)議應(yīng)用于高速動(dòng)車組列車通信網(wǎng)絡(luò)時(shí),產(chǎn)生中央控制單元處理器與專用協(xié)議控制器件COM20020相連的時(shí)序不匹配問(wèn)題,若用通用數(shù)字電路模塊進(jìn)行時(shí)序轉(zhuǎn)換,需占用專門的資源(CPU時(shí)間片)對(duì) COM20020的寄存器、數(shù)據(jù)包緩沖區(qū)進(jìn)行低速讀寫訪問(wèn)(對(duì)COM20020的相鄰兩次讀操作相隔至少300 ns),這樣將增加處理器的負(fù)擔(dān)?;谶@種現(xiàn)狀,提出一種基于的PXA270設(shè)計(jì)方案,以為橋梁進(jìn)行時(shí)序轉(zhuǎn)換,并增加存儲(chǔ)器直接訪問(wèn)DMA(Direct Memory Aeeess)功能,即自動(dòng)完成數(shù)據(jù)包的收發(fā)工作,PXA270則只需高速讀寫訪問(wèn)FPGA中的同步雙口RAM。

            2 時(shí)序轉(zhuǎn)換接口整體設(shè)計(jì)

            2.1 FPGA對(duì)外接白

            采用FPGA連接PXA270處理器與外設(shè)以解決PXA270處理器與外設(shè)直接連接時(shí)的時(shí)序不匹配問(wèn)題。如圖1所示,F(xiàn)PGA從PXA270處理器獲得地址總線(ADDRBUS[17..14], ADDRBUS[9..0]),片選信號(hào)(SYSCS5),讀允許(SYSOE),寫允許(SYSWE),并提供雙向數(shù)據(jù)端口DATABUS[7..0] (可根據(jù)實(shí)際應(yīng)用修改為32位或16位等),中斷(interrupt);同時(shí),F(xiàn)PGA向COM20020提供特定的總線接口,包括 COM20020_DS,COM20020_CS,COM20020_DIR,COM20020_DATABUS [7..0],COM20020_ADDRBUS[2..0]等。

          FPGA時(shí)序轉(zhuǎn)換接口原理圖

            2.2 內(nèi)部功能實(shí)現(xiàn)

            PXA270和外設(shè)之間的連接是將FPGA中的雙口RAM作為數(shù)據(jù)中轉(zhuǎn)站,以此間接相連。該設(shè)計(jì)由以下4個(gè)功能模塊組成。

            (1)PXA270對(duì)外設(shè)指定寄存器單次寫操作PXA270先將所要寫的數(shù)據(jù)送人雙口RAM,然后PXA270向FPGA的命令寄存器寫入對(duì)該外設(shè)指定寄存器的單次寫指令,然后FP-GA根據(jù)接收到的命令將RAM中的數(shù)據(jù)輸出到外設(shè)數(shù)據(jù)總線,同時(shí)給出對(duì)外設(shè)的寫時(shí)序。

            (2)PXA270對(duì)外設(shè)指定寄存器單次讀操作PXA270先向FPGA的命令寄存器寫入對(duì)該外設(shè)指定寄存器的單次讀指令,此時(shí),F(xiàn)PGA給出對(duì)外設(shè)的讀時(shí)序,并驅(qū)動(dòng)RAM的地址總線、寫時(shí)鐘等信號(hào),將外設(shè)數(shù)據(jù)總線上的數(shù)據(jù)傳送到RAM中。再延時(shí)1μs,PXA270從RAM中讀出數(shù)據(jù)。

            (3)PXA270對(duì)外設(shè)批數(shù)據(jù)寫操作與單次寫操作不同的是,PXA270需先將所要寫入的數(shù)據(jù)存儲(chǔ)到RAM的連續(xù)空間,然后向FPGA的命令寄存器寫入批數(shù)據(jù)寫操作指令,F(xiàn)P-GA根據(jù)接收到的命令將RAM中的數(shù)據(jù)分次送至外設(shè)數(shù)據(jù)總線,且需保證向COM20020的寫時(shí)序與之同步。

            (4)PXA270對(duì)外設(shè)批數(shù)據(jù)讀操作 由FPGA給出對(duì)外設(shè)的連續(xù)多次讀時(shí)序?qū)⑼庠O(shè)中的數(shù)據(jù)送人RAM,完成存儲(chǔ)工作。PXA270等待批數(shù)據(jù)讀完成中斷發(fā)生后對(duì)RAM進(jìn)行連續(xù)讀。

            3 功能模塊設(shè)計(jì)

            3.1 時(shí)序發(fā)生模塊設(shè)計(jì)

            COM20020有80xx-like和68xx-like兩種總線訪問(wèn)方式。這里中實(shí)現(xiàn)68xx-like訪問(wèn)方式,圖2為其讀寫訪問(wèn)時(shí)序。

          讀寫訪問(wèn)時(shí)序

            讀寫時(shí)序的共同要求為:片選信號(hào)CS必須先于DS至少5 ns,并且只允許在DS無(wú)效之后CS才能恢復(fù)為高電平;讀寫方向信號(hào)DIR應(yīng)在DS有效前至少10 ns建立;DS高電平寬度不小于20 ns。兩者的不同要求:寫時(shí)序的地址總線先于操作脈沖DS至少15 ns建立,DS低電平不小于20 ns,數(shù)據(jù)總線有效數(shù)據(jù)必須在DS變高之前至少30 ns建立,保持至DS變高后至少10 ns;而讀時(shí)序的地址總線先于片選信號(hào)至少15 ns建立,DS低電平不小于60 ns,DS變低到數(shù)據(jù)總線數(shù)據(jù)有效的間隔最大為40 ns,DS變高到數(shù)據(jù)總線高阻抗的間隔最大為20 ns,這是COM20020作為數(shù)據(jù)輸出方給訪問(wèn)設(shè)備提供的特性。針對(duì)以上讀寫時(shí)序的要求,具體設(shè)計(jì)如下:DIR在一次操作中只有高或低電平一種可能,通過(guò)命令寄存器在操作前事先給出,而后給出使能信號(hào),DS在CS有效之后變低,而在CS無(wú)效之前變高,以便數(shù)據(jù)可靠鎖存。


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

          評(píng)論


          相關(guān)推薦

          技術(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); })();