1.引言
隨著大規模集成電路和單片機的迅速發展,復雜可編程邏輯器件(CPLD)具有使用靈活、可靠性高、功能強大的優點,在電子產品設計中得到了廣泛的應用。CPLD可實現在系統編程,重復多次,而且還兼容IEEE1149.1(JTAG)標準的測試激勵端和邊界掃描能力,使用CPLD器件進行開發,不僅可以提高系統的集成化程度、可靠性和可擴充性,而且大大縮短產品的設計周期。由于CPLD采用連續連接結構,易于預測延時,從而使電路仿真更加準確。CPLD是標準的大規模集成電路產品,可用于各種數字邏輯系統的設計。近年來,隨著采用先進的集成工藝和大批量生產,CPLD 器件成本不斷下降,集成密度、速度和性能都大幅度提高,這樣一個芯片就可以實現一個復雜的數字電路系統;再加上使用方便的開發工具,給設計修改帶來很大方便。本文以Xilinx公司的CoolRunner系列CPLD芯片為例,實現對水下爆炸時沖擊波信號數據的記錄。
2 水下沖擊波記錄儀的組成及工作原理
?
2.1 功能介紹
該水下沖擊波記錄儀電路主要用于測試水下爆炸時沖擊波的強弱,通過專用數據處理軟件它能夠對采集到的沖擊波信號的數據進行波形重現, 并從波形上可讀出沖擊波的壓力峰值及其上升時間和作用時間。
2.2 體系結構組成
水下沖擊波記錄儀由數據記錄器、接口、測試數據處理軟件三部分組成。數據記錄器是一個集壓力傳感器、瞬態波形記錄器、接口、電源等于一體的微型測試裝置,內置電壓放大器,直流供電,輸入信號經放大、高速A/D轉換后實現自動數字存儲。
2.3 工作原理
壓力傳感器的主要作用是敏感水下沖擊波的強弱,其輸出通過恒流源電路把沖擊壓力信號轉換為電壓信號。調理電路將信號轉換到模數轉換器的模擬量輸入范圍之后,由模數轉換器對其進行采集,通過中心控制模塊對轉換后的數字信號的幅值進行判斷并對存儲器地址進行初始化、遞推,數字信號即被存儲。讀數時計算機通過并口發出讀數時鐘及命令,對三路存儲器進行路選、片選并將其中的數據讀出。
記錄儀觸發方案采用負延遲內觸發:當信號幅值大于或等于傳感器輸出滿量程的10%時啟動負延遲,而當信號幅值小于此值時系統處于循環采集狀態,從而可以有效地防止干擾引起的誤觸發與不觸發并準確、完整地記錄整個沖擊波波形。水下沖擊波記錄儀的原理組成框圖見圖1。
圖1 水下沖擊波記錄儀工作原理圖
3 CPLD的應用
在本設計中主要使用Xilinx公司開發的CoolRuner CPLD芯片完成設計。本文設計中所采用的是該系列中的XCR3256器件,可實現6000門的數字邏輯電路,內嵌256個宏單元,支持4個全局時鐘,具有低功耗、可快速ISP、延時可預測等特點。我們選用XCR3256芯片實現水下沖擊波記錄儀主控模塊,該主控模塊用于對各外圍器件的控制,協調各外圍器件的工作。外圍器件主要有電源芯片組、靜態RAM存儲器、晶體振蕩器、A/D轉換器、LED、并口等。其中晶體振蕩器包括產生主時鐘的12MHz晶振和產生延時計數時鐘的1MHz晶振。主控模塊與各外圍器件的框圖如圖2所示。
圖2 水下沖擊波記錄儀主控模塊與各外圍器件電路原理框圖
3.1 靈活性強,開發周期短
圖2中A/D轉換器采用AD7470。它的啟動轉換輸入端CONVST由主時鐘分頻得到且采樣頻率可編程。可編程延時電路是通過一個四路撥碼開關對CPLD輸入不同的電平組合實現的,通過設定CPLD數字邏輯對產生延時計數時鐘的1MHz晶振計數,輸入不同的電平組合從而譯碼產生不同的延遲時間,而更改電平組合只需對記錄儀的面板操作即可。CPLD器件配以ISE開發系統可完成設計輸入、編譯、驗證及編程,設計校驗可進行完整的模擬, 最壞情況下的定時分析和功能測試。設計人員無需編程器就可重構數字系統,具有“硬件軟做”的特點。3.2 功耗低,集成度高
圖2中電源管理電路中的電源芯片主要包括MAX1658、MAX1659和MAX1616,它們的共同點就是都有一個SHDN輸入端,當SHDN端為低電平時,無論電壓輸入端輸入多大電壓,輸出電壓均為0V,而只有當SHDN端為高電平,輸入端接入合適電壓時,輸出端才能產生相應的電壓值供系統正常工作。由于裝置最終工作在水下,需要電池供電,這就要求電路必須低功耗。
記錄儀工作時共有5個狀態:低功耗延時設置待上電狀態、低功耗待觸發狀態、數據記錄狀態、數據保持狀態、讀出數據狀態。狀態的轉換是在中心控制模塊的控制之下完成的。系統自帶了一個數據保持電源,因此不用時系統處于數據保持狀態。主控模塊上電以后,通過四路撥碼開關設置延時時間,延時時間到了之后其它模塊自動上電,處于待觸發狀態,準備對數據進行采集。隨著觸發信號的到來,系統狀態被轉換至數據記錄狀態,記錄完畢后,系統進入低功耗數據保持狀態等待被回收。取回裝置后,讀數時系統轉換為讀出數據狀態,讀數結束后系統又處于數據保持狀態,等待下一次記錄。這樣系統每記錄一次,其對應的狀態就要循環一次。在系統工作的不同階段,我們可以通過CPLD內部數字邏輯來控制各個電源芯片的SHDN輸入端,讓必須工作的芯片的SHDN輸入端置高,不需要工作的芯片的SHDN輸入端置低,從而實現了低功耗。
Xilinx器件的集成度范圍可達300~250000可用門,可以很容易地集成現有邏輯功能, 無論這些邏輯是由多個離散邏輯器件、多個PLD或是FPGA組成的,還是由幾個定制的器件組成的。在系統設計中,集成度提高意味著設備規模減小,元器件數量減小,而元器件數量減小就必然降低功耗,特別是嵌入式陣列塊(EAB)的使用,可以把存儲器集成到CPLD芯片中,特別有利于芯片上系統的設計,降低了系統的成本,設備功耗,而且能夠提高系統的性能和可靠性。
3.3 低成本,高可靠性
采用CPLD器件來進行電路設計, 可以大幅度地減少印制板的面積、焊點和接插件, 降低裝配和調試費用。大量的分立器件在進行印制板電裝時, 往往會發生由于虛焊或接觸不良而造成故障, 并且這種故障常常難以發現, 給調試和維修帶來極大的困難。因此, 采用CPLD 器件后, 由于集成度提高, 元器件數量減少, 印制板數量減少, 因而分機組合減少, 降低設備的綜合成本, 使得設備的可靠性大大提高。
4 設計過程
Xilinx公司的CPLD開發工具ISE,支持多種輸入方式,給設計開發提供了極大的方便,因此本系統采用ISE進行設計。它可以便捷地完成設計輸入、編輯、與校驗工具連接,設計人員可以使用標準的EDA設計輸入工具來建立邏輯設計,使用ISE編譯器對XCR3256器件進行編譯,其設計流程如圖3。
4.1 設計輸入
設計輸入方式有原理圖輸入,硬件描述(HDL)語言輸入,波形輸入等多種方式。記錄儀電路的各個功能塊: 單向總線緩沖器的產生, A/D時鐘信號、寫信號及片選信號的產生,地址發生器的產生,讀、寫命令及數據的傳輸控制,對讀數時鐘的消抖等都是采用硬件描述語言(VHDL)來實現的,最后采用原理圖輸入把各個功能塊連接在一起。采用語言描述的優點是效率較高, 結果也較容易仿真, 信號觀察較方便。
4.2 設計處理
分別在設計文件中讀取信息并產生編程文件和仿真文件及自動錯誤定位, 設計規則檢查以及各器件劃分,編譯器還能實現用戶指定的定時要求,例如:傳播延時(tPD),時鐘頻率(f osc)等。
圖3 設計流程
4.3 設計仿真
當設計完成后, 設計者可以通過仿真來驗證設計電路的特性是否和設計目的相一致, 這里是通過時序模擬來測試邏輯功能及器件最差情況下時間關系。通過仿真結果可以很直觀地觀察到結果是否符合設計要求。
4.4 器件編程
完成設計輸入和時序仿真操作后,最后一步就是對XCR3256器件進行編程,用計算機通過Xilinx專用編程電纜進行配置,編譯生成的配置文件經計算機并行通信口接到Xilinx專用編程電纜上,再接到器件的編程接口,利用ISE開發系統提供的編程軟件即可對器件進行配置。這種方法的優點是配置方便、迅速,便于修改。這非常有利于電路的調試, 電路調試時經常需要對電路設計劃分來逐步調試。通過更改設計,可以對器件重新編程, 容易完成電路調試。
5 結束語
本文中介紹的水下沖擊波記錄儀主要用于測試水下爆炸時產生的沖擊波的強弱, 采用CPLD器件進行設計,大大提高了系統設計的靈活性,提高了系統的可靠性和集成度,縮短了產品研制的周期,同時還可以降低設計成本,節省PCB板的面積和布線難度,提高了設備可靠性,得到了滿意的試驗結果。
評論
查看更多