通信接口與通信協(xié)議.ppt
《通信接口與通信協(xié)議.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《通信接口與通信協(xié)議.ppt(65頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
通信接口與通信協(xié)議 BobBi OSI OpenSystemInterconnection 通信接口與通信協(xié)議 并行通信與串行通信 Parallelbus ISA PCI AXISPIIICRS232RS485 RS422CANUSBNetworkMODBUSJTAG 常用名詞 通信介質(zhì)雙絞線 同軸電纜 光纖等 總線兩個(gè)或多個(gè)通信主體共享的一組通信線路 通信協(xié)議描述了各通信主體在總線上的通信規(guī)則 時(shí)序圖是描述硬件協(xié)議的常用方法 通信主體指參與通信的操作設(shè)備 如處理器 存儲(chǔ)器等 一般分為主操作設(shè)備 master 和從操作設(shè)備 slave 帶寬 數(shù)據(jù)傳輸速率 波特率 Communicationterms 數(shù)據(jù)方向表示待傳輸?shù)臄?shù)據(jù)在通信主體間的移動(dòng)方向 可以用接收 發(fā)送來表示 單工 全雙工 半雙工數(shù)據(jù)只能單向傳送為單工 信息能雙向傳送但不能同時(shí)雙向傳送稱為半雙工 信息能夠同時(shí)雙向傳送則稱為全雙工 地址表示待傳輸數(shù)據(jù)的來源或目的地 也可理解為通信主體在總線上的ID 同步通信 異步通信同步通信要求接收端時(shí)鐘頻率和發(fā)送端時(shí)鐘頻率一致 發(fā)送端發(fā)送連續(xù)的比特流 異步通信時(shí)不要求接收端時(shí)鐘和發(fā)送端時(shí)鐘同步 發(fā)送端發(fā)送完一個(gè)字節(jié)后 可經(jīng)過任意長的時(shí)間間隔再發(fā)送下一個(gè)字節(jié) 并行通信 處理器 存儲(chǔ)器 從設(shè)備 data addr enable r w enable addr data fsetup fread fsetup fwrite r w int ISA總線 SPI總線概述 SerialPeripheralInterface串行外圍設(shè)備接口 是Motorola公司推出的一種同步串行接口技術(shù) SPI主要應(yīng)用在EEPROM Flash 實(shí)時(shí)時(shí)鐘 RTC 數(shù)模轉(zhuǎn)換器 ADC 數(shù)字信號處理器 DSP 以及數(shù)字信號解碼器之間 它在芯片中只占用四根管腳 Pin 用來控制以及數(shù)據(jù)傳輸 節(jié)約了芯片的pin數(shù)目 同時(shí)為PCB在布局上節(jié)省了空間 正是出于這種簡單易用的特性 現(xiàn)在越來越多的芯片上都集成了SPI技術(shù) 采用主 從模式 Master Slave 控制方式 SS信號進(jìn)行對從設(shè)備的片選 采用同步方式 Synchronous 傳輸數(shù)據(jù) 主設(shè)備提供SCLK信號給從設(shè)備 SPI總線連接 SPI連接方式SPI有4種工作方式 由CPOL和CPHL兩位來決定 當(dāng)CPOL為0時(shí) CLK的空閑狀態(tài)為低電平 當(dāng)CPOL為1時(shí) CLK的空閑狀態(tài)為高電平 當(dāng)CPHL為0時(shí) 在CLK的第1個(gè)跳變沿?cái)?shù)據(jù)被采樣 當(dāng)CPHL為1時(shí) 在CLK的第2個(gè)跳變沿?cái)?shù)據(jù)被采樣 SPI時(shí)序圖 CPHL 1 SPI時(shí)序圖 CPHL 0 SPI時(shí)鐘配置 在主設(shè)備這邊配置SPI接口時(shí)鐘的時(shí)候一定要弄清楚從設(shè)備的時(shí)鐘要求 因?yàn)橹髟O(shè)備這邊的時(shí)鐘極性和相位都是以從設(shè)備為基準(zhǔn)的 因此在時(shí)鐘極性的配置上一定要搞清楚從設(shè)備是在時(shí)鐘的上升沿還是下降沿接收數(shù)據(jù) 是在時(shí)鐘的下降沿還是上升沿輸出數(shù)據(jù) 但要注意的是 由于主設(shè)備的SDO連接從設(shè)備的SDI 從設(shè)備的SDO連接主設(shè)備的SDI 從設(shè)備SDI接收的數(shù)據(jù)是主設(shè)備的SDO發(fā)送過來的 主設(shè)備SDI接收的數(shù)據(jù)是從設(shè)備SDO發(fā)送過來的 所以主設(shè)備這邊SPI時(shí)鐘極性的配置 即SDO的配置 跟從設(shè)備的SDI接收數(shù)據(jù)的極性是相反的 跟從設(shè)備SDO發(fā)送數(shù)據(jù)的極性是相同的 IIC總線概述 I2C總線是Philips公司開發(fā)的一種二線串行總線 可以使嵌入式系統(tǒng)中的外部設(shè)備和CPU以及外設(shè)之間進(jìn)行進(jìn)行通信 SDA 串行數(shù)據(jù)總線 SerialDAta SCL 串行時(shí)鐘信號 SerialCLock 支持多主通信 是多主機(jī)總線 技術(shù)指標(biāo) 傳輸速率 100kbps3 4Mbps尋址位數(shù) 7位10位 IIC總線連接方式 IIC總線接口電平 SDA和SCL在空閑狀態(tài)都是高電平 所有設(shè)備的SDA和SCL線與連接 SCL線是高電平時(shí) SDA線從高電平向低電平切換表示起始條件 當(dāng)SCL是高電平時(shí) SDA線由低電平向高電平切換表示停止條件 正常通信時(shí) SDA在SCL為高時(shí)保持穩(wěn)定 當(dāng)SCL為低時(shí)數(shù)據(jù)變化 IIC總線時(shí)序圖 IIC總線有很多工作模式 下面是最簡單的一個(gè)模式的數(shù)據(jù)傳輸時(shí)序 串行同步通信協(xié)議 面向比特的同步協(xié)議 串行異步通信協(xié)議 起止式異步協(xié)議的特點(diǎn)是一個(gè)字符一個(gè)字符傳輸 并且傳送一個(gè)字符總是以起始位開始 以停止位結(jié)束 字符之間沒有固定的時(shí)間間隔要求 每一個(gè)字符的前面都有一位起始位 為低電平 字符本身有5 7位數(shù)據(jù)位組成 接著字符后面是一位校驗(yàn)位 也可以沒有校驗(yàn)位 最后是一位 或二位停止位 停止位后面是不定長度的空閑位 停止位和空閑位都規(guī)定為高電平 這樣就保證起始位開始處一定有一個(gè)下跳沿 RS 232概述 RS 232C標(biāo)準(zhǔn) 協(xié)議 的全稱是EIA RS 232C標(biāo)準(zhǔn) 其中EIA ElectronicIndustryAssociation 代表美國電子工業(yè)協(xié)會(huì) RS recommendedstandard 代表推薦標(biāo)準(zhǔn) 232是標(biāo)識(shí)號 C代表RS232的最新一次修改 1969 在這之前 有RS232B RS232A 它規(guī)定連接電纜和機(jī)械 電氣特性 信號功能及傳送過程 常用物理標(biāo)準(zhǔn)還有有EIARS 422A EIARS 423A EIARS 485 它適合于數(shù)據(jù)傳輸速率在0 20kb s范圍內(nèi)的通信 在通信速率低于20kb s時(shí) RS 232C所直接連接的最大物理距離為15m 50英尺 EIA RS 232C的電氣特性 在TxD和RxD上 邏輯1 MARK 3V 15V邏輯0 SPACE 3 15V RS 232C連接 RS 232C規(guī)標(biāo)準(zhǔn)接口有25條線 4條數(shù)據(jù)線 11條控制線 3條定時(shí)線 7條備用和未定義線 常用的只有9根 一般用3根 RS 422 在RS 232的基礎(chǔ)上 為了增強(qiáng)驅(qū)動(dòng)能力和抗干擾能力 產(chǎn)生了RS 422 RS 422有兩對差分信號傳輸線 一對發(fā)送 一對接收 RS 422的電氣特性 邏輯 1 以兩線間的電壓差為 2 6 V表示 邏輯 0 以兩線間的電壓差為 2 6 V表示 RS 422最大的通信距離約為1219m 最大傳輸速率為10Mb S 傳輸速率與傳輸距離成反比 在100Kb S的傳輸速率下 才可以達(dá)到最大的通信距離 RS 422 由于接收器采用高輸入阻抗和發(fā)送驅(qū)動(dòng)器比RS232更強(qiáng)的驅(qū)動(dòng)能力 故允許在相同傳輸線上連接多個(gè)接收節(jié)點(diǎn) 最多可接10個(gè)節(jié)點(diǎn) 即一個(gè)主設(shè)備 Master 其余為從設(shè)備 Salve 從設(shè)備之間不能通信 所以RS 422支持點(diǎn)對多的全雙工通信 RS 485 RS 485的電氣特性和RS 422一樣 RS 485 在RS 422后推出 絕大部分繼承了422 主要的差別是RS 485可以是半雙工的 而且一個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)能力至少可以驅(qū)動(dòng)32個(gè)接收器 即接收器為1 32單位負(fù)載 當(dāng)使用阻抗更高的接收器時(shí)可以驅(qū)動(dòng)更多的接收器 所以現(xiàn)在大多數(shù)全雙工485驅(qū)動(dòng) 接收器對都是標(biāo) RS422 485的 因?yàn)槿p工RS485的驅(qū)動(dòng) 接收器對一定可以用在RS422網(wǎng)絡(luò) RS 485總線一般最大支持32個(gè)節(jié)點(diǎn) 如果使用特制的485芯片 可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn) 最大的可以支持到400個(gè)節(jié)點(diǎn) RS 485組成半雙工網(wǎng)絡(luò) 一般是兩線制 多采用屏蔽雙絞線傳輸 RS 485網(wǎng)絡(luò)中只能有一個(gè)主設(shè)備 其余為從設(shè)備 RS 485總線網(wǎng)絡(luò) RS485網(wǎng)絡(luò)拓?fù)洳捎媒K端匹配的總線結(jié)構(gòu) 構(gòu)建時(shí)需注意 1 采用一條雙絞線電纜作總線 將各個(gè)節(jié)點(diǎn)串接起來 從總線到每個(gè)節(jié)點(diǎn)的引出線長度應(yīng)盡量短 以便使引出線中的反射信號對總線信號的影響最低 2 應(yīng)注意總線特性阻抗的連續(xù)性 在阻抗不連續(xù)點(diǎn)就會(huì)發(fā)生信號的反射 3 終端負(fù)載電阻問題 需在總線電纜的開始和末端都并接終端電阻 阻值一般為120 因?yàn)橐话汶p絞線的特性阻抗為100 120 CANbus 控制器局域網(wǎng)CAN ControllerAreaNetwork 最初是由德國Bosch公司設(shè)計(jì)的 應(yīng)用于汽車的監(jiān)測和控制 1991年9月 Philips制定并發(fā)布CAN技術(shù)規(guī)范 CAN2 0A B 1993年11月 ISO組織正式頒布CAN國際標(biāo)準(zhǔn)ISO11898 CAN bus是唯一成為國際標(biāo)準(zhǔn)的現(xiàn)場總線 也是國際上應(yīng)用最廣泛的現(xiàn)場總線之一 CAN總線協(xié)議包括對CAN控制器和收發(fā)器的規(guī)定 即包括物理層和數(shù)據(jù)鏈路層 CANbus 通訊距離與波特率有關(guān) 最大通訊距離可達(dá)10km 最大通訊波持率可達(dá)1Mbps CAN總線采用了多主競爭式總線結(jié)構(gòu) 具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn) CAN總線上最大地址數(shù)可達(dá)256 實(shí)際收發(fā)器一般支持120個(gè) 顯性 邏輯0 CAN H對地為3 5V 3V CAN L為1 5V 1V 隱性 邏輯1 CAN H對地為2 5V 2 3V CAN L為2 5V 2 3V CAN2 0A CAN標(biāo)準(zhǔn)報(bào)文格式CAN2 0B CAN標(biāo)準(zhǔn)報(bào)文格式和擴(kuò)展報(bào)文格式具有11位標(biāo)識(shí)符的CAN幀稱為 標(biāo)準(zhǔn)幀具有29位標(biāo)識(shí)符的CAN幀稱為 擴(kuò)展幀 CANbus CAN總線收發(fā)器CAN總線網(wǎng)絡(luò)連接和匹配電阻的設(shè)計(jì)可參考RS 485總線匹配電阻設(shè)計(jì) 原理相同 CANbus幀格式 數(shù)據(jù)楨 從發(fā)送節(jié)點(diǎn)向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)遠(yuǎn)程幀 向其它節(jié)點(diǎn)請求發(fā)送具有同一識(shí)別符的數(shù)據(jù)楨錯(cuò)誤幀 指明已檢測到總線錯(cuò)誤過載幀 用以在數(shù)據(jù)楨 或遠(yuǎn)程幀 之間提供一份附加的延時(shí) CANbus標(biāo)準(zhǔn)數(shù)據(jù)楨結(jié)構(gòu) CANbus擴(kuò)展數(shù)據(jù)楨結(jié)構(gòu) CANbus總線仲裁 總線上顯性電平支配隱性電平 邏輯 0 為顯性電平 邏輯 1 為隱性電平 總線空閑時(shí) 任何節(jié)點(diǎn)可以發(fā)送報(bào)文 總線上每條報(bào)文都具有惟一的11位或者29位標(biāo)識(shí)符 報(bào)文標(biāo)識(shí)符的值越小 具有越高的優(yōu)先權(quán) 多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送時(shí) 總線在 仲裁場 逐位仲裁 高優(yōu)先權(quán)的報(bào)文贏得仲裁 繼續(xù)發(fā)送報(bào)文 失去仲裁權(quán)的報(bào)文在總線空閑時(shí)重新發(fā)送 CANbus仲裁 USB概述 USB UniversalSerialBUS 通用串行總線 是在1994年底由英特爾 康柏 IBM Microsoft等多家公司聯(lián)合提出的 USB的顯著特點(diǎn)就是支持即插即用和熱插拔功能 目前主要使用的協(xié)議版本為USB1 1 USB2 0和USB3 0 各協(xié)議向下兼容 USB1 1支持12Mbps和1 5Mbps的數(shù)據(jù)傳輸率 USB2 0支持高達(dá)480Mbps的數(shù)據(jù)傳輸率 USB3 0支持5Gbps USB標(biāo)準(zhǔn)接口為4針插頭 USB3 0為9針 USB網(wǎng)絡(luò) USB網(wǎng)絡(luò)采用階梯式星形拓?fù)浣Y(jié)構(gòu) 一個(gè)USB網(wǎng)絡(luò)中只能有一個(gè)主機(jī) 主機(jī)內(nèi)設(shè)置了一個(gè)根集線器 提供了主機(jī)上的初始附屬點(diǎn) USB協(xié)議規(guī)定最多允許5級集線器進(jìn)行級聯(lián) USB主設(shè)備和從設(shè)備 USB系統(tǒng)中包括主機(jī) 集線器和從設(shè)備 主機(jī)中還集成了一個(gè)根集線器 主機(jī)定時(shí)對集線器的狀態(tài)進(jìn)行查詢 當(dāng)一個(gè)新設(shè)備接入集線器時(shí) 主機(jī)會(huì)檢測到集線器狀態(tài)改變 主機(jī)發(fā)出一個(gè)命令使該端口有效并對其進(jìn)行設(shè)置 位于這個(gè)端口上的設(shè)備進(jìn)行響應(yīng) 主機(jī)收到關(guān)于設(shè)備的信息 主機(jī)的操作系統(tǒng)確定對這個(gè)設(shè)備使用那種驅(qū)動(dòng)程序 接著設(shè)備被分配一個(gè)唯一標(biāo)識(shí)的地址 范圍從0 127 其中0為所有的設(shè)備在沒有分配惟一地址時(shí)使用的默認(rèn)地址 主機(jī)向它發(fā)出內(nèi)部設(shè)置請求 當(dāng)一個(gè)設(shè)備從總線上移走時(shí) 主機(jī)就從其可用資源列表中將這個(gè)設(shè)備刪除 USB主機(jī) USB的所有數(shù)據(jù)通信 不論是上行通信還是下行通信 都由USB主機(jī)啟動(dòng) 所以USB主機(jī)在整個(gè)數(shù)據(jù)傳輸過程中占據(jù)著主導(dǎo)地位 在USB系統(tǒng)中只允許有一個(gè)主機(jī) 從開發(fā)人員的角度看 USB主機(jī)可分為三個(gè)不同的功能模塊 客戶軟件 USB系統(tǒng)軟件和USB總線接口 客戶軟件一般包括USB設(shè)備驅(qū)動(dòng)程序和界面應(yīng)用程序兩部分 USB系統(tǒng)軟件一般包括USB總線驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序這兩部分 這些軟件通常由操作系統(tǒng)提供 開發(fā)人員不必掌握 USB總線接口包括主控制器和根集線器兩部分 該部分與USB系統(tǒng)軟件的接口依賴于主控制器的硬件實(shí)現(xiàn) 開發(fā)人員不必掌握 USB從設(shè)備 設(shè)備代表一個(gè)USB設(shè)備 它由一個(gè)或多個(gè)配置組成 設(shè)備描述符用于說明設(shè)備的總體信息 并指明其所含的配置的個(gè)數(shù) 一個(gè)USB設(shè)備只能有一個(gè)設(shè)備描述符 一個(gè)USB設(shè)備可以包含一個(gè)或多個(gè)配置 如USB設(shè)備的低功耗模式和高功耗模式可分別對應(yīng)一個(gè)配置 在使用USB設(shè)備前 必須為其選擇一個(gè)合適的配置 配置描述符用于說明USB設(shè)備中各個(gè)配置的特性 如配置所含接口的個(gè)數(shù)等 USB設(shè)備的每一個(gè)配置都必須有一個(gè)配置描述符 一個(gè)配置可以包含一個(gè)或多個(gè)接口 如對一個(gè)光驅(qū)來說 當(dāng)用于文件傳輸時(shí)使用其大容量存儲(chǔ)接口 而當(dāng)用于播放CD時(shí) 使用其音頻接口 接口是端點(diǎn)的集合 可以包含一個(gè)或多個(gè)可替換設(shè)置 用戶能夠在USB處于配置狀態(tài)時(shí) 改變當(dāng)前接口所含的個(gè)數(shù)和特性 接口描述符用于說明USB設(shè)備中各個(gè)接口的特性 如接口所屬的設(shè)備類及其子類等 USB設(shè)備的每個(gè)接口都必須有一個(gè)接口描述符 USB從設(shè)備 端點(diǎn)是USB設(shè)備中的實(shí)際物理單元 USB數(shù)據(jù)傳輸就是在主機(jī)和USB設(shè)備各個(gè)端點(diǎn)之間進(jìn)行的 端點(diǎn)一般由USB接口芯片提供 例如Freescale的MC68HC908JB8 USB設(shè)備中的每一個(gè)端點(diǎn)都有唯一的端點(diǎn)號 每個(gè)端點(diǎn)所支持的數(shù)據(jù)傳輸方向一般而言也是確定的 或是輸入 IN 或是輸出 OUT 也有些芯片提供的端點(diǎn)的數(shù)據(jù)方向是可以配置的 例如MC68HC908JB8包含有兩個(gè)用于數(shù)據(jù)收發(fā)的端點(diǎn) 端點(diǎn)1和端點(diǎn)2 其中端點(diǎn)1只能用于數(shù)據(jù)發(fā)送 即支持輸入 IN 端點(diǎn)2既能用于數(shù)據(jù)發(fā)送也可用于數(shù)據(jù)接收 即支持輸入 IN 和輸出 OUT 操作 需要注意的是 在這里數(shù)據(jù)的傳輸方向是站在主機(jī)的立場上來看得 比如端點(diǎn)1只能發(fā)送數(shù)據(jù) 在主機(jī)看來是端點(diǎn)1向主機(jī)輸入數(shù)據(jù) 即IN操作 當(dāng)端點(diǎn)2配置為接收數(shù)據(jù)時(shí) 主機(jī)向端點(diǎn)2輸出數(shù)據(jù) 即OUT操作 這一點(diǎn)是初學(xué)者比較容易產(chǎn)生混淆的地方 利用設(shè)備地址 端點(diǎn)號和傳輸方向就可以指定一個(gè)端點(diǎn) 并和它進(jìn)行通信 0號端點(diǎn)比較特殊 它有數(shù)據(jù)輸入IN和數(shù)據(jù)輸出OUT兩個(gè)物理單元 且只能支持控制傳輸 USB從設(shè)備 在USB設(shè)備中通常還含有字符串描述符 以說明一些專用信息 如制造商的名稱 設(shè)備的序列號等 它的內(nèi)容以UNICODE的形式給出 且可以被客戶軟件所讀取 對USB設(shè)備來說 字符串描述符是可選的 在USB系統(tǒng)結(jié)構(gòu)中 可以認(rèn)為數(shù)據(jù)傳輸是在主機(jī)軟件 USB系統(tǒng)軟件或客戶軟件 和USB設(shè)備的各個(gè)端點(diǎn)之間直接進(jìn)行的 它們之間的連接稱為管道 管道是在USB設(shè)備的配置過程中建立的 管道和USB設(shè)備中的端點(diǎn)一一對應(yīng) 一個(gè)USB設(shè)備含有多少個(gè)端點(diǎn) 其和主機(jī)進(jìn)行通信時(shí)就可以使用多少條管道 USB接口 USB使用一根屏蔽的4線電纜與網(wǎng)絡(luò)上的設(shè)備進(jìn)行互聯(lián) 數(shù)據(jù)傳輸通過一個(gè)差分雙絞線進(jìn)行 這兩根線分別標(biāo)為D 和D 另外兩根線是Vcc和Ground 其中Vcc向USB設(shè)備供電 使用USB電源的設(shè)備稱為總線供電設(shè)備 而使用自己外部電源的設(shè)備叫做自供電設(shè)備 為了避免混淆 USB電纜中的線都用不同的顏色標(biāo)記 通常VCC為5V 可以提供500mA的電流 D 和D 為差分信號 在 400mV和 400mV之間變化 USB接口 從一個(gè)設(shè)備連回到主機(jī) 稱為上行連接 從主機(jī)到設(shè)備的連接 稱為下行連接 為了防止回環(huán)情況的發(fā)生 上行和下行端口使用不同的連接器 A型連接頭 用于上行連接 而B型插頭在從主機(jī)或集線器接出的下行電纜的一端 USB通信格式 USB的數(shù)據(jù)包使用反向不歸零編碼 NRZI USB控制器發(fā)送 接收信號會(huì)進(jìn)行編 解碼 在反向不歸零編碼時(shí) 遇到 0 轉(zhuǎn)換 遇到 1 保持 USB檢測設(shè)備連接和速度 USB通信協(xié)議 包 Packet 是USB系統(tǒng)中信息傳輸?shù)幕締卧?所有數(shù)據(jù)都是經(jīng)過打包后在總線上傳輸?shù)?USB包由五部分組成 即同步字段 SYNC 包標(biāo)識(shí)符字段 PID 數(shù)據(jù)字段 循環(huán)冗余校驗(yàn)字段 CRC 和包結(jié)尾字段 EOP 包的基本格式如下圖 SYNC字段 由8位組成 作為每個(gè)數(shù)據(jù)封包的前導(dǎo) 用來產(chǎn)生同步作用 使USB設(shè)備與總線的包傳輸率同步 它的數(shù)值固定為00000001 PID字段 用來表示數(shù)據(jù)封包的類型 包標(biāo)識(shí)符中的校驗(yàn)字段是通過對類型字段的每個(gè)位求反碼產(chǎn)生的 PID字段如下圖所示 USB通信協(xié)議 信息包的類型 包括令牌 數(shù)據(jù) 握手或特殊四種信息包類型 USB數(shù)據(jù)傳輸 在USB的傳輸中 制定了4種傳輸類型 控制傳輸 中斷傳輸 批量傳輸以及等時(shí)傳輸 控制傳輸類型分為2 3個(gè)階段 設(shè)置階段 數(shù)據(jù)階段 無數(shù)據(jù)控制沒有此階段 以及狀態(tài)階段 根據(jù)數(shù)據(jù)階段的數(shù)據(jù)傳輸?shù)姆较?控制傳輸又可分為3種類型 控制讀取 讀取USB描述符 控制寫入 配置USB設(shè)備 以及無數(shù)據(jù)控制 設(shè)備列舉過程第一步 使用預(yù)設(shè)的地址0取得設(shè)備描述符 第二步 設(shè)置設(shè)備的新地址 第三步 使用新地址取得設(shè)備描述符 第四步 取得配置描述符 第五步 設(shè)置配置描述符 工業(yè)以太網(wǎng)概述 嵌入式系統(tǒng)常用的以太網(wǎng)協(xié)議是IEEE802 3 Ethernet IEEE802 3u 工業(yè)以太網(wǎng)數(shù)據(jù)傳輸特點(diǎn) 1 所有數(shù)據(jù)位的傳輸由低位開始 傳輸?shù)奈涣魇怯寐鼜厮固鼐幋a 2 以太網(wǎng)是基于沖突檢測的總線復(fù)用方法 沖突退避算法是由硬件自動(dòng)執(zhí)行的 3 以太網(wǎng)傳輸?shù)臄?shù)據(jù)段的長度 DA SA TYPE DATA PAD最小為60B 最大為1514B 4 通常的以太網(wǎng)卡可以接收3種地址的數(shù)據(jù) 一個(gè)是廣播地址 一個(gè)是多播地址 或者叫組播地址 在嵌入式系統(tǒng)中很少用到 一個(gè)是它自己的地址 但有時(shí) 用于網(wǎng)絡(luò)分析和監(jiān)控 網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包 5 任何兩個(gè)網(wǎng)卡的物理地址都是不一樣的 是世界上唯一的 網(wǎng)卡地址由專門機(jī)構(gòu)分配 不同廠家使用不同地址段 同一廠家的任何兩個(gè)網(wǎng)卡的地址也是唯一的 根據(jù)網(wǎng)卡的地址段 網(wǎng)卡地址的前3個(gè)字節(jié) 可以知道網(wǎng)卡的生產(chǎn)廠家 工業(yè)以太網(wǎng)協(xié)議分層 物理傳輸幀 MAC層的物理傳輸幀格式 同步位 用于收發(fā)雙方的時(shí)鐘同步 同時(shí)也指明了傳輸?shù)乃俾?是56位的的二進(jìn)制數(shù)101010101010 最后2位是10 SD 分隔位 表示下面跟著的是真正的數(shù)據(jù)而不是同步時(shí)鐘 為8位的10101011 DA 目的地址 以太網(wǎng)的地址為48位 6個(gè)字節(jié) 二進(jìn)制地址 表明該幀傳輸給哪個(gè)網(wǎng)卡 如果為FFFFFFFFFFFF 則是廣播地址 廣播地址的數(shù)據(jù)可以被任何網(wǎng)卡接收到 SA 源地址 48位 表明該幀的數(shù)據(jù)是哪個(gè)網(wǎng)卡發(fā)的 即發(fā)送端的網(wǎng)卡地址 同樣是6個(gè)字節(jié) 物理傳輸幀 TYPE 類型字段 表明該幀的數(shù)據(jù)是什么類型的數(shù)據(jù) 不同協(xié)議的類型字段不同 如 0800H表示數(shù)據(jù)為IP包 0806H表示數(shù)據(jù)為ARP包 814CH是SNMP包 8137H為IPX SPX包 小于0600H的值是用于IEEE802的 表示數(shù)據(jù)包的長度 DATA 數(shù)據(jù)段 該段數(shù)據(jù)不能超過1500B 因?yàn)橐蕴W(wǎng)規(guī)定整個(gè)傳輸包的最大長度不能超過1514E 14B為DA SA TYPE PAD 填充位 由于以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60B 除去 DA SA TYPE的14B 還必須傳輸46B的數(shù)據(jù) 當(dāng)數(shù)據(jù)段的數(shù)據(jù)不足46B時(shí) 后面通常是補(bǔ)0 也可以補(bǔ)其他值 FCS 32位數(shù)據(jù)校驗(yàn)位 32位的CRC校驗(yàn) 該校驗(yàn)由網(wǎng)卡自動(dòng)計(jì)算 自動(dòng)生成 自動(dòng)校驗(yàn) 自動(dòng)在數(shù)據(jù)段后面填入 不需要軟件管理 通常 PR SD PAD FCS這幾個(gè)數(shù)據(jù)段都是網(wǎng)卡 包括物理層和Mac層的處理 自動(dòng)產(chǎn)生的 剩下的DA SA TYPE DATA這4個(gè)段的內(nèi)容是由上層的軟件控制的 工業(yè)以太網(wǎng)接口 在嵌入式系統(tǒng)中增加以太網(wǎng)接口 通常有如下兩種方法實(shí)現(xiàn) 嵌入式處理器 網(wǎng)卡芯片帶有以太網(wǎng)接口的嵌入式處理器 工業(yè)以太網(wǎng)接口 DTE接口定義數(shù)據(jù)終端設(shè)備包括網(wǎng)卡路由器 以太網(wǎng)接口DCE接口定義數(shù)據(jù)通信設(shè)備包括交換機(jī) MODBUS協(xié)議概述 Modbus是由Modicon 現(xiàn)為施耐德電氣公司的一個(gè)品牌 在1979年發(fā)明的 是全球第一個(gè)真正用于工業(yè)現(xiàn)場的總線協(xié)議 為更好地普及和推動(dòng)Modbus在基于以太網(wǎng)上的分布式應(yīng)用 目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA InterfaceforDistributedAutomation 分布式自動(dòng)化接口 組織 并成立了Modbus IDA組織 為Modbus今后的發(fā)展奠定了基礎(chǔ) MODBUS協(xié)議為應(yīng)用層協(xié)議 控制器通信使用主 從技術(shù) 即僅一設(shè)備 主設(shè)備 能初始化傳輸 查詢 其它設(shè)備 從設(shè)備 根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng) 典型的主設(shè)備 主機(jī)和可編程儀表 典型的從設(shè)備 可編程控制器 主設(shè)備可單獨(dú)和從設(shè)備通信 也能以廣播方式和所有從設(shè)備通信 如果單獨(dú)通信 從設(shè)備返回一消息作為回應(yīng) 如果是以廣播方式查詢的 則不作任何回應(yīng) Modbus建立了主設(shè)備查詢的格式 設(shè)備 或廣播 地址 功能代碼 所有要發(fā)送的數(shù)據(jù) 錯(cuò)誤檢測域 MODBUS協(xié)議概述 MODBUS通用幀 MODBUS協(xié)議定義了一個(gè)與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元 PDU 特定總線或網(wǎng)絡(luò)上的MODBUS協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元 ADU 上引入一些附加域 通用MODBUS幀地址域有256個(gè)不同地址 MODBUS功能碼分類 MODBUS傳輸模式 MODBUS使用RTU模式或者ASCII模式 RTU模式為默認(rèn)模式 一個(gè)MODBUS網(wǎng)絡(luò)必須使用相同的模式 RTU RemoteTerminalUnit 模式 報(bào)文中每個(gè)8位字節(jié)含有兩個(gè)4位十六進(jìn)制字符 RTU模式位序列RTU報(bào)文幀RTU報(bào)文幀必須以連續(xù)字符流發(fā)送 如果兩個(gè)字符之間的空閑間隔大于1 5個(gè)字符時(shí)間 則報(bào)文幀被認(rèn)為不完整應(yīng)該被接收節(jié)點(diǎn)丟棄 MODBUS傳輸模式 ASCII AmericanStandardCodeforInformationInterchange 報(bào)文中的每個(gè)8位子節(jié)以兩個(gè)ASCII字符發(fā)送 例如 子節(jié)0X5B會(huì)被編碼為兩個(gè)字符 0 x35和0 x42 ASCII編碼0 x35 5 0 x42 B 當(dāng)通信鏈路或者設(shè)備無法符合RTU模式的定時(shí)管理時(shí)使用該模式 ASCII模式位序列ASCII報(bào)文幀報(bào)文中字符間的時(shí)間間隔可以達(dá)一秒 如果有更大的間隔 則接受設(shè)備認(rèn)為發(fā)生了錯(cuò)誤 JTAG概述 JTAG JointTestActionGroup 聯(lián)合測試行動(dòng)組 是一種國際標(biāo)準(zhǔn)測試協(xié)議 IEEE1149 1兼容 標(biāo)準(zhǔn)的JTAG接口是4線 TMS TCK TDI TDO 分別為模式選擇 時(shí)鐘 數(shù)據(jù)輸入和數(shù)據(jù)輸出線 標(biāo)準(zhǔn)還有其他選用的信號如TRST等 JTAG主要功能有二 一為測試芯片的電氣特性 二為Debug 對芯片及外圍設(shè)備進(jìn)行測試 JTAG的工作原理可以歸結(jié)為 在器件內(nèi)部定義一個(gè)TAP TestAccessPort 測試訪問口 通過專用的JTAG測試工具對內(nèi)部節(jié)點(diǎn)進(jìn)行測試和調(diào)試 邊界掃描BS 在JTAG調(diào)試當(dāng)中 邊界掃描 Boundary Scan 是一個(gè)很重要的概念 邊界掃描技術(shù)的基本思想是在靠近芯片的輸入輸出管腳上增加一個(gè)移位寄存器單元 因?yàn)檫@些移位寄存器單元都分布在芯片的邊界上 周圍 所以被稱為邊界掃描寄存器 Boundary ScanRegisterCell 當(dāng)芯片處于調(diào)試狀態(tài)的時(shí)候 這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來 通過這些邊界掃描寄存器單元 可以實(shí)現(xiàn)對芯片輸入輸出信號的觀察和控制 對于芯片的輸入管腳 可以通過與之相連的邊界掃描寄存器單元把信號 數(shù)據(jù) 加載倒該管腳中去 對于芯片的輸出管腳 也可以通過與之相連的邊界掃描寄存器 捕獲 CAPTURE 該管腳上的輸出信號 在正常的運(yùn)行狀態(tài)下 這些邊界掃描寄存器對芯片來說是透明的 所以正常的運(yùn)行不會(huì)受到任何影響 邊界掃描鏈BSC 芯片輸入輸出管腳上的邊界掃描 移位 寄存器單元可以相互連接起來 在芯片的周圍形成一個(gè)邊界掃描鏈 Boundary ScanChain TAP狀態(tài)機(jī) TAP結(jié)構(gòu)示例 TAP結(jié)構(gòu)示例 ScanChain0內(nèi)核的外圍電路 包括數(shù)據(jù)總線 地址總線等 長度113位 ScanChain1為掃描鏈0的子集 包括0 31數(shù)據(jù)總線及BREAKPT信號 長度33位 ScanChain2訪問EmbeddedICE RT的內(nèi)部寄存器 長度38位 可以讓控制器進(jìn)入調(diào)試狀態(tài) 設(shè)置斷點(diǎn) 觀察點(diǎn) ScanChain3邊界掃描鏈- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 通信 接口 通信協(xié)議
鏈接地址:http://m.appdesigncorp.com/p-6055745.html