• 
    

    
    

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

      ?

      一種基于USB的視頻傳輸系統(tǒng)設計

      2017-07-10 09:59:48范超趙琳李真
      電腦知識與技術 2017年14期

      范超 趙琳 李真

      摘要:該文設計一種基于USB的視頻傳輸系統(tǒng)。首先對USB接口的工作原理進行簡要介紹,在此基礎上進行基于PDIUSBD12芯片的USB總線設計,并使用FPGA進行系統(tǒng)控制實現與PC機的信息交互。

      關鍵詞:視頻傳輸;FPGA;USB

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)14-0216-02

      1系統(tǒng)硬件總體架構

      本系統(tǒng)采用P89C52控制芯片和PDIUSBD12接口芯片完成FPGA與PC之間的數據傳輸,數據傳輸部分主要包括FPGA與USB之間的數據交換和USB與PC之間的數據交換,系統(tǒng)總體通信結構如圖1所示。

      如圖1所示,FPGA通過USB接口與PC進行通信,USB接口由微控制器P89C52和PDIUSBD12接口芯片組成,P89C52通過P2口與FPGA做并行數據通路。FPGA通過寫選通信號控制P89C52讀取數據,需要讀取數據時FPGA給P89C52寫選通信號有效,P89C52讀取FPGA內部FIFO中的數據,數據讀取完成后FPGA寫選通信號變?yōu)闊o效。

      USB接口為主從模式,USB與主機的數據傳輸均需由主機端發(fā)起。接口控制芯片響應主機的讀數請求,一旦收到主機的讀數請求,接口控制芯片將數據緩沖區(qū)中的數據寫入PDI-SUBD12接口芯片的端口1。PDISUBD12和89C52單片機之間的連接如圖1所示(圖中部分信號未列出)。

      2系統(tǒng)軟件總體設計

      系統(tǒng)軟件主要由固件程序,驅動程序,和PC端應用程序組成,其中固件程序是完成數據傳輸功能的核心,固件程序運行于P89C52支持USB協(xié)議。

      固件程序主要由以下三部分組成:

      1)初始化單片機和所有的外圍電路;

      2)主循環(huán);

      3)中斷服務程序。

      圖2為主程序流程圖,如圖所示,系統(tǒng)上電后接口控制器(P89C52)首先進行初始化,然后向主機發(fā)出連接USB命令,主機收到接口控制器發(fā)送的連接請求后讀取設備描述符,并根據設備描述符,啟動相應的設備驅動程序,完成USB總線連接。然后主程序進入循環(huán),運行控制子程序,數據傳輸功能由中斷服務程序完成。

      根據USB協(xié)議,USB數據傳輸均由主機發(fā)起,主機首先向PDIUSBD12發(fā)送令牌包,PDIUSBD12接收到主機發(fā)送的令牌包后向接口控制器發(fā)中斷,接口控制器響應中斷進入中斷服務程序后,首先讀PDIUSBD12的中斷寄存器,判斷USB令牌包的類型,然后執(zhí)行相應的操作。

      中斷服務程序在整個程序體中非常重要,主要負責修改中斷變量聯合體和填充控制結構體的值,以便主循環(huán)能根據標志變量聯合體中的標志變量的變化來執(zhí)行具體的程序。對于總線復位和掛起改變,程序只修改其對應的標志位,但對于其它標志變化,如控制輸入輸出、端點輸A/輸出還需要執(zhí)行相應的程序,以完成數據傳輸。PDIUSBD12收到數據包后向接口控制器發(fā)送中斷請求,接口控制器響應中斷,在中斷服務程序中讀取PDIUSBD12內部緩沖區(qū)的數據,同時清空PDIUSBD12的內部緩沖區(qū),并修改相應的標志位。圖3為中斷服務程序的框圖。

      接口控制器通過向PDIUSBD12發(fā)送命令和數據實現與PDIUSBD12的通信。PDIUSBD12有初始化命令字、數據流命令字和通用命令字三種命令字。接口控制器首先向PDI-USBD12發(fā)送命令字,根據不同命令字的要求再發(fā)送或讀出數據。本系統(tǒng)將每種命令字設計為命令函數,通過函數調用實現各個命令字的發(fā)送。

      當接口控制器給PDIUSBD12的端點緩沖區(qū)發(fā)數據時應首先判斷緩沖區(qū)是否為空,否則如果主機還沒有將上一個包的數據從PDIUSBD12讀走,接口控制器又將另一個包寫進PDI-USBD12的緩沖區(qū)時會覆蓋掉以前的數據。判斷緩沖區(qū)是否為空的程序如下。

      3結論

      本設計方案已經經過了硬件驗證,達到了預定的設計要求,實現了大數據量的實時傳輸且具有良好的靈活性和擴展性。

      盐亭县| 扎赉特旗| 平江县| 安达市| 大同县| 东光县| 衡阳县| 沙坪坝区| 即墨市| 仁寿县| 无锡市| 河源市| 四平市| 台前县| 台东市| 扶风县| 崇文区| 出国| 富阳市| 德昌县| 遂宁市| 泸溪县| 渭源县| 鸡东县| 松阳县| 贡山| 古浪县| 商洛市| 东港市| 美姑县| 枣阳市| 浮山县| 南郑县| 郑州市| 章丘市| 晋宁县| 闻喜县| 安龙县| 文水县| 怀化市| 永川市|