孫偉瑋,王馨悅
(1.海軍裝備部,陜西西安,710069;2.西安微電子技術(shù)研究所,陜西西安,710054)
本文設(shè)計(jì)的信號(hào)處理板使用的核心芯片Xilinx 公司Zynq7000 系列,芯片型號(hào)為XC7Z045ffg-900。該芯片集成了基于ARM 公司雙核ARM Cortex-A9 多核處理器的處理系統(tǒng)(PS),以及基于Xilinx 可編程邏輯資源的可編程邏輯系統(tǒng)(PL)。利用該芯片豐富的外部接口、內(nèi)外部存儲(chǔ)及靈活的配置,作者設(shè)計(jì)了一塊具有DDR3 SDRAM、ARINC429、ARINC453、EEPROM、串口、USB接口、USB轉(zhuǎn)串口、QSPIFLASH、JTAG、千兆網(wǎng)、電源管理等。
如圖1 所示為整個(gè)信號(hào)處理板功能示意圖。
通過(guò)圖1 我們可以看到,該信號(hào)處理板的接口和功能。具體如下:
圖1 信號(hào)處理板功能示意圖
(1)核心芯片:XC7Z045ffg-900,Xilinx 的ARM+FPGA結(jié)構(gòu),為整個(gè)電路提供豐富的硬件資源和各種外部接口,以及存儲(chǔ)資源等。XC7Z045ffg-900 芯片的PS 端擁有128 個(gè)IO 接口,用于處理系統(tǒng)的專用引腳,有16 對(duì)共64 個(gè)高速串行收發(fā)引腳,可用于設(shè)計(jì)SRIO、PCIE 等高速通信接口。XC7Z045ffg-900 芯片的PL 端有普通的IO 引腳362 個(gè),其中HP 引腳212 個(gè),HR 引腳150 個(gè),設(shè)計(jì)的時(shí)候要注意HR 引腳的BANK 中的電壓范圍為1.2V 到3.3V,HP 引腳的BANK 中的電壓范圍為1.2V 到1.8V。XC7Z045ffg-900 芯片的BANK0 中有17 個(gè)配置引腳,如JTAG 等。另外還有32 個(gè)XADC 模數(shù)轉(zhuǎn)換引腳。
設(shè)計(jì)的時(shí)候需要注意時(shí)鐘端需接入具有MRCC 或者SRCC的引腳,其中MRCC 是multi-region clock,當(dāng)時(shí)鐘是單端時(shí),時(shí)鐘信號(hào)必須接入MRCC 的正端,SRCC 是single-region clock,當(dāng)時(shí)鐘是單端時(shí),時(shí)鐘信號(hào)必須接入SRCC 的正端。設(shè)計(jì)的時(shí)候也需要按照產(chǎn)品手冊(cè)進(jìn)行濾波處理,電容的大小和封裝,以及數(shù)量須嚴(yán)格按照產(chǎn)品的數(shù)據(jù)手冊(cè)的要求進(jìn)行設(shè)計(jì),以保證信號(hào)的質(zhì)量。
(2)電源管理:外部4V-14V 寬壓輸入,通過(guò)LTM4644 芯片產(chǎn)生4 路4A 的輸出,分別為1.8V、1.2V、3.3V 和1.0V。為信號(hào)處理板各個(gè)模塊提供相應(yīng)的電源。LTM4644 通過(guò)調(diào)節(jié)電阻值來(lái)產(chǎn)生不同的電壓值,電容調(diào)節(jié)不同電壓的上電時(shí)間,pgood 引腳可以控制XC7Z045ffg-900 芯片的上電 順 序,1.0V-----1.2V-----1.8V-----3.3V。通 過(guò)LT1963-1.5芯片為XC7Z045ffg-900芯片的DDR部分提供電源。其他模塊如串口、電平轉(zhuǎn)換、FLASH、晶振等都可以使用LTM4644 和LT1963-1.5 產(chǎn)生的電源。
(3)DDR3:XC7Z045ffg-900 芯 片內(nèi)嵌有存儲(chǔ)器塊,但一般其存儲(chǔ)容量不大。當(dāng)設(shè)計(jì)時(shí)用戶設(shè)計(jì)的系統(tǒng)需要有大量的數(shù)據(jù)存儲(chǔ)和讀寫時(shí),需要用到片外DDR存儲(chǔ)器,這時(shí)XC7Z045ffg-900 芯片需要有與外部存儲(chǔ)器的高速接口。XC7Z045ffg-900 芯片中的DDR 存儲(chǔ)器接口是為XC7Z045ffg-900 用戶電路提供對(duì)片外的DDR SDRAM 的訪問(wèn)控制。XC7Z045ffg-900 芯片可以設(shè)計(jì)為PL 端的DDR3,也可以設(shè)計(jì)為PS 端的DDR3,或者兩者皆有,本設(shè)計(jì)考慮到資源分配及實(shí)際應(yīng)用,采用的是PS 端的DDR3 來(lái)完成。兩片高速DDR3 SDRAM,型號(hào)為為MT41J256M16HA-125,可以用作芯片的數(shù)據(jù)緩存,也可以作為操作系統(tǒng)運(yùn)行的內(nèi)存。
(4)EEPROM:一種掉電后數(shù)據(jù)不丟失的存儲(chǔ)芯片,IIC接口的EEPROM,型號(hào)為24LC04。EEPROM 寫數(shù)據(jù)的過(guò)程為:a.IIC 的起始信號(hào);b.發(fā)送要寫數(shù)據(jù)存儲(chǔ)地址;c.按順序發(fā)送要存儲(chǔ)的數(shù)據(jù)的字節(jié)。EEPROM 讀數(shù)據(jù)的過(guò)程為:a.IIC的起始信號(hào);b.發(fā)送要讀數(shù)據(jù)存儲(chǔ)地址;c.重新發(fā)送要讀取的數(shù)據(jù)的地址;d.讀取從器件發(fā)回的數(shù)據(jù)。
(5)ARINC429:ARINC429 總線協(xié)議規(guī)范定義了航空電子設(shè)備進(jìn)入飛機(jī)數(shù)據(jù)網(wǎng)絡(luò)所遵循的數(shù)字信息傳輸要求?;镜膱?bào)文格式是32 位的字,主要由五部分組成,分別是奇偶校驗(yàn)位、符號(hào)狀態(tài)矩陣、數(shù)據(jù)域、源/目的地標(biāo)識(shí)符和標(biāo)簽號(hào)。對(duì)于有ARINC429 要求的信號(hào)處理,本設(shè)計(jì)通過(guò)HI8591 和HI8592 這兩種芯片,可完成XC7Z045ffg-900 里的普通信號(hào)與ARINC 429 的轉(zhuǎn)換。
(6)ARINC453:ARINC453是一種航空總線,共有1600bit的數(shù)據(jù)需要傳輸。本設(shè)計(jì)通過(guò)HI2579 芯片,可完成XC7Z045ffg-900 里的普通信號(hào)與ARINC 453 的轉(zhuǎn)換。
(7)電平轉(zhuǎn)換:在本設(shè)計(jì)中,XC7Z045ffg-900 芯片內(nèi)部,DDR3 數(shù)據(jù)的電平格式為1.5V,HP BANK 中相關(guān)數(shù)據(jù)的電平格式為1.8V,HP BANK 中相關(guān)數(shù)據(jù)的電平格式為3.3V。而這些數(shù)據(jù)與外相連的芯片要求的電平往往不能與之匹配,因此,需要電平轉(zhuǎn)換芯片將不同電平格式的信號(hào)轉(zhuǎn)換為電平格式相匹配的信號(hào)。本設(shè)計(jì)通過(guò)SN74ALVC164245 與txs0108 這兩種芯片完成不同信號(hào)電平的轉(zhuǎn)換。其中SN74ALVC164245 芯片是單向轉(zhuǎn)換,配置簡(jiǎn)單只需對(duì)OE 引腳和DIR 引腳進(jìn)行拉高或者拉低就能確定信號(hào)的流向。而txs0108 芯片是雙向轉(zhuǎn)換,不需要配置即可實(shí)現(xiàn)信號(hào)電平的雙向轉(zhuǎn)換。
(8)晶振:XC7Z045ffg-900 芯片工作的時(shí)候需要外部晶振提供時(shí)鐘,本設(shè)計(jì)板載一個(gè)33.33MHz 的有源芯片晶振,為PS 系統(tǒng)提供穩(wěn)定的時(shí)鐘源,接入BANK500 的CLK 引腳上;板載一個(gè)50MHz 有源晶振為PL 邏輯提供額外的時(shí)鐘,設(shè)計(jì)的時(shí)候注意時(shí)鐘信號(hào)必須接入PL 端MRCC 的正端。
(9)QSPI FLASH:是一種專用的通信接口,連接單、雙或四條數(shù)據(jù)線SPI FLASH 存儲(chǔ)介質(zhì)。本設(shè)計(jì)使用一片256MB 的QSPI FLASH,型號(hào)為W25Q256,可用來(lái)存儲(chǔ)用戶的數(shù)據(jù)以及芯片的系統(tǒng)文件。
(10)串口:用來(lái)與PC 機(jī)或者外部設(shè)備通信。
(11)USB:用來(lái)連接鼠標(biāo)、鍵盤等外部設(shè)備。
(12)JTAG:通過(guò)仿真器與PC機(jī)連接,用來(lái)對(duì)XC7Z045ffg-900 進(jìn)行調(diào)試、下載和固化。
(13)千兆網(wǎng):一路10M/100M/1000M 以太網(wǎng)RJ45 接口,可實(shí)現(xiàn)與其他設(shè)備的網(wǎng)絡(luò)通信。
(14)DDR電源:使用LTM4644產(chǎn)生的3.3V電源和LT1963-1.5產(chǎn)生的1.5V電源,采用TPS51200芯片,為DDR3提供終端穩(wěn)壓電源VTT 和VREF。
(15)USB轉(zhuǎn)串口:通過(guò)CP2102芯片實(shí)現(xiàn)USB轉(zhuǎn)串口通信。
XC7Z045ffg-900 芯片的PS 端的總體框圖如圖2 所示,可根據(jù)要求在圖的頁(yè)面上進(jìn)行相應(yīng)的選擇以實(shí)現(xiàn)相應(yīng)的設(shè)計(jì)。
圖2 XC7Z045ffg-900 芯片的PS 端的總體框圖
(1)DDR3 DRAM:XC7Z045ffg-900 芯片PS 端DDR3 有專門的引腳,位于PS 端BANK502 的接口上,總線寬度為32bit。DDR3 的相關(guān)引腳直接與XC7Z045ffg-900 芯片PS 端BANK502的專用引進(jìn)進(jìn)行相連即可。通過(guò)TPS51200 芯片為DDR3 提供VREF 和VTT 電壓,確保DDR3 能穩(wěn)定工作。
設(shè)計(jì)的時(shí)候要注意信號(hào)完整性,對(duì)于阻抗的控制、線寬、匹配電阻、線等長(zhǎng)控制等要嚴(yán)格按照要求進(jìn)行設(shè)計(jì),以確保DDR3 高速穩(wěn)定的工作。在本設(shè)計(jì)中,單端信號(hào)阻抗控制為50歐姆,差分信號(hào)為100 歐姆;數(shù)據(jù)線要組內(nèi)等長(zhǎng),控制線、地址線和時(shí)鐘線要以時(shí)鐘線為參考做等長(zhǎng),控制誤差;蛇形繞線時(shí),單端按3W 原則,差分繞線按5W 原則(其中W 為線寬),組間個(gè)信號(hào)間距按照3H,不同組間線間距按照5H(H 為到主參考平面間距)。
(2)USB 轉(zhuǎn)串口:本設(shè)計(jì)是利用XC7Z045ffg-900 芯片PS 端BANK501 的MIO 引腳來(lái)實(shí)現(xiàn)的,由于XC7Z045ffg-900芯片BANK501 的數(shù)據(jù)電平與CP2102 芯片的數(shù)據(jù)不匹配,我們將XC7Z045ffg-900 芯片PS 端引出的信號(hào)通過(guò)電平轉(zhuǎn)換芯片轉(zhuǎn)換為與CP2102 芯片匹配的信號(hào)電平,再連接到CP2102 芯片,從而實(shí)現(xiàn)該功能。
(3)QSPI FLASH:本設(shè)計(jì)是利用XC7Z045ffg-900 芯片PS 端BANK500 的GPIO 接口來(lái)實(shí)現(xiàn)的,根據(jù)要求W25Q256 芯片與XC7Z045ffg-900 芯片相應(yīng)的引腳直接連接即可。
(4)千兆網(wǎng):本設(shè)計(jì)是利用XC7Z045ffg-900 芯片PS 端BANK501 的GPIO 接口來(lái)實(shí)現(xiàn)的,將PHY 芯片與XC7Z0 45ffg-900 芯片相應(yīng)的引腳直接連接即可。
(5)USB:本設(shè)計(jì)是利用XC7Z045ffg-900芯片PS端BANK501 的IO 接口來(lái)實(shí)現(xiàn)的,將USB3320C 收發(fā)器與XC7Z045 ffg-900 芯片相應(yīng)的引腳直接連接即可實(shí)現(xiàn)通信,其中USB3320C 收發(fā)器需要板載一個(gè)24MHz 的晶振為其提供系統(tǒng)時(shí)鐘。
(1)EEPROM:本設(shè)計(jì)是利用XC7Z045ffg-900 芯片PL 端BANK35 的IO 接口來(lái)實(shí)現(xiàn)的,連接到,只需要將24LC04 芯片的SCL 和 SDA 的引腳與BANK35 的IO 引腳直接相連即可實(shí)現(xiàn)。
(2)ARINC429:在XC7Z045ffg-900芯片中電平為3.3V的BANK中設(shè)計(jì)8路差分信號(hào),每一組差分信號(hào)通過(guò)HI8591 芯片轉(zhuǎn)換為所需的ARINC429 信號(hào);通過(guò)HI8592 芯片將外部4 路ARINC429 信號(hào)轉(zhuǎn)換為普通差分信號(hào)再連接到XC7Z045ffg-900 芯片中電平為3.3V 的BANK 中的差分對(duì)上,實(shí)現(xiàn)ARINC429 通信。
(3)ARINC453:在XC7Z045ffg-900 芯片中電平為3.3V的BANK 中設(shè)計(jì)1 路差分信號(hào),該差分信號(hào)通過(guò)HI2579 芯片轉(zhuǎn)換為所需的ARINC453 信號(hào),實(shí)現(xiàn)通信。
(4)JTAG:將XC7Z045ffg-900 芯片BANK0 中的專用引腳TMS、TCK、TDI 和TDO 通過(guò)10K 上拉電阻上拉,連接到外部插座上,用來(lái)連接仿真器,完成調(diào)試、下載和固化的功能。
(5)通用IO:將多余的IO 口(包括單端信號(hào)和差分信號(hào)),直接引出來(lái)連接到插座上,以便后續(xù)擴(kuò)展使用。
本文介紹了通過(guò)Xilinx 公司的芯片XC7Z045ffg-900設(shè)計(jì)的信號(hào)處理板,該信號(hào)處理板擁有豐富的接口設(shè)計(jì),和大容量的存儲(chǔ),可靈活使用。具有DDR3 SDRAM、ARINC429、ARINC453、EEPROM、串口、USB接口、USB轉(zhuǎn)串口、QSPI FLASH、JTAG、千兆網(wǎng)、電源管理等模塊,通過(guò)PS 和PL 協(xié)調(diào)工作,可提高信號(hào)處理板的處理速度,加快開發(fā)人員對(duì)項(xiàng)目的開發(fā)進(jìn)程。該信號(hào)處理板與不同的接口數(shù)據(jù)通信,并進(jìn)行相應(yīng)的信號(hào)處理,可以滿足常規(guī)應(yīng)用,通過(guò)一塊芯片就可以同時(shí)實(shí)現(xiàn)Cortex-A9 雙核ARM 和FPGA,是目前較為流行的方式。