freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)pc與單片機(jī)通過usb接口實(shí)現(xiàn)串行通信-wenkub

2022-12-12 20:59:02 本頁面
 

【正文】 B9)串口正在逐步的為 USB 接口所替代。串行通信是指一條信息額各位數(shù)據(jù)被逐位按順序傳送的通信方式?,F(xiàn)場數(shù)據(jù)必須通過一個(gè)數(shù)據(jù)收集器傳給上位機(jī),同樣上位機(jī)向現(xiàn)場設(shè)備發(fā)命令也必須通過數(shù)據(jù)收集器。 本設(shè)計(jì)主要介紹如何使用一臺計(jì)算機(jī)與一臺單片機(jī)通過 USB 接口實(shí)現(xiàn) 串行通信。 在 本設(shè)計(jì)中單片機(jī)采用 AT89C51, USB 模塊CH375, 軟件設(shè)計(jì)方面, PC機(jī)采用 C語言編程,單片機(jī)方面用中斷方式完成數(shù)據(jù)的接收和發(fā)送,程序采用 也采用 C語言。串行通信因其結(jié)構(gòu)簡單、執(zhí)行速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn),已被廣泛應(yīng)用于數(shù)據(jù)采集和過程控制等領(lǐng)域。串行通信的特點(diǎn)是:數(shù)據(jù)位傳送 ,按位順序進(jìn)行,最少只需要一根傳輸線即可完成,成本低但傳送速度快, 串行通信的距離可以從幾米到幾千米 。而在現(xiàn)在的大多數(shù)筆記本電腦中,出于節(jié)省物理空間和用處不大等原因,RS232(DB9)串口已不再設(shè)置,這就約束了基于 RS232(DB9)串口與 PC 機(jī)聯(lián)絡(luò)的單片機(jī)設(shè)備的使用范圍。 成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 2 本課題研究的主要內(nèi)容 串行通信的基本原理; USB的相關(guān)知識 ; 如何 使用 USB的功能模塊 ; 如何實(shí)現(xiàn)單片機(jī)和 PC機(jī) 通過 USB實(shí)現(xiàn)串行通信 ; 如何編寫 PC與單片機(jī)的數(shù)據(jù)收發(fā)程序; 針對以上內(nèi)容,設(shè)計(jì)的功能模塊分為以下 3個(gè)方面: ( 1)單片機(jī)系統(tǒng):實(shí)現(xiàn)和 PC機(jī)通信的 單片機(jī)選擇 。 (一) 串 行通信 串行通信的設(shè)備是最古老的溝通機(jī)制之一。 提示:要使串行通信工作,你只需要一根三根線的電纜 —— 1 根發(fā)送, 1 根用來接收, 1 根接地。使用串行端口,你可以連接到調(diào)制解調(diào)器,鼠標(biāo)或設(shè)備等作為一個(gè)橋梁 /路由器配置的目的 。 開始傳輸時(shí),設(shè)備先發(fā)送一個(gè)起始位,其次是數(shù)據(jù)位。一個(gè)停止位可以是一位,一個(gè)半位,或兩位。 為了檢測數(shù)據(jù)已被正確發(fā)送,一個(gè)可選的校驗(yàn)位可以同數(shù)據(jù)位在一起。 大多數(shù)串行端口使用 RS232C 標(biāo)準(zhǔn) ,它指定了一個(gè)連接器 25 針或 9 針 ,如圖22 所示 。 并行通信時(shí)數(shù)據(jù)的各個(gè)位同時(shí)傳送,可以字或字節(jié)為單位并行進(jìn)行。 ( 2) 微機(jī)系統(tǒng)中最基本的信息交換方式。 ( 6) 并行通信抗干擾能力差。 成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 6 ( 10) 并行數(shù)據(jù)傳輸只適用于近距離的通信,通常傳輸距離小于 30米 。 電話線就是二線全雙工信道。但單工目前已很少采用,下面僅介紹前兩種方式。 圖 24 半雙工通信示意圖 當(dāng)計(jì)算機(jī)主機(jī)用串行接口連接顯示終端時(shí),在半雙工方式中,輸入過程和輸出 過程使用同一通路。 (二) 全雙工方式 當(dāng)數(shù)據(jù)的發(fā)送和接收分流,分別由兩根不同的傳輸線傳送時(shí),通信雙方都能在同一時(shí)刻進(jìn)行發(fā)送和接收操作, 這樣的傳送方式就是全雙工制,如圖 25 所示。(可能還需要控制線和狀態(tài)線,以及地線)。為了解決以上問題,串行傳輸可采用以下兩種 方法:異步傳輸和同步傳輸。停止位對應(yīng)于二進(jìn)制值 1,以高電平表示,占用 1~2 位寬度。發(fā)送端與接收端除了采用相同的數(shù)據(jù)格式 (字符的位數(shù)、停止位的位數(shù)、有無校驗(yàn)位及校驗(yàn)方式等 )外,還應(yīng)當(dāng)采用相同的傳輸速率。它的缺點(diǎn)是通信開銷大,每傳輸一個(gè)字符都要額外附加 2~ 3位,通信效率比較低。所謂同步傳輸是指數(shù)據(jù)塊與數(shù)據(jù)塊之間的時(shí)間間隔是固定的,必須嚴(yán)格地規(guī)定它們的時(shí)間關(guān)系。這種技術(shù)在短距離傳輸時(shí)表現(xiàn)良好,但在長距離傳輸中,定時(shí)脈沖可能 會和信息信號一樣受到破壞,從而出現(xiàn)定時(shí)誤差。( 注在 1999 年 2 月發(fā)布的 USB 規(guī)范版本 草案中 , 已建議將 12Mbps的帶寬提升到 120240Mbps。 USB 設(shè)備 USB 設(shè)備包括 Hub 和功能設(shè)備 , 而功能設(shè)備又可以細(xì)分為定位設(shè)備字符設(shè)備等等。在 USB系統(tǒng)中,每一個(gè)端點(diǎn)都有唯一的地址,這是由設(shè)備地址和端點(diǎn)號給出的。 端點(diǎn) 0通常為控制端點(diǎn)。一旦設(shè)備被配置,管道就存在了。 一個(gè) USB 設(shè)備可以分為三個(gè)層圖( )。最上層就是 USB 設(shè)備所提供的功能,比如鼠標(biāo)或鍵盤等。 3. USB 支持熱插拔 (hot plug)和 PNP(PlugandPlay), 也就是說在不關(guān)閉成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 11 PC 的情況下可以安全的插上和斷開 USB設(shè)備 , 計(jì)算機(jī)系統(tǒng)動態(tài)地檢測外設(shè)的插拔 , 并且動態(tài)地加載驅(qū)動程序 。 5. USB 提供全速 12Mbps的速率和低速 的外設(shè) , 480Mbps的高速傳輸速率 。 傳輸 方式 USB 有四種的傳輸方式控制 (Control)同步 (isochronous)中斷 (interrupt)大量 (bulk)如果你是從硬件開始來設(shè)計(jì)整個(gè)的系統(tǒng)你還要正確選擇傳輸?shù)姆绞蕉鳛橐粋€(gè)驅(qū)動程序的書寫者就只需要弄清楚他是采用的什么工作方式就行了通常所有的傳輸方式下的主動權(quán)都在 PC邊 ,也就是 host 邊 1. 控制 (Control)方式傳輸 :控制傳輸是雙向傳輸 ,數(shù)據(jù)量通常較小 。 (isochronous)方式 : 傳輸同步傳輸提供了確定的帶寬和間隔時(shí)間latency)。 對于同步傳輸來說 , 即時(shí)的數(shù)據(jù)傳遞比完美的精度和數(shù)據(jù)的完整性更重要一些 。 (bulk)傳輸 : 主要應(yīng)用在數(shù)據(jù)大量傳輸傳輸和接受數(shù)據(jù)上 , 同時(shí)又沒有帶寬和間隔時(shí)間要求的情況下 , 要求保證傳輸 。 每個(gè)設(shè)備每幀只能傳輸一個(gè)同步的傳輸包 。 PC 機(jī)就是主機(jī)和根 Hub, 用戶可以將外設(shè)或附加的 Hub 與之相連 。 成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 13 圖 USB 總線拓?fù)? 的物理層 USB的物理接口包括電氣特性和機(jī)械特性 。 這主要是由于信號衰減的限制 。 上行和下行的接頭是不能互換的 , 這保證了不會有非法的連接出現(xiàn) 。然后在令牌中指定的數(shù)據(jù)發(fā)送者發(fā)出一個(gè)數(shù)據(jù)包或者指出它沒有數(shù)據(jù)可以傳輸。 在以后的敘述中 , SYNC 域?qū)⒈皇∪?。 如果外設(shè)接收到一個(gè) PID, 它所指明的操作類型或者方向不被支持 , 外設(shè)將不作出響應(yīng) 。 ADDR 共 6 位 , 因此最多可以有 127 個(gè)地址 。 所有的設(shè)備必須支持一個(gè)控制端點(diǎn) 0(endpoint0)。 這個(gè)域只存在于每幀開始時(shí)的 SOF 令牌中 SOF 令牌在下面將詳細(xì)介紹 。 其中 IN、 OUT、 SETUP 的格式如圖 所示 。 對于 SOF 包 , 它的格式如圖 所示 。 這兩種包的定義是為 了支持?jǐn)?shù)據(jù)觸發(fā)同步 。 只有支持流控制的傳輸類型 ( 控制中斷和批傳輸 ) 才能返回Handshake。 特殊包 ( Special) :PID 名稱為 PRE( preamble) ,用于低速操作的情形 三. 總線操作的格式 批操作 bulk transaction: 批操作包括令牌 、 數(shù)據(jù) 、 應(yīng)答三個(gè)階段 , 如圖 所示 。 成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 18 圖 控制操作流程 下面是控制操作的詳細(xì)描述圖 , 其中我們要注意數(shù)據(jù)包 PID 的使用 。 另外它也不支持?jǐn)?shù)據(jù)的觸發(fā)同步與重試 。 而發(fā)送者的序列位只有當(dāng)接收到確認(rèn)包 ACK 時(shí)才能被觸發(fā) 。如果數(shù)據(jù)不能接收,則必須發(fā)送 NAK。 五. 低速操作 Hub 具有禁止高速信號進(jìn)入低速設(shè)備的能力 , 這既防止了電磁干擾的發(fā)生 ,又保護(hù)了低速設(shè)備 。 主機(jī)在發(fā)送完 PRE包后 , 必須等待至少 4位的時(shí)間 , 而在這個(gè)期間 , Hub完成必要的設(shè)置 , 使之能接收低速的信號 。 (2)只支持中斷和控制傳輸方式 。 USB 這種檢查錯誤的能力包括 : PID 檢驗(yàn) 、 CRC 檢驗(yàn) 、 總線時(shí)間溢出以及 EOP錯誤檢驗(yàn)等等 。 PC 機(jī)也可以將各種控制命令傳送給單片機(jī) , 干預(yù)單片機(jī)系統(tǒng)的運(yùn)行 , 從而發(fā)揮 PC機(jī)的優(yōu)勢。由于 AT89C51 單片機(jī)具有集成度高、面向控制、系統(tǒng)結(jié)構(gòu)簡單、價(jià)格便宜等諸多優(yōu)點(diǎn) , 因而在智能化儀器儀表、數(shù)據(jù)采集、數(shù)據(jù)測量等方面有著廣泛的應(yīng)用。 RS232C 是由美國電子工業(yè)協(xié)會( Electronic IndustryAssociation)于 1969 年正式公布的在異步串行通信中應(yīng)用最為廣泛的標(biāo)準(zhǔn)總線接口 , 它的全稱是 / 數(shù)據(jù)終端設(shè)備 ( DTE ) 和數(shù)據(jù)通信成都理工大學(xué) 2021 屆本科畢業(yè)設(shè)計(jì)(論文) 24 設(shè)備 ( DCE) 之間的串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn) 0, 適合于短距離通信或帶調(diào)制解調(diào)器的通信應(yīng)用場合。 的接口信號: RS 232C 采用負(fù)邏輯 , 用 5~ 15V 表示邏輯 / l0, 用 + 5~ + 15V 表示邏輯 / 00。 ( 2)傳輸速率較低,在異步傳輸時(shí),波特率 ≤20Kbps。 RS232 采用的 是異步通信 。若為邏輯 1, 作為數(shù)據(jù)位 1;若為邏輯 0,作為數(shù)據(jù)位0。若沒有錯誤,對全部數(shù)據(jù)位進(jìn)行奇偶校驗(yàn),無校驗(yàn)錯時(shí),把數(shù)據(jù)位從移位寄存器中送數(shù)據(jù)輸入寄存器。 單片機(jī)常用 的的晶振 , 這個(gè)奇怪?jǐn)?shù)字是有來歷的: 波特率為 9600BPS 每位位寬 t1=1/9600s 晶振周期 t2=1/單片機(jī)機(jī)器周期 t3=12*t2 t1/t3=96 即對于 9600BPS 的串口,單片機(jī)對其以 96 倍的速率進(jìn)行采樣。 當(dāng) A0 為低電平時(shí)選擇數(shù)據(jù)端口,單片機(jī)通過 8 位并口對 CH375 進(jìn)行讀寫數(shù)據(jù);為高電平時(shí)選擇命令端口,可以向其寫入命令。 將 CH375 芯片的驅(qū)動程序、動態(tài)鏈接庫拷貝到上位機(jī)中,利用 CH375 動態(tài)鏈接庫 DLL 提供的 API 函數(shù)對其進(jìn)行操作,對 USB 設(shè)備的通信就幾乎和訪問本地硬盤中的文件差不多了 USB 接口的軟件設(shè)計(jì) 各通道的 USB 模塊 CH375 在計(jì)算機(jī)應(yīng)用層與其本地端單片機(jī) AT89C51 之間提供了端對端的連接。在設(shè)計(jì) PC 機(jī)與單片機(jī)通信程序時(shí) , 應(yīng)首先明確數(shù)據(jù)傳輸協(xié)議 , 例如 : 數(shù)據(jù)傳輸?shù)膸袷健⒉ㄌ芈省?PC 機(jī)與單片機(jī)在實(shí)現(xiàn)異步通信時(shí)的工作方式等。 outportb( 0x3fb, 0x80) 。 / * 8 位數(shù)據(jù) , 1 位停 止位 * / outportb( 0x3fc, 0x03) 。 } while( s! = 0x20) 。0x01) = = 0) goto waitok。 } AT8C951 單片機(jī) 端 的通信程序 采用 C語言編程,編寫單片機(jī)端 AT89c51 中斷 1服務(wù)處理程序的基本框架如下所示: void int1_isr (void) //USB 中斷入口程序 { CH375_WR_CMD_PORT(CMD_GET_STATUS); //向 CH375 發(fā)送中斷狀態(tài)獲取命令 InterruptStatus = CH375_RD_DAT_PORT(); //獲取中斷狀態(tài),并通知 CH375取消中斷請求 // 分析中斷狀態(tài),并做相應(yīng)處理 if ( InterruptStatus= =USB_INT_EP2_OUT) // 數(shù)據(jù)下傳 { CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); // 向 CH375 發(fā)送讀數(shù)據(jù)命令 RD_Data =CH375_RD_DAT_PORT( ); //從 CH375 下傳緩沖區(qū)讀取數(shù)據(jù)塊
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1