新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種UART&SPI接口驗證工具的設計與實現

        一種UART&SPI接口驗證工具的設計與實現

        作者: 時間:2016-10-08 來源:網絡 收藏

        摘要:隨著WLAN(無線局域網)的普及,各種接口的WLAN網卡層出不窮,像,USB等。為了驗證接口的功能、性能和兼容性是否符合需求,在此提出了一種支持接口的驗證工具。傳統的采用手動驗證的方法,即手動修改接口的波特率或接口的大小端等來達到遍歷所有用例的目的,傳統方法存在效率低,容易漏測測試用例等缺陷。而該工具通過命令通道完成上位機和下位機的協商,保持接口參數同步;數據通道驗證在該接口參數下的功能和性能,實現了接口的功能和性能驗證的,大大提高了測試效率,保證測試用例的覆蓋率。該工具適用于多種平臺下的UART和SPI

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

        0 引言

        隨著WLAN的廣泛應用,越來越多的芯片廠商投入到WLAN芯片開發上。因此各種接口的WLAN芯片成為了各大廠商發展的主要方向。目前主流的接口有:USB,SDIO,UART,SPI等。

        本公司設計了一款支持多接口、多協議的無線局域網802.11n(1T1R)的SoC芯片。該SoC芯片集成了SDIO,SPI,UART等接口。為了驗證各個接口是否能夠達到設計需求,需要對各個接口進行功能、性能和兼容性的測試。所謂,是指以接口為測試對象,詳細測試接口功能和性能。本文中是指UART接口和SPI接口。對于UART接口,需要對接口的波特率、數據長度、奇偶校驗位、停止位、流控、異常錯誤等進行驗證。對于SPI接口,需要對接口的大小端、工作模式、工作速率等進行驗證。

        1 接口單元驗證的必要性

        1.1 接口單元驗證簡介

        如圖1所示,是接口單元驗證的示意圖。測試板有兩個UART接口和一個SPI接口。下位機完成固件部分,也就是直接操作硬件;而上位機完成測試用例管理和接口驅動兩部分。

        一種UART&SPI接口驗證工具的設計與實現

        1.2 對接口進行單元驗證的原因

        (1)驗證接口的功能是否實現。保證設備能夠正確枚舉,各種配置下數據收發通路暢通。

        (2)對各個接口的性能有一個準確的把握。有了接口性能數據后,可以幫助在系統測試階段定位問題。在系統測試階段,性能瓶頸一方面來自于接口,一方面來自于WiFi。在接口驗證階段獲得這個數據后可以幫助分析和定位問題。

        (3)在平臺兼容性測試中,由于平臺的兼容性主要與接口有關,與WiFi無關,如果把兼容性放到系統測試階段去做,無形中增加了定位問題的難度。

        1.3 傳統接口驗證的方法及缺陷

        傳統的驗證方法是將上位機與下位機分離開來。首先上位機修改參數,之后下位機修改參數,編譯固件、運行,上位機與下位機進行通信。上位機與下位機之間沒有協商,直接進行通信。以UART接口的功能驗證為例來說明一下接口驗證方法的缺陷。

        UART的功能驗證主要是各種配置下(波特率、數據長度、奇偶校驗位、停止位的組合)是否能夠準確無誤地傳輸數據。如果按照這種測試方法的話,測試效率很低。另外一個方面,由于主觀因素的影響,采用手動的方法容易漏測測試用例。

        綜上,傳統接口單元驗證方法的缺陷為:測試效率低;容易漏測測試用例。

        2 接口驗證工具的設計

        2.1 硬件架構

        2.1.1 PC下的硬件結構

        如圖2所示,描述的是PC環境下的UART接口的驗證硬件結構圖。

        一種UART&SPI接口驗證工具的設計與實現

        其中PCI通過JTAG接口控制測試板,完成固件的下載。PC2與測試板通過UART接口連接,UART0接口是命令接口,主要傳輸PC2對測試板的命令及測試板的響應;UART1是數據接口,主要傳輸PC2和測試板之間的數據。

        2.1.2 嵌入式平臺下的硬件結構

        如圖3所示,描述的是嵌入式平臺下UART接口和SPI接口的驗證硬件結構圖。

        一種UART&SPI接口驗證工具的設計與實現

        其中PCI通過JTAG接口控制測試板,完成固件的下載。PC2通過串口控制嵌入式平臺。在驗證UART接口時,連接測試板與嵌入式平臺的兩個UART口,UART0接口是命令接口,主要傳輸嵌入式平臺對測試板的命令及測試板的響應;UART1是數據接口,主要傳輸嵌入式平臺與測試板之間的數據。

        在驗證SPI接口時,連接測試板與嵌入式平臺的UART0口及SPI接口。同樣地,UART0是命令接口,主要傳輸嵌入式平臺與測試板的命令傳輸;SPI是數據接口,傳輸嵌入式平臺與測試板之間的數據。

        2.2 軟件結構

        驗證軟件結構見圖4,其中DUT設備為驗證的對象。

        一種UART&SPI接口驗證工具的設計與實現

        (1)用例管理層

        主要生成各種測試用例。對于UART接口來說,包括UART波特率、數據長度、停止位、奇偶校驗位等屬性組合的設置及高級設置項等。

        對于SPI接口來說,主要包括SPI的各種模式、各種時鐘、大小端及上下行數據的測試用例的生成。

        (2)配置接口層

        依據配置程序與驅動程序命令/事件接口定義完成各種命令的發送,并做相應的事件處理。

        (3)驅動接口層

        依據配置程序與驅動程序命令/事件接口定義對配置程序發送的命令進行解析,同時對硬件的狀態信息進行響應。

        (4)硬件接口層

        主要負責驅動與固件接口操作,對DUT設備進行設置,對DUT進行寫命令/數據,或從DUT設備獲取狀態/數據信息。

        3 接口驗證工具的實現

        考慮到兼容各個嵌入式平臺(Linux系統),故整個上位機軟件工作在Linux系統下。從圖5可以看出,整個軟件的實現主要由配置程序、驅動程序及固件3部分組成。本文重點介紹配置程序及驅動程序部分。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 卫辉市| 始兴县| 长丰县| 英德市| 宝兴县| 安庆市| 碌曲县| 乌审旗| 荣成市| 万山特区| 凤城市| 泽州县| 桦甸市| 呼伦贝尔市| 曲松县| 英德市| 襄樊市| 龙岩市| 兰溪市| 马公市| 莫力| 英德市| 长汀县| 酒泉市| 枝江市| 综艺| 临湘市| 馆陶县| 平邑县| 柳河县| 怀集县| 密山市| 安阳县| 金川县| 奉化市| 屏南县| 修武县| 中牟县| 许昌市| 宜昌市| 公安县|