新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 淺談增強并行口EPP的便攜式數據采集系統應用

        淺談增強并行口EPP的便攜式數據采集系統應用

        作者: 時間:2012-01-05 來源:網絡 收藏

        利用傳統的標準口(SPP)或RS232進行數據傳輸,其速度和靈活性受到很大限制。簡過程(Simplified Parallel Process)是基于CMMI以及軟件工程和項目管理知識而創作的一種軟件過程改進方法和規范,它由眾多的過程規范和文檔模板組成。SPP主要用于指導國內IT企業持續地改進其軟件過程能力。通常可選擇Nibble(4bits)或Byte(8bits)的方式進行輸入數據,還有一種Bi-directiONal的雙向傳輸方式,這種方式需硬件支持。SPP硬件是由8條數據線,4條控制線和5條狀態線所組成,它們分別對應三個不同的寄存器來進行數據的讀寫操作。而端口(Enhanced Parallel Port)不但與SPP兼容,而且其最高傳輸速率可達ISA總線的能力(2MHz)。由于計算機日益普及,基于協議開發的微機采集將會是一個發展趨勢。

        本文引用地址:http://www.104case.com/article/149863.htm

        通常,低速的可不需要板上的數據緩存區。通常有兩種解釋:一種是指盤點機、掌上電腦等終端電腦設備;另外一種是指網絡用的軟件。數據采集包括了:可視化的報表定義、審核關系的定義、報表的審批和發布、數據填報、數據預處理、數據評審、綜合查詢統計等功能模塊。其管腳功能如圖1所示。它不但提供了存儲空間作為數據的緩沖,而且還在并行總線和A/D轉換器之間充當一彈性的存儲器,因而無需考慮相互間的同步與協調。FIFO的優點在于讀寫時序要求簡單,內部帶有讀寫的環形指針,在對芯片操作時不需額外的地址信息。隨著FIFO芯片存儲量的不斷增加和價格的不斷下降,它將成為傳統數據存儲器件RAM、SRAM等的有力替代者。方案中的A/D轉換器采用了Analog Device 公司的AD1671,最大采集速率可達1.25MHz、12Bit無漏碼轉換輸出。

        1 EPP協議簡介

        EPP協議與標準并行口協議兼容且能完成數據的雙向傳輸,它提供了四種數據傳送周期:數據寫周期;數據讀周期;地址寫周期;地址讀周期。雖然用于域名是EPP最初的動因,但協議設計的目標是可于任何訂單和執行體系。EPP協議基于XML(結構化文本)格式,底層網絡傳輸是不固定的,雖 EPP泡沫然目前指定的唯一方法是通過TCP,但該協議的靈活性設計,同樣允許其使用如BEEP、SMTP、SOAP或其他方式傳輸。該協議由IETF的provreg工作組于2004年定稿,2009年8月,IETF認定了EPP的充分標準地位。

        在設計中我們把數據周期用于便攜機與采集板之間的數據傳輸,地址周期用于地址的傳送與選通。表1列出了DB25插座在EPP協議中的各腳定義。

        表1 EPP信號定義

        EPP信號方向DB25對應腳描述
        nWriteout1低電平寫,高電平讀
        nDataSTBout14低有效,數據讀寫
        nAddrSTBout17低有效,地址讀寫
        AD[8:1]Bi2~9雙向數據/地址線
        GND 18~25地線
        nResetout16低有效,外設復位
        NINTRin10外設中斷,對主機產生
           一個中斷請求
        nWaitin11握手信號,低表示可以開始一個
           讀寫周期,高表示可以
           結束一個讀寫周期
        Userdfnin12/13/15根據不同外設靈活定義

        圖2是一個數據寫周期的例子。

        (1) 程序執行一個I/O寫周期,寫數據到Port4(EPP數據寄存器)。

        (2)nWrite變低,數據送到串行口上。

        (3)由于nWait為低,表示可以開始一個數據寫周期,nDataSTB變低。

        (4)等待外設的握手信號(等待nWait變高)。

        (5)nDataSTB變高,EPP周期結束。

        (6)ISA的I/O周期結束。

        (7)nWait變低,表示可以開始下一個數據寫周期。

        可以看到,整個數據傳送過程發生在一個ISA I/O周期內,所以用EPP協議傳送數據,系統可以獲得接近ISA總線的傳輸率(500k~2M byte/s)。

        2 AD1671控制及采集系統工作原理

        圖3是AD1671的AD轉換時序圖

        AD1671在Encode信號上升沿開始A/D轉換,Dav信號在本次轉換完成前一定時間變低,直到Dav出現上升沿表示本次轉換結束。為防止數字噪聲耦合帶來的誤差,Encode信號應在Dav信號變低后50ns內變低。系統中通過8254計數器對晶振進行分頻來給AD1671提供Encode信號,以滿足其工作時序的需要。系統原理圖如圖4所示。系統初始化時,向8254的Clock0寫入計數值,由此可以靈活改變采樣間隔,同時寫入Clock1的計數值用來控制采樣的個數。晶振采用5MHz有源四腳晶振,D觸發器實現觸發功能,系統工作原理如下:

        系統初始化完成后,經地址譯碼器產生Add2信號,使D觸發器狀態翻轉,由低變到高,8254計數使能端Gate0、Gate1變高,8254開始方式2的計數。當Clock0的計數時間到時,發出一個寬度為一時鐘周期的負脈沖,經反向送入Encode,啟動AD1671進行A/D轉換。一次轉換結束,利用Dav信號將轉換的數據寫入IDT7202,同時Clock1計數一次。當Clock1計數時間到后,發出一個脈沖,用來實現對D觸發器的清零,使Gate0、Gate1變低,停止AD1671轉換,完成一次系統的采集工作。

        3 FIFO與EPP的接口電路

        圖5是EPP與IDT7202的接口電路

        此電路是基于EPP1.9設計的。nDataSTB與nAddSTB組合產生nWait回送信號,實現連鎖握手。方案中分別用數據讀周期、地址讀周期對1#FIFO、2#FIFO進行讀取。EPP模式設定后,對FIFO存儲器的讀取非常簡單。通過產生一個單I/O讀指令到基址+4,EPP控制器就會產生所需的選通信號,用EPP數據讀周期傳送數據。對基址+3的I/O操作,可產生地址周期信號。

        C語言指令如下:

        讀一個字節數據:Data=Inportb(Base_Addr+4);

        讀一個字節地址: Data=Inportb(Base_Addr+3);

        實際中FIFO的存取時間達到ns 級,EPP的速度也接近ISA總線的速率。上述接口電路屬于高頻,電路設計要注意消除干擾。FIFO的讀寫信源應盡量靠近FIFO,沒用到的數據輸入端應接地或VCC等。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昌都县| 华亭县| 泰州市| 额敏县| 湾仔区| 洞口县| 固阳县| 贵港市| 枣强县| 枞阳县| 汝州市| 名山县| 富顺县| 伊宁县| 社会| 乌鲁木齐市| 安吉县| 龙江县| 临沂市| 当涂县| 河北省| 开鲁县| 陇川县| 郁南县| 濉溪县| 包头市| 习水县| 揭东县| 朝阳县| 昌都县| 启东市| 于田县| 滨海县| 南溪县| 南和县| 安福县| 平顶山市| 志丹县| 临汾市| 建阳市| 监利县|