国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2019-04-09 09:11:00逯玉宏魏國(guó)慶冉明昊
微處理機(jī) 2019年1期
關(guān)鍵詞:串口分析儀時(shí)鐘

逯玉宏,魏國(guó)慶,冉明昊

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

1 引 言

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

基于以上情況,研究設(shè)計(jì)了一種基于FPGA 并結(jié)合單片機(jī)的簡(jiǎn)易虛擬邏輯分析儀,通過(guò)實(shí)際測(cè)試能夠?qū)崿F(xiàn)常規(guī)邏輯分析儀的通用功能,能較好地滿足電子工程應(yīng)用和科研需求,具有良好的實(shí)用性。

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

2 系統(tǒng)方案設(shè)計(jì)

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

圖1 系統(tǒng)結(jié)構(gòu)框圖

3 軟件設(shè)計(jì)

3.1 FPGA邏輯設(shè)計(jì)

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

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

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

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

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

圖2 FPGA捕捉流程圖

3.2 MCU程序開(kāi)發(fā)

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

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

表1 PC機(jī)到MCU的捕捉及分析指令

3.3 PC端程序開(kāi)發(fā)

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

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

表2 PC端分析指令匯總

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

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

表3 原始數(shù)據(jù)與波形、時(shí)間信息對(duì)應(yīng)關(guān)系

圖5 不同時(shí)間基準(zhǔn)波形對(duì)照?qǐng)D

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

圖6 所示的USB 差分信號(hào)是采用0.01μs 時(shí)間單位捕捉到USB 串口的一段波形,由基礎(chǔ)分析指令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-兩信號(hào)及時(shí)間信息組成,按USB 協(xié)議規(guī)定,差分信號(hào)1滿足D+>D-,差分信號(hào)0 則有D->D+;EOP 持續(xù)2位時(shí)間的SE0 信號(hào)。根據(jù)此特征在analyse 源碼中添加分析函數(shù)usb_analyse,識(shí)別NRZI 碼,再轉(zhuǎn)換為源碼由u.txt 輸出,達(dá)到智能可編程分析的目的。

圖6 USB差分信號(hào)

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

01010100010011101110101110110101

其NRZI 碼波形信息轉(zhuǎn)為源碼是:

00000001100101100110000110010000

用16 進(jìn)制表示即為“01966190”。

4 結(jié)束語(yǔ)

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

猜你喜歡
串口分析儀時(shí)鐘
Sievers分析儀(蘇伊士)
別樣的“時(shí)鐘”
一種用于深空探測(cè)的Chirp變換頻譜分析儀設(shè)計(jì)與實(shí)現(xiàn)
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
古代的時(shí)鐘
有趣的時(shí)鐘
時(shí)鐘會(huì)開(kāi)“花”
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
水城县| 松潘县| 桐梓县| 陆良县| 勐海县| 长葛市| 密山市| 德昌县| 天台县| 普兰县| 东港市| 绵阳市| 马公市| 含山县| 灌阳县| 永年县| 焉耆| 舟山市| 阳谷县| 泉州市| 舞阳县| 新乡县| 永康市| 耿马| 伽师县| 扎囊县| 汉寿县| 宜兴市| 旬阳县| 弋阳县| 晋州市| 双峰县| 五峰| 海口市| 和田市| 磐石市| 新丰县| 天峨县| 高要市| 上林县| 汉源县|