色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于Qt實現(xiàn)USB CDC便攜式設(shè)備串口通信客戶端設(shè)計

          基于Qt實現(xiàn)USB CDC便攜式設(shè)備串口通信客戶端設(shè)計

          作者:張熹 時間:2015-05-14 來源:電子產(chǎn)品世界 收藏
          編者按:為實現(xiàn)上位機Linux系統(tǒng)的Qt應(yīng)用程序與下位機USB CDC便攜式設(shè)備之間的串口通信,本課題采用USB CDC類協(xié)議,并根據(jù)協(xié)議在Linux下編寫設(shè)備驅(qū)動程序,同時,搭建Linux-QT應(yīng)用平臺利用QT可視化的圖形界面及豐富的圖形庫,設(shè)計并制作上位機應(yīng)用程序圖形界面,并根據(jù)Linux下串口通信的應(yīng)用層協(xié)議,最終實現(xiàn)了在QT界面上實時顯示便攜式設(shè)備的數(shù)據(jù)、狀態(tài)和控制便攜式設(shè)備。該方法簡單、可靠、便于實際工程應(yīng)用,解決了安裝有Linux操作系統(tǒng)的上位機用戶與便攜式設(shè)備通信不方便的問題。因此,本課題對USB

          摘要:為實現(xiàn)上位機系統(tǒng)的Qt應(yīng)用程序與下位機USB 之間的,本課題采用USB 類協(xié)議,并根據(jù)協(xié)議在下編寫設(shè)備驅(qū)動程序,同時,搭建-應(yīng)用平臺利用可視化的圖形界面及豐富的圖形庫,設(shè)計并制作上位機應(yīng)用程序圖形界面,并根據(jù)Linux下的應(yīng)用層協(xié)議,最終實現(xiàn)了在界面上實時顯示的數(shù)據(jù)、狀態(tài)和控制。該方法簡單、可靠、便于實際工程應(yīng)用,解決了安裝有Linux操作系統(tǒng)的上位機用戶與便攜式設(shè)備通信不方便的問題。因此,本課題對USB 便攜式設(shè)備用戶來說將有廣闊的應(yīng)用前景。

          本文引用地址:http://cafeforensic.com/article/273269.htm

          引言

            近年來,隨著電子科技的進步和高新技術(shù)的不斷涌現(xiàn),不少設(shè)備的技術(shù)性能越來越好,體積也越來越小,易于搬運和攜帶。具有USB接口的便攜式設(shè)備已經(jīng)走進了人們的生活。在眾多USB產(chǎn)品中,有這樣一類USB設(shè)備廣泛應(yīng)用于我們的生產(chǎn)和生活中——使用USB CDC類協(xié)議的設(shè)備,然而對于Linux下使用此類設(shè)備的用戶來講,幾乎不可用的。因此,需要根據(jù)CDC類通信協(xié)議編寫設(shè)備驅(qū)動程序,以使用戶實現(xiàn)與USB CDC類設(shè)備的數(shù)據(jù)通信。同時,在上位機環(huán)境下,利用QT軟件設(shè)計實現(xiàn)CDC類設(shè)備應(yīng)用程序,這樣用戶就可以輕松、方便地監(jiān)視設(shè)備的當(dāng)前狀態(tài)和控制設(shè)備行為。

            另外,Linux是一個完全免費和基于UNIX和POSIX的用戶、多任務(wù)、支持多進程線程和多核的操作系統(tǒng),它具有完全兼容POSIX1.0標(biāo)準(zhǔn)、良好的界面、獨特的組織架構(gòu)等特點。尤其是它配以擁有多種應(yīng)用庫的QT軟件,使得本CDC類設(shè)備串口通信應(yīng)用程序設(shè)計簡單,成本低廉,非常適合于推廣和應(yīng)用。

          1 USB和USB CDC協(xié)議

          1.1 USB接口簡介

            通用串行總線(Universal Serial Bus,簡稱USB)是計算機連接外部設(shè)備裝置的一個高速串行通信協(xié)議標(biāo)準(zhǔn),如今USB2.0已廣泛地應(yīng)用在計算機上,同時也擴展到了家用機頂盒和游戲機上。另外,補充標(biāo)準(zhǔn)On-The-Go(OTG)使USB設(shè)備間能夠獨立地進行數(shù)據(jù)交換。USB的出現(xiàn)大大簡化了計算機和其它設(shè)備的數(shù)據(jù)通信,增強了計算機的擴展性,因而得到大范圍推廣[1-2]

            通信接口是便攜式設(shè)備必備的對外功能模塊之一。由于現(xiàn)今設(shè)備的多功能特點,造成數(shù)據(jù)傳送量呈幾何級數(shù)地增加,過去的通信協(xié)議標(biāo)準(zhǔn)如串口通信協(xié)議RS-232、并行通信接口協(xié)議LPT等存在傳輸速度低、誤碼率高、數(shù)據(jù)常常丟失等問題[3],已不能滿足社會發(fā)展的需求??梢钥闯觯琔SB接口在便攜式設(shè)備上出現(xiàn)是一種必然趨勢。

          1.2 CDC 類簡介

            USB通訊協(xié)議組織制定了三個類:通信設(shè)備類、通信接口類和數(shù)據(jù)接口類。通訊設(shè)備類是一種設(shè)備級別的定義,主機用該協(xié)議識別外部設(shè)備可以表現(xiàn)出的不同接口類型。通信接口類定義了一種可以使能USB上的所有類型的通信服務(wù)的通用機制。數(shù)據(jù)接口類定義了一種通用機制,當(dāng)數(shù)據(jù)不能滿足其它通信類的要求時,能使USB完成塊數(shù)據(jù)或者同步傳輸功能。其中,USB CDC類是由通信接口類和數(shù)據(jù)接口類組合而成。針對不同的USB通信設(shè)備,CDC類又被分成以下三個模式:傳統(tǒng)純電話業(yè)務(wù)模式、 ISDN模式和網(wǎng)絡(luò)模式。而傳統(tǒng)純電話業(yè)務(wù)模式可分為Direct Line Control Model、ACM(Abstract Control Model)和USB Telephone Model。本文所討論的便攜式設(shè)備串口通信就屬于USB 傳統(tǒng)純電話業(yè)務(wù)下的ACM模式[4-5]

          1.3 CDC 類協(xié)議通信原理和接口函數(shù)

            USB CDC類協(xié)議所描述的USB CDC類設(shè)備首先像一般的USB設(shè)備被USB Core所識別和描述,其次將信息上傳至更高層協(xié)議,也就是tty協(xié)議層,最后通過線路規(guī)程的方式,將tty協(xié)議層和usb協(xié)議層結(jié)合使用,完成CDC類設(shè)備通信,即tty協(xié)議層負(fù)責(zé)應(yīng)用程序串口通信,usb協(xié)議層負(fù)責(zé)CDC類設(shè)備的識別、描述和通信[9-10] ,如圖1所示。

            本文中開發(fā)的設(shè)備驅(qū)動涉及的主要接口函數(shù)和過程如下:首先,當(dāng)CDC類設(shè)備接入USB接口時,利用初始化函數(shù)acm_init(void)初始化設(shè)備,再由探針函數(shù)acm_probe()對接入的設(shè)備識別檢測;其次,設(shè)備控制中斷函數(shù)acm_ctrl_irq()發(fā)出中斷,請求數(shù)據(jù)讀寫,其中數(shù)據(jù)讀寫函數(shù)為:批量塊傳輸讀函數(shù)acm_read_bulk()、批量塊傳輸寫函數(shù)acm_write_bulk();再次,打開tty協(xié)議層設(shè)備,并進行數(shù)據(jù)通信,主要是以下五個函數(shù):打開tty設(shè)備函數(shù)acm_tty_open()、關(guān)閉函數(shù)acm_tty_close()、寫函數(shù)acm_tty_write()、中斷控制函數(shù)acm_tty_break_ctl()和IO控制函數(shù)acm_tty_ioctl();最后,需要有設(shè)備驅(qū)動的銷毀和退出函數(shù):acm_disconnect()、acm_exit(void)。


          2 QT軟件介紹及其界面設(shè)計

          2.1 QT軟件簡介

            Qt是1991年由奇趣科技開發(fā)的一個跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架,它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所有功能。因此,Qt的擴展性極強,允許多組件或模塊化編程。同時,Qt的跨平臺特性好,支持任何平臺的編譯與運行。另外,其獨有的信號和槽機制,使得觸發(fā)信號和數(shù)據(jù)在不同模塊間通信。可以看出,QT是專門面向用戶對象的,提供了圖形用戶界面的應(yīng)用框架和窗口系統(tǒng),具有極易的開發(fā)特性,非常適合于linux下應(yīng)用程序的開發(fā)。QT Designer實現(xiàn)界面設(shè)計如下[8] 。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程


          c++相關(guān)文章:c++教程


          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉