本站小編為你精心準備了微波測量儀器內部串行總線設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
為降低現代微波測量儀器中硬件的復雜度及并行總線的干擾,本文設計了一種以嵌入式PC為核心,利用CPLD實現SPI串行總線通訊的儀器內部IO總線,并詳細闡述了此接口系統中SPI-Master接口的IP核實現。通過SPI總線的主從配置實現儀器硬件模塊的自動識別、參數配置及功能控制。該設計簡捷、靈活,軟硬件系統具有較高的可靠性和可擴展性,目前已成功應用于噪聲系數分析儀等測量儀器中。
1.引言
現代微波測量儀器的復雜度和高性能,使得測量儀器的計算機化、模塊化、集成化成為趨勢(總裝備部司令部通信局,信息產業部電子41研究所,現代通信測量儀器:軍事科學出版社,1999)。設計一種通用、簡捷、模塊化、可擴展的軟硬件總線平臺,在微波測量儀器的研制生產過程中非常重要。面對復雜繁多的電路控制,串行總線以其較少的總線數、方便的PCB布線、靈活的編程設計等特征被越來越多的應用到測量儀器中(數字通信測量儀器:人民郵電出版社,2007),它可以容易地進行電路的增減,而不會影響網絡中的其他器件,大大增加軟硬件系統的可擴展性。利用成熟的計算機技術,在微波測量儀器中以嵌入式PC為核心,可以方便地進行各種接口的設計和擴展,縮短研制周期。此外,應用可編程邏輯器件,對關鍵技術和專用電路進行功能劃分和設計,不僅減小了硬件系統的體積(趙曙光,郭萬有,楊頌華,可編程邏輯器件原理、開發與應用:西安:西安電子科技大學出版社,2001),同時也能夠提高儀器的性能和可靠性,使得軟件系統的可維護性更強。基于上述思想,本文設計了微波測量儀器中“嵌入式PC+CPLD+串行總線”的增強型SPI總線結構模式,使用CPLD實現儀器內部SPI主從接口控制,優化了微波測量儀器電路結構的同時,滿足了儀器對系列化、模塊化的要求。其中基于CPLD的增強型SPI-Master接口IP軟核,接口只需稍作改動即可實現IP資源復用。
2.串行總線總體設計
根據微波測量儀器硬件電路的組成和特點,設計了一種微波測量儀器內部串行總線,其系統框架如圖1所示。整個內部串行總線包括核心CPU、串行總線主控制器以及硬件從控總線控制器。串行總線主控制器以SPI總線為基礎,實現了一種適合微波測量儀器的增強型通信控制方式。增強型SPI主控核與ISA總線相連,在一片CPLD上編程實現。該芯片負責完成ISA到SPI總線之間的轉換,實現SPIMaster接口模式,通過信號母板,為儀器從控電路板提供實現模塊控制所需的所有控制模式。作為從控設備,儀器內部的每個硬件電路板上,與之對應的一片可編程邏輯器件,作為板級IO接口控制器接收、合成來自主控的串行命令。根據串行總線主控制器發送的命令信息,各從控板片內自動查詢硬件ID,若某個從控電路板被選擇,則繼續解析接收的數據信息直至完成從控板內各硬件器件的通信控制。這種主從式識別控制模式,滿足了儀器對系列化、模塊化的要求,可方便的實現未來儀器硬件的擴展要求。
3.SPI總線主控接口的IP軟核設計
同步外設接口(SPI)是由摩托羅拉公司開發的全雙工同步串行總線。該總線通訊基于主-從配置,總線形式靈活簡單,但通過約定的協議,可以實現復雜的功能,是很多微處理器、微控制器和外圍設備之間通訊的一種標準,可以連接許多外圍設備[4]。SPI總線傳輸串行數據時首先傳輸最高位,波特率最高可達5Mbps,具體速度取決于SPI硬件。總線有4個信號線:SCK、MOSI、MISO、SS(Motorola,Inc,SPIBlockUserGuideV02.06,2002),其中SCK、MOSI、MISO為所有的SPI接口共享。數據傳輸采用同步方式進行,一次可傳送多個8位數據。對于沒有SPI總線接口的處理器來講,要完成對SPI器件的控制,設計花費相對較大;但如果使用一個可編程邏輯器件則完全可以實現不同總線間的數據格式轉換。由于不同的處理器,其外圍總線也相應不同,因此,本設計中的SPI總線主控制器在CPLD上實現,對于不同的外圍總線只需要在接口上作相應的改變即可,方式靈活。CPLD中實現的SPIMaster接口設計框圖如圖2所示。根據SPI總線協議,設計中使用了自定義的4個接口寄存器實現CPU對主控模塊所有命令的數據傳送,包括:數據寄存器、狀態寄存器、控制寄存器、選擇/移位寄存器。考慮到外圍總線的可變性,波特率發生器的時鐘分頻因子、數據傳輸位數、數據交換方式(查詢或中斷),在程序中都可動態調整。各寄存器定義如下:數據寄存器:8位可讀寫的雙向數據寄存器。控制寄存器:SPIE:SPI主控制寄存器中斷使能位,1表示允許中斷,0表示禁止中斷。Div[2..0]:獲得SPI總線時鐘SCK輸出的分頻比,時鐘輸出為系統輸入時鐘的N次分頻,其中分頻比,可實現4~512分頻。例如,Div[2..0]=3,則可實現輸入時鐘的32分頻頻率輸出。CKPHA:時鐘的相位選擇,1表示SCK空閑為高,0表示SCK空閑為低。CKPOL:SPI時鐘極性控制位。MSTENB:SPI主從模式使能位,1選擇為主模式,0為從模式。狀態寄存器:SPIF:中斷標志,主模式傳送結束后激活設置此位。OverRun:寫數據標志;1表示正在寫數據寄存器,在此位置高之前向數據寄存器中寫的數據都被忽略。ColF:主從模式沖突標志;Tx_run:主傳輸查詢標志;1表示數據正在傳輸,0表示數據傳輸完成。Slvsel:從控設備選擇標志;1表示連接從控設備,0表示無從控設備。從控選擇寄存器:BitCnt[2..0]:主模式下移位寄存器中數據移動的位數。Slvsel[4..0]:從控選擇位,本設計中可選擇的從控芯片最多為32個。從控控制寄存器:此寄存器控制從控設備命令接收模式,可完成從控模塊片選信號的狀態、HWID配置、主從控制、主控回讀以及器件復位等功能。本設計中只用到后三位,提供八種從控命令工作方式,完全滿足從控模塊中各種不同型號器件的使用。靈活的配置可使用戶自定義擴展設計所需。只有當前一個周期傳輸完成以后,數據才能寫入到主數據寄存器中,每次發送之間必須有半個SCK周期的最小聲明時間,這個聲明時間是處于空閑狀態的。如果在連續的傳輸中不進行聲明,那么新的數據就不能被傳輸。編程使用VHDL語言,在MaxplusII中進行綜合編譯,經過仿真與實驗板波形輸出測試,結果正確符合要求。
4.從控板級設計
微波測量儀器通常由若干塊功能電路板組成,每個電路板都對應唯一的硬件ID(HWID)號,主機通過此HWID選擇相應的從控板,完成所需的信號控制和數據傳送。從控的CPLD實現框圖如圖3示。根據各電路板中硬件功能要求的不同,即可在CPLD中進行直接裁剪,也可通過主機軟件進行配置。圖4為從控芯片的功能仿真波形。從片控制器接口設計靈活,可連接多個SPI總線或74系列串行總線器件,每個功能板上SPI接口的EEPROM存儲了板級的配置信息和參數,使軟件系統能夠完成硬件的自動識別、自動配置,極大地方便了儀器的生產、調試和維護。此外,當板級模塊控制較多而CPLD的IO輸出不能滿足時,還可容易地通過74HC595進行控制信號的片外拓撲。本設計中還完成了ISA總線訪問驅動程序,實現ISA總線接口的直接讀取。在系統軟件中以動態鏈接庫的形式,通過底層硬件驅動程序,經過不同參數的宏定義映射得到各電路板級功能模塊的直接讀寫控制,模塊設計獨立,大大增加了軟件的可靠性。
5.結束語
經過在噪聲系數分析儀等微波測量儀器中長時間的使用,實踐證明該總線技術穩定、可靠。設計中采用的分層次、模塊化的設計思想,大大優化了儀器的軟硬件結構。其中WindowsNT下的直接I/O驅動、用可編程邏輯器件實現的SPI-MasterIP軟核,根據不同CPU接口只需稍作改動即可實現IP核的復用,不僅提高了設計效率和資源利用率,更增強了測量儀器軟硬件方面的延展性和可維護性。
作者:鄭利穎 單位:中國電子科技集團公司第四十一研究所