• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA和單片機的邏輯分析系統(tǒng)研究

      2019-04-09 09:11:00逯玉宏魏國慶冉明昊
      微處理機 2019年1期
      關鍵詞:串口分析儀時鐘

      逯玉宏,魏國慶,冉明昊

      (重慶金美通信有限責任公司, 重慶400030)

      1 引 言

      邏輯分析儀是基于時鐘捕獲的用于測量數(shù)字電路中邏輯關系及邏輯波形的重要檢測儀器,主要包含數(shù)據(jù)采集、存儲和顯示等部分。隨著數(shù)字技術的高速發(fā)展,邏輯分析儀作為重要的檢測儀器具有良好的發(fā)展前景和廣泛的應用范圍,在電子研發(fā)、工業(yè)控制、科研教學等領域發(fā)揮著重要的作用。目前,邏輯分析儀主要有獨立式和虛擬式兩大類別,前者功能強大但價格昂貴,而虛擬式成本較低、應用廣泛,可在基于WEB 的儀器、便攜式儀器、PC 等不同設備上運行[1-2]。

      基于以上情況,研究設計了一種基于FPGA 并結合單片機的簡易虛擬邏輯分析儀,通過實際測試能夠實現(xiàn)常規(guī)邏輯分析儀的通用功能,能較好地滿足電子工程應用和科研需求,具有良好的實用性。

      從系統(tǒng)設計的總體方案的介紹入手,對軟件設計做詳細說明,最終得出可行性結論分析。

      2 系統(tǒng)方案設計

      本系統(tǒng)設計的基本框架,包括XILINX 公司的SC3S1500 型號FPGA、SRAM 芯片CY7C1041 以及Silicon 公司的C8051F120 型單片機等硬件資源。系統(tǒng)整體結構如圖1 所示。其中,F(xiàn)PGA 外接一個SRAM 存儲器;C8051F120 單片機采用EMIO 總線復用的方式連接FPGA;0x0000~0x2000 地址段用于訪問內(nèi)部存貯器,0x2000~0x2020 地址段用于控制和存貯數(shù)據(jù)讀取,實現(xiàn)1~16 通道數(shù)據(jù)采集和存儲功能;單片機的輸出主時鐘作為FPGA 時鐘,與此同時,單片機的串口0 通過max-232 電平轉換后被連接到PC 機,并通過串口助手或者由VC 編寫的分析工具,在PC 機上完成數(shù)據(jù)的邏輯分析和波形顯示。

      圖1 系統(tǒng)結構框圖

      3 軟件設計

      3.1 FPGA邏輯設計

      FPGA 程序采用VHDL 語言編寫, 使用Xilinx ISE 14.4 編譯,由總線接口(EMI0)、數(shù)據(jù)采集(LOGIC)、時鐘(TIME)、存儲器接口(RAM)等模塊[3-4]構成。

      總線接口模塊負責控制指令和邏輯數(shù)據(jù)的傳輸。模塊接收到C8051F120 的指令后,控制時鐘分頻比,采集數(shù)據(jù)寬度與時刻寬度,捕捉頁面選擇,啟動/暫停所采集數(shù)據(jù)的傳輸。

      LOGIC 模塊實現(xiàn)數(shù)據(jù)的觸發(fā)、采集功能。數(shù)據(jù)的采集過程是在主時鐘的上升沿讀取外部輸入信號與上次比較不同時,按不同采集位寬疊加時間信息形成16 位數(shù)據(jù)寫入SRAM,地址加1,準備下次寫入。數(shù)據(jù)的采集取樣率與時間基準無關。

      TIME 模塊是主時鐘分頻器,根據(jù)設定的時間單位控制分頻比,形成不同時間基準。時間基準與波形的復現(xiàn)有關,太大或太小會造成波形失真。

      RAM 模塊實現(xiàn)采樣數(shù)據(jù)的快速寫入與順序讀出。FPGA 捕捉信號流程圖如圖2 所示。由流程圖可知,輸入信號每變化一次,記錄存儲一次,從而使存儲空間得到最大程度的利用。

      圖2 FPGA捕捉流程圖

      3.2 MCU程序開發(fā)

      C8051F120 是Silicon 公司提供的高性能8 位單片機,主頻最高可達到100MHz,實現(xiàn)可編程主時鐘輸出,F(xiàn)PGA 配置文件壓縮存儲及配置,與上位機經(jīng)過串口通信,完成邏輯分析的捕獲參數(shù)設置,波形的復現(xiàn),函數(shù)還原以及原始數(shù)據(jù)的上報等功能。PC機到MCU 控制的相關指令如表1 所示??刂颇K的軟件設計擔負著全系統(tǒng)工作狀態(tài)的控制和管理,是構成整個系統(tǒng)的極為重要的部分[5-6]。

      波形的復現(xiàn)原理是:與數(shù)據(jù)采集相對應,記錄數(shù)據(jù)時保存的時間信息與上次數(shù)據(jù)的差值就是上次波形延續(xù)的寬度。按行為單位,采用打印字符“ - ”(數(shù)據(jù)為1)、字符“ _ ”(數(shù)據(jù)為0)及回車換行的方式實現(xiàn)。一行可打印150 個字符,在行尾可選擇打印地址信息。只要按照一定的規(guī)律逐行將波形一一復現(xiàn)出來,即可實現(xiàn)波形的分析。函數(shù)的可編程還原是在波形分析的基礎上,識別出幀信號、時鐘信號和數(shù)據(jù)信號,并結合相關文檔分析得出的。利用時鐘的邊沿采集移位數(shù)據(jù),在幀尾自定義函數(shù)名及參數(shù)格式打印。由于分析產(chǎn)生的數(shù)據(jù)量非常龐大,如果采用串口傳輸這些文本方式的波形將耗費大量時間,所以只需傳輸原始數(shù)據(jù)。具體分析功能由PC 端完成,波形復現(xiàn)程序流程圖如圖3 所示。

      表1 PC機到MCU的捕捉及分析指令

      3.3 PC端程序開發(fā)

      PC 端的程序采用VC 編程來完成,將獲取的原始數(shù)據(jù)還原成波形文本,方便上下行閱讀對比分析。VC 方式開發(fā)的程序,在指令的下發(fā)需要行編輯,生成的文件還是自動保存為文本。以TXT 記事本的方式打開,便于波形分析時添加標志,編譯后生成EXE 可執(zhí)行文件。PC 端的分析工具analyse.exe 的界面如圖4 所示,根據(jù)顯示的提示符,輸入不同的命令,即可獲得文本文件,命令標志以“a”~“z”區(qū)分,參數(shù)為16 進制格式,以空格為間隔標志,“$”為執(zhí)行標志,“#”為結束標志,相應生成的文件也以“a”~“z”命名保存。PC 端分析工具的相關指令匯總于表2 當中。

      圖3 波形復現(xiàn)流程圖

      表2 PC端分析指令匯總

      根據(jù)圖4 所示的PC 端界面命令提示,編輯輸入命令:b 0 200 2 1 1 $,生成起始地址為0,結束地址為0x200, bit0, bit1 兩路波形,最大分辨率帶時間信息的波形分析文件b.txt,其原始數(shù)據(jù)與波形、時間對應關系如表3 所示。

      其中,Bit0 為接在邏輯分析儀輸入0 腳的捕獲值,Bit1 為接在邏輯分析儀輸入1 腳的捕獲值,以m個時間點(m ≥1)為基數(shù)復現(xiàn)一段波形,其波形對照如圖5 所示。其中較短的一組對應m=10,較長的一組則為m=5。以Bit0、Bit1 說明數(shù)據(jù)位與波形對應關系,第一行Bit0,第二行Bit1,依次類推,每位數(shù)據(jù)占據(jù)一行,連續(xù)多行數(shù)據(jù)形成組,多組波形組合形成文本保存,便于手工分析時添加注釋,手工分析清楚邏輯關系后,再次編程由電腦輔助分析數(shù)據(jù)。

      表3 原始數(shù)據(jù)與波形、時間信息對應關系

      圖5 不同時間基準波形對照圖

      數(shù)據(jù)0 在波形中表示為“_”,相鄰n 個“_”表示低電平持續(xù)n×m 倍時間單位;同理數(shù)據(jù)1 在波形中表示為“-”,相鄰n 個“-”表示高電平持續(xù)n×m 倍時間單位。

      圖6 所示的USB 差分信號是采用0.01μs 時間單位捕捉到USB 串口的一段波形,由基礎分析指令b 0 40000 2 1 1 $ 執(zhí)行后生成b.txt 文件中局部截圖得到。其中,數(shù)字8、9、25 等字分別表示所在位置高低電平持續(xù)了0.08μs、0.09μs、0.25μs;數(shù)字0 表示差分0,數(shù)字1 表示差分1。波形由再現(xiàn)的D+、D-兩信號及時間信息組成,按USB 協(xié)議規(guī)定,差分信號1滿足D+>D-,差分信號0 則有D->D+;EOP 持續(xù)2位時間的SE0 信號。根據(jù)此特征在analyse 源碼中添加分析函數(shù)usb_analyse,識別NRZI 碼,再轉換為源碼由u.txt 輸出,達到智能可編程分析的目的。

      圖6 USB差分信號

      由波形信息及USB 數(shù)據(jù)的傳輸規(guī)則[7-8],分析傳輸一段同步幀,NRZI 碼為:

      01010100010011101110101110110101

      其NRZI 碼波形信息轉為源碼是:

      00000001100101100110000110010000

      用16 進制表示即為“01966190”。

      4 結束語

      為降低成本、提高系統(tǒng)的靈活性而設計實現(xiàn)的此款基于FPGA 的數(shù)據(jù)采集存儲邏輯分析儀,以其高速的輸入性能,可有效保障數(shù)據(jù)的完整性,外加MCU 控制傳遞數(shù)據(jù),并使用PC 機軟件的分析方案,簡化了電路設計的復雜度,使用非常方便。源碼自動分析及存儲功能也實現(xiàn)了友好的人機協(xié)作界面。經(jīng)研究分析可確定:此款可編程邏輯分析儀上位機及邏輯分析儀實體可以組合運行,也可以單獨運行,具有很強的靈活性和實用價值,適用于多種場合,尤其可在電子工程研究人員的工作中發(fā)揮重要作用。

      猜你喜歡
      串口分析儀時鐘
      Sievers分析儀(蘇伊士)
      別樣的“時鐘”
      一種用于深空探測的Chirp變換頻譜分析儀設計與實現(xiàn)
      淺談AB PLC串口跟RFID傳感器的通訊應用
      古代的時鐘
      有趣的時鐘
      時鐘會開“花”
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      基于并行控制的FPGA多串口拓展實現(xiàn)
      磐安县| 丹寨县| 鸡东县| 海丰县| 龙岩市| 沂源县| 金秀| 荆州市| 桂东县| 慈利县| 东台市| 龙海市| 治多县| 鹤山市| 柳江县| 旺苍县| 墨竹工卡县| 旌德县| 旬阳县| 和平区| 保定市| 海南省| 溧阳市| 太康县| 水城县| 拉萨市| 乌兰察布市| 龙海市| 麻城市| 项城市| 哈巴河县| 青田县| 平利县| 曲阳县| 靖远县| 石河子市| 合川市| 鸡泽县| 湘西| 商河县| 镇康县|