機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
C8051F005在高速誤碼測試系統(tǒng)中的運用
C8051F005在高速誤碼測試系統(tǒng)中的運用
 更新時間:2008-8-3 15:52:02  點擊數(shù):12
【字體: 字體顏色


    引 言

    隨著通信技術(shù)的不斷發(fā)展,通信系統(tǒng)信號處理越來越快。在這種情況下,對于高速通信系統(tǒng)性能的檢驗,就需要高速誤碼測試儀。目前市而上已有多種誤碼測試儀。國內(nèi)產(chǎn)品的信號處理速度較低,而國外產(chǎn)品的功能雖然比較完善,處理速度很高,但其價格也相對較高。本文根據(jù)Vitesse公司的VSC8228芯片特點,利用C8051F005單片機設(shè)計出一種價廉的高速誤碼測試儀。下面將對其軟硬件設(shè)計,特別是C8051F005與上位機的串口通信以及與VSC8228的SPI通信進行詳細探討。


    1 誤碼測試系統(tǒng)概述


    Cygnal公司的單片機C8051F005具有高速8051微控制器內(nèi)核,速度可達25 MIPS,指令為流水線指令結(jié)構(gòu),70%的指令的執(zhí)行時間為1個或2個系統(tǒng)時鐘周期;可片內(nèi)JTAG調(diào)試和邊界掃描,這樣可提供全速、非侵人式的在系統(tǒng)調(diào)試(不需仿真器);片內(nèi)有多達60 KB的FlashROM和2 KB RAM,用戶無需再外擴存儲器;可同時使用的硬件SMBus(I2C兼容)、SPI及UART串口,4個通用16位計數(shù)器/定時器。


    VSC8228可提供的一個雙通道重發(fā)器或重定時器,能應用于光纖信道、千比特以太網(wǎng)、SONET/SDH以及無限帶寬等多種領(lǐng)域。設(shè)備支持速率從125 Mbps~4.25Gbps。該芯片可以將輸入的串行數(shù)據(jù)在重定時器模式下與本地的參考時鐘同步,內(nèi)置的碼型產(chǎn)生器與檢測器可以產(chǎn)生與探測27、223、231的偽隨機碼,40或64位用戶定義碼型以及光纖信號CRPAT、CJTPAT、CSPAT碼型。它含128個寄存器,可通過SPI或者I2C串行總線設(shè)置相關(guān)寄存器,可以實現(xiàn)誤碼檢測功能。


    誤碼測試系統(tǒng)可分為兩個部分:誤碼測試部分和人機界面。測試部分由VSC8228芯片來實現(xiàn)。它完成偽隨機碼型的產(chǎn)生、同步及對比檢測,計算出誤碼個數(shù)。人機界面子系統(tǒng)在整個測試系統(tǒng)中作為系統(tǒng)控制核心單元,通過人機界面完成系統(tǒng)作業(yè)。以C8051F005單片機作為人機界面硬件的控制部分,對VSC8228芯片的控制、誤碼率的計算以及測試子系統(tǒng)的各狀態(tài)的顯示都通過PC機的界面來實現(xiàn)。PC界面采用Delphi語言編寫。


    誤碼測試儀的工作流程如下:PC界面通過RS232串口實現(xiàn)與C8051F005的通信,將對VSC8228各寄存器的沒置發(fā)送給C8051F005單片機,每個控制命令為16位;單片機通過SPI口將上位機發(fā)送過來的控制命令轉(zhuǎn)發(fā)給VSC8228,完成VSC8228各寄存器的設(shè)置。為了實時地顯示誤碼測試儀的工作狀態(tài),單片機每秒掃描一次各寄存器,將其值通過RS232串口上傳到PC界面。


    由此可見,C8051F005單片機起著VSC8228與上位機通信的橋梁作用,它與上位機的串口通信以及與VSC8228的SPI通信在誤碼測試儀的實現(xiàn)過程中起著十分重要的作用。下面通過軟硬件設(shè)計詳細分析這兩種通信。


    2 誤碼測試系統(tǒng)的實現(xiàn)


    2.1 硬件設(shè)計


    利用C8051F005單片機的串行接口,通過RS232異步通信接口與上位機進行通信。C8051F005通過串行口直接接收PC上位傳送來的串行數(shù)據(jù),然后把接收的數(shù)據(jù)存入數(shù)據(jù)存儲器;同樣,C8051F005通過串行口直接把數(shù)據(jù)傳送給PC機。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。


    


    C8051F005有一個特別的交叉開關(guān),可將數(shù)字I/O資源分配到物理I/O端口引腳。C8051F005通過設(shè)置交叉開關(guān)來同時使用SMBus(I2C兼容)、SPI及UART串口等。VSC8228也可通過SPI或者I2C串行總線設(shè)置相關(guān)寄存器,但由于SPI通信的速率比I2C通信快,因此為了實現(xiàn)誤碼的高速測試,這里選擇SPI作為C8051F005與VSC8228的通信協(xié)議。


    SPI接口協(xié)議要求接口設(shè)備按主從方式進行配置,且同一時間內(nèi)總線上只能有一個主器件。一般情況下,實現(xiàn)SPI接口需要3或4根線。其中:主出從入(MOSI)信號是主器件的輸出和從器件的輸入,數(shù)據(jù)傳輸時最高位在先;主人從出(MISO)信號是從器件的輸出和主器件的輸入,數(shù)據(jù)傳輸時也是最高位在先。當SPI從器件未被選中時,它將MISO引腳置于高阻狀態(tài)。串行時鐘(SCK)信號是用于同步主器件和從器件之間在MOSI和MISO線上的串行數(shù)據(jù)傳輸。從選擇(NSS)信號是一個輸入信號,主器件用它來選擇處于從方式的SPI模塊,在主方式時用于禁止SPI模塊。當處于從方式時,它被拉為低電平以啟動一次數(shù)據(jù)傳輸,并在傳輸期間保持低電平。


    


    誤碼測試系統(tǒng)中,以C8051F005作為主器件,VSC8228為從器件,由于NSS為從器件選擇使用,將單片機的NSS引腳(P0.5)置高,用P2.4引腳與VSC8228的NSS引腳(PIO3)相連。根據(jù)MOSI及MISO上的數(shù)據(jù)在SCK的哪種極性和相位上有效,單片機上的SPI通信有四種工作模式;但是VSC8228的SPl只有一種工作模式,故在對單片機的SPI控制器進行設(shè)置時必須考慮這點。圖2是VSC8228的SPI通信時序。在SPI通信時,先傳輸7位地址,后傳輸讀寫控制位OP(OP為0時表示讀,OP為1時表示寫),最后傳輸8位數(shù)據(jù),故SPI通信的命令字長度為16位。


    2.2 下位機軟件設(shè)計


    下位機采用中斷方式實現(xiàn)與上位機的通信,單片機用SPI與VSC8228誤碼測試模塊的通信。每當串行口接收或發(fā)送完一組串行數(shù)據(jù)時,就產(chǎn)生一個中斷請求。串行中斷請求在單片機芯片內(nèi)部自動由硬件置位發(fā)生,具有實時性高的特點。圖3是單片機的控制程序流程。


    對單片機進行程序初始化,包括看門狗、系統(tǒng)時鐘、I/O口、SPI寄存器、UART口等。C8051F005單片機具有看門狗,但是看門狗到一定時間,將重啟單片機,為防止這種現(xiàn)象的產(chǎn)生,初始化里禁止了看門狗。SPI的初始化主要是對啟動SPI的相關(guān)控制寄存器進行配置。UART的初始化主要是對串口的控制字進行設(shè)置。I/O口的初始化通過設(shè)置交叉開關(guān)來啟動SPI與UART口,并將有關(guān)輸出設(shè)置為推挽輸出。


    

[1] [2] [3] [4]  下一頁
  • 上一篇: 基于C8051F單片機的氣流儀
  • 下一篇: 基于DSP芯片的超光譜圖像壓縮技術(shù)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1