基于單片機的高速信號測試接口板的實(shí)現
在數字電路設計和調試中,對設計單元電路的性能進(jìn)行實(shí)時(shí)測試是必不可少的環(huán)節。很多情況下,需要通過(guò)計算機的比較和分析,來(lái)測試設計的電路的性能是否達到要求。這就需要設計一個(gè)測試接口板,將計算機產(chǎn)生的測試數據送入單元電路,再將單元電路的輸出結果送回計算機。
本文引用地址:http://dyxdggzs.com/article/171724.htm在電路測試接口板的設計過(guò)程中,常常會(huì )遇到總線(xiàn)時(shí)鐘頻率較高(如40 MHz以上)、總線(xiàn)寬度較寬(如36 b)、要求測試的數據量較大(幾Mb/s)的單元電路。這時(shí)實(shí)時(shí)地進(jìn)行數據的雙向傳輸比較困難,因為不論采用總線(xiàn)頻率較高的PCI數據總線(xiàn)或USB總線(xiàn)[1],都達不到系統要求的數據傳輸速率,所以必須進(jìn)行數據的緩存??紤]到PCI總線(xiàn)和USB總線(xiàn)的接口電路復雜、開(kāi)發(fā)周期長(cháng),本文介紹一種采用單片機為控制單元,通過(guò)RS232C接口,使用高速FIFO存儲器件作為緩沖,在單元電路與計算機之間傳輸數據的方案。該方案實(shí)現簡(jiǎn)單,開(kāi)發(fā)周期短,完全可以滿(mǎn)足對于上述的數字單元電路的測試要求。
這里以測試總線(xiàn)頻率40 MHz,數據寬度32 b的單元電路為例,介紹用單片機和FIFO實(shí)現的高速信號測試接口板方案,整個(gè)測試系統結構如圖1所示。
1 系統概述
整個(gè)系統主要由單片機、FIFO芯片、MAX232芯片以及D觸發(fā)器芯片構成。圖2是系統的原理簡(jiǎn)圖,圖中給出 了一些重要的器件和控制信號。
系統的工作流程如下:首先將測試數據從計算機的RS232C口送入單片機,單片機將其變?yōu)? b并行數據寫(xiě)入FIFO1,這期間不對FIFO1進(jìn)行讀操作。FIFO1滿(mǎn)后,被測板以40 MHz的總線(xiàn)時(shí)鐘頻率并行讀取FIFO1,同時(shí)被測板的輸出以同樣速率寫(xiě)入FIFO2。FIFO2滿(mǎn)后,再通過(guò)RS232C口將FIFO2中的數據讀入PC機,其中的控制操作由單片機及外圍電路來(lái)完成。下面將分4個(gè)步驟介紹系統的工作過(guò)程,其中前2個(gè)步驟是測試數據從計算機傳送到被測板的過(guò)程,后面2個(gè)步驟描述了被測板的輸出結果送回計算機的過(guò)程。
1.1 RS232C口與FIFO1的通信(數據從RS232C口輸入)
測試數據以串行方式從計算機的RS232C口輸出,通過(guò)MAX232電平轉換后進(jìn)入單片機的RXD口,再轉換為 8 b并行數據從P2口寫(xiě)入到FIFO1。單片機除了控制FIFO1和FIFO2的復位RES(圖2中未標出)、FIFO1的寫(xiě)使能WEN1以及FIFO1的寫(xiě)時(shí)鐘WCLK,還發(fā)出一個(gè)信號用來(lái)輔助讀取FIFO1。
由于FIFO1的讀取被設置為在數據寫(xiě)入時(shí)無(wú)效,只有寫(xiě)滿(mǎn)了以后才允許被測板讀取,因此對于FIFO1滿(mǎn)狀態(tài)的判斷及控制非常重要。這里通過(guò)計數方式和查詢(xún)方式同時(shí)確定其滿(mǎn)狀態(tài),方法如下:在單片機內設置一個(gè)計數值為256 k的計數器,每送出一個(gè)字節,計數器值減1。當計數器減到0,查詢(xún)FIFO1的管腳的狀態(tài),若為低電平,則開(kāi)啟,允許被測板從FIFO1中讀出數據,否則向計算機發(fā)出錯誤信號,重新接收數據。
1.2 FIFO1與被測板的通信(數據輸入被測板)
FIFO1與被測板的通信連接包括數據線(xiàn)以及讀允許REN1。REN1的的作用是控制被測板的讀取過(guò)程,只有當此信號為低電平,被測板才能從FIFO1中讀數據。
由于被測板的讀取速度很高,而單片機的指令周期相對慢得多,當FIFO1被讀空后,如果使用單片機來(lái)控制讀允許使其恢復到高電平,可能在關(guān)閉讀允許以前被測板已經(jīng)讀入了很多無(wú)用數據,所以這里采用FIFO1的空標志位通過(guò)D觸發(fā)器,和單片機的讀允許端一起組成控制信號具體電路如圖3(a)所示。
評論