基于FSL總線的門光子計數(shù)器設(shè)計與實現(xiàn)
2 系統(tǒng)設(shè)計實現(xiàn)
2.1 系統(tǒng)硬件框圖
計數(shù)系統(tǒng)硬件結(jié)構(gòu)如圖3所示,由FPGA、64MB的DDR存儲器、16MB的FLASH存儲器和10M/100M以太物理層(PHY)等組成。系統(tǒng)工作時,由PC機(jī)通過網(wǎng)口發(fā)送命令到FPGA,F(xiàn)PGA內(nèi)部的Microblaze軟核配置計數(shù)IP核的工作模式,由FPGA通過兩路BNC接口對外部計數(shù)源進(jìn)行計數(shù),并將數(shù)據(jù)在DDRRAM內(nèi)進(jìn)行緩沖,最終將這些數(shù)據(jù)通過網(wǎng)口發(fā)送到PC機(jī)。
2.2 主要元器件介紹
2.2.1 FPGA芯片及其配置芯片選用
FPGA選用Xilinx公司的Spartan-3E系列XC3S500E,采用先進(jìn)的90nm制造工藝生產(chǎn),其器件密度為50萬門。Spartan3系列的FPGA是Xilinx公司專門針對大容量、低成本需求的電子設(shè)計而開發(fā)的,可支持多種電平的I/O標(biāo)準(zhǔn);含有豐富的邏輯資源。XC3S500E具有360kbits的塊RAM、73kbits的分布式RAM、10476個邏輯單元、20個18×18的乘法器和4個DCM時鐘管理模塊。
FPGA的配置芯片選用的是Xilinx公司的在系統(tǒng)可編程配置芯片XCF04S,該芯片可為XC3S500E提供易于使用、成本低且可重復(fù)編程的配置數(shù)據(jù)存貯方法,該芯片支持IEEE1149.1標(biāo)準(zhǔn)的JTAG邊界掃描測試和編程。在本系統(tǒng)設(shè)計中,XCF04S主要存放用于引導(dǎo)Microblaze軟核及應(yīng)用程序的引導(dǎo)代碼。
2.2.2 存儲芯片
系統(tǒng)使用的RAM是Micron Technology公司的DDRSDRAM(MT46V32M16),是一片容量為512Mbit(32Mx16)的16位總線寬度存儲芯片,用于上電后加載Microblaze軟核代碼和應(yīng)用程序代碼,以及對計數(shù)數(shù)據(jù)進(jìn)行緩沖。FLASH芯片是Intel StrataFlash parallel NORFlash,型號為28F256J3,存儲密度為256Mbit,在本系統(tǒng)中用于保存Microblaze軟核代碼和應(yīng)用程序代碼。
3 功能設(shè)計實現(xiàn)
3.1 基于EDK的FPGA軟核Microblaze的應(yīng)用設(shè)計實現(xiàn)
系統(tǒng)設(shè)計工具主要采用Xilinx公司的嵌入式開發(fā)套件EDK,它是用于設(shè)計嵌入式處理系統(tǒng)的集成解決方案。它包括搭建硬件平臺的XPS和進(jìn)行軟件配置的SDK。
Microblaze是Xilinx公司推出的32位軟處理器核,支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合。MicroBlaze處理器運行在150MHz時鐘下,可提供125 D-MIPS的性能,這種高效的軟核在本系統(tǒng)中可用于實現(xiàn)處理器功能,實現(xiàn)對計數(shù)IP核的配置,以及支撐Xilinx的clockgenerator、Et-hernet等IP核。系統(tǒng)對計數(shù)器的實現(xiàn)采用Verilog語言將計數(shù)功能編寫為IP核,將其通過FSL總線掛在Microblaze軟核上,以實現(xiàn)計數(shù)功能。
評論