一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)
1 引言
ARCNET協(xié)議應(yīng)用于高速動(dòng)車組列車通信網(wǎng)絡(luò)時(shí),產(chǎn)生中央控制單元處理器PXA270與專用協(xié)議控制器件COM20020相連的時(shí)序不匹配問題,若用通用數(shù)字電路模塊進(jìn)行時(shí)序轉(zhuǎn)換,PXA270需占用PXA270專門的資源(CPU時(shí)間片)對 COM20020的寄存器、數(shù)據(jù)包緩沖區(qū)進(jìn)行低速讀寫訪問(對COM20020的相鄰兩次讀操作相隔至少300 ns),這樣將增加處理器的負(fù)擔(dān)?;谶@種現(xiàn)狀,提出一種基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)方案,以FPGA為橋梁進(jìn)行時(shí)序轉(zhuǎn)換,并增加存儲(chǔ)器直接訪問DMA(Direct Memory Aeeess)功能,即FPGA自動(dòng)完成數(shù)據(jù)包的收發(fā)工作,PXA270則只需高速讀寫訪問FPGA中的同步雙口RAM。
2 時(shí)序轉(zhuǎn)換接口整體設(shè)計(jì)
2.1 FPGA對外接白
采用FPGA連接PXA270處理器與外設(shè)以解決PXA270處理器與外設(shè)直接連接時(shí)的時(shí)序不匹配問題。如圖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]等。
2.2 內(nèi)部功能實(shí)現(xiàn)
PXA270和外設(shè)之間的連接是將FPGA中的雙口RAM作為數(shù)據(jù)中轉(zhuǎn)站,以此間接相連。該設(shè)計(jì)由以下4個(gè)功能模塊組成。
(1)PXA270對外設(shè)指定寄存器單次寫操作PXA270先將所要寫的數(shù)據(jù)送人雙口RAM,然后PXA270向FPGA的命令寄存器寫入對該外設(shè)指定寄存器的單次寫指令,然后FP-GA根據(jù)接收到的命令將RAM中的數(shù)據(jù)輸出到外設(shè)數(shù)據(jù)總線,同時(shí)給出對外設(shè)的寫時(shí)序。
評論